summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild47
-rw-r--r--dev-libs/389-adminutil/Manifest1
-rw-r--r--dev-libs/389-adminutil/metadata.xml7
-rw-r--r--dev-libs/9libs/9libs-1.0-r2.ebuild48
-rw-r--r--dev-libs/9libs/Manifest1
-rw-r--r--dev-libs/9libs/files/9libs-va_list.patch115
-rw-r--r--dev-libs/9libs/metadata.xml7
-rw-r--r--dev-libs/DFB++/DFB++-1.2.0.ebuild29
-rw-r--r--dev-libs/DFB++/Manifest1
-rw-r--r--dev-libs/DFB++/files/DFB++-1.2.0-directfb-api.patch28
-rw-r--r--dev-libs/DFB++/metadata.xml5
-rw-r--r--dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild123
-rw-r--r--dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild151
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.1.ebuild201
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.5.ebuild201
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.6.ebuild204
-rw-r--r--dev-libs/DirectFB/Manifest5
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch22
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch16
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch19
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch244
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch50
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch33
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch11
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch22
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch85
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch27
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch63
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch63
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch13
-rw-r--r--dev-libs/DirectFB/metadata.xml41
-rw-r--r--dev-libs/Ice/Ice-3.5.1.ebuild284
-rw-r--r--dev-libs/Ice/Manifest2
-rw-r--r--dev-libs/Ice/files/Ice-3.4.1-db5.patch16
-rw-r--r--dev-libs/Ice/files/Ice-3.4.2-gcc46.patch10
-rw-r--r--dev-libs/Ice/metadata.xml11
-rw-r--r--dev-libs/MicroJSON/Manifest2
-rw-r--r--dev-libs/MicroJSON/MicroJSON-0.3.1.ebuild19
-rw-r--r--dev-libs/MicroJSON/MicroJSON-0.3.2.ebuild19
-rw-r--r--dev-libs/MicroJSON/metadata.xml13
-rw-r--r--dev-libs/OpenNI/Manifest1
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild108
-rw-r--r--dev-libs/OpenNI/OpenNI-9999.ebuild108
-rw-r--r--dev-libs/OpenNI/files/jpeg.patch23
-rw-r--r--dev-libs/OpenNI/files/soname.patch13
-rw-r--r--dev-libs/OpenNI/files/tinyxml.patch29
-rw-r--r--dev-libs/OpenNI/metadata.xml11
-rw-r--r--dev-libs/OpenNI2/Manifest1
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild100
-rw-r--r--dev-libs/OpenNI2/OpenNI2-9999.ebuild99
-rw-r--r--dev-libs/OpenNI2/files/jpeg.patch90
-rw-r--r--dev-libs/OpenNI2/files/libopenni2.pc.in10
-rw-r--r--dev-libs/OpenNI2/files/pthread.patch26
-rw-r--r--dev-libs/OpenNI2/files/rpath.patch13
-rw-r--r--dev-libs/OpenNI2/files/soname.patch13
-rw-r--r--dev-libs/OpenNI2/metadata.xml11
-rw-r--r--dev-libs/OpenSRF/Manifest2
-rw-r--r--dev-libs/OpenSRF/OpenSRF-1.2.0.ebuild119
-rw-r--r--dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild123
-rw-r--r--dev-libs/OpenSRF/files/OpenSRF-1.0.7-buildfix.patch151
-rw-r--r--dev-libs/OpenSRF/files/OpenSRF-1.2.0-buildfix.patch136
-rw-r--r--dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch70
-rw-r--r--dev-libs/OpenSRF/metadata.xml7
-rw-r--r--dev-libs/STLport/Manifest2
-rw-r--r--dev-libs/STLport/STLport-5.2.1-r1.ebuild96
-rw-r--r--dev-libs/STLport/STLport-5.2.1-r2.ebuild98
-rw-r--r--dev-libs/STLport/metadata.xml11
-rw-r--r--dev-libs/UTF8Strings/Manifest2
-rw-r--r--dev-libs/UTF8Strings/UTF8Strings-1.13.2.ebuild15
-rw-r--r--dev-libs/UTF8Strings/UTF8Strings-1.14.0.ebuild15
-rw-r--r--dev-libs/UTF8Strings/metadata.xml13
-rw-r--r--dev-libs/ace/Manifest3
-rw-r--r--dev-libs/ace/ace-5.7.2.ebuild85
-rw-r--r--dev-libs/ace/files/ace-missing-refcountable-header.patch26
-rw-r--r--dev-libs/ace/metadata.xml11
-rw-r--r--dev-libs/angelscript/Manifest1
-rw-r--r--dev-libs/angelscript/angelscript-2.29.2.ebuild57
-rw-r--r--dev-libs/angelscript/files/angelscript-2.29.2-execstack.patch13
-rw-r--r--dev-libs/angelscript/metadata.xml8
-rw-r--r--dev-libs/antlr-c/Manifest1
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.ebuild66
-rw-r--r--dev-libs/antlr-c/files/antlr-c-3.3-cflags.patch14
-rw-r--r--dev-libs/antlr-c/metadata.xml13
-rw-r--r--dev-libs/appstream-glib/Manifest2
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.3.4.ebuild57
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.4.0.ebuild61
-rw-r--r--dev-libs/appstream-glib/metadata.xml5
-rw-r--r--dev-libs/apr-util/Manifest3
-rw-r--r--dev-libs/apr-util/apr-util-1.5.2.ebuild103
-rw-r--r--dev-libs/apr-util/apr-util-1.5.3-r2.ebuild114
-rw-r--r--dev-libs/apr-util/apr-util-1.5.4.ebuild113
-rw-r--r--dev-libs/apr-util/files/apr-util-1.3.12-bdb-5.2.patch139
-rw-r--r--dev-libs/apr-util/files/apr-util-1.5.3-berkdb6.patch69
-rw-r--r--dev-libs/apr-util/files/apr-util-1.5.3-sysroot.patch36
-rw-r--r--dev-libs/apr-util/metadata.xml12
-rw-r--r--dev-libs/apr/Manifest3
-rw-r--r--dev-libs/apr/apr-1.5.0-r2.ebuild140
-rw-r--r--dev-libs/apr/apr-1.5.1-r1.ebuild145
-rw-r--r--dev-libs/apr/apr-1.5.2.ebuild144
-rw-r--r--dev-libs/apr/files/apr-1.5.0-cross-types.patch63
-rw-r--r--dev-libs/apr/files/apr-1.5.0-libtool.patch17
-rw-r--r--dev-libs/apr/files/apr-1.5.0-mint.patch22
-rw-r--r--dev-libs/apr/files/apr-1.5.0-sysroot.patch37
-rw-r--r--dev-libs/apr/files/apr-1.5.1-parallel_make_install.patch19
-rw-r--r--dev-libs/apr/files/config.layout.patch25
-rw-r--r--dev-libs/apr/metadata.xml12
-rw-r--r--dev-libs/argtable/Manifest1
-rw-r--r--dev-libs/argtable/argtable-2.13.ebuild48
-rw-r--r--dev-libs/argtable/metadata.xml11
-rw-r--r--dev-libs/asyncresolv/Manifest1
-rw-r--r--dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild29
-rw-r--r--dev-libs/asyncresolv/metadata.xml8
-rw-r--r--dev-libs/atk/Manifest3
-rw-r--r--dev-libs/atk/atk-2.12.0-r1.ebuild56
-rw-r--r--dev-libs/atk/atk-2.14.0.ebuild56
-rw-r--r--dev-libs/atk/atk-2.16.0-r1.ebuild59
-rw-r--r--dev-libs/atk/atk-2.16.0.ebuild56
-rw-r--r--dev-libs/atk/metadata.xml5
-rw-r--r--dev-libs/bareos-fastlzlib/Manifest1
-rw-r--r--dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild29
-rw-r--r--dev-libs/bareos-fastlzlib/metadata.xml11
-rw-r--r--dev-libs/bcm2835/Manifest1
-rw-r--r--dev-libs/bcm2835/bcm2835-1.36.ebuild27
-rw-r--r--dev-libs/bcm2835/metadata.xml9
-rw-r--r--dev-libs/beecrypt/Manifest1
-rw-r--r--dev-libs/beecrypt/beecrypt-4.2.1-r3.ebuild85
-rw-r--r--dev-libs/beecrypt/beecrypt-4.2.1.ebuild87
-rw-r--r--dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch160
-rw-r--r--dev-libs/beecrypt/files/beecrypt-4.2.1-gcc-4.7.patch11
-rw-r--r--dev-libs/beecrypt/metadata.xml10
-rw-r--r--dev-libs/bglibs/Manifest3
-rw-r--r--dev-libs/bglibs/bglibs-1.041.ebuild50
-rw-r--r--dev-libs/bglibs/bglibs-1.104.ebuild64
-rw-r--r--dev-libs/bglibs/bglibs-1.106-r1.ebuild77
-rw-r--r--dev-libs/bglibs/bglibs-1.106.ebuild76
-rw-r--r--dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch87
-rw-r--r--dev-libs/bglibs/files/bglibs-1.106-parallel-fix.patch61
-rw-r--r--dev-libs/bglibs/metadata.xml8
-rw-r--r--dev-libs/bitset/Manifest2
-rw-r--r--dev-libs/bitset/bitset-2.8.3.ebuild33
-rw-r--r--dev-libs/bitset/bitset-2.8.4-r1.ebuild36
-rw-r--r--dev-libs/bitset/metadata.xml22
-rw-r--r--dev-libs/blitz/Manifest1
-rw-r--r--dev-libs/blitz/blitz-0.10-r1.ebuild66
-rw-r--r--dev-libs/blitz/blitz-0.10.ebuild62
-rw-r--r--dev-libs/blitz/files/blitz-0.10-docs.patch88
-rw-r--r--dev-libs/blitz/files/blitz-0.10-gcc47.patch33
-rw-r--r--dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch107
-rw-r--r--dev-libs/blitz/metadata.xml25
-rw-r--r--dev-libs/boehm-gc/Manifest6
-rw-r--r--dev-libs/boehm-gc/boehm-gc-6.8.ebuild48
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild49
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild59
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d.ebuild65
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2e.ebuild58
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild44
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild43
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch83
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch33
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch13
-rw-r--r--dev-libs/boehm-gc/metadata.xml12
-rw-r--r--dev-libs/boost-numpy/Manifest1
-rw-r--r--dev-libs/boost-numpy/boost-numpy-0_pre20131206.ebuild34
-rw-r--r--dev-libs/boost-numpy/boost-numpy-9999.ebuild34
-rw-r--r--dev-libs/boost-numpy/metadata.xml13
-rw-r--r--dev-libs/boost/Manifest7
-rw-r--r--dev-libs/boost/boost-1.52.0-r7.ebuild352
-rw-r--r--dev-libs/boost/boost-1.53.0-r1.ebuild365
-rw-r--r--dev-libs/boost/boost-1.54.0-r1.ebuild365
-rw-r--r--dev-libs/boost/boost-1.55.0-r2.ebuild395
-rw-r--r--dev-libs/boost/boost-1.56.0-r1.ebuild404
-rw-r--r--dev-libs/boost/boost-1.57.0.ebuild403
-rw-r--r--dev-libs/boost/boost-1.58.0-r1.ebuild403
-rw-r--r--dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch29
-rw-r--r--dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch62
-rw-r--r--dev-libs/boost/files/boost-1.48.0-mpi_python3.patch95
-rw-r--r--dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch23
-rw-r--r--dev-libs/boost/files/boost-1.48.0-python_linking.patch24
-rw-r--r--dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch69
-rw-r--r--dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch22
-rw-r--r--dev-libs/boost/files/boost-1.52.0-locale-utf.patch52
-rw-r--r--dev-libs/boost/files/boost-1.52.0-threads.patch63
-rw-r--r--dev-libs/boost/files/boost-1.52.0-tuple.patch11
-rw-r--r--dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch18
-rw-r--r--dev-libs/boost/files/boost-1.53.0-library_status.patch57
-rw-r--r--dev-libs/boost/files/boost-1.55.0-context-x32.patch42
-rw-r--r--dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch17
-rw-r--r--dev-libs/boost/files/boost-1.55.0-variadic-templates.patch37
-rw-r--r--dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch13
-rw-r--r--dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch233
-rw-r--r--dev-libs/boost/files/remove-toolset-1.48.0.patch11
-rw-r--r--dev-libs/boost/metadata.xml41
-rw-r--r--dev-libs/botan/Manifest3
-rw-r--r--dev-libs/botan/botan-1.10.5.ebuild150
-rw-r--r--dev-libs/botan/botan-1.11.4.ebuild160
-rw-r--r--dev-libs/botan/botan-1.11.8.ebuild161
-rw-r--r--dev-libs/botan/files/botan-1.10-python3.patch24
-rw-r--r--dev-libs/botan/metadata.xml11
-rw-r--r--dev-libs/btparse/Manifest2
-rw-r--r--dev-libs/btparse/btparse-0.33.ebuild34
-rw-r--r--dev-libs/btparse/btparse-0.35.ebuild18
-rw-r--r--dev-libs/btparse/metadata.xml5
-rw-r--r--dev-libs/btparser/Manifest2
-rw-r--r--dev-libs/btparser/btparser-0.24.ebuild40
-rw-r--r--dev-libs/btparser/btparser-0.25.ebuild44
-rw-r--r--dev-libs/btparser/metadata.xml5
-rw-r--r--dev-libs/busybee/Manifest3
-rw-r--r--dev-libs/busybee/busybee-0.5.2.ebuild18
-rw-r--r--dev-libs/busybee/busybee-0.6.0.ebuild18
-rw-r--r--dev-libs/busybee/busybee-0.7.0.ebuild18
-rw-r--r--dev-libs/busybee/metadata.xml8
-rw-r--r--dev-libs/c-blosc/Manifest3
-rw-r--r--dev-libs/c-blosc/c-blosc-1.3.2.ebuild42
-rw-r--r--dev-libs/c-blosc/c-blosc-1.3.5.ebuild42
-rw-r--r--dev-libs/c-blosc/c-blosc-1.5.3.ebuild43
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.3.2-shared-libs.patch22
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.5.3-shared-libs.patch27
-rw-r--r--dev-libs/c-blosc/metadata.xml19
-rw-r--r--dev-libs/cdk/Manifest2
-rw-r--r--dev-libs/cdk/cdk-5.0.20131107.ebuild49
-rw-r--r--dev-libs/cdk/cdk-5.0.20141106.ebuild49
-rw-r--r--dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch12
-rw-r--r--dev-libs/cdk/metadata.xml7
-rw-r--r--dev-libs/cgicc/Manifest2
-rw-r--r--dev-libs/cgicc/cgicc-3.2.10.ebuild50
-rw-r--r--dev-libs/cgicc/cgicc-3.2.9.ebuild44
-rw-r--r--dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch13
-rw-r--r--dev-libs/cgicc/metadata.xml21
-rw-r--r--dev-libs/cgilib/Manifest1
-rw-r--r--dev-libs/cgilib/cgilib-0.7.ebuild23
-rw-r--r--dev-libs/cgilib/metadata.xml5
-rw-r--r--dev-libs/check/Manifest5
-rw-r--r--dev-libs/check/check-0.10.0.ebuild63
-rw-r--r--dev-libs/check/check-0.9.11.ebuild53
-rw-r--r--dev-libs/check/check-0.9.12.ebuild53
-rw-r--r--dev-libs/check/check-0.9.13-r1.ebuild63
-rw-r--r--dev-libs/check/check-0.9.13.ebuild63
-rw-r--r--dev-libs/check/check-0.9.8-r1.ebuild52
-rw-r--r--dev-libs/check/files/check-0.9.10-AM_PATH_CHECK.patch33
-rw-r--r--dev-libs/check/files/check-0.9.6-64bitsafe.patch13
-rw-r--r--dev-libs/check/files/check-0.9.6-AM_PATH_CHECK.patch12
-rw-r--r--dev-libs/check/metadata.xml14
-rw-r--r--dev-libs/chmlib/Manifest1
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r1.ebuild27
-rw-r--r--dev-libs/chmlib/files/chmlib-0.39-stdtypes.patch20
-rw-r--r--dev-libs/chmlib/files/chmlib-0.40-headers.patch18
-rw-r--r--dev-libs/chmlib/metadata.xml8
-rw-r--r--dev-libs/cityhash/Manifest3
-rw-r--r--dev-libs/cityhash/cityhash-1.0.3.ebuild18
-rw-r--r--dev-libs/cityhash/cityhash-1.1.0.ebuild18
-rw-r--r--dev-libs/cityhash/cityhash-1.1.1.ebuild18
-rw-r--r--dev-libs/cityhash/metadata.xml8
-rw-r--r--dev-libs/clearsilver/Manifest1
-rw-r--r--dev-libs/clearsilver/clearsilver-0.10.5-r2.ebuild76
-rw-r--r--dev-libs/clearsilver/files/clearsilver-0.10.5-libdir.patch13
-rw-r--r--dev-libs/clearsilver/files/clearsilver-0.10.5-libz.patch10
-rw-r--r--dev-libs/clearsilver/files/clearsilver-0.10.5-perl_installdir.patch22
-rw-r--r--dev-libs/clearsilver/metadata.xml5
-rw-r--r--dev-libs/cloog-ppl/Manifest1
-rw-r--r--dev-libs/cloog-ppl/cloog-ppl-0.15.10.ebuild39
-rw-r--r--dev-libs/cloog-ppl/metadata.xml5
-rw-r--r--dev-libs/cloog/Manifest4
-rw-r--r--dev-libs/cloog/cloog-0.18.0.ebuild41
-rw-r--r--dev-libs/cloog/cloog-0.18.1.ebuild42
-rw-r--r--dev-libs/cloog/cloog-0.18.3.ebuild65
-rw-r--r--dev-libs/cloog/cloog-0.18.4.ebuild63
-rw-r--r--dev-libs/cloog/cloog-9999.ebuild63
-rw-r--r--dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch82
-rw-r--r--dev-libs/cloog/metadata.xml8
-rw-r--r--dev-libs/collada-dom/Manifest2
-rw-r--r--dev-libs/collada-dom/collada-dom-2.4.0.ebuild25
-rw-r--r--dev-libs/collada-dom/collada-dom-2.4.3_pre20150112.ebuild41
-rw-r--r--dev-libs/collada-dom/collada-dom-9999.ebuild37
-rwxr-xr-xdev-libs/collada-dom/files/take_snapshot.sh14
-rw-r--r--dev-libs/collada-dom/metadata.xml11
-rw-r--r--dev-libs/confuse/Manifest1
-rw-r--r--dev-libs/confuse/confuse-2.7.ebuild41
-rw-r--r--dev-libs/confuse/metadata.xml8
-rw-r--r--dev-libs/console_bridge/Manifest1
-rw-r--r--dev-libs/console_bridge/console_bridge-0.2.7.ebuild35
-rw-r--r--dev-libs/console_bridge/console_bridge-9999.ebuild35
-rw-r--r--dev-libs/console_bridge/metadata.xml11
-rw-r--r--dev-libs/cpl-stratego/Manifest1
-rw-r--r--dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild29
-rw-r--r--dev-libs/cpl-stratego/metadata.xml7
-rw-r--r--dev-libs/cryptlib/Manifest2
-rw-r--r--dev-libs/cryptlib/cryptlib-3.4.0-r1.ebuild142
-rw-r--r--dev-libs/cryptlib/files/cryptlib-3.3.2-external-zlib.patch36
-rw-r--r--dev-libs/cryptlib/files/cryptlib-3.3.2-ld.patch19
-rw-r--r--dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch35
-rw-r--r--dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch50
-rw-r--r--dev-libs/cryptlib/metadata.xml5
-rw-r--r--dev-libs/crypto++/Manifest1
-rw-r--r--dev-libs/crypto++/crypto++-5.6.2-r1.ebuild70
-rw-r--r--dev-libs/crypto++/crypto++-5.6.2-r2.ebuild71
-rw-r--r--dev-libs/crypto++/files/crypto++-5.6.2-cve-2015-2141.patch32
-rw-r--r--dev-libs/crypto++/files/crypto++-5.6.2-r1-make.patch150
-rw-r--r--dev-libs/crypto++/metadata.xml8
-rw-r--r--dev-libs/cvector/Manifest2
-rw-r--r--dev-libs/cvector/cvector-1.0.3-r1.ebuild44
-rw-r--r--dev-libs/cvector/cvector-1.0.3.1.ebuild44
-rw-r--r--dev-libs/cvector/files/1.0.3-LDFLAGS.patch17
-rw-r--r--dev-libs/cvector/files/1.0.3-dynlib.patch36
-rw-r--r--dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch17
-rw-r--r--dev-libs/cvector/metadata.xml11
-rw-r--r--dev-libs/cxxtools/Manifest2
-rw-r--r--dev-libs/cxxtools/cxxtools-1.4.8.ebuild32
-rw-r--r--dev-libs/cxxtools/cxxtools-2.2.1.ebuild29
-rw-r--r--dev-libs/cxxtools/files/cxxtools-1.4.8-gcc44.patch12
-rw-r--r--dev-libs/cxxtools/metadata.xml10
-rw-r--r--dev-libs/cyberjack/Manifest2
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p03-r1.ebuild69
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p05.ebuild81
-rw-r--r--dev-libs/cyberjack/files/cyberjack-3.99.5_p03-gcc47.patch34
-rw-r--r--dev-libs/cyberjack/files/cyberjack-3.99.5_p05-install.patch26
-rw-r--r--dev-libs/cyberjack/files/cyberjack-3.99.5_p05-manpages.patch34
-rw-r--r--dev-libs/cyberjack/files/cyberjack-3.99.5_p05-returnvalue.patch29
-rw-r--r--dev-libs/cyberjack/files/cyberjack-r1.rules18
-rw-r--r--dev-libs/cyberjack/files/cyberjack.rules10
-rw-r--r--dev-libs/cyberjack/metadata.xml11
-rw-r--r--dev-libs/cygwin/Manifest3
-rw-r--r--dev-libs/cygwin/cygwin-1.5.25.15.ebuild92
-rw-r--r--dev-libs/cygwin/metadata.xml5
-rw-r--r--dev-libs/cyrus-imap-dev/Manifest2
-rw-r--r--dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.16.ebuild70
-rw-r--r--dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.17.ebuild83
-rw-r--r--dev-libs/cyrus-imap-dev/metadata.xml5
-rw-r--r--dev-libs/cyrus-sasl/Manifest1
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild243
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0001_versioned_symbols.patch30
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0002_testsuite.patch26
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0006_library_mutexes.patch25
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0008_one_time_sasl_set_alloc.patch67
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0010_maintainer_mode.patch13
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0011_saslauthd_ac_prog_libtool.patch12
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0012_xopen_crypt_prototype.patch15
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0014_avoid_pic_overwrite.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0016_pid_file_lock_creation_mask.patch24
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-0026_drop_krb5support_dependency.patch38
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.17-pgsql-include.patch15
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-checkpw.c.patch172
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-keytab.patch39
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch11
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-crypt.patch71
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-gcc44.patch24
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch22
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23+db-5.0.patch23
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-CVE-2013-4122.patch104
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-authd-fix.patch28
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch16
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-rimap-loop.patch28
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch114
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch16
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch10
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch12
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch14
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch116
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch10
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch90
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch13
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch48
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl.conf1
-rw-r--r--dev-libs/cyrus-sasl/files/java.README.gentoo39
-rw-r--r--dev-libs/cyrus-sasl/files/pwcheck.rc621
-rw-r--r--dev-libs/cyrus-sasl/files/pwcheck.service9
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd-2.1.21.conf25
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf21
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd.pam-include8
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd.service13
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd2.rc621
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd2.rc721
-rw-r--r--dev-libs/cyrus-sasl/metadata.xml15
-rw-r--r--dev-libs/d0_blind_id/Manifest1
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild40
-rw-r--r--dev-libs/d0_blind_id/metadata.xml5
-rw-r--r--dev-libs/darts/Manifest1
-rw-r--r--dev-libs/darts/darts-0.32.ebuild25
-rw-r--r--dev-libs/darts/metadata.xml6
-rw-r--r--dev-libs/dbus-c++/Manifest1
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild63
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch38
-rw-r--r--dev-libs/dbus-c++/metadata.xml17
-rw-r--r--dev-libs/dbus-glib/Manifest2
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.102.ebuild91
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.104.ebuild95
-rw-r--r--dev-libs/dbus-glib/metadata.xml11
-rw-r--r--dev-libs/dbxml/Manifest1
-rw-r--r--dev-libs/dbxml/dbxml-2.5.16-r2.ebuild197
-rw-r--r--dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch18
-rw-r--r--dev-libs/dbxml/metadata.xml8
-rw-r--r--dev-libs/dclog/Manifest1
-rw-r--r--dev-libs/dclog/dclog-1.1.1-r1.ebuild30
-rw-r--r--dev-libs/dclog/metadata.xml15
-rw-r--r--dev-libs/dee/Manifest1
-rw-r--r--dev-libs/dee/dee-1.2.7.ebuild93
-rw-r--r--dev-libs/dee/files/dee-1.0.10-gcc-4.5.patch30
-rw-r--r--dev-libs/dee/files/dee-1.0.10-vapigen.patch16
-rw-r--r--dev-libs/dee/metadata.xml10
-rw-r--r--dev-libs/dietlibc/Manifest4
-rw-r--r--dev-libs/dietlibc/dietlibc-0.30-r2.ebuild52
-rw-r--r--dev-libs/dietlibc/dietlibc-0.33_pre20110403.ebuild68
-rw-r--r--dev-libs/dietlibc/dietlibc-0.34_pre20140729.ebuild65
-rw-r--r--dev-libs/dietlibc/metadata.xml12
-rw-r--r--dev-libs/ding-libs/Manifest1
-rw-r--r--dev-libs/ding-libs/ding-libs-0.4.0.ebuild24
-rw-r--r--dev-libs/ding-libs/metadata.xml15
-rw-r--r--dev-libs/distorm64/Manifest3
-rw-r--r--dev-libs/distorm64/distorm64-1.7.30-r1.ebuild70
-rw-r--r--dev-libs/distorm64/distorm64-3.1.ebuild33
-rw-r--r--dev-libs/distorm64/distorm64-3.3-r1.ebuild27
-rw-r--r--dev-libs/distorm64/distorm64-3.3.ebuild36
-rw-r--r--dev-libs/distorm64/files/distorm64-1.7.30-python.patch11
-rw-r--r--dev-libs/distorm64/files/distorm64-1.7.30-respect_flags.patch42
-rw-r--r--dev-libs/distorm64/metadata.xml21
-rw-r--r--dev-libs/djb/Manifest1
-rw-r--r--dev-libs/djb/djb-0.5.2.ebuild40
-rw-r--r--dev-libs/djb/metadata.xml7
-rw-r--r--dev-libs/dmalloc/Manifest1
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild77
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild86
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch343
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch11
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch19
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch18
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch11
-rw-r--r--dev-libs/dmalloc/metadata.xml8
-rw-r--r--dev-libs/dotconf/Manifest1
-rw-r--r--dev-libs/dotconf/dotconf-1.3.ebuild31
-rw-r--r--dev-libs/dotconf/metadata.xml9
-rw-r--r--dev-libs/double-conversion/Manifest1
-rw-r--r--dev-libs/double-conversion/double-conversion-2.0.1.ebuild46
-rw-r--r--dev-libs/double-conversion/files/double-conversion-2.0.1-scons.patch12
-rw-r--r--dev-libs/double-conversion/metadata.xml11
-rw-r--r--dev-libs/e_dbus/Manifest1
-rw-r--r--dev-libs/e_dbus/e_dbus-1.7.10.ebuild59
-rw-r--r--dev-libs/e_dbus/e_dbus-9999.ebuild66
-rw-r--r--dev-libs/e_dbus/metadata.xml10
-rw-r--r--dev-libs/eb/Manifest1
-rw-r--r--dev-libs/eb/eb-4.4.1-r1.ebuild33
-rw-r--r--dev-libs/eb/metadata.xml7
-rw-r--r--dev-libs/ecore/Manifest1
-rw-r--r--dev-libs/ecore/ecore-1.7.10.ebuild201
-rw-r--r--dev-libs/ecore/ecore-9999.ebuild201
-rw-r--r--dev-libs/ecore/metadata.xml67
-rw-r--r--dev-libs/eet/Manifest3
-rw-r--r--dev-libs/eet/eet-1.7.10.ebuild75
-rw-r--r--dev-libs/eet/eet-1.7.8.ebuild75
-rw-r--r--dev-libs/eet/eet-1.7.9.ebuild75
-rw-r--r--dev-libs/eet/eet-9999.ebuild75
-rw-r--r--dev-libs/eet/metadata.xml23
-rw-r--r--dev-libs/eeze/Manifest3
-rw-r--r--dev-libs/eeze/eeze-1.7.10.ebuild39
-rw-r--r--dev-libs/eeze/eeze-1.7.8.ebuild32
-rw-r--r--dev-libs/eeze/eeze-1.7.9.ebuild32
-rw-r--r--dev-libs/eeze/eeze-9999.ebuild39
-rw-r--r--dev-libs/eeze/metadata.xml8
-rw-r--r--dev-libs/efl/Manifest4
-rw-r--r--dev-libs/efl/efl-1.12.2.ebuild287
-rw-r--r--dev-libs/efl/efl-1.13.1.ebuild260
-rw-r--r--dev-libs/efl/efl-1.15.0.ebuild258
-rw-r--r--dev-libs/efl/efl-9999.ebuild247
-rw-r--r--dev-libs/efl/metadata.xml29
-rw-r--r--dev-libs/efreet/Manifest1
-rw-r--r--dev-libs/efreet/efreet-1.7.10.ebuild34
-rw-r--r--dev-libs/efreet/efreet-9999.ebuild34
-rw-r--r--dev-libs/efreet/metadata.xml5
-rw-r--r--dev-libs/eina/Manifest2
-rw-r--r--dev-libs/eina/eina-1.7.10.ebuild85
-rw-r--r--dev-libs/eina/eina-1.7.9.ebuild85
-rw-r--r--dev-libs/eina/eina-9999.ebuild85
-rw-r--r--dev-libs/eina/metadata.xml66
-rw-r--r--dev-libs/eio/Manifest3
-rw-r--r--dev-libs/eio/eio-1.7.10.ebuild36
-rw-r--r--dev-libs/eio/eio-1.7.8.ebuild29
-rw-r--r--dev-libs/eio/eio-1.7.9.ebuild29
-rw-r--r--dev-libs/eio/eio-9999.ebuild36
-rw-r--r--dev-libs/eio/metadata.xml5
-rw-r--r--dev-libs/elfio/Manifest1
-rw-r--r--dev-libs/elfio/elfio-1.0.3.ebuild30
-rw-r--r--dev-libs/elfio/files/elfio-1.0.3-shared.patch83
-rw-r--r--dev-libs/elfio/metadata.xml10
-rw-r--r--dev-libs/elfutils/Manifest13
-rw-r--r--dev-libs/elfutils/elfutils-0.158.ebuild73
-rw-r--r--dev-libs/elfutils/elfutils-0.159.ebuild72
-rw-r--r--dev-libs/elfutils/elfutils-0.160.ebuild72
-rw-r--r--dev-libs/elfutils/elfutils-0.161.ebuild73
-rw-r--r--dev-libs/elfutils/elfutils-0.162.ebuild72
-rw-r--r--dev-libs/elfutils/elfutils-0.163.ebuild72
-rw-r--r--dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch26
-rw-r--r--dev-libs/elfutils/files/elfutils-0.143-configure.patch22
-rw-r--r--dev-libs/elfutils/files/elfutils-0.148-bashifications.patch23
-rw-r--r--dev-libs/elfutils/files/elfutils-0.150-bashifications.patch23
-rw-r--r--dev-libs/elfutils/files/elfutils-0.158-tests-backtrace-native-core.patch46
-rw-r--r--dev-libs/elfutils/files/elfutils-0.161-libelf-dir-traversal.patch51
-rw-r--r--dev-libs/elfutils/metadata.xml10
-rw-r--r--dev-libs/embryo/Manifest1
-rw-r--r--dev-libs/embryo/embryo-1.7.10.ebuild24
-rw-r--r--dev-libs/embryo/embryo-9999.ebuild24
-rw-r--r--dev-libs/embryo/metadata.xml19
-rw-r--r--dev-libs/engine_pkcs11/Manifest1
-rw-r--r--dev-libs/engine_pkcs11/engine_pkcs11-0.1.8.ebuild47
-rw-r--r--dev-libs/engine_pkcs11/metadata.xml8
-rw-r--r--dev-libs/eventlog/Manifest1
-rw-r--r--dev-libs/eventlog/eventlog-0.2.12.ebuild31
-rw-r--r--dev-libs/eventlog/metadata.xml8
-rw-r--r--dev-libs/expat/Manifest1
-rw-r--r--dev-libs/expat/expat-2.1.0-r4.ebuild93
-rw-r--r--dev-libs/expat/expat-2.1.0-r5.ebuild94
-rw-r--r--dev-libs/expat/files/expat-2.1.0-mozilla-sanity-check-size.patch81
-rw-r--r--dev-libs/expat/files/expat-2.1.0-xmlwfargs.patch15
-rw-r--r--dev-libs/expat/metadata.xml9
-rw-r--r--dev-libs/fampp2/Manifest2
-rw-r--r--dev-libs/fampp2/fampp2-6.0.1.ebuild33
-rw-r--r--dev-libs/fampp2/fampp2-7.0.1.ebuild50
-rw-r--r--dev-libs/fampp2/metadata.xml11
-rw-r--r--dev-libs/faxpp/Manifest1
-rw-r--r--dev-libs/faxpp/faxpp-0.4.ebuild26
-rw-r--r--dev-libs/faxpp/metadata.xml11
-rw-r--r--dev-libs/fcgi/Manifest1
-rw-r--r--dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild52
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.0-Makefile.patch24
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.0-clientdata-pointer.patch96
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.0-html-updates.patch65
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.1_pre0311112127-gcc44.patch10
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-link.patch21
-rw-r--r--dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-poll.patch80
-rw-r--r--dev-libs/fcgi/metadata.xml11
-rw-r--r--dev-libs/fddl/Manifest1
-rw-r--r--dev-libs/fddl/fddl-20111124.ebuild40
-rw-r--r--dev-libs/fddl/metadata.xml15
-rw-r--r--dev-libs/ferrisloki/Manifest1
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13.ebuild44
-rw-r--r--dev-libs/ferrisloki/metadata.xml11
-rw-r--r--dev-libs/ffcall/Manifest2
-rw-r--r--dev-libs/ffcall/ffcall-1.10-r2.ebuild49
-rw-r--r--dev-libs/ffcall/ffcall-1.10-r5.ebuild76
-rw-r--r--dev-libs/ffcall/ffcall-1.10.ebuild60
-rw-r--r--dev-libs/ffcall/files/ffcall-make-jN.patch13
-rw-r--r--dev-libs/ffcall/metadata.xml29
-rw-r--r--dev-libs/folks/Manifest2
-rw-r--r--dev-libs/folks/folks-0.10.1-r1.ebuild88
-rw-r--r--dev-libs/folks/folks-0.11.1.ebuild89
-rw-r--r--dev-libs/folks/metadata.xml11
-rw-r--r--dev-libs/freexl/Manifest1
-rw-r--r--dev-libs/freexl/freexl-1.0.0e.ebuild30
-rw-r--r--dev-libs/freexl/metadata.xml5
-rw-r--r--dev-libs/fribidi/Manifest2
-rw-r--r--dev-libs/fribidi/files/fribidi-0.19.2-nodoc.patch11
-rw-r--r--dev-libs/fribidi/files/fribidi-0.19.5-signedwarning.patch22
-rw-r--r--dev-libs/fribidi/files/fribidi-0.19.6-page-size-header.patch20
-rw-r--r--dev-libs/fribidi/fribidi-0.19.5-r1.ebuild50
-rw-r--r--dev-libs/fribidi/fribidi-0.19.6.ebuild49
-rw-r--r--dev-libs/fribidi/metadata.xml7
-rw-r--r--dev-libs/fstrm/Manifest1
-rw-r--r--dev-libs/fstrm/fstrm-0.2.0-r1.ebuild26
-rw-r--r--dev-libs/fstrm/metadata.xml14
-rw-r--r--dev-libs/g-wrap/Manifest3
-rw-r--r--dev-libs/g-wrap/files/1.9.8-fix-ffi-build-issue.patch15
-rw-r--r--dev-libs/g-wrap/files/1.9.8-fix-gcc-4.2.0-libffi.patch21
-rw-r--r--dev-libs/g-wrap/files/g-wrap-1.3.4-direntry.patch57
-rw-r--r--dev-libs/g-wrap/files/g-wrap-1.3.4-m4.patch20
-rw-r--r--dev-libs/g-wrap/files/g-wrap-1.9.6_glib_automagic.patch13
-rw-r--r--dev-libs/g-wrap/files/g-wrap-1.9.7_glib_automagic.patch16
-rw-r--r--dev-libs/g-wrap/files/glib_automagic.patch16
-rw-r--r--dev-libs/g-wrap/files/libffi_automagic.patch11
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.11.ebuild39
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.13.ebuild31
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.14.ebuild33
-rw-r--r--dev-libs/g-wrap/metadata.xml12
-rw-r--r--dev-libs/gdl/Manifest2
-rw-r--r--dev-libs/gdl/gdl-3.14.0.ebuild33
-rw-r--r--dev-libs/gdl/gdl-3.16.0.ebuild33
-rw-r--r--dev-libs/gdl/metadata.xml5
-rw-r--r--dev-libs/gecode/Manifest1
-rw-r--r--dev-libs/gecode/gecode-3.7.3.ebuild52
-rw-r--r--dev-libs/gecode/metadata.xml13
-rw-r--r--dev-libs/geoip/Manifest2
-rw-r--r--dev-libs/geoip/files/geoipupdate-r5.sh46
-rw-r--r--dev-libs/geoip/geoip-1.6.5.ebuild52
-rw-r--r--dev-libs/geoip/geoip-1.6.6.ebuild52
-rw-r--r--dev-libs/geoip/metadata.xml8
-rw-r--r--dev-libs/gf2x/Manifest2
-rw-r--r--dev-libs/gf2x/gf2x-1.0-r1.ebuild39
-rw-r--r--dev-libs/gf2x/gf2x-1.1.ebuild39
-rw-r--r--dev-libs/gf2x/metadata.xml14
-rw-r--r--dev-libs/girara/Manifest3
-rw-r--r--dev-libs/girara/girara-0.2.2.ebuild64
-rw-r--r--dev-libs/girara/girara-0.2.3.ebuild64
-rw-r--r--dev-libs/girara/girara-0.2.4.ebuild65
-rw-r--r--dev-libs/girara/girara-9999.ebuild64
-rw-r--r--dev-libs/girara/metadata.xml25
-rw-r--r--dev-libs/gjs/Manifest3
-rw-r--r--dev-libs/gjs/files/gjs-1.40.1-ownership-transfer.patch72
-rw-r--r--dev-libs/gjs/files/gjs-1.40.1-ratelimit-rss.patch45
-rw-r--r--dev-libs/gjs/files/gjs-1.42.0-disable-unittest-1.patch48
-rw-r--r--dev-libs/gjs/files/gjs-1.42.0-disable-unittest-2.patch40
-rw-r--r--dev-libs/gjs/files/gjs-1.42.0-disable-unittest-3.patch35
-rw-r--r--dev-libs/gjs/files/gjs-1.43.3-disable-unittest-1.patch40
-rw-r--r--dev-libs/gjs/files/gjs-1.43.3-disable-unittest-2.patch35
-rw-r--r--dev-libs/gjs/gjs-1.40.1-r1.ebuild75
-rw-r--r--dev-libs/gjs/gjs-1.42.0.ebuild69
-rw-r--r--dev-libs/gjs/gjs-1.43.3.ebuild69
-rw-r--r--dev-libs/gjs/metadata.xml5
-rw-r--r--dev-libs/glib/Manifest6
-rw-r--r--dev-libs/glib/files/glib-1.2.10-automake-1.13.patch23
-rw-r--r--dev-libs/glib/files/glib-1.2.10-automake.patch29
-rw-r--r--dev-libs/glib/files/glib-1.2.10-configure-LANG.patch44
-rw-r--r--dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch41
-rw-r--r--dev-libs/glib/files/glib-1.2.10-m4.patch9
-rw-r--r--dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch44
-rw-r--r--dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch95
-rw-r--r--dev-libs/glib/glib-1.2.10-r5.ebuild66
-rw-r--r--dev-libs/glib/glib-1.2.10-r6.ebuild77
-rw-r--r--dev-libs/glib/glib-2.40.2.ebuild275
-rw-r--r--dev-libs/glib/glib-2.42.2.ebuild270
-rw-r--r--dev-libs/glib/glib-2.44.1.ebuild270
-rw-r--r--dev-libs/glib/metadata.xml19
-rw-r--r--dev-libs/gmime/Manifest1
-rw-r--r--dev-libs/gmime/gmime-2.6.20.ebuild70
-rw-r--r--dev-libs/gmime/metadata.xml5
-rw-r--r--dev-libs/gmp/Manifest20
-rw-r--r--dev-libs/gmp/files/6.0.0a/gmp-6.0.0a-arm-thumb.diff22
-rw-r--r--dev-libs/gmp/files/6.0.0a/ppc64-build.diff23
-rw-r--r--dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch20
-rw-r--r--dev-libs/gmp/files/gmp-4.2.1-s390.diff68
-rw-r--r--dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch256
-rw-r--r--dev-libs/gmp/files/gmp-5.0.0-s390.diff68
-rw-r--r--dev-libs/gmp/files/gmp-5.0.1-perfpow-test.patch36
-rw-r--r--dev-libs/gmp/files/gmp-5.0.1-x86-nopie-tests.patch130
-rw-r--r--dev-libs/gmp/files/gmp-5.0.2-unnormalised-dividends.patch21
-rw-r--r--dev-libs/gmp/files/gmp-5.0.2-x32-bugfix.patch94
-rw-r--r--dev-libs/gmp/files/gmp-5.0.2-x32-support.patch41
-rw-r--r--dev-libs/gmp/files/gmp-5.0.5-x32-support.patch41
-rw-r--r--dev-libs/gmp/files/gmp-5.1.0-armv4.patch12
-rw-r--r--dev-libs/gmp/files/gmp-5.1.0-x32-support.patch42
-rw-r--r--dev-libs/gmp/files/gmp-5.1.0-x86-nopie-tests.patch119
-rw-r--r--dev-libs/gmp/gmp-4.3.2-r1.ebuild61
-rw-r--r--dev-libs/gmp/gmp-5.0.1.ebuild87
-rw-r--r--dev-libs/gmp/gmp-5.0.2.ebuild86
-rw-r--r--dev-libs/gmp/gmp-5.0.2_p1.ebuild102
-rw-r--r--dev-libs/gmp/gmp-5.0.3.ebuild101
-rw-r--r--dev-libs/gmp/gmp-5.0.4.ebuild101
-rw-r--r--dev-libs/gmp/gmp-5.0.5.ebuild101
-rw-r--r--dev-libs/gmp/gmp-5.1.0.ebuild116
-rw-r--r--dev-libs/gmp/gmp-5.1.1.ebuild115
-rw-r--r--dev-libs/gmp/gmp-5.1.2.ebuild114
-rw-r--r--dev-libs/gmp/gmp-5.1.3-r1.ebuild118
-rw-r--r--dev-libs/gmp/gmp-5.1.3.ebuild114
-rw-r--r--dev-libs/gmp/gmp-6.0.0a.ebuild117
-rw-r--r--dev-libs/gmp/metadata.xml8
-rw-r--r--dev-libs/gnulib/Manifest2
-rw-r--r--dev-libs/gnulib/files/gnulib-2008.07.23-rpl_getopt.patch12
-rw-r--r--dev-libs/gnulib/files/gnulib-2009.03.03.14.07.45-scandir.patch15
-rw-r--r--dev-libs/gnulib/gnulib-2009.03.03.14.07.45-r1.ebuild134
-rw-r--r--dev-libs/gnulib/gnulib-2013.10.28.22.33.52.ebuild46
-rw-r--r--dev-libs/gnulib/gnulib-9999-r1.ebuild45
-rw-r--r--dev-libs/gnulib/metadata.xml5
-rw-r--r--dev-libs/go-fuse/Manifest2
-rw-r--r--dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild52
-rw-r--r--dev-libs/go-fuse/go-fuse-0_p20150422.ebuild52
-rw-r--r--dev-libs/go-fuse/go-fuse-9999.ebuild56
-rw-r--r--dev-libs/go-fuse/metadata.xml13
-rw-r--r--dev-libs/go-usb/go-usb-9999.ebuild33
-rw-r--r--dev-libs/go-usb/metadata.xml11
-rw-r--r--dev-libs/gobject-introspection-common/Manifest4
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.38.0.ebuild34
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild34
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.42.0.ebuild34
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.44.0.ebuild34
-rw-r--r--dev-libs/gobject-introspection-common/metadata.xml5
-rw-r--r--dev-libs/gobject-introspection/Manifest3
-rw-r--r--dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch484
-rw-r--r--dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch32
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild79
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild79
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild73
-rw-r--r--dev-libs/gobject-introspection/metadata.xml9
-rw-r--r--dev-libs/gom/Manifest2
-rw-r--r--dev-libs/gom/gom-0.3.0.ebuild37
-rw-r--r--dev-libs/gom/gom-0.3.1.ebuild37
-rw-r--r--dev-libs/gom/metadata.xml5
-rw-r--r--dev-libs/granite/Manifest4
-rw-r--r--dev-libs/granite/files/granite-0.3.0-build-fix.patch22
-rw-r--r--dev-libs/granite/files/granite-0.3.0-build-fix2.patch13
-rw-r--r--dev-libs/granite/files/granite-0.3.0-build-fix3.patch24
-rw-r--r--dev-libs/granite/granite-0.1.0.ebuild41
-rw-r--r--dev-libs/granite/granite-0.2.1.ebuild57
-rw-r--r--dev-libs/granite/granite-0.2.3.1.ebuild59
-rw-r--r--dev-libs/granite/granite-0.3.0.ebuild65
-rw-r--r--dev-libs/granite/metadata.xml11
-rw-r--r--dev-libs/grantlee/Manifest2
-rw-r--r--dev-libs/grantlee/files/grantlee-0.1.9-qt-test-optional.patch46
-rw-r--r--dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch14
-rw-r--r--dev-libs/grantlee/files/grantlee-slot.patch40
-rw-r--r--dev-libs/grantlee/grantlee-0.4.0.ebuild54
-rw-r--r--dev-libs/grantlee/grantlee-5.0.0.ebuild58
-rw-r--r--dev-libs/grantlee/metadata.xml5
-rw-r--r--dev-libs/grok/Manifest1
-rw-r--r--dev-libs/grok/files/0.9.2-Makefile.patch65
-rw-r--r--dev-libs/grok/grok-0.9.2.ebuild28
-rw-r--r--dev-libs/grok/metadata.xml11
-rw-r--r--dev-libs/gtx/Manifest1
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-debug.patch40
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-docdir.patch16
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-glib.h.patch15
-rw-r--r--dev-libs/gtx/gtx-0.2.2.ebuild33
-rw-r--r--dev-libs/gtx/metadata.xml16
-rw-r--r--dev-libs/guiloader-c++/Manifest2
-rw-r--r--dev-libs/guiloader-c++/guiloader-c++-2.21.0.ebuild37
-rw-r--r--dev-libs/guiloader-c++/guiloader-c++-2.99.0.ebuild40
-rw-r--r--dev-libs/guiloader-c++/metadata.xml15
-rw-r--r--dev-libs/guiloader/Manifest2
-rw-r--r--dev-libs/guiloader/guiloader-2.21.0.ebuild36
-rw-r--r--dev-libs/guiloader/guiloader-2.99.0.ebuild39
-rw-r--r--dev-libs/guiloader/metadata.xml16
-rw-r--r--dev-libs/gumbo/Manifest4
-rw-r--r--dev-libs/gumbo/gumbo-0.10.1.ebuild45
-rw-r--r--dev-libs/gumbo/gumbo-0.9.2.ebuild45
-rw-r--r--dev-libs/gumbo/gumbo-0.9.3.ebuild45
-rw-r--r--dev-libs/gumbo/gumbo-0.9.4.ebuild45
-rw-r--r--dev-libs/gumbo/metadata.xml10
-rw-r--r--dev-libs/hammer/hammer-9999.ebuild71
-rw-r--r--dev-libs/hammer/metadata.xml19
-rw-r--r--dev-libs/handystats/Manifest3
-rw-r--r--dev-libs/handystats/handystats-1.11.0.ebuild22
-rw-r--r--dev-libs/handystats/handystats-1.11.1.ebuild22
-rw-r--r--dev-libs/handystats/handystats-1.11.3.ebuild22
-rw-r--r--dev-libs/handystats/metadata.xml11
-rw-r--r--dev-libs/hashit/Manifest1
-rw-r--r--dev-libs/hashit/files/hashit-0.9.7-pkgconfig.patch20
-rw-r--r--dev-libs/hashit/hashit-0.9.7-r1.ebuild18
-rw-r--r--dev-libs/hashit/hashit-0.9.7.ebuild23
-rw-r--r--dev-libs/hashit/metadata.xml7
-rw-r--r--dev-libs/hidapi/Manifest3
-rw-r--r--dev-libs/hidapi/hidapi-0.8.0_pre20130121-r1.ebuild69
-rw-r--r--dev-libs/hidapi/hidapi-0.8.0_pre20130121.ebuild59
-rw-r--r--dev-libs/hidapi/hidapi-0.8.0_rc1_p20140201.ebuild79
-rw-r--r--dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild76
-rw-r--r--dev-libs/hidapi/metadata.xml16
-rw-r--r--dev-libs/hiredis/Manifest2
-rw-r--r--dev-libs/hiredis/files/hiredis-0.11.0-disable-network-tests.patch33
-rw-r--r--dev-libs/hiredis/files/hiredis-0.13.1-disable-network-tests.patch36
-rw-r--r--dev-libs/hiredis/hiredis-0.11.0-r1.ebuild50
-rw-r--r--dev-libs/hiredis/hiredis-0.11.0.ebuild46
-rw-r--r--dev-libs/hiredis/hiredis-0.13.1.ebuild77
-rw-r--r--dev-libs/hiredis/metadata.xml11
-rw-r--r--dev-libs/http-fetcher/Manifest1
-rw-r--r--dev-libs/http-fetcher/http-fetcher-1.1.0.ebuild35
-rw-r--r--dev-libs/http-fetcher/metadata.xml10
-rw-r--r--dev-libs/hyperleveldb/Manifest1
-rw-r--r--dev-libs/hyperleveldb/files/snappy.patch31
-rw-r--r--dev-libs/hyperleveldb/hyperleveldb-1.2.2.ebuild28
-rw-r--r--dev-libs/hyperleveldb/metadata.xml8
-rw-r--r--dev-libs/hyphen/Manifest2
-rw-r--r--dev-libs/hyphen/hyphen-2.8.6.ebuild32
-rw-r--r--dev-libs/hyphen/hyphen-2.8.8.ebuild32
-rw-r--r--dev-libs/hyphen/metadata.xml8
-rw-r--r--dev-libs/icu/Manifest2
-rw-r--r--dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch1105
-rw-r--r--dev-libs/icu/files/icu-fix-tests-depending-on-date.patch15
-rw-r--r--dev-libs/icu/files/icu-remove-bashisms.patch230
-rw-r--r--dev-libs/icu/icu-54.1-r1.ebuild134
-rw-r--r--dev-libs/icu/icu-55.1.ebuild133
-rw-r--r--dev-libs/icu/metadata.xml5
-rw-r--r--dev-libs/igraph/Manifest1
-rw-r--r--dev-libs/igraph/files/igraph-0.7.1-unbundle.patch269
-rw-r--r--dev-libs/igraph/igraph-0.7.1-r1.ebuild52
-rw-r--r--dev-libs/igraph/metadata.xml16
-rw-r--r--dev-libs/iksemel/Manifest2
-rw-r--r--dev-libs/iksemel/files/iksemel-1.3-gnutls-2.8.patch16
-rw-r--r--dev-libs/iksemel/iksemel-1.3.ebuild37
-rw-r--r--dev-libs/iksemel/iksemel-1.4.ebuild34
-rw-r--r--dev-libs/iksemel/metadata.xml8
-rw-r--r--dev-libs/ilbc-rfc3951/Manifest1
-rw-r--r--dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch11
-rw-r--r--dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild28
-rw-r--r--dev-libs/ilbc-rfc3951/metadata.xml8
-rw-r--r--dev-libs/iniparser/Manifest1
-rw-r--r--dev-libs/iniparser/files/iniparser-3.0-autotools.patch46
-rw-r--r--dev-libs/iniparser/files/iniparser-3.0b-cpp.patch47
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r1.ebuild47
-rw-r--r--dev-libs/iniparser/iniparser-3.1.ebuild47
-rw-r--r--dev-libs/iniparser/metadata.xml9
-rw-r--r--dev-libs/injeqt/Manifest1
-rw-r--r--dev-libs/injeqt/injeqt-1.0.0.ebuild31
-rw-r--r--dev-libs/injeqt/metadata.xml11
-rw-r--r--dev-libs/intel-common/Manifest23
-rw-r--r--dev-libs/intel-common/intel-common-13.0.0.079-r1.ebuild60
-rw-r--r--dev-libs/intel-common/intel-common-13.0.0.079.ebuild54
-rw-r--r--dev-libs/intel-common/intel-common-13.0.1.117.ebuild58
-rw-r--r--dev-libs/intel-common/intel-common-13.1.2.146.ebuild58
-rw-r--r--dev-libs/intel-common/intel-common-13.1.3.163.ebuild58
-rw-r--r--dev-libs/intel-common/intel-common-13.1.5.192.ebuild58
-rw-r--r--dev-libs/intel-common/intel-common-14.0.0.080.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-14.0.1.106.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-14.0.2.144.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-14.0.3.174.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-15.0.0.090-r1.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-15.0.1.133.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-15.0.2.164.ebuild59
-rw-r--r--dev-libs/intel-common/intel-common-15.0.3.187.ebuild59
-rw-r--r--dev-libs/intel-common/metadata.xml12
-rw-r--r--dev-libs/isl/Manifest6
-rw-r--r--dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch17
-rw-r--r--dev-libs/isl/isl-0.11.1.ebuild37
-rw-r--r--dev-libs/isl/isl-0.12.2.ebuild39
-rw-r--r--dev-libs/isl/isl-0.13.ebuild39
-rw-r--r--dev-libs/isl/isl-0.14.1.ebuild40
-rw-r--r--dev-libs/isl/isl-0.14.ebuild40
-rw-r--r--dev-libs/isl/isl-0.15.ebuild40
-rw-r--r--dev-libs/isl/metadata.xml8
-rw-r--r--dev-libs/jansson/Manifest3
-rw-r--r--dev-libs/jansson/jansson-2.4.ebuild38
-rw-r--r--dev-libs/jansson/jansson-2.6.ebuild38
-rw-r--r--dev-libs/jansson/jansson-2.7.ebuild38
-rw-r--r--dev-libs/jansson/metadata.xml13
-rw-r--r--dev-libs/jemalloc/Manifest3
-rw-r--r--dev-libs/jemalloc/files/jemalloc-2.2.1-no-pprof.patch24
-rw-r--r--dev-libs/jemalloc/files/jemalloc-2.2.5_fix_html_install.patch12
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.0.0-no-pprof.patch27
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.0.0-strip-optimization.patch29
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.0.0_fix_html_install.patch14
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch25
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch27
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch12
-rw-r--r--dev-libs/jemalloc/files/jemalloc-fix-ar-call.patch59
-rw-r--r--dev-libs/jemalloc/files/jemalloc-strip-optimization.patch25
-rw-r--r--dev-libs/jemalloc/jemalloc-2.2.5-r1.ebuild44
-rw-r--r--dev-libs/jemalloc/jemalloc-3.3.1.ebuild45
-rw-r--r--dev-libs/jemalloc/jemalloc-3.6.0.ebuild54
-rw-r--r--dev-libs/jemalloc/metadata.xml12
-rw-r--r--dev-libs/json-c/Manifest4
-rw-r--r--dev-libs/json-c/files/json-c-0.10-automake-1.13.patch31
-rw-r--r--dev-libs/json-c/files/json-c-0.10-flags.patch6
-rw-r--r--dev-libs/json-c/files/json-c-0.10-headers.patch27
-rw-r--r--dev-libs/json-c/json-c-0.10-r1.ebuild43
-rw-r--r--dev-libs/json-c/json-c-0.11-r1.ebuild51
-rw-r--r--dev-libs/json-c/json-c-0.11.ebuild45
-rw-r--r--dev-libs/json-c/json-c-0.12.ebuild45
-rw-r--r--dev-libs/json-c/json-c-0.9-r1.ebuild29
-rw-r--r--dev-libs/json-c/metadata.xml15
-rw-r--r--dev-libs/json-glib/Manifest2
-rw-r--r--dev-libs/json-glib/json-glib-1.0.2-r1.ebuild51
-rw-r--r--dev-libs/json-glib/json-glib-1.0.2.ebuild43
-rw-r--r--dev-libs/json-glib/json-glib-1.0.4.ebuild57
-rw-r--r--dev-libs/json-glib/metadata.xml12
-rw-r--r--dev-libs/jsoncpp/Manifest3
-rw-r--r--dev-libs/jsoncpp/files/jsoncpp-1.6.2-fix-pkgconfig.patch55
-rw-r--r--dev-libs/jsoncpp/jsoncpp-0.10.2-r1.ebuild73
-rw-r--r--dev-libs/jsoncpp/jsoncpp-0.5.0-r1.ebuild58
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.6.2-r1.ebuild73
-rw-r--r--dev-libs/jsoncpp/metadata.xml15
-rw-r--r--dev-libs/jthread/Manifest1
-rw-r--r--dev-libs/jthread/jthread-1.3.1.ebuild25
-rw-r--r--dev-libs/jthread/metadata.xml8
-rw-r--r--dev-libs/judy/Manifest2
-rw-r--r--dev-libs/judy/files/judy-1.0.4-parallel-make.patch184
-rw-r--r--dev-libs/judy/files/judy-1.0.5-parallel-make.patch186
-rw-r--r--dev-libs/judy/judy-1.0.4.ebuild31
-rw-r--r--dev-libs/judy/judy-1.0.5.ebuild27
-rw-r--r--dev-libs/judy/metadata.xml12
-rw-r--r--dev-libs/keybinder/Manifest2
-rw-r--r--dev-libs/keybinder/keybinder-0.3.0-r200.ebuild69
-rw-r--r--dev-libs/keybinder/keybinder-0.3.0-r201.ebuild53
-rw-r--r--dev-libs/keybinder/keybinder-0.3.0-r300.ebuild41
-rw-r--r--dev-libs/keybinder/metadata.xml11
-rw-r--r--dev-libs/klibc/Manifest8
-rw-r--r--dev-libs/klibc/files/klibc-1.1-mips32.patch12
-rw-r--r--dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch13
-rw-r--r--dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch25
-rw-r--r--dev-libs/klibc/files/klibc-1.5-sigaction.patch37
-rw-r--r--dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch26
-rw-r--r--dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff28
-rw-r--r--dev-libs/klibc/files/klibc-1.5.20-kbuild.patch20
-rw-r--r--dev-libs/klibc/files/klibc-1.5.20-parallel-make.patch11
-rw-r--r--dev-libs/klibc/files/klibc-1.5.23-parallel-make.patch11
-rw-r--r--dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch12
-rw-r--r--dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch15
-rw-r--r--dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch88
-rw-r--r--dev-libs/klibc/files/klibc.m494
-rw-r--r--dev-libs/klibc/klibc-1.5.25.ebuild266
-rw-r--r--dev-libs/klibc/klibc-2.0.2-r1.ebuild295
-rw-r--r--dev-libs/klibc/klibc-2.0.2.ebuild286
-rw-r--r--dev-libs/klibc/klibc-2.0.3-r1.ebuild316
-rw-r--r--dev-libs/klibc/klibc-2.0.3.ebuild304
-rw-r--r--dev-libs/klibc/klibc-2.0.4.ebuild316
-rw-r--r--dev-libs/klibc/metadata.xml5
-rw-r--r--dev-libs/kpathsea/Manifest16
-rw-r--r--dev-libs/kpathsea/files/invocname.patch19
-rw-r--r--dev-libs/kpathsea/files/texmf-update165
-rw-r--r--dev-libs/kpathsea/files/texmf-update-r1165
-rw-r--r--dev-libs/kpathsea/kpathsea-6.1.0_p20120701.ebuild104
-rw-r--r--dev-libs/kpathsea/kpathsea-6.1.1_p20130530.ebuild110
-rw-r--r--dev-libs/kpathsea/kpathsea-6.2.0_p20140525.ebuild110
-rw-r--r--dev-libs/kpathsea/kpathsea-6.2.1_p20150521.ebuild110
-rw-r--r--dev-libs/kpathsea/metadata.xml10
-rw-r--r--dev-libs/kqoauth/Manifest1
-rw-r--r--dev-libs/kqoauth/kqoauth-0.98-r1.ebuild31
-rw-r--r--dev-libs/kqoauth/kqoauth-0.98.ebuild29
-rw-r--r--dev-libs/kqoauth/metadata.xml12
-rw-r--r--dev-libs/legousbtower/Manifest1
-rw-r--r--dev-libs/legousbtower/files/20-lego.rules1
-rw-r--r--dev-libs/legousbtower/legousbtower-0.5.4.ebuild45
-rw-r--r--dev-libs/legousbtower/metadata.xml11
-rw-r--r--dev-libs/leveldb/Manifest9
-rw-r--r--dev-libs/leveldb/files/leveldb-1.18-configure.patch52
-rw-r--r--dev-libs/leveldb/files/leveldb-1.18-mips.patch48
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-configure.patch35
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch81
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch60
-rw-r--r--dev-libs/leveldb/leveldb-1.10.0-r1.ebuild57
-rw-r--r--dev-libs/leveldb/leveldb-1.11.0-r1.ebuild57
-rw-r--r--dev-libs/leveldb/leveldb-1.12.0-r1.ebuild57
-rw-r--r--dev-libs/leveldb/leveldb-1.13.0-r1.ebuild57
-rw-r--r--dev-libs/leveldb/leveldb-1.14.0.ebuild53
-rw-r--r--dev-libs/leveldb/leveldb-1.15.0-r1.ebuild60
-rw-r--r--dev-libs/leveldb/leveldb-1.15.0.ebuild53
-rw-r--r--dev-libs/leveldb/leveldb-1.17.ebuild69
-rw-r--r--dev-libs/leveldb/leveldb-1.18-r1.ebuild67
-rw-r--r--dev-libs/leveldb/leveldb-1.18.ebuild66
-rw-r--r--dev-libs/leveldb/leveldb-1.9.0-r5.ebuild57
-rw-r--r--dev-libs/leveldb/leveldb-1.9.0-r6.ebuild58
-rw-r--r--dev-libs/leveldb/metadata.xml19
-rw-r--r--dev-libs/libIDL/Manifest1
-rw-r--r--dev-libs/libIDL/libIDL-0.8.14.ebuild26
-rw-r--r--dev-libs/libIDL/metadata.xml5
-rw-r--r--dev-libs/libRocket/Manifest2
-rw-r--r--dev-libs/libRocket/files/libRocket-1.2.1-build.patch44
-rw-r--r--dev-libs/libRocket/files/libRocket-1.3.0.0-build.patch44
-rw-r--r--dev-libs/libRocket/libRocket-1.2.1_p20130110-r1.ebuild97
-rw-r--r--dev-libs/libRocket/libRocket-1.2.1_p20130110.ebuild82
-rw-r--r--dev-libs/libRocket/libRocket-1.3.0.0.ebuild99
-rw-r--r--dev-libs/libRocket/libRocket-9999.ebuild98
-rw-r--r--dev-libs/libRocket/metadata.xml11
-rw-r--r--dev-libs/libaio/Manifest1
-rw-r--r--dev-libs/libaio/files/libaio-0.3.106-build.patch17
-rw-r--r--dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch17
-rw-r--r--dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch101
-rw-r--r--dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch31
-rw-r--r--dev-libs/libaio/files/libaio-0.3.107-sparc.patch151
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch62
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-install.patch45
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch19
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch73
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-x32.patch63
-rw-r--r--dev-libs/libaio/files/libaio-0.3.110-cppflags.patch25
-rw-r--r--dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch30
-rw-r--r--dev-libs/libaio/libaio-0.3.110.ebuild82
-rw-r--r--dev-libs/libaio/metadata.xml12
-rw-r--r--dev-libs/libappindicator/Manifest1
-rw-r--r--dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch72
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r1.ebuild59
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r200.ebuild78
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r300.ebuild66
-rw-r--r--dev-libs/libappindicator/metadata.xml11
-rw-r--r--dev-libs/libassuan/Manifest5
-rw-r--r--dev-libs/libassuan/libassuan-2.1.1.ebuild29
-rw-r--r--dev-libs/libassuan/libassuan-2.1.2.ebuild37
-rw-r--r--dev-libs/libassuan/libassuan-2.1.3.ebuild38
-rw-r--r--dev-libs/libassuan/libassuan-2.2.0.ebuild38
-rw-r--r--dev-libs/libassuan/libassuan-2.2.1.ebuild38
-rw-r--r--dev-libs/libassuan/metadata.xml16
-rw-r--r--dev-libs/libatasmart/Manifest2
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19-r1.ebuild42
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19.ebuild32
-rw-r--r--dev-libs/libatasmart/metadata.xml8
-rw-r--r--dev-libs/libatomic_ops/Manifest7
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-1.2-fix-makefile-am-generic.patch19
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch11
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch46
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-1.2-sh4.patch59
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-1.2-x32.patch43
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha4-x32.patch43
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha6-x32.patch46
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-7.4.0-docs.patch19
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-1.1.ebuild19
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-1.2-r1.ebuild29
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-1.2.ebuild27
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.2_alpha4.ebuild35
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.2_alpha6.ebuild35
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.2d.ebuild34
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.4.0.ebuild24
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.4.2.ebuild27
-rw-r--r--dev-libs/libatomic_ops/metadata.xml8
-rw-r--r--dev-libs/libattica/Manifest1
-rw-r--r--dev-libs/libattica/libattica-0.4.2.ebuild48
-rw-r--r--dev-libs/libattica/metadata.xml5
-rw-r--r--dev-libs/libax25/Manifest1
-rw-r--r--dev-libs/libax25/libax25-0.0.12_rc4.ebuild25
-rw-r--r--dev-libs/libax25/metadata.xml8
-rw-r--r--dev-libs/libbase58/Manifest2
-rw-r--r--dev-libs/libbase58/libbase58-0.1.0.ebuild27
-rw-r--r--dev-libs/libbase58/libbase58-0.1.1.ebuild27
-rw-r--r--dev-libs/libbase58/metadata.xml18
-rw-r--r--dev-libs/libbegemot/Manifest1
-rw-r--r--dev-libs/libbegemot/libbegemot-1.11.ebuild28
-rw-r--r--dev-libs/libbegemot/metadata.xml5
-rw-r--r--dev-libs/libbrahe/Manifest1
-rw-r--r--dev-libs/libbrahe/files/1.1.0-missing_libs.patch7
-rw-r--r--dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild21
-rw-r--r--dev-libs/libbrahe/metadata.xml5
-rw-r--r--dev-libs/libbsd/Manifest1
-rw-r--r--dev-libs/libbsd/libbsd-0.7.0.ebuild40
-rw-r--r--dev-libs/libbsd/metadata.xml5
-rw-r--r--dev-libs/libbson/Manifest2
-rw-r--r--dev-libs/libbson/libbson-0.98.0.ebuild47
-rw-r--r--dev-libs/libbson/libbson-1.1.2.ebuild47
-rw-r--r--dev-libs/libbson/metadata.xml18
-rw-r--r--dev-libs/libbulletml/Manifest1
-rw-r--r--dev-libs/libbulletml/files/libbulletml-0.0.6-gcc43.patch31
-rw-r--r--dev-libs/libbulletml/files/libbulletml-0.0.6-gcc46.patch20
-rw-r--r--dev-libs/libbulletml/libbulletml-0.0.6.ebuild45
-rw-r--r--dev-libs/libbulletml/metadata.xml5
-rw-r--r--dev-libs/libburn/Manifest2
-rw-r--r--dev-libs/libburn/libburn-1.3.8.ebuild43
-rw-r--r--dev-libs/libburn/libburn-1.4.0.ebuild43
-rw-r--r--dev-libs/libburn/metadata.xml18
-rw-r--r--dev-libs/libcaldav/Manifest1
-rw-r--r--dev-libs/libcaldav/libcaldav-0.6.2.ebuild32
-rw-r--r--dev-libs/libcaldav/metadata.xml10
-rw-r--r--dev-libs/libcdio-paranoia/Manifest2
-rw-r--r--dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch26
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild61
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild60
-rw-r--r--dev-libs/libcdio-paranoia/metadata.xml5
-rw-r--r--dev-libs/libcdio/Manifest2
-rw-r--r--dev-libs/libcdio/libcdio-0.92.ebuild68
-rw-r--r--dev-libs/libcdio/libcdio-0.93.ebuild68
-rw-r--r--dev-libs/libcdio/metadata.xml12
-rw-r--r--dev-libs/libcec/Manifest3
-rw-r--r--dev-libs/libcec/files/libcec-1.8.1-eintr-retry.patch30
-rw-r--r--dev-libs/libcec/libcec-2.1.3.ebuild42
-rw-r--r--dev-libs/libcec/libcec-2.1.4.ebuild43
-rw-r--r--dev-libs/libcec/libcec-2.2.0.ebuild46
-rw-r--r--dev-libs/libcec/metadata.xml17
-rw-r--r--dev-libs/libcgroup/Manifest1
-rw-r--r--dev-libs/libcgroup/files/cgconfig.confd4
-rw-r--r--dev-libs/libcgroup/files/cgconfig.initd117
-rw-r--r--dev-libs/libcgroup/files/cgred.confd17
-rw-r--r--dev-libs/libcgroup/files/cgred.initd41
-rw-r--r--dev-libs/libcgroup/files/libcgroup-0.41-reorder-headers.patch28
-rw-r--r--dev-libs/libcgroup/files/libcgroup-0.41-replace_DECLS.patch225
-rw-r--r--dev-libs/libcgroup/files/libcgroup-0.41-replace_INLCUDES.patch74
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r1.ebuild104
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41.ebuild105
-rw-r--r--dev-libs/libcgroup/metadata.xml19
-rw-r--r--dev-libs/libchewing/Manifest2
-rw-r--r--dev-libs/libchewing/files/0.3.3-cflags.patch10
-rw-r--r--dev-libs/libchewing/files/0.3.3-strncat-fix.patch13
-rw-r--r--dev-libs/libchewing/files/0.3.3-tinfo.patch43
-rw-r--r--dev-libs/libchewing/libchewing-0.3.3-r1.ebuild51
-rw-r--r--dev-libs/libchewing/libchewing-0.3.3.ebuild48
-rw-r--r--dev-libs/libchewing/libchewing-0.4.0-r1.ebuild49
-rw-r--r--dev-libs/libchewing/metadata.xml8
-rw-r--r--dev-libs/libclc/Manifest3
-rw-r--r--dev-libs/libclc/files/libclc-llvm-3.5-compat.patch83
-rw-r--r--dev-libs/libclc/libclc-0.0.1_pre20140101-r1.ebuild60
-rw-r--r--dev-libs/libclc/libclc-0.0.1_pre20141027.ebuild56
-rw-r--r--dev-libs/libclc/libclc-0.1.0_pre20150305.ebuild54
-rw-r--r--dev-libs/libclc/metadata.xml5
-rw-r--r--dev-libs/libcli/Manifest2
-rw-r--r--dev-libs/libcli/files/libcli-1.9.4-ldflags.patch11
-rw-r--r--dev-libs/libcli/files/libcli-1.9.7-libdir.patch24
-rw-r--r--dev-libs/libcli/libcli-1.9.4-r1.ebuild45
-rw-r--r--dev-libs/libcli/libcli-1.9.7.ebuild38
-rw-r--r--dev-libs/libcli/metadata.xml15
-rw-r--r--dev-libs/libclsync/Manifest1
-rw-r--r--dev-libs/libclsync/libclsync-0.4.1.ebuild79
-rw-r--r--dev-libs/libclsync/metadata.xml19
-rw-r--r--dev-libs/libconfig/Manifest2
-rw-r--r--dev-libs/libconfig/files/libconfig-1.4.9-out-of-source-build.patch16
-rw-r--r--dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch11
-rw-r--r--dev-libs/libconfig/libconfig-1.4.9-r1.ebuild55
-rw-r--r--dev-libs/libconfig/libconfig-1.5.ebuild51
-rw-r--r--dev-libs/libconfig/metadata.xml13
-rw-r--r--dev-libs/libcoyotl/Manifest1
-rw-r--r--dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch32
-rw-r--r--dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch11
-rw-r--r--dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild51
-rw-r--r--dev-libs/libcoyotl/metadata.xml5
-rw-r--r--dev-libs/libcroco/Manifest1
-rw-r--r--dev-libs/libcroco/libcroco-0.6.8-r1.ebuild53
-rw-r--r--dev-libs/libcroco/libcroco-0.6.8.ebuild37
-rw-r--r--dev-libs/libcroco/metadata.xml13
-rw-r--r--dev-libs/libcss/Manifest4
-rw-r--r--dev-libs/libcss/files/libcss-0.4.0-glibc2.20.patch17
-rw-r--r--dev-libs/libcss/files/libcss-0.5.0-glibc2.20.patch17
-rw-r--r--dev-libs/libcss/libcss-0.4.0.ebuild24
-rw-r--r--dev-libs/libcss/libcss-0.5.0-r1.ebuild24
-rw-r--r--dev-libs/libcss/metadata.xml9
-rw-r--r--dev-libs/libdaemon/Manifest1
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r1.ebuild58
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r2.ebuild69
-rw-r--r--dev-libs/libdaemon/metadata.xml7
-rw-r--r--dev-libs/libdbusmenu-qt/Manifest2
-rw-r--r--dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.2-optionaltests.patch17
-rw-r--r--dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20140619-optionaltests.patch16
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.2.ebuild63
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619-r1.ebuild137
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619.ebuild109
-rw-r--r--dev-libs/libdbusmenu-qt/metadata.xml12
-rw-r--r--dev-libs/libdbusmenu/Manifest1
-rw-r--r--dev-libs/libdbusmenu/files/libdbusmenu-12.10.2-gtk2-signal-fix.patch36
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-12.10.2-r2.ebuild124
-rw-r--r--dev-libs/libdbusmenu/metadata.xml17
-rw-r--r--dev-libs/libdivecomputer/Manifest2
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild75
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild75
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-9999.ebuild63
-rw-r--r--dev-libs/libdivecomputer/metadata.xml21
-rw-r--r--dev-libs/libdivsufsort/Manifest1
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-2.0.1.ebuild21
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-9999.ebuild31
-rw-r--r--dev-libs/libdivsufsort/metadata.xml8
-rw-r--r--dev-libs/libdnet/Manifest2
-rw-r--r--dev-libs/libdnet/libdnet-1.12.ebuild71
-rw-r--r--dev-libs/libdnet/metadata.xml8
-rw-r--r--dev-libs/libdnsres/Manifest1
-rw-r--r--dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch28
-rw-r--r--dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild26
-rw-r--r--dev-libs/libdnsres/metadata.xml14
-rw-r--r--dev-libs/libdshconfig/Manifest2
-rw-r--r--dev-libs/libdshconfig/libdshconfig-0.20.12.ebuild20
-rw-r--r--dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild30
-rw-r--r--dev-libs/libdshconfig/metadata.xml5
-rw-r--r--dev-libs/libdynd/Manifest2
-rw-r--r--dev-libs/libdynd/files/libdynd-0.6.0-dont-install-test.patch15
-rw-r--r--dev-libs/libdynd/files/libdynd-0.6.0-optional-cblosc.patch27
-rw-r--r--dev-libs/libdynd/files/libdynd-0.6.0-out-of-git-versioning.patch14
-rw-r--r--dev-libs/libdynd/files/libdynd-0.6.0-respect-libdir.patch15
-rw-r--r--dev-libs/libdynd/files/libdynd-0.6.2-out-of-git-versioning.patch15
-rw-r--r--dev-libs/libdynd/libdynd-0.6.5.ebuild67
-rw-r--r--dev-libs/libdynd/libdynd-0.6.6.ebuild67
-rw-r--r--dev-libs/libdynd/metadata.xml21
-rw-r--r--dev-libs/libe/Manifest3
-rw-r--r--dev-libs/libe/files/libe-getpid.patch23
-rw-r--r--dev-libs/libe/libe-0.10.1.ebuild27
-rw-r--r--dev-libs/libe/libe-0.11.0.ebuild27
-rw-r--r--dev-libs/libe/libe-0.9.0.ebuild27
-rw-r--r--dev-libs/libe/metadata.xml8
-rw-r--r--dev-libs/libebml/Manifest4
-rw-r--r--dev-libs/libebml/files/libebml-1.2.0-makefile-fixup.patch107
-rw-r--r--dev-libs/libebml/files/libebml-1.3.0-makefile.patch102
-rw-r--r--dev-libs/libebml/libebml-1.2.1.ebuild45
-rw-r--r--dev-libs/libebml/libebml-1.2.2.ebuild62
-rw-r--r--dev-libs/libebml/libebml-1.3.0.ebuild62
-rw-r--r--dev-libs/libebml/libebml-1.3.1.ebuild30
-rw-r--r--dev-libs/libebml/metadata.xml11
-rw-r--r--dev-libs/libedit/Manifest3
-rw-r--r--dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch13
-rw-r--r--dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch20
-rw-r--r--dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch258
-rw-r--r--dev-libs/libedit/files/libedit-ncursesprivate.patch13
-rw-r--r--dev-libs/libedit/libedit-20120311.3.0-r1.ebuild48
-rw-r--r--dev-libs/libedit/libedit-20130611.3.1-r1.ebuild50
-rw-r--r--dev-libs/libedit/libedit-20130712.3.1.ebuild50
-rw-r--r--dev-libs/libedit/metadata.xml13
-rw-r--r--dev-libs/libee/Manifest2
-rw-r--r--dev-libs/libee/files/0.3.2-add_math_lib_configure.patch16
-rw-r--r--dev-libs/libee/files/0.3.2-add_math_lib_pc_in.patch10
-rw-r--r--dev-libs/libee/libee-0.3.2-r1.ebuild35
-rw-r--r--dev-libs/libee/libee-0.3.2-r2.ebuild39
-rw-r--r--dev-libs/libee/libee-0.4.1.ebuild34
-rw-r--r--dev-libs/libee/metadata.xml11
-rw-r--r--dev-libs/libelf/Manifest1
-rw-r--r--dev-libs/libelf/files/libelf-0.8.13-build.patch38
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r1.ebuild51
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r2.ebuild55
-rw-r--r--dev-libs/libelf/metadata.xml8
-rw-r--r--dev-libs/liberasurecode/Manifest2
-rw-r--r--dev-libs/liberasurecode/liberasurecode-1.0.7.ebuild32
-rw-r--r--dev-libs/liberasurecode/liberasurecode-1.0.8.ebuild32
-rw-r--r--dev-libs/liberasurecode/metadata.xml12
-rw-r--r--dev-libs/libestr/Manifest6
-rw-r--r--dev-libs/libestr/libestr-0.1.2.ebuild26
-rw-r--r--dev-libs/libestr/libestr-0.1.3.ebuild26
-rw-r--r--dev-libs/libestr/libestr-0.1.4.ebuild28
-rw-r--r--dev-libs/libestr/libestr-0.1.5.ebuild28
-rw-r--r--dev-libs/libestr/libestr-0.1.8.ebuild28
-rw-r--r--dev-libs/libestr/libestr-0.1.9.ebuild28
-rw-r--r--dev-libs/libestr/metadata.xml14
-rw-r--r--dev-libs/libev/Manifest3
-rw-r--r--dev-libs/libev/files/libev-4.15-automake-1.14.patch21
-rw-r--r--dev-libs/libev/files/libev-pc.patch42
-rw-r--r--dev-libs/libev/libev-4.15-r1.ebuild47
-rw-r--r--dev-libs/libev/libev-4.18.ebuild48
-rw-r--r--dev-libs/libev/libev-4.19.ebuild48
-rw-r--r--dev-libs/libev/metadata.xml9
-rw-r--r--dev-libs/libevdev/Manifest3
-rw-r--r--dev-libs/libevdev/libevdev-1.3.ebuild25
-rw-r--r--dev-libs/libevdev/libevdev-1.4.3.ebuild25
-rw-r--r--dev-libs/libevdev/libevdev-1.4.ebuild25
-rw-r--r--dev-libs/libevdev/metadata.xml5
-rw-r--r--dev-libs/libevent/Manifest2
-rw-r--r--dev-libs/libevent/libevent-2.0.22.ebuild64
-rw-r--r--dev-libs/libevent/libevent-2.1.5.ebuild63
-rw-r--r--dev-libs/libevent/libevent-9999.ebuild59
-rw-r--r--dev-libs/libevent/metadata.xml14
-rw-r--r--dev-libs/libevocosm/Manifest1
-rw-r--r--dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch20
-rw-r--r--dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild49
-rw-r--r--dev-libs/libevocosm/metadata.xml5
-rw-r--r--dev-libs/libexecinfo/Manifest1
-rw-r--r--dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch13
-rw-r--r--dev-libs/libexecinfo/libexecinfo-1.1.ebuild25
-rw-r--r--dev-libs/libexecinfo/metadata.xml12
-rw-r--r--dev-libs/libexplain/Manifest2
-rw-r--r--dev-libs/libexplain/files/libexplain-0.45-configure.patch23
-rw-r--r--dev-libs/libexplain/libexplain-1.3.ebuild52
-rw-r--r--dev-libs/libexplain/libexplain-1.4.ebuild51
-rw-r--r--dev-libs/libexplain/metadata.xml5
-rw-r--r--dev-libs/libezV24/Manifest1
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-build.patch177
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-test.patch20
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1.ebuild38
-rw-r--r--dev-libs/libezV24/metadata.xml17
-rw-r--r--dev-libs/libf2c/Manifest1
-rw-r--r--dev-libs/libf2c/files/20051004-add-ofiles-dep.patch14
-rw-r--r--dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch11
-rw-r--r--dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch57
-rw-r--r--dev-libs/libf2c/files/libf2c-20110801-format-security.patch11
-rw-r--r--dev-libs/libf2c/files/libf2c-20110801-main.patch40
-rw-r--r--dev-libs/libf2c/libf2c-20110801-r4.ebuild58
-rw-r--r--dev-libs/libf2c/metadata.xml8
-rw-r--r--dev-libs/libffi/Manifest4
-rw-r--r--dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch37
-rw-r--r--dev-libs/libffi/files/libffi-3.1-darwin-x32.patch22
-rw-r--r--dev-libs/libffi/files/libffi-3.1-execstack.patch12
-rw-r--r--dev-libs/libffi/files/libffi-3.1-typing_error.patch14
-rw-r--r--dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch20
-rw-r--r--dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch17
-rw-r--r--dev-libs/libffi/libffi-3.0.13-r1.ebuild65
-rw-r--r--dev-libs/libffi/libffi-3.1-r3.ebuild63
-rw-r--r--dev-libs/libffi/libffi-3.2.1.ebuild59
-rw-r--r--dev-libs/libffi/libffi-3.2.ebuild60
-rw-r--r--dev-libs/libffi/metadata.xml36
-rw-r--r--dev-libs/libflatarray/Manifest1
-rw-r--r--dev-libs/libflatarray/libflatarray-0.1.1.ebuild49
-rw-r--r--dev-libs/libflatarray/metadata.xml18
-rw-r--r--dev-libs/libg15/Manifest1
-rw-r--r--dev-libs/libg15/files/g15tools.patch100
-rw-r--r--dev-libs/libg15/libg15-1.2.7-r1.ebuild30
-rw-r--r--dev-libs/libg15/libg15-9999.ebuild52
-rw-r--r--dev-libs/libg15/metadata.xml14
-rw-r--r--dev-libs/libg15render/Manifest1
-rw-r--r--dev-libs/libg15render/files/libg15render-1.2-pixel-c.patch19
-rw-r--r--dev-libs/libg15render/libg15render-1.2-r2.ebuild41
-rw-r--r--dev-libs/libg15render/libg15render-9999.ebuild58
-rw-r--r--dev-libs/libg15render/metadata.xml14
-rw-r--r--dev-libs/libgamin/Manifest5
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch67
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch47
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch22
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch38
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch65
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch13
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch76
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r4.ebuild151
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r5.ebuild139
-rw-r--r--dev-libs/libgamin/metadata.xml8
-rw-r--r--dev-libs/libgaminggear/Manifest1
-rw-r--r--dev-libs/libgaminggear/files/libgaminggear-0.10.0-doc.patch15
-rw-r--r--dev-libs/libgaminggear/libgaminggear-0.10.1.ebuild56
-rw-r--r--dev-libs/libgaminggear/metadata.xml13
-rw-r--r--dev-libs/libgcrypt/Manifest2
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch33
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch84
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch26
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.6.3-freebsd-mpi.patch49
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch23
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.5.4-r1.ebuild57
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.5.4-r100.ebuild58
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.5.4.ebuild48
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.6.3-r3.ebuild74
-rw-r--r--dev-libs/libgcrypt/metadata.xml10
-rw-r--r--dev-libs/libgdata/Manifest3
-rw-r--r--dev-libs/libgdata/libgdata-0.16.1.ebuild69
-rw-r--r--dev-libs/libgdata/libgdata-0.17.1.ebuild65
-rw-r--r--dev-libs/libgdata/libgdata-0.17.2.ebuild63
-rw-r--r--dev-libs/libgdata/metadata.xml5
-rw-r--r--dev-libs/libgee/Manifest5
-rw-r--r--dev-libs/libgee/libgee-0.14.0.ebuild32
-rw-r--r--dev-libs/libgee/libgee-0.16.1.ebuild32
-rw-r--r--dev-libs/libgee/libgee-0.18.0.ebuild32
-rw-r--r--dev-libs/libgee/libgee-0.6.7.ebuild27
-rw-r--r--dev-libs/libgee/libgee-0.6.8.ebuild26
-rw-r--r--dev-libs/libgee/metadata.xml9
-rw-r--r--dev-libs/libgit2-glib/Manifest5
-rw-r--r--dev-libs/libgit2-glib/files/libgit2-glib-0.0.24-automagic-ssh.patch75
-rw-r--r--dev-libs/libgit2-glib/files/libgit2-glib-0.22.0-automagic-ssh.patch93
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.0.12.ebuild38
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.0.16.ebuild37
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.0.24.ebuild51
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.22.0.ebuild54
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.22.8.ebuild50
-rw-r--r--dev-libs/libgit2-glib/metadata.xml8
-rw-r--r--dev-libs/libgit2/Manifest12
-rw-r--r--dev-libs/libgit2/files/libgit2-0.17.0-cflags.patch12
-rw-r--r--dev-libs/libgit2/files/libgit2-0.19.0-automagic-libssh2.patch23
-rw-r--r--dev-libs/libgit2/files/libgit2-0.20.0-skip-blame-test.patch147
-rw-r--r--dev-libs/libgit2/libgit2-0.16.0.ebuild39
-rw-r--r--dev-libs/libgit2/libgit2-0.17.0.ebuild41
-rw-r--r--dev-libs/libgit2/libgit2-0.18.0.ebuild39
-rw-r--r--dev-libs/libgit2/libgit2-0.19.0-r1.ebuild44
-rw-r--r--dev-libs/libgit2/libgit2-0.20.0-r1.ebuild65
-rw-r--r--dev-libs/libgit2/libgit2-0.21.3.ebuild63
-rw-r--r--dev-libs/libgit2/libgit2-0.21.5.ebuild63
-rw-r--r--dev-libs/libgit2/libgit2-0.22.0.ebuild66
-rw-r--r--dev-libs/libgit2/libgit2-0.22.1.ebuild66
-rw-r--r--dev-libs/libgit2/libgit2-0.22.2.ebuild69
-rw-r--r--dev-libs/libgit2/libgit2-0.22.3.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-0.23.0.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-9999.ebuild75
-rw-r--r--dev-libs/libgit2/metadata.xml21
-rw-r--r--dev-libs/libgpg-error/Manifest3
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.13.ebuild58
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.18.ebuild59
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.19.ebuild59
-rw-r--r--dev-libs/libgpg-error/metadata.xml8
-rw-r--r--dev-libs/libgringotts/Manifest1
-rw-r--r--dev-libs/libgringotts/libgringotts-1.2.1.ebuild28
-rw-r--r--dev-libs/libgringotts/metadata.xml5
-rw-r--r--dev-libs/libgudev/Manifest1
-rw-r--r--dev-libs/libgudev/libgudev-230.ebuild36
-rw-r--r--dev-libs/libgudev/metadata.xml9
-rw-r--r--dev-libs/libgusb/Manifest2
-rw-r--r--dev-libs/libgusb/libgusb-0.2.4.ebuild53
-rw-r--r--dev-libs/libgusb/libgusb-0.2.5.ebuild52
-rw-r--r--dev-libs/libgusb/metadata.xml8
-rw-r--r--dev-libs/libgweather/Manifest3
-rw-r--r--dev-libs/libgweather/libgweather-3.14.3.ebuild56
-rw-r--r--dev-libs/libgweather/libgweather-3.14.4.ebuild56
-rw-r--r--dev-libs/libgweather/libgweather-3.16.1.ebuild56
-rw-r--r--dev-libs/libgweather/metadata.xml8
-rw-r--r--dev-libs/libhash/Manifest1
-rw-r--r--dev-libs/libhash/libhash-1.0.3-r1.ebuild45
-rw-r--r--dev-libs/libhash/metadata.xml7
-rw-r--r--dev-libs/libhid/Manifest1
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-gentoo.patch21
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-libusb.patch25
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-swig.patch45
-rw-r--r--dev-libs/libhid/libhid-0.2.16-r4.ebuild57
-rw-r--r--dev-libs/libhid/metadata.xml14
-rw-r--r--dev-libs/libhome/Manifest1
-rw-r--r--dev-libs/libhome/files/libhome-0.10.2-Makefile.patch59
-rw-r--r--dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch12
-rw-r--r--dev-libs/libhome/libhome-0.10.2-r1.ebuild56
-rw-r--r--dev-libs/libhome/metadata.xml10
-rw-r--r--dev-libs/libhtmlparse/Manifest1
-rw-r--r--dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild35
-rw-r--r--dev-libs/libhtmlparse/metadata.xml8
-rw-r--r--dev-libs/libical/Manifest1
-rw-r--r--dev-libs/libical/libical-1.0.1.ebuild45
-rw-r--r--dev-libs/libical/metadata.xml10
-rw-r--r--dev-libs/libiconv/Manifest2
-rw-r--r--dev-libs/libiconv/files/libiconv-1.10-link.patch13
-rw-r--r--dev-libs/libiconv/files/libiconv-1.14-no-gets.patch22
-rw-r--r--dev-libs/libiconv/libiconv-1.13.1.ebuild58
-rw-r--r--dev-libs/libiconv/libiconv-1.14-r1.ebuild53
-rw-r--r--dev-libs/libiconv/libiconv-1.14.ebuild44
-rw-r--r--dev-libs/libiconv/metadata.xml11
-rw-r--r--dev-libs/libidmef/Manifest1
-rw-r--r--dev-libs/libidmef/libidmef-1.0.3.ebuild29
-rw-r--r--dev-libs/libidmef/metadata.xml11
-rw-r--r--dev-libs/libindicate-qt/Manifest2
-rw-r--r--dev-libs/libindicate-qt/files/libindicate-qt-0.2.5.91-optionaltests.patch24
-rw-r--r--dev-libs/libindicate-qt/libindicate-qt-0.2.5.91.ebuild50
-rw-r--r--dev-libs/libindicate-qt/metadata.xml12
-rw-r--r--dev-libs/libindicate/Manifest1
-rw-r--r--dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch78
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r1.ebuild74
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r2.ebuild72
-rw-r--r--dev-libs/libindicate/metadata.xml15
-rw-r--r--dev-libs/libindicator/Manifest2
-rw-r--r--dev-libs/libindicator/libindicator-12.10.0-r200.ebuild43
-rw-r--r--dev-libs/libindicator/libindicator-12.10.0-r300.ebuild40
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r200.ebuild43
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r201.ebuild50
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r300.ebuild40
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r301.ebuild46
-rw-r--r--dev-libs/libindicator/metadata.xml11
-rw-r--r--dev-libs/libinput/Manifest7
-rw-r--r--dev-libs/libinput/files/libinput-0.18.0-includes.patch37
-rw-r--r--dev-libs/libinput/libinput-0.13.0-r1.ebuild50
-rw-r--r--dev-libs/libinput/libinput-0.18.0.ebuild60
-rw-r--r--dev-libs/libinput/libinput-0.19.0.ebuild55
-rw-r--r--dev-libs/libinput/libinput-0.20.0.ebuild55
-rw-r--r--dev-libs/libinput/libinput-0.21.0.ebuild55
-rw-r--r--dev-libs/libinput/libinput-0.7.0.ebuild47
-rw-r--r--dev-libs/libinput/libinput-0.9.0.ebuild49
-rw-r--r--dev-libs/libinput/metadata.xml6
-rw-r--r--dev-libs/libisoburn/Manifest2
-rw-r--r--dev-libs/libisoburn/libisoburn-1.3.8.ebuild66
-rw-r--r--dev-libs/libisoburn/libisoburn-1.4.0.ebuild66
-rw-r--r--dev-libs/libisoburn/metadata.xml20
-rw-r--r--dev-libs/libisofs/Manifest2
-rw-r--r--dev-libs/libisofs/libisofs-1.3.8.ebuild42
-rw-r--r--dev-libs/libisofs/libisofs-1.4.0.ebuild42
-rw-r--r--dev-libs/libisofs/metadata.xml12
-rw-r--r--dev-libs/libixion/Manifest3
-rw-r--r--dev-libs/libixion/files/libixion-0.9.1-python-optional.patch56
-rw-r--r--dev-libs/libixion/files/libixion-0.9.1-typo.patch18
-rw-r--r--dev-libs/libixion/libixion-0.7.0.ebuild42
-rw-r--r--dev-libs/libixion/libixion-0.9.0.ebuild48
-rw-r--r--dev-libs/libixion/libixion-0.9.1.ebuild55
-rw-r--r--dev-libs/libixion/libixion-9999.ebuild53
-rw-r--r--dev-libs/libixion/metadata.xml5
-rw-r--r--dev-libs/libjit/Manifest1
-rw-r--r--dev-libs/libjit/files/libjit-0.1.2-gcc43.patch11
-rw-r--r--dev-libs/libjit/libjit-0.1.2.ebuild71
-rw-r--r--dev-libs/libjit/metadata.xml9
-rw-r--r--dev-libs/libjwc_c/Manifest1
-rw-r--r--dev-libs/libjwc_c/files/612-gentoo.patch20
-rw-r--r--dev-libs/libjwc_c/libjwc_c-1.1-r2.ebuild31
-rw-r--r--dev-libs/libjwc_c/metadata.xml8
-rw-r--r--dev-libs/libjwc_f/Manifest1
-rw-r--r--dev-libs/libjwc_f/files/612-gentoo.patch100
-rw-r--r--dev-libs/libjwc_f/libjwc_f-1.1-r2.ebuild38
-rw-r--r--dev-libs/libjwc_f/metadata.xml8
-rw-r--r--dev-libs/libkpass/Manifest1
-rw-r--r--dev-libs/libkpass/libkpass-6.ebuild28
-rw-r--r--dev-libs/libkpass/metadata.xml11
-rw-r--r--dev-libs/libksba/Manifest1
-rw-r--r--dev-libs/libksba/libksba-1.3.3.ebuild21
-rw-r--r--dev-libs/libksba/metadata.xml5
-rw-r--r--dev-libs/liblazy/Manifest1
-rw-r--r--dev-libs/liblazy/liblazy-0.2.ebuild26
-rw-r--r--dev-libs/liblazy/metadata.xml7
-rw-r--r--dev-libs/liblinear/Manifest1
-rw-r--r--dev-libs/liblinear/liblinear-196-r1.ebuild51
-rw-r--r--dev-libs/liblinear/metadata.xml11
-rw-r--r--dev-libs/liblinebreak/Manifest1
-rw-r--r--dev-libs/liblinebreak/liblinebreak-2.1.ebuild25
-rw-r--r--dev-libs/liblinebreak/metadata.xml15
-rw-r--r--dev-libs/liblist/Manifest2
-rw-r--r--dev-libs/liblist/liblist-2.3.1-r1.ebuild54
-rw-r--r--dev-libs/liblist/liblist-2.4.ebuild53
-rw-r--r--dev-libs/liblist/metadata.xml14
-rw-r--r--dev-libs/liblogging/Manifest3
-rw-r--r--dev-libs/liblogging/liblogging-1.0.2.ebuild39
-rw-r--r--dev-libs/liblogging/liblogging-1.0.4.ebuild36
-rw-r--r--dev-libs/liblogging/liblogging-1.0.5.ebuild36
-rw-r--r--dev-libs/liblogging/metadata.xml23
-rw-r--r--dev-libs/liblognorm/Manifest4
-rw-r--r--dev-libs/liblognorm/files/liblognorm-1.1.0-fix-enable-docs.patch41
-rw-r--r--dev-libs/liblognorm/files/respect_CFLAGS.patch11
-rw-r--r--dev-libs/liblognorm/liblognorm-0.3.6.ebuild30
-rw-r--r--dev-libs/liblognorm/liblognorm-0.3.7.ebuild34
-rw-r--r--dev-libs/liblognorm/liblognorm-1.0.1.ebuild43
-rw-r--r--dev-libs/liblognorm/liblognorm-1.1.0.ebuild48
-rw-r--r--dev-libs/liblognorm/metadata.xml11
-rw-r--r--dev-libs/liblouis/Manifest1
-rw-r--r--dev-libs/liblouis/liblouis-2.5.3.ebuild65
-rw-r--r--dev-libs/liblouis/metadata.xml5
-rw-r--r--dev-libs/libltdl/Manifest5
-rw-r--r--dev-libs/libltdl/libltdl-1.3.5.ebuild43
-rw-r--r--dev-libs/libltdl/libltdl-1.5.26.ebuild39
-rw-r--r--dev-libs/libltdl/libltdl-2.4.4.ebuild44
-rw-r--r--dev-libs/libltdl/libltdl-2.4.5.ebuild44
-rw-r--r--dev-libs/libltdl/libltdl-2.4.6.ebuild44
-rw-r--r--dev-libs/libltdl/metadata.xml5
-rw-r--r--dev-libs/liblzw/Manifest2
-rw-r--r--dev-libs/liblzw/liblzw-0.1.2.ebuild19
-rw-r--r--dev-libs/liblzw/liblzw-0.2.ebuild17
-rw-r--r--dev-libs/liblzw/metadata.xml11
-rw-r--r--dev-libs/libmaa/Manifest1
-rw-r--r--dev-libs/libmaa/libmaa-1.3.2.ebuild16
-rw-r--r--dev-libs/libmaa/metadata.xml19
-rw-r--r--dev-libs/libmacaroons/Manifest2
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild41
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild41
-rw-r--r--dev-libs/libmacaroons/metadata.xml8
-rw-r--r--dev-libs/libmail/Manifest1
-rw-r--r--dev-libs/libmail/files/libmail-0.3-respect-cflags.patch37
-rw-r--r--dev-libs/libmail/libmail-0.3-r3.ebuild54
-rw-r--r--dev-libs/libmail/metadata.xml15
-rw-r--r--dev-libs/libmal/Manifest1
-rw-r--r--dev-libs/libmal/libmal-0.44.1.ebuild34
-rw-r--r--dev-libs/libmal/metadata.xml5
-rw-r--r--dev-libs/libmateweather/Manifest1
-rw-r--r--dev-libs/libmateweather/files/libmateweather-1.5.0-fix-automagic-python-support.patch12
-rw-r--r--dev-libs/libmateweather/files/libmateweather-1.6.1-fix-mkdirp.patch11
-rw-r--r--dev-libs/libmateweather/libmateweather-1.8.0.ebuild79
-rw-r--r--dev-libs/libmateweather/metadata.xml8
-rw-r--r--dev-libs/libmba/Manifest1
-rw-r--r--dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch34
-rw-r--r--dev-libs/libmba/files/libmba-0.9.1-qa.patch96
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r3.ebuild41
-rw-r--r--dev-libs/libmba/metadata.xml7
-rw-r--r--dev-libs/libmcal/Manifest2
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-flex-2.5.37.patch14
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-flexfix.patch29
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-fpic.patch56
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-gcc4.patch32
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-libdir.patch25
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-r6-fpic.patch56
-rw-r--r--dev-libs/libmcal/files/libmcal-0.7-r6-gcc4.patch34
-rw-r--r--dev-libs/libmcal/libmcal-0.7-r5.ebuild68
-rw-r--r--dev-libs/libmcal/libmcal-0.7-r6.ebuild73
-rw-r--r--dev-libs/libmcal/metadata.xml11
-rw-r--r--dev-libs/libmcrypt/Manifest1
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch18
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r2.ebuild32
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r3.ebuild33
-rw-r--r--dev-libs/libmcrypt/metadata.xml12
-rw-r--r--dev-libs/libmcs/Manifest1
-rw-r--r--dev-libs/libmcs/libmcs-0.7.2.ebuild26
-rw-r--r--dev-libs/libmcs/metadata.xml9
-rw-r--r--dev-libs/libmelf/Manifest1
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch129
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch105
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch145
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0-r1.ebuild41
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0.ebuild38
-rw-r--r--dev-libs/libmelf/metadata.xml8
-rw-r--r--dev-libs/libmemcache/Manifest1
-rw-r--r--dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-implicit_pointer.patch12
-rw-r--r--dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-inline.patch33
-rw-r--r--dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-ppc_ftbfs.patch40
-rw-r--r--dev-libs/libmemcache/libmemcache-1.4.0_rc2-r1.ebuild41
-rw-r--r--dev-libs/libmemcache/metadata.xml10
-rw-r--r--dev-libs/libmemcached/Manifest4
-rw-r--r--dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch29
-rw-r--r--dev-libs/libmemcached/files/libmemcached-1.0.17-gcc4_8.patch183
-rw-r--r--dev-libs/libmemcached/libmemcached-0.50.ebuild66
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.14.ebuild47
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.17-r3.ebuild50
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.17-r4.ebuild51
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r1.ebuild52
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r2.ebuild54
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18.ebuild51
-rw-r--r--dev-libs/libmemcached/metadata.xml23
-rw-r--r--dev-libs/libmimedir/Manifest1
-rw-r--r--dev-libs/libmimedir/files/libmimedir-0.5.1-destdir.patch20
-rw-r--r--dev-libs/libmimedir/libmimedir-0.5.1.ebuild43
-rw-r--r--dev-libs/libmimedir/metadata.xml8
-rw-r--r--dev-libs/libmirage/Manifest2
-rw-r--r--dev-libs/libmirage/libmirage-2.1.1.ebuild57
-rw-r--r--dev-libs/libmirage/libmirage-3.0.3.ebuild57
-rw-r--r--dev-libs/libmirage/metadata.xml11
-rw-r--r--dev-libs/libmix/Manifest1
-rw-r--r--dev-libs/libmix/files/libmix-2.05-fix-pattern.patch12
-rw-r--r--dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch287
-rw-r--r--dev-libs/libmix/files/libmix-2.05-libnet.patch27
-rw-r--r--dev-libs/libmix/libmix-2.05-r7.ebuild43
-rw-r--r--dev-libs/libmix/metadata.xml7
-rw-r--r--dev-libs/libmodbus/Manifest2
-rw-r--r--dev-libs/libmodbus/libmodbus-3.0.6.ebuild26
-rw-r--r--dev-libs/libmodbus/libmodbus-3.1.1.ebuild26
-rw-r--r--dev-libs/libmodbus/metadata.xml9
-rw-r--r--dev-libs/libmoe/Manifest1
-rw-r--r--dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch9
-rw-r--r--dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch23
-rw-r--r--dev-libs/libmoe/libmoe-1.5.8-r2.ebuild41
-rw-r--r--dev-libs/libmoe/metadata.xml5
-rw-r--r--dev-libs/libmongo-client/Manifest1
-rw-r--r--dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild39
-rw-r--r--dev-libs/libmongo-client/metadata.xml18
-rw-r--r--dev-libs/libmowgli-glib/Manifest1
-rw-r--r--dev-libs/libmowgli-glib/libmowgli-glib-0.1.ebuild19
-rw-r--r--dev-libs/libmowgli-glib/metadata.xml12
-rw-r--r--dev-libs/libmowgli/Manifest2
-rw-r--r--dev-libs/libmowgli/libmowgli-1.0.0.ebuild19
-rw-r--r--dev-libs/libmowgli/libmowgli-2.0.0.ebuild23
-rw-r--r--dev-libs/libmowgli/libmowgli-9999.ebuild25
-rw-r--r--dev-libs/libmowgli/metadata.xml14
-rw-r--r--dev-libs/libnatspec/Manifest1
-rw-r--r--dev-libs/libnatspec/files/libnatspec-0.2.6-iconv.patch12
-rw-r--r--dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild45
-rw-r--r--dev-libs/libnatspec/libnatspec-0.2.6.ebuild40
-rw-r--r--dev-libs/libnatspec/metadata.xml8
-rw-r--r--dev-libs/libnfc/Manifest4
-rw-r--r--dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch13
-rw-r--r--dev-libs/libnfc/libnfc-1.4.2.ebuild31
-rw-r--r--dev-libs/libnfc/libnfc-1.5.0.ebuild31
-rw-r--r--dev-libs/libnfc/libnfc-1.5.1-r1.ebuild52
-rw-r--r--dev-libs/libnfc/libnfc-1.5.1.ebuild35
-rw-r--r--dev-libs/libnfc/libnfc-1.7.0-r1.ebuild44
-rw-r--r--dev-libs/libnfc/metadata.xml14
-rw-r--r--dev-libs/libnl/Manifest5
-rw-r--r--dev-libs/libnl/files/libnl-1.1-flags.patch11
-rw-r--r--dev-libs/libnl/files/libnl-1.1-vlan-header.patch80
-rw-r--r--dev-libs/libnl/files/libnl-1.1.3-offsetof.patch12
-rw-r--r--dev-libs/libnl/files/libnl-3.2.20-cache-api.patch9
-rw-r--r--dev-libs/libnl/files/libnl-3.2.20-rtnl_tc_get_ops.patch30
-rw-r--r--dev-libs/libnl/files/libnl-3.2.23-python.patch26
-rw-r--r--dev-libs/libnl/files/libnl-3.2.23-utils.h41
-rw-r--r--dev-libs/libnl/libnl-1.1.4.ebuild54
-rw-r--r--dev-libs/libnl/libnl-3.2.23.ebuild82
-rw-r--r--dev-libs/libnl/libnl-3.2.24-r1.ebuild102
-rw-r--r--dev-libs/libnl/libnl-3.2.24.ebuild80
-rw-r--r--dev-libs/libnl/libnl-3.2.25.ebuild102
-rw-r--r--dev-libs/libnl/libnl-3.2.26.ebuild102
-rw-r--r--dev-libs/libnl/libnl-3.2.9999.ebuild98
-rw-r--r--dev-libs/libnl/metadata.xml10
-rw-r--r--dev-libs/libnsfb/Manifest4
-rw-r--r--dev-libs/libnsfb/files/libnsfb-0.1.0-autodetect.patch21
-rw-r--r--dev-libs/libnsfb/files/libnsfb-0.1.2-glibc2.20.patch13
-rw-r--r--dev-libs/libnsfb/files/libnsfb-0.1.3-glibc2.20.patch19
-rw-r--r--dev-libs/libnsfb/libnsfb-0.1.2.ebuild41
-rw-r--r--dev-libs/libnsfb/libnsfb-0.1.3-r1.ebuild41
-rw-r--r--dev-libs/libnsfb/metadata.xml9
-rw-r--r--dev-libs/libnsutils/Manifest2
-rw-r--r--dev-libs/libnsutils/libnsutils-0.0.1-r1.ebuild19
-rw-r--r--dev-libs/libnsutils/metadata.xml8
-rw-r--r--dev-libs/libntru/Manifest2
-rw-r--r--dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch109
-rw-r--r--dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch60
-rw-r--r--dev-libs/libntru/files/03-libntru-0.2-install-rules.patch255
-rw-r--r--dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch92
-rw-r--r--dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch24
-rw-r--r--dev-libs/libntru/files/libntru-0.3-Allow-building-and-installing-static-lib.patch78
-rw-r--r--dev-libs/libntru/files/libntru-0.3-Make-the-lib-target-depend-on-the-libntru.so-target.patch33
-rw-r--r--dev-libs/libntru/files/libntru-0.3-Update-VERSION-in-Makefiles.patch53
-rw-r--r--dev-libs/libntru/libntru-0.2.ebuild38
-rw-r--r--dev-libs/libntru/libntru-0.3.ebuild57
-rw-r--r--dev-libs/libntru/metadata.xml11
-rw-r--r--dev-libs/libofx/Manifest2
-rw-r--r--dev-libs/libofx/files/libofx-0.9.5-gcc47.patch11
-rw-r--r--dev-libs/libofx/libofx-0.9.10.ebuild46
-rw-r--r--dev-libs/libofx/libofx-0.9.5.ebuild47
-rw-r--r--dev-libs/libofx/metadata.xml10
-rw-r--r--dev-libs/liboil/Manifest1
-rw-r--r--dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch38
-rw-r--r--dev-libs/liboil/files/liboil-0.3.17-x32.patch224
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r1.ebuild57
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r2.ebuild54
-rw-r--r--dev-libs/liboil/liboil-0.3.17.ebuild58
-rw-r--r--dev-libs/liboil/metadata.xml8
-rw-r--r--dev-libs/liboobs/Manifest1
-rw-r--r--dev-libs/liboobs/liboobs-3.0.0.ebuild34
-rw-r--r--dev-libs/liboobs/metadata.xml16
-rw-r--r--dev-libs/liboop/Manifest1
-rw-r--r--dev-libs/liboop/liboop-1.0-r1.ebuild42
-rw-r--r--dev-libs/liboop/metadata.xml7
-rw-r--r--dev-libs/liborcus/Manifest3
-rw-r--r--dev-libs/liborcus/files/liborcus-0.5.1-linking.patch13
-rw-r--r--dev-libs/liborcus/files/liborcus-0.5.1-mdds.patch12
-rw-r--r--dev-libs/liborcus/files/liborcus-0.5.1-oldnamespace.patch11
-rw-r--r--dev-libs/liborcus/files/liborcus-0.7.0-boost-1.56.patch25
-rw-r--r--dev-libs/liborcus/liborcus-0.7.0.ebuild48
-rw-r--r--dev-libs/liborcus/liborcus-0.7.1.ebuild47
-rw-r--r--dev-libs/liborcus/liborcus-0.9.2.ebuild48
-rw-r--r--dev-libs/liborcus/liborcus-9999.ebuild46
-rw-r--r--dev-libs/liborcus/metadata.xml5
-rw-r--r--dev-libs/libotf/Manifest1
-rw-r--r--dev-libs/libotf/files/libotf-0.9.13-build.patch22
-rw-r--r--dev-libs/libotf/libotf-0.9.13.ebuild45
-rw-r--r--dev-libs/libotf/metadata.xml6
-rw-r--r--dev-libs/libowfat/Manifest1
-rw-r--r--dev-libs/libowfat/files/libowfat-0.28-GNUmakefile.patch10
-rw-r--r--dev-libs/libowfat/libowfat-0.29.ebuild50
-rw-r--r--dev-libs/libowfat/metadata.xml10
-rw-r--r--dev-libs/libp11/Manifest1
-rw-r--r--dev-libs/libp11/files/libp11-0.2.8-no-ltdl.patch196
-rw-r--r--dev-libs/libp11/files/libp11-0.2.8-variable-buffer-size.patch114
-rw-r--r--dev-libs/libp11/libp11-0.2.8-r3.ebuild41
-rw-r--r--dev-libs/libp11/metadata.xml18
-rw-r--r--dev-libs/libparserutils/Manifest6
-rw-r--r--dev-libs/libparserutils/files/libparserutils-0.1.1-unused.patch20
-rw-r--r--dev-libs/libparserutils/files/libparserutils-0.2.0-glibc-2.20.patch16
-rw-r--r--dev-libs/libparserutils/files/libparserutils-0.2.1-glibc-2.20.patch15
-rw-r--r--dev-libs/libparserutils/libparserutils-0.1.2.ebuild25
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.0-r1.ebuild28
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.1-r1.ebuild28
-rw-r--r--dev-libs/libparserutils/metadata.xml9
-rw-r--r--dev-libs/libpcre/Manifest4
-rw-r--r--dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch48
-rw-r--r--dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch91
-rw-r--r--dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch72
-rw-r--r--dev-libs/libpcre/libpcre-7.9-r1.ebuild62
-rw-r--r--dev-libs/libpcre/libpcre-8.35.ebuild96
-rw-r--r--dev-libs/libpcre/libpcre-8.36.ebuild96
-rw-r--r--dev-libs/libpcre/libpcre-8.37-r1.ebuild92
-rw-r--r--dev-libs/libpcre/libpcre-8.37-r2.ebuild94
-rw-r--r--dev-libs/libpcre/libpcre-8.37.ebuild96
-rw-r--r--dev-libs/libpcre/metadata.xml33
-rw-r--r--dev-libs/libpeas/Manifest2
-rw-r--r--dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch18
-rw-r--r--dev-libs/libpeas/libpeas-1.12.1-r1.ebuild74
-rw-r--r--dev-libs/libpeas/libpeas-1.14.0-r1.ebuild96
-rw-r--r--dev-libs/libpeas/libpeas-1.14.0.ebuild84
-rw-r--r--dev-libs/libpeas/metadata.xml10
-rw-r--r--dev-libs/libpfm/Manifest2
-rw-r--r--dev-libs/libpfm/libpfm-4.4.0.ebuild36
-rw-r--r--dev-libs/libpfm/libpfm-4.6.0.ebuild36
-rw-r--r--dev-libs/libpfm/metadata.xml10
-rw-r--r--dev-libs/libpipeline/Manifest5
-rw-r--r--dev-libs/libpipeline/files/libpipeline-1.2.1-no-gets.patch24
-rw-r--r--dev-libs/libpipeline/libpipeline-1.2.4.ebuild19
-rw-r--r--dev-libs/libpipeline/libpipeline-1.2.5.ebuild19
-rw-r--r--dev-libs/libpipeline/libpipeline-1.3.0.ebuild19
-rw-r--r--dev-libs/libpipeline/libpipeline-1.3.1.ebuild19
-rw-r--r--dev-libs/libpipeline/libpipeline-1.4.0.ebuild19
-rw-r--r--dev-libs/libpipeline/metadata.xml5
-rw-r--r--dev-libs/libpo6/Manifest3
-rw-r--r--dev-libs/libpo6/libpo6-0.6.0.ebuild17
-rw-r--r--dev-libs/libpo6/libpo6-0.7.0.ebuild17
-rw-r--r--dev-libs/libpo6/libpo6-0.8.0.ebuild17
-rw-r--r--dev-libs/libpo6/metadata.xml8
-rw-r--r--dev-libs/libpqxx/Manifest1
-rw-r--r--dev-libs/libpqxx/libpqxx-4.0.1.ebuild85
-rw-r--r--dev-libs/libpqxx/metadata.xml12
-rw-r--r--dev-libs/libproccpuinfo/Manifest1
-rw-r--r--dev-libs/libproccpuinfo/libproccpuinfo-0.0.8.ebuild29
-rw-r--r--dev-libs/libproccpuinfo/metadata.xml7
-rw-r--r--dev-libs/libpthread-stubs/Manifest2
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.1.ebuild18
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.3-r1.ebuild17
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.3.ebuild15
-rw-r--r--dev-libs/libpthread-stubs/metadata.xml5
-rw-r--r--dev-libs/libpwquality/Manifest2
-rw-r--r--dev-libs/libpwquality/libpwquality-1.2.3.ebuild76
-rw-r--r--dev-libs/libpwquality/libpwquality-1.2.4.ebuild76
-rw-r--r--dev-libs/libpwquality/metadata.xml5
-rw-r--r--dev-libs/libqtxdg/Manifest3
-rw-r--r--dev-libs/libqtxdg/libqtxdg-0.5.3.ebuild38
-rw-r--r--dev-libs/libqtxdg/libqtxdg-1.1.0.ebuild43
-rw-r--r--dev-libs/libqtxdg/libqtxdg-1.2.0.ebuild44
-rw-r--r--dev-libs/libqtxdg/metadata.xml6
-rw-r--r--dev-libs/libqzeitgeist/Manifest1
-rw-r--r--dev-libs/libqzeitgeist/libqzeitgeist-0.8.0.ebuild48
-rw-r--r--dev-libs/libqzeitgeist/metadata.xml5
-rw-r--r--dev-libs/librelp/Manifest1
-rw-r--r--dev-libs/librelp/files/librelp-1.2.7-prevent-segfault-with-keepalive.patch32
-rw-r--r--dev-libs/librelp/librelp-1.2.7-r1.ebuild44
-rw-r--r--dev-libs/librelp/metadata.xml8
-rw-r--r--dev-libs/librep/Manifest2
-rw-r--r--dev-libs/librep/files/50librep-gentoo.el6
-rw-r--r--dev-libs/librep/files/librep-0.92.0-disable-elisp.patch19
-rw-r--r--dev-libs/librep/librep-0.92.2.1.ebuild67
-rw-r--r--dev-libs/librep/librep-0.92.3.ebuild69
-rw-r--r--dev-libs/librep/metadata.xml5
-rw-r--r--dev-libs/libreport/Manifest1
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch80
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-gentoo.patch295
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch51
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch35
-rw-r--r--dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch19
-rw-r--r--dev-libs/libreport/libreport-2.0.13-r1.ebuild94
-rw-r--r--dev-libs/libreport/metadata.xml5
-rw-r--r--dev-libs/librevenge/Manifest2
-rw-r--r--dev-libs/librevenge/librevenge-0.0.1.ebuild49
-rw-r--r--dev-libs/librevenge/librevenge-0.0.2.ebuild49
-rw-r--r--dev-libs/librevenge/librevenge-9999.ebuild49
-rw-r--r--dev-libs/librevenge/metadata.xml5
-rw-r--r--dev-libs/libroadnav/Manifest1
-rw-r--r--dev-libs/libroadnav/libroadnav-0.19.ebuild38
-rw-r--r--dev-libs/libroadnav/metadata.xml11
-rw-r--r--dev-libs/librra/Manifest1
-rw-r--r--dev-libs/librra/librra-0.16.ebuild52
-rw-r--r--dev-libs/librra/metadata.xml11
-rw-r--r--dev-libs/librtfcomp/Manifest1
-rw-r--r--dev-libs/librtfcomp/librtfcomp-1.2.ebuild46
-rw-r--r--dev-libs/librtfcomp/metadata.xml8
-rw-r--r--dev-libs/libsecp256k1/Manifest2
-rw-r--r--dev-libs/libsecp256k1/files/20141212-fixes.patch289
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20141212.ebuild74
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20150423.ebuild54
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-9999.ebuild51
-rw-r--r--dev-libs/libsecp256k1/metadata.xml20
-rw-r--r--dev-libs/libserialport/Manifest1
-rw-r--r--dev-libs/libserialport/libserialport-0.1.0.ebuild41
-rw-r--r--dev-libs/libserialport/libserialport-9999.ebuild41
-rw-r--r--dev-libs/libserialport/metadata.xml5
-rw-r--r--dev-libs/libsigc++/Manifest3
-rw-r--r--dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch11
-rw-r--r--dev-libs/libsigc++/libsigc++-1.2.7.ebuild43
-rw-r--r--dev-libs/libsigc++/libsigc++-2.4.0.ebuild52
-rw-r--r--dev-libs/libsigc++/libsigc++-2.4.1.ebuild60
-rw-r--r--dev-libs/libsigc++/metadata.xml5
-rw-r--r--dev-libs/libsigsegv/Manifest1
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.10.ebuild32
-rw-r--r--dev-libs/libsigsegv/metadata.xml18
-rw-r--r--dev-libs/libsodium/Manifest2
-rw-r--r--dev-libs/libsodium/libsodium-1.0.2.ebuild35
-rw-r--r--dev-libs/libsodium/libsodium-1.0.3.ebuild35
-rw-r--r--dev-libs/libsodium/metadata.xml23
-rw-r--r--dev-libs/libspnav/Manifest1
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch75
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch27
-rw-r--r--dev-libs/libspnav/libspnav-0.2.2.ebuild48
-rw-r--r--dev-libs/libspnav/metadata.xml25
-rw-r--r--dev-libs/libspt/Manifest1
-rw-r--r--dev-libs/libspt/files/libspt-1.1-gentoo.patch21
-rw-r--r--dev-libs/libspt/files/libspt-werror.patch11
-rw-r--r--dev-libs/libspt/libspt-1.1-r2.ebuild29
-rw-r--r--dev-libs/libspt/metadata.xml5
-rw-r--r--dev-libs/libsqlora8/Manifest1
-rw-r--r--dev-libs/libsqlora8/libsqlora8-2.3.3.ebuild61
-rw-r--r--dev-libs/libsqlora8/metadata.xml14
-rw-r--r--dev-libs/libstrl/Manifest1
-rw-r--r--dev-libs/libstrl/libstrl-0.5.1.ebuild31
-rw-r--r--dev-libs/libstrl/metadata.xml8
-rw-r--r--dev-libs/libstroke/Manifest1
-rw-r--r--dev-libs/libstroke/files/libstroke-0.5.1-autotools.patch29
-rw-r--r--dev-libs/libstroke/files/libstroke-0.5.1-m4_syntax.patch31
-rw-r--r--dev-libs/libstroke/files/libstroke-0.5.1-no_gtk1.patch33
-rw-r--r--dev-libs/libstroke/libstroke-0.5.1.ebuild32
-rw-r--r--dev-libs/libstroke/metadata.xml8
-rw-r--r--dev-libs/libtar/Manifest1
-rw-r--r--dev-libs/libtar/files/CVE-2013-4420.patch94
-rw-r--r--dev-libs/libtar/files/libtar-1.2.11-fortify.patch11
-rw-r--r--dev-libs/libtar/files/libtar-1.2.11-free.patch22
-rw-r--r--dev-libs/libtar/files/libtar-1.2.11-impl-dec.patch15
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r2.ebuild55
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r3.ebuild56
-rw-r--r--dev-libs/libtar/metadata.xml10
-rw-r--r--dev-libs/libtasn1/Manifest1
-rw-r--r--dev-libs/libtasn1/libtasn1-4.5.ebuild42
-rw-r--r--dev-libs/libtasn1/metadata.xml5
-rw-r--r--dev-libs/libtecla/Manifest2
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS.patch17
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch20
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-install.patch18
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch27
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch14
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-parallel_build.patch26
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch36
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch52
-rw-r--r--dev-libs/libtecla/libtecla-1.6.1-r2.ebuild45
-rw-r--r--dev-libs/libtecla/libtecla-1.6.2.ebuild45
-rw-r--r--dev-libs/libtecla/metadata.xml15
-rw-r--r--dev-libs/libtermkey/Manifest1
-rw-r--r--dev-libs/libtermkey/libtermkey-0.17.ebuild38
-rw-r--r--dev-libs/libtermkey/metadata.xml8
-rw-r--r--dev-libs/libtomfloat/Manifest1
-rw-r--r--dev-libs/libtomfloat/libtomfloat-0.02.ebuild34
-rw-r--r--dev-libs/libtomfloat/metadata.xml7
-rw-r--r--dev-libs/libtommath/Manifest1
-rw-r--r--dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch47
-rw-r--r--dev-libs/libtommath/libtommath-0.42.0-r1.ebuild66
-rw-r--r--dev-libs/libtommath/metadata.xml63
-rw-r--r--dev-libs/libtompoly/Manifest1
-rw-r--r--dev-libs/libtompoly/libtompoly-0.04.ebuild33
-rw-r--r--dev-libs/libtompoly/metadata.xml23
-rw-r--r--dev-libs/libtrain/Manifest1
-rw-r--r--dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch29
-rw-r--r--dev-libs/libtrain/libtrain-0.9b.ebuild25
-rw-r--r--dev-libs/libtrain/metadata.xml7
-rw-r--r--dev-libs/libtreadstone/Manifest2
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild18
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild18
-rw-r--r--dev-libs/libtreadstone/metadata.xml8
-rw-r--r--dev-libs/libunicode/Manifest1
-rw-r--r--dev-libs/libunicode/libunicode-0.4-r1.ebuild27
-rw-r--r--dev-libs/libunicode/metadata.xml7
-rw-r--r--dev-libs/libunique/Manifest2
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch143
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch50
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-fix-test.patch26
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch37
-rw-r--r--dev-libs/libunique/files/run-tests18
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r1.ebuild74
-rw-r--r--dev-libs/libunique/libunique-3.0.2.ebuild61
-rw-r--r--dev-libs/libunique/metadata.xml12
-rw-r--r--dev-libs/libunistring/Manifest2
-rw-r--r--dev-libs/libunistring/files/libunistring-nodocs.patch12
-rw-r--r--dev-libs/libunistring/libunistring-0.9.3-r1.ebuild30
-rw-r--r--dev-libs/libunistring/libunistring-0.9.5.ebuild36
-rw-r--r--dev-libs/libunistring/metadata.xml16
-rw-r--r--dev-libs/libusb-compat/Manifest1
-rw-r--r--dev-libs/libusb-compat/files/libusb-0.1-ansi.patch190
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild53
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild57
-rw-r--r--dev-libs/libusb-compat/metadata.xml13
-rw-r--r--dev-libs/libusb/Manifest3
-rw-r--r--dev-libs/libusb/libusb-1.0.18.ebuild71
-rw-r--r--dev-libs/libusb/libusb-1.0.19.ebuild71
-rw-r--r--dev-libs/libusb/libusb-1.0.9-r2.ebuild58
-rw-r--r--dev-libs/libusb/metadata.xml13
-rw-r--r--dev-libs/libusbhp/Manifest1
-rw-r--r--dev-libs/libusbhp/libusbhp-1.0.2.ebuild29
-rw-r--r--dev-libs/libusbhp/metadata.xml5
-rw-r--r--dev-libs/libutf8proc/Manifest2
-rw-r--r--dev-libs/libutf8proc/libutf8proc-1.1.6-r1.ebuild19
-rw-r--r--dev-libs/libutf8proc/metadata.xml8
-rw-r--r--dev-libs/libuv/Manifest6
-rw-r--r--dev-libs/libuv/files/01-libuv-0.11.25-tests.patch84
-rw-r--r--dev-libs/libuv/files/02-libuv-0.11.25-tests.patch44
-rw-r--r--dev-libs/libuv/libuv-0.11.25-r1.ebuild43
-rw-r--r--dev-libs/libuv/libuv-0.11.29.ebuild41
-rw-r--r--dev-libs/libuv/libuv-1.1.0.ebuild45
-rw-r--r--dev-libs/libuv/libuv-1.4.2.ebuild48
-rw-r--r--dev-libs/libuv/libuv-1.5.0.ebuild45
-rw-r--r--dev-libs/libuv/libuv-1.6.1.ebuild45
-rw-r--r--dev-libs/libuv/metadata.xml34
-rw-r--r--dev-libs/libverto/Manifest2
-rw-r--r--dev-libs/libverto/libverto-0.2.5-r1.ebuild52
-rw-r--r--dev-libs/libverto/libverto-0.2.5.ebuild52
-rw-r--r--dev-libs/libverto/libverto-0.2.6.ebuild52
-rw-r--r--dev-libs/libverto/metadata.xml15
-rw-r--r--dev-libs/libvformat/Manifest3
-rw-r--r--dev-libs/libvformat/files/libvformat-1.13-has_unistd.patch13
-rw-r--r--dev-libs/libvformat/files/libvformat-1.13-str.patch22
-rw-r--r--dev-libs/libvformat/files/libvformat-nodoc.patch8
-rw-r--r--dev-libs/libvformat/libvformat-1.13-r1.ebuild35
-rw-r--r--dev-libs/libvformat/libvformat-1.13-r2.ebuild39
-rw-r--r--dev-libs/libvformat/metadata.xml5
-rw-r--r--dev-libs/libvolume_id/Manifest2
-rw-r--r--dev-libs/libvolume_id/libvolume_id-0.81.0.ebuild33
-rw-r--r--dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild33
-rw-r--r--dev-libs/libvolume_id/metadata.xml8
-rw-r--r--dev-libs/libvterm-neovim/Manifest2
-rw-r--r--dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild31
-rw-r--r--dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild31
-rw-r--r--dev-libs/libvterm-neovim/metadata.xml5
-rw-r--r--dev-libs/libwacom/Manifest3
-rw-r--r--dev-libs/libwacom/libwacom-0.11.ebuild47
-rw-r--r--dev-libs/libwacom/libwacom-0.12.ebuild47
-rw-r--r--dev-libs/libwacom/libwacom-0.13.ebuild46
-rw-r--r--dev-libs/libwacom/metadata.xml11
-rw-r--r--dev-libs/libwapcaplet/Manifest4
-rw-r--r--dev-libs/libwapcaplet/files/libwapcaplet-0.2.1-glibc20.patch14
-rw-r--r--dev-libs/libwapcaplet/files/libwapcaplet-0.2.2-glibc20.patch14
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.2.1-r1.ebuild20
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.2.2-r1.ebuild20
-rw-r--r--dev-libs/libwapcaplet/metadata.xml9
-rw-r--r--dev-libs/libwbxml/Manifest1
-rw-r--r--dev-libs/libwbxml/libwbxml-0.11.2.ebuild35
-rw-r--r--dev-libs/libwbxml/metadata.xml10
-rw-r--r--dev-libs/libx86/Manifest1
-rw-r--r--dev-libs/libx86/files/libx86-0.99-ifmask.patch21
-rw-r--r--dev-libs/libx86/files/libx86-1.1-makefile.patch28
-rw-r--r--dev-libs/libx86/libx86-1.1-r2.ebuild37
-rw-r--r--dev-libs/libx86/libx86-1.1-r3.ebuild44
-rw-r--r--dev-libs/libx86/metadata.xml8
-rw-r--r--dev-libs/libx86emu/Manifest1
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1.ebuild39
-rw-r--r--dev-libs/libx86emu/metadata.xml7
-rw-r--r--dev-libs/libxdg-basedir/Manifest1
-rw-r--r--dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch26
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild51
-rw-r--r--dev-libs/libxdg-basedir/metadata.xml10
-rw-r--r--dev-libs/libxdiff/Manifest1
-rw-r--r--dev-libs/libxdiff/libxdiff-0.23-r1.ebuild36
-rw-r--r--dev-libs/libxdiff/libxdiff-0.23.ebuild17
-rw-r--r--dev-libs/libxdiff/metadata.xml7
-rw-r--r--dev-libs/libxls/Manifest1
-rw-r--r--dev-libs/libxls/libxls-0.3.0_pre107.ebuild38
-rw-r--r--dev-libs/libxls/metadata.xml7
-rw-r--r--dev-libs/libxml2/Manifest4
-rw-r--r--dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch66
-rw-r--r--dev-libs/libxml2/files/libxml2-2.8.0_rc1-winnt.patch91
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-constant-memory.patch176
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-cross-compile.patch17
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-icu-pkgconfig.patch26
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-missing-entities.patch31
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-revert-missing-initialization.patch26
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-threads-declarations.patch48
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-timsort.patch128
-rw-r--r--dev-libs/libxml2/libxml2-2.9.2-r1.ebuild214
-rw-r--r--dev-libs/libxml2/metadata.xml8
-rw-r--r--dev-libs/libxr/Manifest1
-rw-r--r--dev-libs/libxr/libxr-1.0.ebuild30
-rw-r--r--dev-libs/libxr/metadata.xml7
-rw-r--r--dev-libs/libxslt/Manifest1
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.26-disable_static_modules.patch12
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch26
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch46
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch30
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch36
-rw-r--r--dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch38
-rw-r--r--dev-libs/libxslt/libxslt-1.1.28-r1.ebuild98
-rw-r--r--dev-libs/libxslt/libxslt-1.1.28-r2.ebuild104
-rw-r--r--dev-libs/libxslt/libxslt-1.1.28-r3.ebuild111
-rw-r--r--dev-libs/libxslt/libxslt-1.1.28-r4.ebuild117
-rw-r--r--dev-libs/libxslt/metadata.xml5
-rw-r--r--dev-libs/libyaml/Manifest1
-rw-r--r--dev-libs/libyaml/libyaml-0.1.6.ebuild40
-rw-r--r--dev-libs/libyaml/metadata.xml12
-rw-r--r--dev-libs/libzeitgeist/Manifest1
-rw-r--r--dev-libs/libzeitgeist/libzeitgeist-0.3.18.ebuild44
-rw-r--r--dev-libs/libzeitgeist/metadata.xml15
-rw-r--r--dev-libs/libzip/Manifest1
-rw-r--r--dev-libs/libzip/files/libzip-0.11.2-headers.patch12
-rw-r--r--dev-libs/libzip/libzip-1.0.1.ebuild29
-rw-r--r--dev-libs/libzip/metadata.xml9
-rw-r--r--dev-libs/link-grammar/Manifest1
-rw-r--r--dev-libs/link-grammar/link-grammar-4.8.6.ebuild50
-rw-r--r--dev-libs/link-grammar/metadata.xml14
-rw-r--r--dev-libs/lockdev/Manifest2
-rw-r--r--dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch55
-rw-r--r--dev-libs/lockdev/files/lockdev-1.0.3-fix-perl.patch11
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild100
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild104
-rw-r--r--dev-libs/lockdev/metadata.xml8
-rw-r--r--dev-libs/log4c/Manifest2
-rw-r--r--dev-libs/log4c/files/log4c-1.2.4-docdir.patch16
-rw-r--r--dev-libs/log4c/log4c-1.2.1.ebuild53
-rw-r--r--dev-libs/log4c/log4c-1.2.4.ebuild43
-rw-r--r--dev-libs/log4c/metadata.xml13
-rw-r--r--dev-libs/log4cplus/Manifest1
-rw-r--r--dev-libs/log4cplus/log4cplus-1.1.2.ebuild65
-rw-r--r--dev-libs/log4cplus/metadata.xml16
-rw-r--r--dev-libs/log4cpp/Manifest2
-rw-r--r--dev-libs/log4cpp/files/1.0-asneeded.patch122
-rw-r--r--dev-libs/log4cpp/files/1.0-doc_install_path.patch38
-rw-r--r--dev-libs/log4cpp/files/1.0-gcc43.patch26
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch11
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch10
-rw-r--r--dev-libs/log4cpp/log4cpp-1.0.ebuild37
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.ebuild56
-rw-r--r--dev-libs/log4cpp/metadata.xml8
-rw-r--r--dev-libs/log4cxx/Manifest1
-rw-r--r--dev-libs/log4cxx/files/0.10.0-missing_includes.patch37
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch12
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch75
-rw-r--r--dev-libs/log4cxx/log4cxx-0.10.0.ebuild65
-rw-r--r--dev-libs/log4cxx/metadata.xml11
-rw-r--r--dev-libs/log4sh/Manifest2
-rw-r--r--dev-libs/log4sh/files/log4sh-1.2.5-fix-insecure-tmp-creation.diff11
-rw-r--r--dev-libs/log4sh/log4sh-1.2.5-r1.ebuild42
-rw-r--r--dev-libs/log4sh/log4sh-1.4.2.ebuild48
-rw-r--r--dev-libs/log4sh/metadata.xml11
-rw-r--r--dev-libs/log4shib/Manifest2
-rw-r--r--dev-libs/log4shib/files/log4shib-doc.patch11
-rw-r--r--dev-libs/log4shib/log4shib-1.0.1.ebuild36
-rw-r--r--dev-libs/log4shib/log4shib-1.0.4.ebuild29
-rw-r--r--dev-libs/log4shib/metadata.xml11
-rw-r--r--dev-libs/ltxml/Manifest2
-rw-r--r--dev-libs/ltxml/ltxml-1.2.5.ebuild26
-rw-r--r--dev-libs/ltxml/ltxml-1.2.9.ebuild45
-rw-r--r--dev-libs/ltxml/metadata.xml10
-rw-r--r--dev-libs/luise-bin/Manifest1
-rw-r--r--dev-libs/luise-bin/luise-bin-0.1.1.ebuild41
-rw-r--r--dev-libs/luise-bin/metadata.xml7
-rw-r--r--dev-libs/lzo/Manifest1
-rw-r--r--dev-libs/lzo/lzo-2.08-r1.ebuild48
-rw-r--r--dev-libs/lzo/lzo-2.08.ebuild43
-rw-r--r--dev-libs/lzo/metadata.xml9
-rw-r--r--dev-libs/m17n-lib/Manifest5
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.5.2-fribidi.patch16
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.2-candidates-list.patch83
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.2-gui.patch16
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.2-parallel-make.patch63
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.3-configure.patch82
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.3-ispell.patch13
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.6.3-parallel-make.patch63
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.5.2.ebuild60
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.5.5.ebuild50
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.6.2.ebuild65
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.6.3-r1.ebuild74
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.6.3.ebuild64
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.6.4.ebuild74
-rw-r--r--dev-libs/m17n-lib/metadata.xml21
-rw-r--r--dev-libs/maloc/Manifest1
-rw-r--r--dev-libs/maloc/files/0.2.1-asneeded.patch13
-rw-r--r--dev-libs/maloc/files/0.2.1-mpi.patch24
-rw-r--r--dev-libs/maloc/files/1.4-asneeded.patch17
-rw-r--r--dev-libs/maloc/files/1.4-doc.patch21
-rw-r--r--dev-libs/maloc/files/1.4-mpi.patch24
-rw-r--r--dev-libs/maloc/maloc-1.5-r1.ebuild60
-rw-r--r--dev-libs/maloc/metadata.xml5
-rw-r--r--dev-libs/mapm/Manifest1
-rw-r--r--dev-libs/mapm/files/4.9.5-missing_include.patch12
-rw-r--r--dev-libs/mapm/mapm-4.9.5.ebuild46
-rw-r--r--dev-libs/mapm/metadata.xml7
-rw-r--r--dev-libs/marisa/Manifest1
-rw-r--r--dev-libs/marisa/files/marisa-0.2.4-python.patch15
-rw-r--r--dev-libs/marisa/marisa-0.2.4.ebuild85
-rw-r--r--dev-libs/marisa/metadata.xml5
-rw-r--r--dev-libs/mathjax/Manifest3
-rw-r--r--dev-libs/mathjax/mathjax-2.1.ebuild55
-rw-r--r--dev-libs/mathjax/mathjax-2.2.ebuild55
-rw-r--r--dev-libs/mathjax/mathjax-2.4.ebuild55
-rw-r--r--dev-libs/mathjax/metadata.xml23
-rw-r--r--dev-libs/matrixssl/Manifest1
-rw-r--r--dev-libs/matrixssl/matrixssl-3.6.1.ebuild67
-rw-r--r--dev-libs/matrixssl/metadata.xml5
-rw-r--r--dev-libs/mdsplib/Manifest1
-rw-r--r--dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch46
-rw-r--r--dev-libs/mdsplib/mdsplib-0.11.ebuild33
-rw-r--r--dev-libs/mdsplib/metadata.xml7
-rw-r--r--dev-libs/metadata.xml39
-rw-r--r--dev-libs/mini-xml/Manifest2
-rw-r--r--dev-libs/mini-xml/metadata.xml9
-rw-r--r--dev-libs/mini-xml/mini-xml-2.7-r1.ebuild61
-rw-r--r--dev-libs/mini-xml/mini-xml-2.8.ebuild61
-rw-r--r--dev-libs/mm/Manifest1
-rw-r--r--dev-libs/mm/metadata.xml8
-rw-r--r--dev-libs/mm/mm-1.4.2-r1.ebuild36
-rw-r--r--dev-libs/mongo-c-driver/Manifest4
-rw-r--r--dev-libs/mongo-c-driver/files/0.8.1-api-version.diff14
-rw-r--r--dev-libs/mongo-c-driver/metadata.xml18
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild51
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild51
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild64
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild68
-rw-r--r--dev-libs/mongo-cxx-driver/Manifest2
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch34
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch34
-rw-r--r--dev-libs/mongo-cxx-driver/metadata.xml18
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild87
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild69
-rw-r--r--dev-libs/mozldap/Manifest2
-rw-r--r--dev-libs/mozldap/files/configure.in.patch185
-rw-r--r--dev-libs/mozldap/files/mozldap-6.0.4-pkgconfig.patch11
-rw-r--r--dev-libs/mozldap/files/mozldap-6.0.6-ldflags.patch15
-rw-r--r--dev-libs/mozldap/files/mozldap-6.0.7-configure.in.patch137
-rw-r--r--dev-libs/mozldap/files/nspr-m4.patch42
-rw-r--r--dev-libs/mozldap/files/nss-m4.patch45
-rw-r--r--dev-libs/mozldap/metadata.xml7
-rw-r--r--dev-libs/mozldap/mozldap-6.0.6-r2.ebuild119
-rw-r--r--dev-libs/mozldap/mozldap-6.0.7.ebuild119
-rw-r--r--dev-libs/mpc/Manifest3
-rw-r--r--dev-libs/mpc/metadata.xml5
-rw-r--r--dev-libs/mpc/mpc-1.0.1.ebuild46
-rw-r--r--dev-libs/mpc/mpc-1.0.2-r1.ebuild33
-rw-r--r--dev-libs/mpc/mpc-1.0.2.ebuild34
-rw-r--r--dev-libs/mpc/mpc-1.0.3.ebuild33
-rw-r--r--dev-libs/mpfr/Manifest7
-rw-r--r--dev-libs/mpfr/files/2.4.2/patch01184
-rw-r--r--dev-libs/mpfr/files/2.4.2/patch0271
-rw-r--r--dev-libs/mpfr/files/2.4.2/patch0375
-rw-r--r--dev-libs/mpfr/files/3.0.0/patch01220
-rw-r--r--dev-libs/mpfr/files/3.0.0/patch02377
-rw-r--r--dev-libs/mpfr/files/3.0.0/patch0388
-rw-r--r--dev-libs/mpfr/files/3.0.1/patch01137
-rw-r--r--dev-libs/mpfr/files/3.0.1/patch0276
-rw-r--r--dev-libs/mpfr/files/3.0.1/patch03107
-rw-r--r--dev-libs/mpfr/files/3.0.1/patch0447
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch0150
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch0296
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch03247
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch04166
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch0569
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch0645
-rw-r--r--dev-libs/mpfr/files/3.1.0/patch07591
-rw-r--r--dev-libs/mpfr/files/3.1.1/patch01235
-rw-r--r--dev-libs/mpfr/files/3.1.1/patch02170
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch0145
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch02605
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch03129
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch0484
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch0542
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch0643
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch0771
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch08254
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch09166
-rw-r--r--dev-libs/mpfr/files/3.1.2/patch10138
-rw-r--r--dev-libs/mpfr/metadata.xml5
-rw-r--r--dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild47
-rw-r--r--dev-libs/mpfr/mpfr-3.0.0_p3.ebuild59
-rw-r--r--dev-libs/mpfr/mpfr-3.0.1.ebuild59
-rw-r--r--dev-libs/mpfr/mpfr-3.0.1_p4-r1.ebuild64
-rw-r--r--dev-libs/mpfr/mpfr-3.0.1_p4.ebuild59
-rw-r--r--dev-libs/mpfr/mpfr-3.1.0.ebuild69
-rw-r--r--dev-libs/mpfr/mpfr-3.1.0_p7.ebuild69
-rw-r--r--dev-libs/mpfr/mpfr-3.1.1.ebuild69
-rw-r--r--dev-libs/mpfr/mpfr-3.1.1_p2.ebuild69
-rw-r--r--dev-libs/mpfr/mpfr-3.1.2-r1.ebuild73
-rw-r--r--dev-libs/mpfr/mpfr-3.1.2_p10.ebuild62
-rw-r--r--dev-libs/mpfr/mpfr-3.1.2_p5.ebuild73
-rw-r--r--dev-libs/mpfr/mpfr-3.1.3.ebuild62
-rw-r--r--dev-libs/mps/Manifest4
-rw-r--r--dev-libs/mps/metadata.xml8
-rw-r--r--dev-libs/mps/mps-1.106.2.ebuild37
-rw-r--r--dev-libs/mps/mps-1.110.0.ebuild28
-rw-r--r--dev-libs/mps/mps-1.111.0.ebuild32
-rw-r--r--dev-libs/mps/mps-1.114.0.ebuild32
-rw-r--r--dev-libs/msgpack/Manifest4
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch25
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-static.patch40
-rw-r--r--dev-libs/msgpack/metadata.xml11
-rw-r--r--dev-libs/msgpack/msgpack-0.5.9.ebuild25
-rw-r--r--dev-libs/msgpack/msgpack-1.0.0.ebuild43
-rw-r--r--dev-libs/msgpack/msgpack-1.0.1.ebuild43
-rw-r--r--dev-libs/msgpack/msgpack-1.1.0.ebuild43
-rw-r--r--dev-libs/nanomsg/Manifest2
-rw-r--r--dev-libs/nanomsg/metadata.xml15
-rw-r--r--dev-libs/nanomsg/nanomsg-0.5-r1.ebuild49
-rw-r--r--dev-libs/nanomsg/nanomsg-0.6.ebuild49
-rw-r--r--dev-libs/nettle/Manifest2
-rw-r--r--dev-libs/nettle/files/nettle-2.7-shared.patch77
-rw-r--r--dev-libs/nettle/metadata.xml5
-rw-r--r--dev-libs/nettle/nettle-2.7.1-r4.ebuild61
-rw-r--r--dev-libs/nettle/nettle-3.1.1.ebuild62
-rw-r--r--dev-libs/newt/Manifest2
-rw-r--r--dev-libs/newt/files/newt-0.52.13-gold.patch12
-rw-r--r--dev-libs/newt/files/newt-0.52.14-tcl.patch108
-rw-r--r--dev-libs/newt/files/newt-0.52.15-makefile.patch13
-rw-r--r--dev-libs/newt/files/newt-0.52.15-snack.patch13
-rw-r--r--dev-libs/newt/metadata.xml7
-rw-r--r--dev-libs/newt/newt-0.52.15.ebuild90
-rw-r--r--dev-libs/newt/newt-0.52.18.ebuild88
-rw-r--r--dev-libs/npth/Manifest3
-rw-r--r--dev-libs/npth/metadata.xml5
-rw-r--r--dev-libs/npth/npth-0.91.ebuild17
-rw-r--r--dev-libs/npth/npth-1.0.ebuild15
-rw-r--r--dev-libs/npth/npth-1.1.ebuild15
-rw-r--r--dev-libs/nsgenbind/Manifest4
-rw-r--r--dev-libs/nsgenbind/files/nsgenbind-0.1.1-glibc2.20.patch17
-rw-r--r--dev-libs/nsgenbind/files/nsgenbind-0.1.2-glibc2.20.patch17
-rw-r--r--dev-libs/nsgenbind/metadata.xml9
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.1.1.ebuild20
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.1.2-r1.ebuild20
-rw-r--r--dev-libs/nspr/Manifest4
-rw-r--r--dev-libs/nspr/files/nspr-4.10.6-solaris.patch32
-rw-r--r--dev-libs/nspr/files/nspr-4.6.1-lang.patch41
-rw-r--r--dev-libs/nspr/files/nspr-4.7.0-prtime.patch26
-rw-r--r--dev-libs/nspr/files/nspr-4.7.1-solaris.patch14
-rw-r--r--dev-libs/nspr/files/nspr-4.7.4-solaris.patch62
-rw-r--r--dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch25
-rw-r--r--dev-libs/nspr/files/nspr-4.8.9-link-flags.patch28
-rw-r--r--dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch12
-rw-r--r--dev-libs/nspr/metadata.xml5
-rw-r--r--dev-libs/nspr/nspr-4.10.2.ebuild95
-rw-r--r--dev-libs/nspr/nspr-4.10.6-r1.ebuild110
-rw-r--r--dev-libs/nspr/nspr-4.10.7-r1.ebuild115
-rw-r--r--dev-libs/nspr/nspr-4.10.8.ebuild115
-rw-r--r--dev-libs/nss/Manifest3
-rw-r--r--dev-libs/nss/files/nss-3.14.2-solaris-gcc.patch24
-rw-r--r--dev-libs/nss/files/nss-3.15-gentoo-fixup-warnings.patch10
-rw-r--r--dev-libs/nss/files/nss-3.15.4-enable-pem.patch13
-rw-r--r--dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch241
-rw-r--r--dev-libs/nss/files/nss-cacert-class3.patch204
-rw-r--r--dev-libs/nss/metadata.xml16
-rw-r--r--dev-libs/nss/nss-3.19.2.ebuild325
-rw-r--r--dev-libs/ntl/Manifest6
-rw-r--r--dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch53
-rw-r--r--dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch151
-rw-r--r--dev-libs/ntl/files/ntl-5.5.2-shared.patch166
-rw-r--r--dev-libs/ntl/files/ntl-5.5.2-singular.patch12
-rw-r--r--dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch61
-rw-r--r--dev-libs/ntl/files/ntl-6.0.0-singular.patch12
-rw-r--r--dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch158
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch160
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-singular.patch13
-rw-r--r--dev-libs/ntl/metadata.xml12
-rw-r--r--dev-libs/ntl/ntl-5.5.2.ebuild75
-rw-r--r--dev-libs/ntl/ntl-6.0.0.ebuild75
-rw-r--r--dev-libs/ntl/ntl-6.1.0.ebuild75
-rw-r--r--dev-libs/ntl/ntl-8.1.2.ebuild75
-rw-r--r--dev-libs/ntl/ntl-9.0.2.ebuild75
-rw-r--r--dev-libs/ntl/ntl-9.3.0.ebuild82
-rw-r--r--dev-libs/ocl-icd/Manifest2
-rw-r--r--dev-libs/ocl-icd/metadata.xml8
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.1.3.ebuild36
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.2.3.ebuild35
-rw-r--r--dev-libs/oniguruma/Manifest4
-rw-r--r--dev-libs/oniguruma/files/oniguruma-5.9.2-makefile.patch42
-rw-r--r--dev-libs/oniguruma/files/oniguruma-5.9.3-makefile.patch48
-rw-r--r--dev-libs/oniguruma/metadata.xml19
-rw-r--r--dev-libs/oniguruma/oniguruma-5.9.2-r1.ebuild38
-rw-r--r--dev-libs/oniguruma/oniguruma-5.9.2.ebuild30
-rw-r--r--dev-libs/oniguruma/oniguruma-5.9.3.ebuild38
-rw-r--r--dev-libs/oniguruma/oniguruma-5.9.4.ebuild38
-rw-r--r--dev-libs/oniguruma/oniguruma-5.9.5.ebuild38
-rw-r--r--dev-libs/opencryptoki/Manifest5
-rw-r--r--dev-libs/opencryptoki/files/opencryptoki-2.4.2-destdir.patch26
-rw-r--r--dev-libs/opencryptoki/files/pkcsslotd.init.227
-rw-r--r--dev-libs/opencryptoki/metadata.xml13
-rw-r--r--dev-libs/opencryptoki/opencryptoki-2.3.3-r5.ebuild110
-rw-r--r--dev-libs/opencryptoki/opencryptoki-2.4.2.ebuild100
-rw-r--r--dev-libs/opencryptoki/opencryptoki-2.4.3.ebuild103
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.3.ebuild102
-rw-r--r--dev-libs/openct/Manifest1
-rw-r--r--dev-libs/openct/files/openct.rc30
-rw-r--r--dev-libs/openct/files/openct.rc.232
-rw-r--r--dev-libs/openct/metadata.xml21
-rw-r--r--dev-libs/openct/openct-0.6.20-r3.ebuild79
-rw-r--r--dev-libs/openct/openct-0.6.20-r4.ebuild79
-rw-r--r--dev-libs/openobex/Manifest2
-rw-r--r--dev-libs/openobex/files/openobex-1.5-use-flags.patch224
-rw-r--r--dev-libs/openobex/metadata.xml15
-rw-r--r--dev-libs/openobex/openobex-1.5.ebuild43
-rw-r--r--dev-libs/openobex/openobex-1.7.1.ebuild45
-rw-r--r--dev-libs/opensc/Manifest3
-rw-r--r--dev-libs/opensc/files/opensc-0.12.1-crossbuild.patch38
-rw-r--r--dev-libs/opensc/files/opensc-0.12.2-dl.patch42
-rw-r--r--dev-libs/opensc/files/opensc-0.12.2-parallelinstall.patch67
-rw-r--r--dev-libs/opensc/files/opensc-0.13.0-openssl.patch27
-rw-r--r--dev-libs/opensc/metadata.xml39
-rw-r--r--dev-libs/opensc/opensc-0.12.2-r2.ebuild74
-rw-r--r--dev-libs/opensc/opensc-0.13.0.ebuild57
-rw-r--r--dev-libs/opensc/opensc-0.14.0.ebuild53
-rw-r--r--dev-libs/openspecfun/Manifest1
-rw-r--r--dev-libs/openspecfun/metadata.xml12
-rw-r--r--dev-libs/openspecfun/openspecfun-0.4-r1.ebuild24
-rw-r--r--dev-libs/openssl/Manifest15
-rwxr-xr-xdev-libs/openssl/files/gentoo.config-0.9.8145
-rwxr-xr-xdev-libs/openssl/files/gentoo.config-1.0.0159
-rwxr-xr-xdev-libs/openssl/files/gentoo.config-1.0.1164
-rw-r--r--dev-libs/openssl/files/openssl-0.9.8e-bsd-sparc64.patch25
-rw-r--r--dev-libs/openssl/files/openssl-0.9.8h-ldflags.patch29
-rw-r--r--dev-libs/openssl/files/openssl-0.9.8m-binutils.patch24
-rw-r--r--dev-libs/openssl/files/openssl-0.9.8ze-CVE-2015-0286.patch326
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0a-ldflags.patch29
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0d-windres.patch76
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0e-parallel-build.patch315
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0h-pkg-config.patch34
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0r-x32.patch76
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1-parallel-build.patch354
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1-x32.patch79
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1e-s_client-verify.patch18
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1f-revert-alpha-perl-generation.patch84
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1h-ipv6.patch642
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1l-CVE-2015-0286.patch356
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1m-ipv6.patch618
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1m-parallel-build.patch364
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1m-s_client-verify.patch21
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1m-x32.patch66
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1p-default-source.patch30
-rw-r--r--dev-libs/openssl/files/openssl-1.0.1p-parallel-build.patch359
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0209.patch49
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0288.patch31
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0291.patch459
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-ipv6.patch611
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-parallel-build.patch354
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2-s_client-verify.patch17
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-malloc-typo.patch38
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch314
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch64
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch37
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch63
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch43
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch309
-rw-r--r--dev-libs/openssl/metadata.xml15
-rw-r--r--dev-libs/openssl/openssl-0.9.8z_p5-r1.ebuild161
-rw-r--r--dev-libs/openssl/openssl-0.9.8z_p6.ebuild160
-rw-r--r--dev-libs/openssl/openssl-0.9.8z_p7.ebuild160
-rw-r--r--dev-libs/openssl/openssl-1.0.0r.ebuild214
-rw-r--r--dev-libs/openssl/openssl-1.0.1l-r1.ebuild260
-rw-r--r--dev-libs/openssl/openssl-1.0.1m.ebuild259
-rw-r--r--dev-libs/openssl/openssl-1.0.1n.ebuild258
-rw-r--r--dev-libs/openssl/openssl-1.0.1o.ebuild258
-rw-r--r--dev-libs/openssl/openssl-1.0.1p.ebuild259
-rw-r--r--dev-libs/openssl/openssl-1.0.2-r3.ebuild263
-rw-r--r--dev-libs/openssl/openssl-1.0.2a.ebuild266
-rw-r--r--dev-libs/openssl/openssl-1.0.2b.ebuild264
-rw-r--r--dev-libs/openssl/openssl-1.0.2c.ebuild264
-rw-r--r--dev-libs/openssl/openssl-1.0.2d.ebuild265
-rw-r--r--dev-libs/ossp-uuid/Manifest1
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch36
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch51
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-perl.patch24
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch42
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-r1.patch70
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch116
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch13
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php.patch13
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch55
-rw-r--r--dev-libs/ossp-uuid/metadata.xml8
-rw-r--r--dev-libs/ossp-uuid/ossp-uuid-1.6.2-r2.ebuild98
-rw-r--r--dev-libs/ossp-uuid/ossp-uuid-1.6.2-r4.ebuild119
-rw-r--r--dev-libs/pakchois/Manifest1
-rw-r--r--dev-libs/pakchois/metadata.xml5
-rw-r--r--dev-libs/pakchois/pakchois-0.4-r2.ebuild25
-rw-r--r--dev-libs/papi/Manifest2
-rw-r--r--dev-libs/papi/metadata.xml7
-rw-r--r--dev-libs/papi/papi-5.3.0.ebuild39
-rw-r--r--dev-libs/papi/papi-5.4.0.ebuild39
-rw-r--r--dev-libs/pcc-libs/Manifest4
-rw-r--r--dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch62
-rw-r--r--dev-libs/pcc-libs/metadata.xml8
-rw-r--r--dev-libs/pcc-libs/pcc-libs-1.0.0.ebuild33
-rw-r--r--dev-libs/pcc-libs/pcc-libs-1.0.1_pre20121112.ebuild29
-rw-r--r--dev-libs/pcc-libs/pcc-libs-1.0.1_pre20131013.ebuild29
-rw-r--r--dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild29
-rw-r--r--dev-libs/pcc-libs/pcc-libs-9999.ebuild36
-rw-r--r--dev-libs/pcre++/Manifest2
-rw-r--r--dev-libs/pcre++/files/pcre++-0.9.5-nodoc.patch12
-rw-r--r--dev-libs/pcre++/metadata.xml5
-rw-r--r--dev-libs/pcre++/pcre++-0.9.5-r1.ebuild40
-rw-r--r--dev-libs/pkcs11-helper/Manifest1
-rw-r--r--dev-libs/pkcs11-helper/metadata.xml11
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.11.ebuild35
-rw-r--r--dev-libs/poco/Manifest2
-rw-r--r--dev-libs/poco/files/1.3.3_p1-gcc44.patch16
-rw-r--r--dev-libs/poco/files/1.3.3_p1-gentoo.patch80
-rw-r--r--dev-libs/poco/files/1.3.3_p1-openssl-1.patch16
-rw-r--r--dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch197
-rw-r--r--dev-libs/poco/files/1.3.6_p2-gentoo.patch85
-rw-r--r--dev-libs/poco/files/1.4.3_p1-gentoo.patch85
-rw-r--r--dev-libs/poco/files/1.4.5-gentoo.patch74
-rw-r--r--dev-libs/poco/files/1.4.6_p1-gentoo.patch74
-rw-r--r--dev-libs/poco/files/1.4.6_p4-gentoo.patch71
-rw-r--r--dev-libs/poco/files/libpcre-8.13.patch10
-rw-r--r--dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch45
-rw-r--r--dev-libs/poco/metadata.xml28
-rw-r--r--dev-libs/poco/poco-1.4.6_p4.ebuild119
-rw-r--r--dev-libs/polylib/files/polylib-9999-headers.patch10
-rw-r--r--dev-libs/polylib/metadata.xml5
-rw-r--r--dev-libs/polylib/polylib-9999.ebuild29
-rw-r--r--dev-libs/popt/Manifest1
-rw-r--r--dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch12
-rw-r--r--dev-libs/popt/metadata.xml5
-rw-r--r--dev-libs/popt/popt-1.16-r1.ebuild37
-rw-r--r--dev-libs/popt/popt-1.16-r2.ebuild36
-rw-r--r--dev-libs/ppl/Manifest2
-rw-r--r--dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch41
-rw-r--r--dev-libs/ppl/metadata.xml8
-rw-r--r--dev-libs/ppl/ppl-0.12.1-r1.ebuild84
-rw-r--r--dev-libs/ppl/ppl-1.1.ebuild60
-rw-r--r--dev-libs/protobuf-c/Manifest3
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.1.0-no-build-tests.patch29
-rw-r--r--dev-libs/protobuf-c/metadata.xml10
-rw-r--r--dev-libs/protobuf-c/protobuf-c-0.15.ebuild20
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.0.2-r1.ebuild25
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.1.1.ebuild34
-rw-r--r--dev-libs/protobuf/Manifest3
-rw-r--r--dev-libs/protobuf/files/70protobuf-gentoo.el3
-rw-r--r--dev-libs/protobuf/files/proto.vim1
-rw-r--r--dev-libs/protobuf/files/protobuf-2.3.0-asneeded-2.patch28
-rw-r--r--dev-libs/protobuf/files/protobuf-2.5.0-emacs-24.4.patch14
-rw-r--r--dev-libs/protobuf/files/protobuf-2.5.0-x32.patch15
-rw-r--r--dev-libs/protobuf/files/protobuf-2.6.1-protoc-cmdline.patch256
-rw-r--r--dev-libs/protobuf/metadata.xml10
-rw-r--r--dev-libs/protobuf/protobuf-2.4.1.ebuild126
-rw-r--r--dev-libs/protobuf/protobuf-2.5.0-r2.ebuild132
-rw-r--r--dev-libs/protobuf/protobuf-2.6.1-r3.ebuild158
-rw-r--r--dev-libs/pslib/Manifest2
-rw-r--r--dev-libs/pslib/files/pslib-getline.patch47
-rw-r--r--dev-libs/pslib/files/pslib-lm.patch11
-rw-r--r--dev-libs/pslib/metadata.xml9
-rw-r--r--dev-libs/pslib/pslib-0.4.1-r2.ebuild50
-rw-r--r--dev-libs/pslib/pslib-0.4.5.ebuild50
-rw-r--r--dev-libs/ptexenc/Manifest4
-rw-r--r--dev-libs/ptexenc/metadata.xml5
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.0_p20120701.ebuild47
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.1_p20130530.ebuild47
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.2_p20140525-r1.ebuild51
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.2_p20140525.ebuild47
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.3_p20150521.ebuild51
-rw-r--r--dev-libs/pth/Manifest1
-rw-r--r--dev-libs/pth/files/pth-2.0.5-parallelfix.patch15
-rw-r--r--dev-libs/pth/files/pth-2.0.6-ldflags.patch17
-rw-r--r--dev-libs/pth/files/pth-2.0.6-sigstack.patch22
-rw-r--r--dev-libs/pth/files/pth-2.0.7-ia64.patch30
-rw-r--r--dev-libs/pth/files/pth-2.0.7-kernel-3.patch24
-rw-r--r--dev-libs/pth/files/pth-2.0.7-parallel-install.patch12
-rw-r--r--dev-libs/pth/metadata.xml5
-rw-r--r--dev-libs/pth/pth-2.0.7-r3.ebuild50
-rw-r--r--dev-libs/ptypes/Manifest1
-rw-r--r--dev-libs/ptypes/files/2.0.2-gcc41.patch48
-rw-r--r--dev-libs/ptypes/metadata.xml8
-rw-r--r--dev-libs/ptypes/ptypes-2.0.2-r1.ebuild44
-rw-r--r--dev-libs/pugixml/Manifest2
-rw-r--r--dev-libs/pugixml/metadata.xml8
-rw-r--r--dev-libs/pugixml/pugixml-1.5.ebuild22
-rw-r--r--dev-libs/pugixml/pugixml-1.6.ebuild22
-rw-r--r--dev-libs/qcodeedit/Manifest1
-rw-r--r--dev-libs/qcodeedit/metadata.xml10
-rw-r--r--dev-libs/qcodeedit/qcodeedit-2.2.3.ebuild31
-rw-r--r--dev-libs/qcustomplot/Manifest6
-rw-r--r--dev-libs/qcustomplot/metadata.xml8
-rw-r--r--dev-libs/qcustomplot/qcustomplot-1.2.1.ebuild39
-rw-r--r--dev-libs/qcustomplot/qcustomplot-1.3.0.ebuild54
-rw-r--r--dev-libs/qcustomplot/qcustomplot-1.3.1.ebuild51
-rw-r--r--dev-libs/qjson/Manifest1
-rw-r--r--dev-libs/qjson/metadata.xml9
-rw-r--r--dev-libs/qjson/qjson-0.8.1-r1.ebuild47
-rw-r--r--dev-libs/qjson/qjson-0.8.1.ebuild41
-rw-r--r--dev-libs/qoauth/Manifest1
-rw-r--r--dev-libs/qoauth/files/qoauth-1.0.1-disable-ft.patch20
-rw-r--r--dev-libs/qoauth/metadata.xml5
-rw-r--r--dev-libs/qoauth/qoauth-1.0.1.ebuild69
-rw-r--r--dev-libs/qof/Manifest1
-rw-r--r--dev-libs/qof/files/qof-0.8.0-remove_spurious_CFLAGS.patch57
-rw-r--r--dev-libs/qof/files/qof-0.8.8-cflags.patch36
-rw-r--r--dev-libs/qof/files/qof-0.8.8-unistd-define.patch58
-rw-r--r--dev-libs/qof/files/qof-0.8.8-unittest.patch44
-rw-r--r--dev-libs/qof/files/qof-0.8.8-yacc-build.patch69
-rw-r--r--dev-libs/qof/metadata.xml5
-rw-r--r--dev-libs/qof/qof-0.8.8-r1.ebuild61
-rw-r--r--dev-libs/qof/qof-0.8.8.ebuild62
-rw-r--r--dev-libs/qqwing/Manifest2
-rw-r--r--dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch206
-rw-r--r--dev-libs/qqwing/metadata.xml5
-rw-r--r--dev-libs/qqwing/qqwing-1.3.3.ebuild26
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4.ebuild24
-rw-r--r--dev-libs/qrosscore/Manifest1
-rw-r--r--dev-libs/qrosscore/metadata.xml11
-rw-r--r--dev-libs/qrosscore/qrosscore-0.3.1.ebuild26
-rw-r--r--dev-libs/qrosscore/qrosscore-9999.ebuild27
-rw-r--r--dev-libs/qrosspython/Manifest1
-rw-r--r--dev-libs/qrosspython/metadata.xml11
-rw-r--r--dev-libs/qrosspython/qrosspython-0.3.1.ebuild34
-rw-r--r--dev-libs/qrosspython/qrosspython-9999.ebuild33
-rw-r--r--dev-libs/qtkeychain/Manifest1
-rw-r--r--dev-libs/qtkeychain/metadata.xml11
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.5.0.ebuild64
-rw-r--r--dev-libs/quantlib/Manifest1
-rw-r--r--dev-libs/quantlib/files/50quantlib-gentoo.el6
-rw-r--r--dev-libs/quantlib/metadata.xml12
-rw-r--r--dev-libs/quantlib/quantlib-1.6.ebuild98
-rw-r--r--dev-libs/quazip/Manifest2
-rw-r--r--dev-libs/quazip/files/quazip-0.4.4-zlib.patch27
-rw-r--r--dev-libs/quazip/files/quazip-0.5.1-prll.patch11
-rw-r--r--dev-libs/quazip/files/quazip-0.5.1-zlib.patch31
-rw-r--r--dev-libs/quazip/metadata.xml11
-rw-r--r--dev-libs/quazip/quazip-0.6.2-r1.ebuild53
-rw-r--r--dev-libs/quazip/quazip-0.7.1.ebuild73
-rw-r--r--dev-libs/radlib/Manifest1
-rw-r--r--dev-libs/radlib/files/radlib-2.12.0-build.patch128
-rw-r--r--dev-libs/radlib/metadata.xml10
-rw-r--r--dev-libs/radlib/radlib-2.12.0-r1.ebuild41
-rw-r--r--dev-libs/rapidxml/Manifest1
-rw-r--r--dev-libs/rapidxml/files/rapidxml-1.13-clang.patch23
-rw-r--r--dev-libs/rapidxml/metadata.xml11
-rw-r--r--dev-libs/rapidxml/rapidxml-1.13-r1.ebuild27
-rw-r--r--dev-libs/rapidxml/rapidxml-1.13.ebuild22
-rw-r--r--dev-libs/rasqal/Manifest2
-rw-r--r--dev-libs/rasqal/metadata.xml5
-rw-r--r--dev-libs/rasqal/rasqal-0.9.29.ebuild73
-rw-r--r--dev-libs/rasqal/rasqal-0.9.32.ebuild76
-rw-r--r--dev-libs/re2/Manifest3
-rw-r--r--dev-libs/re2/files/re2-compile-r0.patch27
-rw-r--r--dev-libs/re2/files/re2-symbols-r0.patch10
-rw-r--r--dev-libs/re2/metadata.xml5
-rw-r--r--dev-libs/re2/re2-0_p20130115-r1.ebuild56
-rw-r--r--dev-libs/re2/re2-0_p20130115.ebuild47
-rw-r--r--dev-libs/re2/re2-0_p20130712.ebuild52
-rw-r--r--dev-libs/re2/re2-0_p20140304.ebuild45
-rw-r--r--dev-libs/redland-bindings/Manifest1
-rw-r--r--dev-libs/redland-bindings/metadata.xml5
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild55
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.14.1.ebuild103
-rw-r--r--dev-libs/redland/Manifest3
-rw-r--r--dev-libs/redland/metadata.xml5
-rw-r--r--dev-libs/redland/redland-1.0.15.ebuild75
-rw-r--r--dev-libs/redland/redland-1.0.16.ebuild92
-rw-r--r--dev-libs/redland/redland-1.0.17-r1.ebuild87
-rw-r--r--dev-libs/redland/redland-1.0.17.ebuild87
-rw-r--r--dev-libs/replicant/Manifest4
-rw-r--r--dev-libs/replicant/metadata.xml8
-rw-r--r--dev-libs/replicant/replicant-0.6.4.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.7.1.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.8.0.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.8.1.ebuild22
-rw-r--r--dev-libs/rlog/Manifest1
-rw-r--r--dev-libs/rlog/files/rlog-1.3.7-gcc-4.3.patch10
-rw-r--r--dev-libs/rlog/metadata.xml8
-rw-r--r--dev-libs/rlog/rlog-1.4.ebuild24
-rw-r--r--dev-libs/rote/Manifest1
-rw-r--r--dev-libs/rote/metadata.xml11
-rw-r--r--dev-libs/rote/rote-0.2.8.ebuild17
-rw-r--r--dev-libs/rremove/Manifest1
-rw-r--r--dev-libs/rremove/metadata.xml8
-rw-r--r--dev-libs/rremove/rremove-1.0.5.ebuild16
-rw-r--r--dev-libs/safestr/Manifest1
-rw-r--r--dev-libs/safestr/metadata.xml15
-rw-r--r--dev-libs/safestr/safestr-1.0.3.ebuild27
-rw-r--r--dev-libs/sblim-sfcc/Manifest1
-rw-r--r--dev-libs/sblim-sfcc/metadata.xml11
-rw-r--r--dev-libs/sblim-sfcc/sblim-sfcc-2.2.5.ebuild31
-rw-r--r--dev-libs/sdformat/Manifest1
-rw-r--r--dev-libs/sdformat/metadata.xml8
-rw-r--r--dev-libs/sdformat/sdformat-2.3.2.ebuild35
-rw-r--r--dev-libs/serd/Manifest2
-rw-r--r--dev-libs/serd/metadata.xml10
-rw-r--r--dev-libs/serd/serd-0.18.2.ebuild41
-rw-r--r--dev-libs/serd/serd-0.20.0.ebuild41
-rw-r--r--dev-libs/serdisplib/Manifest1
-rw-r--r--dev-libs/serdisplib/metadata.xml14
-rw-r--r--dev-libs/serdisplib/serdisplib-1.97.9.ebuild32
-rw-r--r--dev-libs/shared-desktop-ontologies/Manifest1
-rw-r--r--dev-libs/shared-desktop-ontologies/metadata.xml8
-rw-r--r--dev-libs/shared-desktop-ontologies/shared-desktop-ontologies-0.11.0.ebuild25
-rw-r--r--dev-libs/shhopt/Manifest1
-rw-r--r--dev-libs/shhopt/files/shhopt-1.1.7-build.patch83
-rw-r--r--dev-libs/shhopt/metadata.xml11
-rw-r--r--dev-libs/shhopt/shhopt-1.1.7-r2.ebuild37
-rw-r--r--dev-libs/skalibs/Manifest1
-rw-r--r--dev-libs/skalibs/metadata.xml12
-rw-r--r--dev-libs/skalibs/skalibs-2.3.2.0.ebuild43
-rw-r--r--dev-libs/skyutils/Manifest1
-rw-r--r--dev-libs/skyutils/files/skyutils-2.8-libs.patch12
-rw-r--r--dev-libs/skyutils/metadata.xml7
-rw-r--r--dev-libs/skyutils/skyutils-2.8-r2.ebuild33
-rw-r--r--dev-libs/smack/Manifest1
-rw-r--r--dev-libs/smack/metadata.xml8
-rw-r--r--dev-libs/smack/smack-0.5.0.ebuild18
-rw-r--r--dev-libs/sni-qt/Manifest1
-rw-r--r--dev-libs/sni-qt/metadata.xml8
-rw-r--r--dev-libs/sni-qt/sni-qt-0.2.6-r1.ebuild42
-rw-r--r--dev-libs/snowball-stemmer/Manifest2
-rw-r--r--dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch23
-rw-r--r--dev-libs/snowball-stemmer/metadata.xml7
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-0.20091122.ebuild53
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild53
-rw-r--r--dev-libs/socketstream/Manifest1
-rw-r--r--dev-libs/socketstream/files/0.7.0-missing_includes.patch11
-rw-r--r--dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch15
-rw-r--r--dev-libs/socketstream/metadata.xml8
-rw-r--r--dev-libs/socketstream/socketstream-0.7.0-r1.ebuild43
-rw-r--r--dev-libs/softhsm/Manifest2
-rw-r--r--dev-libs/softhsm/metadata.xml8
-rw-r--r--dev-libs/softhsm/softhsm-1.3.5.ebuild36
-rw-r--r--dev-libs/softhsm/softhsm-1.3.6.ebuild36
-rw-r--r--dev-libs/soprano/Manifest1
-rw-r--r--dev-libs/soprano/files/soprano-2.4.4-make-broken-redland-fatal.cmake12
-rw-r--r--dev-libs/soprano/metadata.xml13
-rw-r--r--dev-libs/soprano/soprano-2.9.4.ebuild101
-rw-r--r--dev-libs/sord/Manifest2
-rw-r--r--dev-libs/sord/metadata.xml5
-rw-r--r--dev-libs/sord/sord-0.12.0.ebuild42
-rw-r--r--dev-libs/sord/sord-0.12.2.ebuild42
-rw-r--r--dev-libs/starpu/Manifest2
-rw-r--r--dev-libs/starpu/metadata.xml22
-rw-r--r--dev-libs/starpu/starpu-1.1.2.ebuild84
-rw-r--r--dev-libs/starpu/starpu-1.1.4.ebuild84
-rw-r--r--dev-libs/stfl/Manifest3
-rw-r--r--dev-libs/stfl/files/stfl-0.21-python.patch39
-rw-r--r--dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch14
-rw-r--r--dev-libs/stfl/files/stfl-0.22-soname-symlink.patch10
-rw-r--r--dev-libs/stfl/metadata.xml23
-rw-r--r--dev-libs/stfl/stfl-0.22-r2.ebuild126
-rw-r--r--dev-libs/stfl/stfl-0.23.ebuild119
-rw-r--r--dev-libs/stfl/stfl-0.24.ebuild119
-rw-r--r--dev-libs/stlsoft/Manifest1
-rw-r--r--dev-libs/stlsoft/metadata.xml15
-rw-r--r--dev-libs/stlsoft/stlsoft-1.9.111.ebuild23
-rw-r--r--dev-libs/svrcore/Manifest1
-rw-r--r--dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch100
-rw-r--r--dev-libs/svrcore/metadata.xml7
-rw-r--r--dev-libs/svrcore/svrcore-4.0.4.ebuild41
-rw-r--r--dev-libs/syck/Manifest1
-rw-r--r--dev-libs/syck/files/syck-0.55-64bit.patch41
-rw-r--r--dev-libs/syck/metadata.xml7
-rw-r--r--dev-libs/syck/syck-0.55-r4.ebuild58
-rw-r--r--dev-libs/syck/syck-0.55-r6.ebuild55
-rw-r--r--dev-libs/syncdir/Manifest1
-rw-r--r--dev-libs/syncdir/metadata.xml7
-rw-r--r--dev-libs/syncdir/syncdir-1.0-r1.ebuild40
-rw-r--r--dev-libs/tinyxml/Manifest1
-rw-r--r--dev-libs/tinyxml/files/Makefile-344
-rw-r--r--dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch64
-rw-r--r--dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch12
-rw-r--r--dev-libs/tinyxml/metadata.xml14
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild54
-rw-r--r--dev-libs/tinyxml2/Manifest2
-rw-r--r--dev-libs/tinyxml2/files/tinyxml2-1.0.1_p20120531-test-return-status.patch9
-rw-r--r--dev-libs/tinyxml2/files/tinyxml2-1.0.9_p20121123-test.patch20
-rw-r--r--dev-libs/tinyxml2/metadata.xml8
-rw-r--r--dev-libs/tinyxml2/tinyxml2-1.0.9_p20121123.ebuild35
-rw-r--r--dev-libs/tinyxml2/tinyxml2-2.2.0.ebuild33
-rw-r--r--dev-libs/tntnet/Manifest2
-rw-r--r--dev-libs/tntnet/files/tntnet-1.6.3-gcc43.patch11
-rw-r--r--dev-libs/tntnet/files/tntnet-1.6.3-gnutls-2.8.patch13
-rw-r--r--dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch65
-rw-r--r--dev-libs/tntnet/files/tntnet.initd30
-rw-r--r--dev-libs/tntnet/metadata.xml12
-rw-r--r--dev-libs/tntnet/tntnet-1.6.3.ebuild72
-rw-r--r--dev-libs/tntnet/tntnet-2.2.1.ebuild88
-rw-r--r--dev-libs/totem-pl-parser/Manifest3
-rw-r--r--dev-libs/totem-pl-parser/metadata.xml11
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.10.3.ebuild64
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.10.4.ebuild64
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.10.5.ebuild64
-rw-r--r--dev-libs/tre/Manifest1
-rw-r--r--dev-libs/tre/files/0.8.0-pkgcfg.patch14
-rw-r--r--dev-libs/tre/files/0.8.0-python.patch39
-rw-r--r--dev-libs/tre/metadata.xml5
-rw-r--r--dev-libs/tre/tre-0.8.0.ebuild90
-rw-r--r--dev-libs/tvision/Manifest1
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch45
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch21
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch15
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch41
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch14
-rw-r--r--dev-libs/tvision/metadata.xml10
-rw-r--r--dev-libs/tvision/tvision-2.1.0_pre2-r3.ebuild43
-rw-r--r--dev-libs/tvmet/Manifest1
-rw-r--r--dev-libs/tvmet/files/1.7.2-docs_missing_destdir.patch29
-rw-r--r--dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch42
-rw-r--r--dev-libs/tvmet/metadata.xml8
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild53
-rw-r--r--dev-libs/uchardet/Manifest1
-rw-r--r--dev-libs/uchardet/metadata.xml13
-rw-r--r--dev-libs/uchardet/uchardet-0.0.1.ebuild24
-rw-r--r--dev-libs/ucl/Manifest1
-rw-r--r--dev-libs/ucl/files/ucl-1.03-CFLAGS.patch134
-rw-r--r--dev-libs/ucl/files/ucl-1.03-x32.patch173
-rw-r--r--dev-libs/ucl/metadata.xml7
-rw-r--r--dev-libs/ucl/ucl-1.03-r1.ebuild41
-rw-r--r--dev-libs/ucommon/Manifest5
-rw-r--r--dev-libs/ucommon/files/6.1/disable_rtf_gen_doxy.patch11
-rw-r--r--dev-libs/ucommon/files/6.1/gcrypt_autotools.patch58
-rw-r--r--dev-libs/ucommon/files/6.1/install_gcrypt.m4_file.patch128
-rw-r--r--dev-libs/ucommon/files/disable_rtf_gen_doxy.patch18
-rw-r--r--dev-libs/ucommon/files/gcrypt_autotools.patch62
-rw-r--r--dev-libs/ucommon/files/install_gcrypt.m4_file.patch128
-rw-r--r--dev-libs/ucommon/files/ucommon-5.2.2-address.patch42
-rw-r--r--dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch48
-rw-r--r--dev-libs/ucommon/metadata.xml16
-rw-r--r--dev-libs/ucommon/ucommon-5.2.2-r3.ebuild63
-rw-r--r--dev-libs/ucommon/ucommon-6.0.3.ebuild75
-rw-r--r--dev-libs/ucommon/ucommon-6.1.10.ebuild76
-rw-r--r--dev-libs/ucommon/ucommon-6.1.8.ebuild75
-rw-r--r--dev-libs/ucommon/ucommon-6.3.1.ebuild79
-rw-r--r--dev-libs/udis86/Manifest2
-rw-r--r--dev-libs/udis86/files/udis86-1.7-yasm.patch35
-rw-r--r--dev-libs/udis86/files/udis86-1.7.2-docdir.patch18
-rw-r--r--dev-libs/udis86/metadata.xml11
-rw-r--r--dev-libs/udis86/udis86-1.7-r2.ebuild39
-rw-r--r--dev-libs/udis86/udis86-1.7.2.ebuild40
-rw-r--r--dev-libs/unibilium/Manifest2
-rw-r--r--dev-libs/unibilium/metadata.xml8
-rw-r--r--dev-libs/unibilium/unibilium-1.1.2.ebuild30
-rw-r--r--dev-libs/unibilium/unibilium-1.1.4.ebuild30
-rw-r--r--dev-libs/urdfdom/Manifest1
-rw-r--r--dev-libs/urdfdom/metadata.xml11
-rw-r--r--dev-libs/urdfdom/urdfdom-0.3.0.ebuild68
-rw-r--r--dev-libs/urdfdom/urdfdom-9999.ebuild68
-rw-r--r--dev-libs/urdfdom_headers/Manifest1
-rw-r--r--dev-libs/urdfdom_headers/metadata.xml11
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-0.3.0.ebuild30
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild30
-rw-r--r--dev-libs/uriparser/Manifest4
-rw-r--r--dev-libs/uriparser/files/uriparser-0.7.5-no-gifs.patch38
-rw-r--r--dev-libs/uriparser/files/uriparser-0.8.1-doc-install.patch16
-rw-r--r--dev-libs/uriparser/metadata.xml16
-rw-r--r--dev-libs/uriparser/uriparser-0.7.9.ebuild45
-rw-r--r--dev-libs/uriparser/uriparser-0.8.0.ebuild45
-rw-r--r--dev-libs/uriparser/uriparser-0.8.1.ebuild50
-rw-r--r--dev-libs/uriparser/uriparser-0.8.2.ebuild43
-rw-r--r--dev-libs/userspace-rcu/Manifest5
-rw-r--r--dev-libs/userspace-rcu/metadata.xml5
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.7.12.ebuild28
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.7.13.ebuild28
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.8.4.ebuild28
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.8.5.ebuild28
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.8.6.ebuild28
-rw-r--r--dev-libs/ustr/Manifest1
-rw-r--r--dev-libs/ustr/metadata.xml10
-rw-r--r--dev-libs/ustr/ustr-1.0.4-r5.ebuild66
-rw-r--r--dev-libs/utfcpp/Manifest1
-rw-r--r--dev-libs/utfcpp/metadata.xml13
-rw-r--r--dev-libs/utfcpp/utfcpp-2.3.4.ebuild25
-rw-r--r--dev-libs/uthash/Manifest2
-rw-r--r--dev-libs/uthash/metadata.xml15
-rw-r--r--dev-libs/uthash/uthash-1.9.7.ebuild32
-rw-r--r--dev-libs/uthash/uthash-1.9.9.ebuild33
-rw-r--r--dev-libs/uulib/Manifest1
-rw-r--r--dev-libs/uulib/files/uulib-0.5.20-shared.patch83
-rw-r--r--dev-libs/uulib/metadata.xml8
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r1.ebuild26
-rw-r--r--dev-libs/uulib/uulib-0.5.20.ebuild31
-rw-r--r--dev-libs/vala-common/Manifest3
-rw-r--r--dev-libs/vala-common/metadata.xml5
-rw-r--r--dev-libs/vala-common/vala-common-0.24.0.ebuild77
-rw-r--r--dev-libs/vala-common/vala-common-0.26.2.ebuild77
-rw-r--r--dev-libs/vala-common/vala-common-0.28.0.ebuild77
-rw-r--r--dev-libs/vanessa-adt/Manifest2
-rw-r--r--dev-libs/vanessa-adt/metadata.xml8
-rw-r--r--dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild28
-rw-r--r--dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild28
-rw-r--r--dev-libs/vanessa-logger/Manifest1
-rw-r--r--dev-libs/vanessa-logger/metadata.xml8
-rw-r--r--dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild23
-rw-r--r--dev-libs/vc/Manifest30
-rw-r--r--dev-libs/vc/metadata.xml7
-rw-r--r--dev-libs/vc/vc-0.7.3.ebuild39
-rw-r--r--dev-libs/vc/vc-0.7.4.ebuild40
-rw-r--r--dev-libs/vdk/Manifest1
-rw-r--r--dev-libs/vdk/files/vdk-2.4.1-gcc4.patch28
-rw-r--r--dev-libs/vdk/files/vdk-2.4.1-gcc43.patch33
-rw-r--r--dev-libs/vdk/metadata.xml8
-rw-r--r--dev-libs/vdk/vdk-2.5.1.ebuild54
-rw-r--r--dev-libs/vrb/Manifest2
-rw-r--r--dev-libs/vrb/files/vrb-0.5.1-configure.patch98
-rw-r--r--dev-libs/vrb/metadata.xml7
-rw-r--r--dev-libs/vrb/vrb-0.3.0.ebuild51
-rw-r--r--dev-libs/vrb/vrb-0.5.1.ebuild43
-rw-r--r--dev-libs/wayland/Manifest11
-rw-r--r--dev-libs/wayland/metadata.xml5
-rw-r--r--dev-libs/wayland/wayland-0.95.0.ebuild47
-rw-r--r--dev-libs/wayland/wayland-1.0.6.ebuild48
-rw-r--r--dev-libs/wayland/wayland-1.1.0.ebuild48
-rw-r--r--dev-libs/wayland/wayland-1.2.0.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.2.1-r1.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.2.1.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.3.0.ebuild64
-rw-r--r--dev-libs/wayland/wayland-1.4.0.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.5.0.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.6.0.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.6.1.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.7.0.ebuild62
-rw-r--r--dev-libs/weston/Manifest7
-rw-r--r--dev-libs/weston/files/README.gentoo9
-rw-r--r--dev-libs/weston/metadata.xml25
-rw-r--r--dev-libs/weston/weston-1.2.0-r1.ebuild162
-rw-r--r--dev-libs/weston/weston-1.2.1.ebuild183
-rw-r--r--dev-libs/weston/weston-1.4.0.ebuild191
-rw-r--r--dev-libs/weston/weston-1.5.0.ebuild159
-rw-r--r--dev-libs/weston/weston-1.6.0.ebuild159
-rw-r--r--dev-libs/weston/weston-1.6.1.ebuild159
-rw-r--r--dev-libs/weston/weston-1.7.0.ebuild160
-rw-r--r--dev-libs/wnn7sdk/Manifest1
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch30
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch67
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch20
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-qa.patch52
-rw-r--r--dev-libs/wnn7sdk/metadata.xml5
-rw-r--r--dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild52
-rw-r--r--dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild45
-rw-r--r--dev-libs/xalan-c/Manifest1
-rw-r--r--dev-libs/xalan-c/files/1.10.0-as-needed.patch78
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch108
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch50
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch62
-rw-r--r--dev-libs/xalan-c/files/xalan-c-1.10.0+gcc-4.3.patch50
-rw-r--r--dev-libs/xalan-c/metadata.xml5
-rw-r--r--dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild107
-rw-r--r--dev-libs/xapian-bindings/Manifest5
-rw-r--r--dev-libs/xapian-bindings/metadata.xml13
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.2.19.ebuild202
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.2.20.ebuild202
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.2.21.ebuild202
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.3.2.ebuild178
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.3.3-r1.ebuild116
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.3.3.ebuild178
-rw-r--r--dev-libs/xapian/Manifest5
-rw-r--r--dev-libs/xapian/metadata.xml27
-rw-r--r--dev-libs/xapian/xapian-1.2.19.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.2.20.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.2.21.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.3.2.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.3.3.ebuild63
-rw-r--r--dev-libs/xerces-c/Manifest1
-rw-r--r--dev-libs/xerces-c/files/3.1.1-disable-thread-tests.patch74
-rw-r--r--dev-libs/xerces-c/files/50xerces-c1
-rw-r--r--dev-libs/xerces-c/metadata.xml15
-rw-r--r--dev-libs/xerces-c/xerces-c-3.1.2.ebuild99
-rw-r--r--dev-libs/xml-security-c/Manifest1
-rw-r--r--dev-libs/xml-security-c/files/1.6.1-nss-compilation-fix.patch13
-rw-r--r--dev-libs/xml-security-c/metadata.xml11
-rw-r--r--dev-libs/xml-security-c/xml-security-c-1.7.3.ebuild48
-rw-r--r--dev-libs/xmlrpc-c/Manifest1
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch20
-rw-r--r--dev-libs/xmlrpc-c/metadata.xml14
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild100
-rw-r--r--dev-libs/xmlrpc-epi/Manifest1
-rw-r--r--dev-libs/xmlrpc-epi/metadata.xml10
-rw-r--r--dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild52
-rw-r--r--dev-libs/xmlsec/Manifest3
-rw-r--r--dev-libs/xmlsec/metadata.xml11
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.18.ebuild57
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.19.ebuild63
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.20.ebuild63
-rw-r--r--dev-libs/xmlwrapp/Manifest3
-rw-r--r--dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-fbsd.patch10
-rw-r--r--dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc-4.3.patch10
-rw-r--r--dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc42_namespace.patch20
-rw-r--r--dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-tests.patch33
-rw-r--r--dev-libs/xmlwrapp/files/xmlwrapp-gentoo.diff12
-rw-r--r--dev-libs/xmlwrapp/metadata.xml9
-rw-r--r--dev-libs/xmlwrapp/xmlwrapp-0.5.0-r1.ebuild55
-rw-r--r--dev-libs/xmlwrapp/xmlwrapp-0.6.3.ebuild41
-rw-r--r--dev-libs/xmlwrapp/xmlwrapp-0.7.1.ebuild39
-rw-r--r--dev-libs/xplc/Manifest1
-rw-r--r--dev-libs/xplc/files/xplc-0.3.13-as-needed.patch22
-rw-r--r--dev-libs/xplc/metadata.xml9
-rw-r--r--dev-libs/xplc/xplc-0.3.13-r1.ebuild42
-rw-r--r--dev-libs/xqilla/Manifest2
-rw-r--r--dev-libs/xqilla/files/2.2.4-respect-ldflags-no-rpath.patch13
-rw-r--r--dev-libs/xqilla/files/xqilla-2.2.4-gcc46.patch11
-rw-r--r--dev-libs/xqilla/files/xqilla-2.2.4-gcc47.patch15
-rw-r--r--dev-libs/xqilla/metadata.xml14
-rw-r--r--dev-libs/xqilla/xqilla-2.2.4.ebuild72
-rw-r--r--dev-libs/xqilla/xqilla-2.3.0.ebuild72
-rw-r--r--dev-libs/xxl/Manifest1
-rw-r--r--dev-libs/xxl/files/xxl-1.0.1-nested-exception.patch12
-rw-r--r--dev-libs/xxl/metadata.xml8
-rw-r--r--dev-libs/xxl/xxl-1.0.1-r1.ebuild33
-rw-r--r--dev-libs/xxl/xxl-1.0.1.ebuild26
-rw-r--r--dev-libs/yajl/Manifest3
-rw-r--r--dev-libs/yajl/files/yajl-2.0.4-pkgconfig_multilib.patch40
-rw-r--r--dev-libs/yajl/files/yajl-fix_static_linking.patch24
-rw-r--r--dev-libs/yajl/files/yajl-fix_tests.patch15
-rw-r--r--dev-libs/yajl/metadata.xml12
-rw-r--r--dev-libs/yajl/yajl-1.0.11-r1.ebuild27
-rw-r--r--dev-libs/yajl/yajl-1.0.11.ebuild30
-rw-r--r--dev-libs/yajl/yajl-2.0.3.ebuild33
-rw-r--r--dev-libs/yajl/yajl-2.0.4-r1.ebuild29
-rw-r--r--dev-libs/yajl/yajl-2.0.4-r2.ebuild37
-rw-r--r--dev-libs/yajl/yajl-2.0.4-r3.ebuild38
-rw-r--r--dev-libs/yaz/Manifest4
-rw-r--r--dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch25
-rw-r--r--dev-libs/yaz/files/yaz-4.2.30-icu-automagic.patch25
-rw-r--r--dev-libs/yaz/metadata.xml11
-rw-r--r--dev-libs/yaz/yaz-3.0.50.ebuild56
-rw-r--r--dev-libs/yaz/yaz-3.0.53.ebuild56
-rw-r--r--dev-libs/yaz/yaz-4.2.30.ebuild56
-rw-r--r--dev-libs/yaz/yaz-4.2.51.ebuild56
-rw-r--r--dev-libs/zthread/Manifest1
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch75
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake.patch45
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-gcc47.patch25
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch26
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff94
-rw-r--r--dev-libs/zthread/metadata.xml8
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r1.ebuild59
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r2.ebuild63
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r3.ebuild66
-rw-r--r--dev-libs/zziplib/Manifest2
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.49-SDL-test.patch14
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.60-ldflags.patch14
-rw-r--r--dev-libs/zziplib/metadata.xml13
-rw-r--r--dev-libs/zziplib/zziplib-0.13.60-r1.ebuild81
-rw-r--r--dev-libs/zziplib/zziplib-0.13.62.ebuild92
2911 files changed, 123153 insertions, 0 deletions
diff --git a/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild b/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild
new file mode 100644
index 000000000000..e6481948bf2b
--- /dev/null
+++ b/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool eutils
+
+MY_PV=${PV/_rc/.rc}
+MY_PV=${MY_PV/_a/.a}
+MY_P=${P/_rc/.rc}
+MY_P=${MY_P/_a/.a}
+
+DESCRIPTION="389 adminutil"
+HOMEPAGE="http://port389.org/"
+SRC_URI="http://port389.org/sources/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/nss-3.11.4
+ >=dev-libs/nspr-4.6.4
+ >=dev-libs/svrcore-4.0.3
+ >=dev-libs/cyrus-sasl-2.1.19
+ >=dev-libs/icu-3.4:=
+ net-nds/openldap"
+DEPEND="virtual/pkgconfig ${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable debug) \
+ --with-fhs \
+ --with-openldap \
+ --disable-rpath \
+ --disable-tests ||die "econf failed"
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake failed"
+ dodoc README NEWS
+}
diff --git a/dev-libs/389-adminutil/Manifest b/dev-libs/389-adminutil/Manifest
new file mode 100644
index 000000000000..65a32469cb1d
--- /dev/null
+++ b/dev-libs/389-adminutil/Manifest
@@ -0,0 +1 @@
+DIST 389-adminutil-1.1.15.tar.bz2 283825 SHA256 8ca29db779c87f3c8c41ba793864454b094f41b5cdbf74b9b45967a81eb17958 SHA512 5ed8d758ee47a2e276bab73696067dd2acd36f15ea5b93b32e3e244530920d74d95a4a4ff96cd325f22ae4ce2cc764fef03c90497c0181cbc1f0291f260d8ddf WHIRLPOOL e68fd5975a2d871e0e2c79580ecc24f48091fc1418ec04816e39799ac17b2495fd3b25c26e7e55626da46210909a8e9ffc1c8d6ad140e3fce0f3665dff0de903
diff --git a/dev-libs/389-adminutil/metadata.xml b/dev-libs/389-adminutil/metadata.xml
new file mode 100644
index 000000000000..a40624fba8f0
--- /dev/null
+++ b/dev-libs/389-adminutil/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/9libs/9libs-1.0-r2.ebuild b/dev-libs/9libs/9libs-1.0-r2.ebuild
new file mode 100644
index 000000000000..2649caebac2f
--- /dev/null
+++ b/dev-libs/9libs/9libs-1.0-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A package of Plan 9 compatibility libraries"
+HOMEPAGE="http://www.netlib.org/research/9libs/9libs-1.0.README"
+SRC_URI="ftp://www.netlib.org/research/9libs/${P}.tar.bz2"
+
+LICENSE="PLAN9"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=x11-proto/xproto-7.0.4
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Bug 385387
+ epatch "${FILESDIR}/${PN}-va_list.patch"
+}
+
+src_configure() {
+ econf \
+ --includedir=/usr/include/9libs \
+ --enable-shared
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ make install DESTDIR="${D}"
+ dodoc README
+
+ # rename some man pages to avoid collisions with dev-libs/libevent
+ local f
+ for f in add balloc bitblt cachechars event frame graphics rgbpix; do
+ mv "${D}"/usr/share/man/man3/${f}.{3,3g} || die
+ done
+}
diff --git a/dev-libs/9libs/Manifest b/dev-libs/9libs/Manifest
new file mode 100644
index 000000000000..094a09f2dee3
--- /dev/null
+++ b/dev-libs/9libs/Manifest
@@ -0,0 +1 @@
+DIST 9libs-1.0.tar.bz2 163744 SHA256 1d14f945782c8c5b0f97d5026181a105041f8c3e374d7f80bd53a87315ea54f6 SHA512 35fdd874dbf9aca07e681d7c3f707d22a45cc8cadb2c273a1fbc5f8303886a6b512eb16fc1b81d64d7f665b16a3b19a8d678a540cd4ad453de853b90905d98d2 WHIRLPOOL d3dac0f7302eb477a7a6160fc2e711084151f54dcb6e94c203ffac62a7a47617c8e644917f49be92028c7730253b95475de5c2312979f5704721bf0466d68f6e
diff --git a/dev-libs/9libs/files/9libs-va_list.patch b/dev-libs/9libs/files/9libs-va_list.patch
new file mode 100644
index 000000000000..eb8da368de3a
--- /dev/null
+++ b/dev-libs/9libs/files/9libs-va_list.patch
@@ -0,0 +1,115 @@
+diff -ru 9libs-1.0/include/libc.h 9libs-1.0-fixed/include/libc.h
+--- 9libs-1.0/include/libc.h 1998-11-10 22:35:27.000000000 +0000
++++ 9libs-1.0-fixed/include/libc.h 2011-10-02 13:27:38.000000000 +0100
+@@ -57,14 +57,14 @@
+ extern int fprint(int, char *, ...);
+ extern int sprint(char *, char *, ...);
+ extern int snprint(char *, int, char *, ...);
+-extern int fmtinstall(int, int (*)(void *, Fconv *));
++extern int fmtinstall(int, int (*)(va_list, Fconv *));
+ extern void strconv(char *, Fconv *);
+ #if defined(PRINT_RUNES)
+ extern void Strconv(Rune *, Fconv *);
+ #endif
+-extern int numbconv(void *, Fconv *);
++extern int numbconv(va_list, Fconv *);
+ extern int fltconv(double, Fconv *);
+-extern char * doprint(char *, char *, char *, void *);
++extern char * doprint(char *, char *, char *, va_list);
+
+ /*
+ * argument parsing - lifted from tcs
+diff -ru 9libs-1.0/libplan9c/doprint.c 9libs-1.0-fixed/libplan9c/doprint.c
+--- 9libs-1.0/libplan9c/doprint.c 1998-11-10 22:35:28.000000000 +0000
++++ 9libs-1.0-fixed/libplan9c/doprint.c 2011-10-02 13:30:25.000000000 +0100
+@@ -73,12 +73,12 @@
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+-static int (*fmtfns[16])(void *, Fconv *) = {
++static int (*fmtfns[16])(va_list, Fconv *) = {
+ numbconv,
+ };
+
+ int
+-fmtinstall(int c, int (*f)(void *, Fconv *))
++fmtinstall(int c, int (*f)(va_list, Fconv *))
+ {
+ int i;
+
+@@ -95,9 +95,8 @@
+ }
+
+ char *
+-doprint(char *s, char *es, char *format, void *argp)
++doprint(char *s, char *es, char *format, va_list ap)
+ {
+- va_list ap = argp;
+ int c;
+ int percent = 0;
+ int dot = 0;
+@@ -218,7 +217,6 @@
+ if (r < 0)
+ f.f3 |= ~r;
+ else {
+- ap += r;
+ s = f.out;
+ percent = 0;
+ }
+@@ -287,13 +285,12 @@
+ #endif
+
+ int
+-numbconv(void *o, Fconv *fp)
++numbconv(va_list ap, Fconv *fp)
+ {
+ static char digits[16] = "0123456789abcdef";
+ char buf[80]; /* arbitrary limit. enough digits, but no limit on f2 */
+ char *s = buf+sizeof(buf)-1;
+ char sign = 0;
+- va_list ap = o;
+ int uc = 0;
+ unsigned long u;
+
+@@ -362,5 +359,5 @@
+ break;
+ }
+ strconv(s, fp);
+- return ap-(va_list)o;
++ return 0;
+ }
+diff -ru 9libs-1.0/libplan9c/tdp.c 9libs-1.0-fixed/libplan9c/tdp.c
+--- 9libs-1.0/libplan9c/tdp.c 1998-11-10 22:35:28.000000000 +0000
++++ 9libs-1.0-fixed/libplan9c/tdp.c 2011-10-02 13:31:58.000000000 +0100
+@@ -122,27 +122,25 @@
+ } Rectangle;
+
+ int
+-Pconv(void *v, Fconv *fp)
++Pconv(va_list ap, Fconv *fp)
+ {
+ char str[50];
+- va_list ap = v;
+ Point *p = va_arg(ap, Point *);
+
+ sprint(str, "(%d,%d)", p->x, p->y);
+ strconv(str, fp);
+- return ap-(va_list)v;
++ return 0;
+ }
+
+ int
+-Rconv(void *v, Fconv *fp)
++Rconv(va_list ap, Fconv *fp)
+ {
+ char str[50];
+- va_list ap = v;
+ Rectangle *r = va_arg(ap, Rectangle *);
+
+ sprint(str, "(%P,%P)", &r->min, &r->max);
+ strconv(str, fp);
+- return ap-(va_list)v;
++ return 0;
+ }
+
+ int
diff --git a/dev-libs/9libs/metadata.xml b/dev-libs/9libs/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/9libs/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/DFB++/DFB++-1.2.0.ebuild b/dev-libs/DFB++/DFB++-1.2.0.ebuild
new file mode 100644
index 000000000000..d2d0781aa762
--- /dev/null
+++ b/dev-libs/DFB++/DFB++-1.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="C++ bindings for DirectFB"
+HOMEPAGE="http://www.directfb.org/dfb++.xml"
+SRC_URI="http://www.directfb.org/downloads/Extras/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/DirectFB-${PV}"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-directfb-api.patch #235041
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/DFB++/Manifest b/dev-libs/DFB++/Manifest
new file mode 100644
index 000000000000..1f0b555300ad
--- /dev/null
+++ b/dev-libs/DFB++/Manifest
@@ -0,0 +1 @@
+DIST DFB++-1.2.0.tar.gz 369240 SHA256 d9281587e02ef288275d639a16abbe72ec0bc4e83f10b3308570f14f9126606a SHA512 8689e1037f5cd19fb7f8e9ebe3eee971e6e51338116fad11a1618df4646daabeab79fec90670f3dc4e227be9ede9821abe927ffbbd0e57511220d3a28a75d1da WHIRLPOOL 950218b861b524ab412429b8af7ea00a8568528e2577b86ff33877998b3474d6dddc678cfc4155e051261aeeef77183b3cf10f6106ea69e59526d3939908b890
diff --git a/dev-libs/DFB++/files/DFB++-1.2.0-directfb-api.patch b/dev-libs/DFB++/files/DFB++-1.2.0-directfb-api.patch
new file mode 100644
index 000000000000..6b6dfc5ba8cb
--- /dev/null
+++ b/dev-libs/DFB++/files/DFB++-1.2.0-directfb-api.patch
@@ -0,0 +1,28 @@
+fix building with DirectFB-1.2.3
+
+http://bugs.gentoo.org/235041
+
+patch by Philippe Weibel
+
+--- dfb++/idirectfbvideoprovider.cpp
++++ dfb++/idirectfbvideoprovider.cpp
+@@ -165,7 +165,7 @@
+ return level;
+ }
+
+-void IDirectFBVideoProvider::SetStreamAttributes (DFBStreamDescription attr)
++void IDirectFBVideoProvider::SetStreamAttributes (DFBStreamAttributes attr)
+ {
+ DFBCHECK( iface->SetStreamAttributes (iface, attr) );
+ }
+--- include/idirectfbvideoprovider.h
++++ include/idirectfbvideoprovider.h
+@@ -68,7 +68,7 @@
+ float GetVolume ();
+
+
+- void SetStreamAttributes (DFBStreamDescription attr);
++ void SetStreamAttributes (DFBStreamAttributes attr);
+
+ void SetAudioOutputs (DFBVideoProviderAudioUnits *audioUnits);
+ DFBVideoProviderAudioUnits GetAudioOutputs ();
diff --git a/dev-libs/DFB++/metadata.xml b/dev-libs/DFB++/metadata.xml
new file mode 100644
index 000000000000..e770d1bc9a96
--- /dev/null
+++ b/dev-libs/DFB++/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>graphics</herd>
+</pkgmetadata>
diff --git a/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild b/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild
new file mode 100644
index 000000000000..d904a72fcc33
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x gl omap pxa3xx sh772x
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 savage sis tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/"
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+ http://directfb.org/downloads/Old/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 -mips ppc ppc64 sh -sparc x86"
+IUSE="debug doc fbcon gif jpeg cpu_flags_x86_mmx png sdl cpu_flags_x86_sse static-libs truetype v4l X zlib ${IUV} ${IUD}"
+
+RDEPEND="sdl? ( media-libs/libsdl )
+ gif? ( media-libs/giflib )
+ png? ( media-libs/libpng )
+ jpeg? ( virtual/jpeg )
+ zlib? ( sys-libs/zlib )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ X? ( x11-libs/libXext x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.2.7-CFLAGS.patch \
+ "${FILESDIR}"/${PN}-1.2.0-headers.patch \
+ "${FILESDIR}"/${PN}-1.1.1-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.4.9-libpng-1.5.patch
+
+ # the media subdir uses sqrt(), so make sure it links in -lm
+ sed -i \
+ -e '/libdirectfb_media_la_LIBADD/s:$: -lm:' \
+ src/media/Makefile.in || die
+
+ # Avoid invoking `ld` directly #300779
+ find . -name Makefile.in -exec sed -i \
+ '/[$](LD)/s:$(LD) -o $@ -r:$(CC) $(LDFLAGS) $(CFLAGS) -Wl,-r -nostdlib -o $@:' {} +
+}
+
+driver_list() {
+ local pfx=$1
+ local dev devs map
+ shift
+ for dev in "$@" ; do
+ use ${pfx}_${dev} || continue
+ map="I_TO_D_${dev}"
+ devs=${devs:+${devs},}${!map:-${dev}}
+ done
+ echo ${devs:-none}
+}
+
+src_configure() {
+ local sdlconf="--disable-sdl"
+ if use sdl ; then
+ # since SDL can link against DirectFB and trigger a
+ # dependency loop, only link against SDL if it isn't
+ # broken #61592
+ echo 'int main(){}' > sdl-test.c
+ $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+ && sdlconf="--enable-sdl" \
+ || ewarn "Disabling SDL since libSDL.so is broken"
+ fi
+
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable gif) \
+ $(use_enable truetype freetype) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ ${sdlconf} \
+ --with-gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})" \
+ --with-inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})" \
+ --disable-vnc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc fb.modes AUTHORS ChangeLog NEWS README* TODO
+ use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+ ewarn "Each DirectFB update breaks DirectFB related applications."
+ ewarn "Please run \"revdep-rebuild\" which can be"
+ ewarn "found by emerging the package 'gentoolkit'."
+ ewarn
+ ewarn "If you have an ALPS touchpad, then you might get your mouse"
+ ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+ ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}
diff --git a/dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild b/dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..59a5e29edd35
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x omap pxa3xx sh772x savage pvr2d
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 sis tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse,serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/"
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+ http://directfb.org/downloads/Old/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~x86"
+IUSE="bmp debug +dynload doc fbcon gif gles2 imlib2 input_hub jpeg jpeg2k cpu_flags_x86_mmx mng mpeg2 multicore opengl png pnm sdl cpu_flags_x86_sse static-libs svg truetype v4l vdpau X zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# gstreamer useflag broken
+# gstreamer? ( media-libs/FusionSound media-libs/gst-plugins-base:0.10 )
+# $(use_enable gstreamer) \
+RDEPEND="
+ gif? ( media-libs/giflib )
+ imlib2? ( media-libs/imlib2 )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/jasper[jpeg] )
+ mng? ( media-libs/libmng )
+ opengl? ( media-libs/mesa[gbm,egl,gles2?] x11-libs/libdrm )
+ png? ( media-libs/libpng:0 )
+ sdl? ( media-libs/libsdl )
+ svg? ( x11-libs/libsvg-cairo )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext x11-libs/libvdpau )
+ X? ( x11-libs/libXext x11-libs/libX11 )
+ zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-flags.patch \
+ "${FILESDIR}"/${P}-pkgconfig.patch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-setregion.patch \
+ "${FILESDIR}"/${P}-atomic-fix-compiler-error-when-building-for-thumb2.patch
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+driver_list() {
+ local pfx=$1
+ local dev devs map
+ shift
+ for dev in "$@" ; do
+ use ${pfx}_${dev} || continue
+ map="I_TO_D_${dev}"
+ devs=${devs:+${devs},}${!map:-${dev}}
+ done
+ echo ${devs:-none}
+}
+
+src_configure() {
+ local sdlconf="--disable-sdl"
+ if use sdl ; then
+ # since SDL can link against DirectFB and trigger a
+ # dependency loop, only link against SDL if it isn't
+ # broken #61592
+ echo 'int main(){}' > sdl-test.c
+ $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+ && sdlconf="--enable-sdl" \
+ || ewarn "Disabling SDL since libSDL.so is broken"
+ fi
+
+ # fix --with-gfxdrivers= logic, because opengl, vdpau and gles2 are no video_cards
+ local gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})"
+ use opengl && gfxdrivers="${gfxdrivers},gl"
+ use vdpau && gfxdrivers="${gfxdrivers},vdpau"
+ use gles2 && gfxdrivers="${gfxdrivers},gles2"
+ gfxdrivers="$(echo ${gfxdrivers} | sed 's/none,//')"
+
+ # fix --with-inputdrivers= logic, don't know where to put "input_hub"
+ local inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})"
+ use input_hub && inputdrivers="${inputdrivers},input_hub"
+ inputdrivers="$(echo ${inputdrivers} | sed 's/none,//')"
+
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mng) \
+ $(use_enable gif) \
+ $(use_enable imlib2) \
+ $(use_enable pnm) \
+ $(use_enable svg) \
+ $(use_enable mpeg2) \
+ $(use_enable bmp) \
+ $(use_enable jpeg2k jpeg2000) \
+ $(use_enable truetype freetype) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ $(use_enable vdpau x11vdpau) \
+ $(use_enable multicore) \
+ $(use_enable dynload) \
+ $(use_enable opengl mesa) \
+ ${sdlconf} \
+ --with-gfxdrivers="${gfxdrivers}" \
+ --with-inputdrivers="${inputdrivers}" \
+ --disable-vnc
+}
+
+src_install() {
+ default
+ dodoc fb.modes
+ use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+ ewarn "Each DirectFB update breaks DirectFB related applications."
+ ewarn "Please run \"revdep-rebuild\" which can be"
+ ewarn "found by emerging the package 'gentoolkit'."
+ ewarn
+ ewarn "If you have an ALPS touchpad, then you might get your mouse"
+ ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+ ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}
diff --git a/dev-libs/DirectFB/DirectFB-1.7.1.ebuild b/dev-libs/DirectFB/DirectFB-1.7.1.ebuild
new file mode 100644
index 000000000000..15012fd530fd
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x omap pxa3xx sh772x savage pvr2d
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 sis tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse,serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/"
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+ http://directfb.org/downloads/Old/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~x86"
+IUSE="alsa bmp cddb debug divine drmkms +dynload doc egl fbcon fusiondale fusionsound gif gles2 gstreamer imlib2 input_hub jpeg jpeg2k mad cpu_flags_x86_mmx mng mpeg2 mpeg3 multicore opengl oss png pnm sawman sdl cpu_flags_x86_sse static-libs svg swfdec tiff timidity tremor truetype v4l vdpau vorbis webp X xine zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# ffmpeg useflag broken
+# ffmpeg? ( virtual/ffmpeg )
+# $(use_enable ffmpeg) \
+RDEPEND="
+ alsa? ( media-libs/alsa-lib )
+ cddb? ( media-libs/libcddb )
+ drmkms? ( x11-libs/libdrm[libkms] )
+ gif? ( media-libs/giflib )
+ gstreamer? ( media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 )
+ imlib2? ( media-libs/imlib2 )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/jasper[jpeg] )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng )
+ mpeg3? ( media-libs/libmpeg3 )
+ opengl? ( media-libs/mesa[gbm,egl?,gles2?] x11-libs/libdrm )
+ png? ( media-libs/libpng:0 )
+ sdl? ( media-libs/libsdl )
+ svg? ( x11-libs/libsvg-cairo )
+ swfdec? ( media-libs/swfdec )
+ tiff? ( media-libs/tiff:0 )
+ timidity? (
+ media-libs/libtimidity
+ media-sound/timidity++
+ )
+ tremor? ( media-libs/tremor )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext x11-libs/libvdpau )
+ vorbis? ( media-libs/libvorbis )
+ webp? ( media-libs/libwebp )
+ X? ( x11-libs/libXext x11-libs/libX11 )
+ xine? ( media-libs/xine-lib[vdpau?] )
+ zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-flags.patch \
+ "${FILESDIR}"/${PN}-1.6.3-pkgconfig.patch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${PN}-1.6.3-setregion.patch \
+ "${FILESDIR}"/${PN}-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
+ sed -i \
+ -e '/#define RASPBERRY_PI/d' \
+ systems/egl/egl_system.c || die #497124
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+driver_list() {
+ local pfx=$1
+ local dev devs map
+ shift
+ for dev in "$@" ; do
+ use ${pfx}_${dev} || continue
+ map="I_TO_D_${dev}"
+ devs=${devs:+${devs},}${!map:-${dev}}
+ done
+ echo ${devs:-none}
+}
+
+src_configure() {
+ local myaudio="wave"
+ use alsa && myaudio+=",alsa"
+ use oss && myaudio+=",oss"
+
+ local sdlconf="--disable-sdl"
+ if use sdl ; then
+ # since SDL can link against DirectFB and trigger a
+ # dependency loop, only link against SDL if it isn't
+ # broken #61592
+ echo 'int main(){}' > sdl-test.c
+ $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+ && sdlconf="--enable-sdl" \
+ || ewarn "Disabling SDL since libSDL.so is broken"
+ fi
+
+ # fix --with-gfxdrivers= logic, because opengl, vdpau and gles2 are no video_cards
+ local gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})"
+ use opengl && gfxdrivers="${gfxdrivers},gl"
+ use vdpau && gfxdrivers="${gfxdrivers},vdpau"
+ use gles2 && gfxdrivers="${gfxdrivers},gles2"
+ gfxdrivers="$(echo ${gfxdrivers} | sed 's/none,//')"
+
+ # fix --with-inputdrivers= logic, don't know where to put "input_hub"
+ local inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})"
+ use input_hub && inputdrivers="${inputdrivers},input_hub"
+ inputdrivers="$(echo ${inputdrivers} | sed 's/none,//')"
+
+ # The xine-vdpau flag requires a custom patch to xine-lib which we don't carry:
+ # http://git.directfb.org/?p=extras/DirectFB-extra.git;a=blob;f=interfaces/IDirectFBVideoProvider/xine-lib-1.2-vdpau-hooks.patch;hb=HEAD
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable divine) \
+ $(use_enable sawman) \
+ $(use_enable fusiondale) \
+ $(use_enable fusionsound) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable egl) \
+ $(use_enable egl idirectfbgl-egl) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mng) \
+ $(use_enable gstreamer) \
+ $(use_enable gif) \
+ $(use_enable tiff) \
+ $(use_enable imlib2) \
+ $(use_enable pnm) \
+ $(use_enable svg) \
+ $(use_enable mpeg2) \
+ $(use_enable mpeg3 libmpeg3) \
+ --disable-flash \
+ $(use_enable xine) \
+ --disable-xine-vdpau \
+ --disable-ffmpeg \
+ $(use_enable bmp) \
+ $(use_enable jpeg2k jpeg2000) \
+ --disable-openquicktime \
+ --disable-avifile \
+ $(use_enable truetype freetype) \
+ $(use_enable webp) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ $(use_enable vdpau x11vdpau) \
+ $(use_enable multicore) \
+ $(use_enable dynload) \
+ $(use_enable opengl mesa) \
+ $(use_enable drmkms) \
+ --with-fs-drivers="${myaudio}" \
+ $(use_with timidity) \
+ --with-wave \
+ $(use_with vorbis) \
+ $(use_with tremor) \
+ $(use_with mad) \
+ $(use_with cddb cdda) \
+ --with-playlist \
+ ${sdlconf} \
+ --with-gfxdrivers="${gfxdrivers}" \
+ --with-inputdrivers="${inputdrivers}" \
+ --disable-vnc
+}
+
+src_install() {
+ default
+ dodoc fb.modes
+ use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+ ewarn "Each DirectFB update breaks DirectFB related applications."
+ ewarn "Please run \"revdep-rebuild\" which can be"
+ ewarn "found by emerging the package 'gentoolkit'."
+ ewarn
+ ewarn "If you have an ALPS touchpad, then you might get your mouse"
+ ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+ ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}
diff --git a/dev-libs/DirectFB/DirectFB-1.7.5.ebuild b/dev-libs/DirectFB/DirectFB-1.7.5.ebuild
new file mode 100644
index 000000000000..3cb9a398ad0b
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.5.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x omap pxa3xx sh772x savage pvr2d
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 sis tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse,serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/"
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+ http://directfb.org/downloads/Old/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~x86"
+IUSE="alsa bmp cddb debug divine drmkms +dynload doc egl fbcon fusiondale fusionsound gif gles2 gstreamer imlib2 input_hub jpeg jpeg2k mad cpu_flags_x86_mmx mng mpeg2 mpeg3 multicore opengl oss png pnm sawman sdl cpu_flags_x86_sse static-libs svg swfdec tiff timidity tremor truetype v4l vdpau vorbis webp X xine zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# ffmpeg useflag broken
+# ffmpeg? ( virtual/ffmpeg )
+# $(use_enable ffmpeg) \
+RDEPEND="
+ alsa? ( media-libs/alsa-lib )
+ cddb? ( media-libs/libcddb )
+ drmkms? ( x11-libs/libdrm[libkms] )
+ gif? ( media-libs/giflib )
+ gstreamer? ( media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 )
+ imlib2? ( media-libs/imlib2 )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/jasper[jpeg] )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng )
+ mpeg3? ( media-libs/libmpeg3 )
+ opengl? ( media-libs/mesa[gbm,egl?,gles2?] x11-libs/libdrm )
+ png? ( media-libs/libpng:0 )
+ sdl? ( media-libs/libsdl )
+ svg? ( x11-libs/libsvg-cairo )
+ swfdec? ( media-libs/swfdec )
+ tiff? ( media-libs/tiff:0 )
+ timidity? (
+ media-libs/libtimidity
+ media-sound/timidity++
+ )
+ tremor? ( media-libs/tremor )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext x11-libs/libvdpau )
+ vorbis? ( media-libs/libvorbis )
+ webp? ( media-libs/libwebp )
+ X? ( x11-libs/libXext x11-libs/libX11 )
+ xine? ( media-libs/xine-lib[vdpau?] )
+ zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.7.5-flags.patch \
+ "${FILESDIR}"/${PN}-1.6.3-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.7.1-build.patch \
+ "${FILESDIR}"/${PN}-1.6.3-setregion.patch \
+ "${FILESDIR}"/${PN}-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
+ sed -i \
+ -e '/#define RASPBERRY_PI/d' \
+ systems/egl/egl_system.c || die #497124
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+driver_list() {
+ local pfx=$1
+ local dev devs map
+ shift
+ for dev in "$@" ; do
+ use ${pfx}_${dev} || continue
+ map="I_TO_D_${dev}"
+ devs=${devs:+${devs},}${!map:-${dev}}
+ done
+ echo ${devs:-none}
+}
+
+src_configure() {
+ local myaudio="wave"
+ use alsa && myaudio+=",alsa"
+ use oss && myaudio+=",oss"
+
+ local sdlconf="--disable-sdl"
+ if use sdl ; then
+ # since SDL can link against DirectFB and trigger a
+ # dependency loop, only link against SDL if it isn't
+ # broken #61592
+ echo 'int main(){}' > sdl-test.c
+ $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+ && sdlconf="--enable-sdl" \
+ || ewarn "Disabling SDL since libSDL.so is broken"
+ fi
+
+ # fix --with-gfxdrivers= logic, because opengl, vdpau and gles2 are no video_cards
+ local gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})"
+ use opengl && gfxdrivers="${gfxdrivers},gl"
+ use vdpau && gfxdrivers="${gfxdrivers},vdpau"
+ use gles2 && gfxdrivers="${gfxdrivers},gles2"
+ gfxdrivers="$(echo ${gfxdrivers} | sed 's/none,//')"
+
+ # fix --with-inputdrivers= logic, don't know where to put "input_hub"
+ local inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})"
+ use input_hub && inputdrivers="${inputdrivers},input_hub"
+ inputdrivers="$(echo ${inputdrivers} | sed 's/none,//')"
+
+ # The xine-vdpau flag requires a custom patch to xine-lib which we don't carry:
+ # http://git.directfb.org/?p=extras/DirectFB-extra.git;a=blob;f=interfaces/IDirectFBVideoProvider/xine-lib-1.2-vdpau-hooks.patch;hb=HEAD
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable divine) \
+ $(use_enable sawman) \
+ $(use_enable fusiondale) \
+ $(use_enable fusionsound) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable egl) \
+ $(use_enable egl idirectfbgl-egl) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mng) \
+ $(use_enable gstreamer) \
+ $(use_enable gif) \
+ $(use_enable tiff) \
+ $(use_enable imlib2) \
+ $(use_enable pnm) \
+ $(use_enable svg) \
+ $(use_enable mpeg2) \
+ $(use_enable mpeg3 libmpeg3) \
+ --disable-flash \
+ $(use_enable xine) \
+ --disable-xine-vdpau \
+ --disable-ffmpeg \
+ $(use_enable bmp) \
+ $(use_enable jpeg2k jpeg2000) \
+ --disable-openquicktime \
+ --disable-avifile \
+ $(use_enable truetype freetype) \
+ $(use_enable webp) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ $(use_enable vdpau x11vdpau) \
+ $(use_enable multicore) \
+ $(use_enable dynload) \
+ $(use_enable opengl mesa) \
+ $(use_enable drmkms) \
+ --with-fs-drivers="${myaudio}" \
+ $(use_with timidity) \
+ --with-wave \
+ $(use_with vorbis) \
+ $(use_with tremor) \
+ $(use_with mad) \
+ $(use_with cddb cdda) \
+ --with-playlist \
+ ${sdlconf} \
+ --with-gfxdrivers="${gfxdrivers}" \
+ --with-inputdrivers="${inputdrivers}" \
+ --disable-vnc
+}
+
+src_install() {
+ default
+ dodoc fb.modes
+ use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+ ewarn "Each DirectFB update breaks DirectFB related applications."
+ ewarn "Please run \"revdep-rebuild\" which can be"
+ ewarn "found by emerging the package 'gentoolkit'."
+ ewarn
+ ewarn "If you have an ALPS touchpad, then you might get your mouse"
+ ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+ ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}
diff --git a/dev-libs/DirectFB/DirectFB-1.7.6.ebuild b/dev-libs/DirectFB/DirectFB-1.7.6.ebuild
new file mode 100644
index 000000000000..99d1bded1d94
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.6.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x omap pxa3xx sh772x savage pvr2d
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 sis tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ *::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse,serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/"
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+ http://directfb.org/downloads/Old/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~x86"
+IUSE="alsa bmp cddb debug divine drmkms +dynload doc egl fbcon fusiondale fusionsound gif gles2 gstreamer imlib2 input_hub jpeg jpeg2k mad cpu_flags_x86_mmx mng mpeg2 mpeg3 multicore opengl oss png pnm sawman sdl cpu_flags_x86_sse static-libs swfdec tiff timidity tremor truetype v4l vdpau vorbis webp X xine zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# ffmpeg useflag broken
+# ffmpeg? ( virtual/ffmpeg )
+# $(use_enable ffmpeg) \
+RDEPEND="
+ alsa? ( media-libs/alsa-lib )
+ cddb? ( media-libs/libcddb )
+ drmkms? ( x11-libs/libdrm[libkms] )
+ gif? ( media-libs/giflib )
+ gstreamer? ( media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 )
+ imlib2? ( media-libs/imlib2 )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/jasper[jpeg] )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng )
+ mpeg3? ( media-libs/libmpeg3 )
+ opengl? ( media-libs/mesa[gbm,egl?,gles2?] x11-libs/libdrm )
+ png? ( media-libs/libpng:0 )
+ sdl? ( media-libs/libsdl )
+ swfdec? ( media-libs/swfdec )
+ tiff? ( media-libs/tiff:0 )
+ timidity? (
+ media-libs/libtimidity
+ media-sound/timidity++
+ )
+ tremor? ( media-libs/tremor )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext x11-libs/libvdpau )
+ vorbis? ( media-libs/libvorbis )
+ webp? ( media-libs/libwebp )
+ X? ( x11-libs/libXext x11-libs/libX11 )
+ xine? ( media-libs/xine-lib[vdpau?] )
+ zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.7.5-flags.patch \
+ "${FILESDIR}"/${PN}-1.6.3-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.7.1-build.patch \
+ "${FILESDIR}"/${PN}-1.6.3-setregion.patch \
+ "${FILESDIR}"/${PN}-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch \
+ "${FILESDIR}"/${PN}-1.7.6-cle266.patch
+ sed -i \
+ -e '/#define RASPBERRY_PI/d' \
+ systems/egl/egl_system.c || die #497124
+ sed -i \
+ -e '/^CXXFLAGS=.*-Werror-implicit-function-declaration/d' \
+ configure.in || die #526196
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+driver_list() {
+ local pfx=$1
+ local dev devs map
+ shift
+ for dev in "$@" ; do
+ use ${pfx}_${dev} || continue
+ map="I_TO_D_${dev}"
+ devs=${devs:+${devs},}${!map:-${dev}}
+ done
+ echo ${devs:-none}
+}
+
+src_configure() {
+ local myaudio="wave"
+ use alsa && myaudio+=",alsa"
+ use oss && myaudio+=",oss"
+
+ local sdlconf="--disable-sdl"
+ if use sdl ; then
+ # since SDL can link against DirectFB and trigger a
+ # dependency loop, only link against SDL if it isn't
+ # broken #61592
+ echo 'int main(){}' > sdl-test.c
+ $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+ && sdlconf="--enable-sdl" \
+ || ewarn "Disabling SDL since libSDL.so is broken"
+ fi
+
+ # fix --with-gfxdrivers= logic, because opengl, vdpau and gles2 are no video_cards
+ local gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})"
+ use opengl && gfxdrivers="${gfxdrivers},gl"
+ use vdpau && gfxdrivers="${gfxdrivers},vdpau"
+ use gles2 && gfxdrivers="${gfxdrivers},gles2"
+ gfxdrivers="$(echo ${gfxdrivers} | sed 's/none,//')"
+
+ # fix --with-inputdrivers= logic, don't know where to put "input_hub"
+ local inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})"
+ use input_hub && inputdrivers="${inputdrivers},input_hub"
+ inputdrivers="$(echo ${inputdrivers} | sed 's/none,//')"
+
+ # The xine-vdpau flag requires a custom patch to xine-lib which we don't carry:
+ # http://git.directfb.org/?p=extras/DirectFB-extra.git;a=blob;f=interfaces/IDirectFBVideoProvider/xine-lib-1.2-vdpau-hooks.patch;hb=HEAD
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable divine) \
+ $(use_enable sawman) \
+ $(use_enable fusiondale) \
+ $(use_enable fusionsound) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable egl) \
+ $(use_enable egl idirectfbgl-egl) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mng) \
+ $(use_enable gstreamer) \
+ $(use_enable gif) \
+ $(use_enable tiff) \
+ $(use_enable imlib2) \
+ $(use_enable pnm) \
+ --disable-svg \
+ $(use_enable mpeg2) \
+ $(use_enable mpeg3 libmpeg3) \
+ --disable-flash \
+ $(use_enable xine) \
+ --disable-xine-vdpau \
+ --disable-ffmpeg \
+ $(use_enable bmp) \
+ $(use_enable jpeg2k jpeg2000) \
+ --disable-openquicktime \
+ --disable-avifile \
+ $(use_enable truetype freetype) \
+ $(use_enable webp) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ $(use_enable vdpau x11vdpau) \
+ $(use_enable multicore) \
+ $(use_enable dynload) \
+ $(use_enable opengl mesa) \
+ $(use_enable drmkms) \
+ --with-fs-drivers="${myaudio}" \
+ $(use_with timidity) \
+ --with-wave \
+ $(use_with vorbis) \
+ $(use_with tremor) \
+ $(use_with mad) \
+ $(use_with cddb cdda) \
+ --with-playlist \
+ ${sdlconf} \
+ --with-gfxdrivers="${gfxdrivers}" \
+ --with-inputdrivers="${inputdrivers}" \
+ --disable-vnc
+}
+
+src_install() {
+ default
+ dodoc fb.modes
+ use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+ ewarn "Each DirectFB update breaks DirectFB related applications."
+ ewarn "Please run \"revdep-rebuild\" which can be"
+ ewarn "found by emerging the package 'gentoolkit'."
+ ewarn
+ ewarn "If you have an ALPS touchpad, then you might get your mouse"
+ ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+ ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}
diff --git a/dev-libs/DirectFB/Manifest b/dev-libs/DirectFB/Manifest
new file mode 100644
index 000000000000..18dfc4e9b722
--- /dev/null
+++ b/dev-libs/DirectFB/Manifest
@@ -0,0 +1,5 @@
+DIST DirectFB-1.4.9.tar.gz 3095137 SHA256 988a40dbc81fe1ecaf69a3581ed49bf4f6bbb584cb54de24cba154d3ada7a228 SHA512 ec7e03f9f3bfffafd0d84676b79845fabe59d61ac278adf4e3cd03562638529a24ff76bd606c881926cae335da00f71541e2245d0aecd4af957b95ea66c7d969 WHIRLPOOL 310c079e0f396828ddfdec0695e26a04fbea2a8a9fd90066212cf70e94a371c8b0f8b29141374db788ac247a92d01e19b0d1ddc36c78beefb6cef5aeefd173e1
+DIST DirectFB-1.6.3.tar.gz 4296908 SHA256 7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70 SHA512 86fb98951a4dc579b0d60e96976e6d85bf99e35f2fbd0d5f7cdc3d7c9ea0242052ff8dbb46bfb093e70439158cda37000e67d2a05265d3a6d2e7ac7231c2ebb7 WHIRLPOOL ce9d1f3a1e7e9aaed3572244390c0dec87faa5e8af1a58153ad849774e08be0037f42983852de323cab745dc6b3d018640ec2d5987270b6a4b5ab7595bbd97aa
+DIST DirectFB-1.7.1.tar.gz 5875460 SHA256 dd7de38b3cd1408411b37ca28ec73e14b7672e5e28256b7bf91826240c81f519 SHA512 caf24c04b8155b9b9dbea321c627925f60809aa7edd1ab4f9fcf28a40e14accdb2a4226f5de7a26ab5928b7df7fd85c616a966d036800ba2a675724314065982 WHIRLPOOL 9d1448b48e8fec0dac633e5afd6eb92d48edfa3874998d88d50a7dec99c89a20d738cfbcf0aef8cff346cffc0901bf5e675c6df92bbf97a35880add34877b90d
+DIST DirectFB-1.7.5.tar.gz 5996591 SHA256 7b76d4a48aa71cce4d5e1878afc548cc48f21d55751d8d5aa4c4cdfcbb40ed03 SHA512 d447f2c3892d90902773ae58e0f0cc87b384070f6f5d63a2412138d7c4a53288b688092fa681e6489dcbf36b2bd48c3e3aab162da52680499841b07b5a6daa4f WHIRLPOOL 123e1ab63e556fa50c9a4b288a773f55d3ab46fe4ed5d32b2198f140fde9afaa98167112a3bfbb9e0496349463e37ea36a32200f278b7bdc1cfb1b9dfbabafb8
+DIST DirectFB-1.7.6.tar.gz 5975444 SHA256 44f32bacfb842ea234599532f8481fe41b5bd2310d2bd101508eb3a5df26c9e1 SHA512 18cf1aad6c277a6de147a9b0aff1cd7408ddd7c7159ef21dab9a548db7399c681603624e7820b186a29e03edaa7737350a61e2abaec572887e9cc56658bf85a2 WHIRLPOOL 2868906bbd2b4e681c6702f164f7ba4f01a0f538aea0c744c6e77ce32b274a967232ef0046ec21b74c9c53c4824182e632159cca5ea0c7c27292cb258257d6a8
diff --git a/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch b/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch
new file mode 100644
index 000000000000..01a119ec7aec
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/200661
+
+--- DirectFB/directfb-config.in
++++ DirectFB/directfb-config.in
+@@ -306,7 +306,7 @@
+ libs="$libs -ldirectfb -lfusion -ldirect @THREADLIB@"
+
+ if test -n "$echo_static"; then
+- libs="$libs @DYNLIB@ @ZLIB_LIBS@"
++ libs="$libs @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@"
+ fi
+ fi
+
+--- DirectFB/directfb.pc.in
++++ DirectFB/directfb.pc.in
+@@ -8,5 +8,5 @@
+ Version: @VERSION@
+ Requires: fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+-Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
++Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@
+ Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
diff --git a/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch b/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch
new file mode 100644
index 000000000000..dc2e6d33be28
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch
@@ -0,0 +1,16 @@
+Don't rely on the kernel to tell us what the cpu target is ... we'll just
+use the default values all the time instead.
+
+http://bugs.gentoo.org/152614
+
+--- lib/direct/ppcasm_memcpy_cachable.S
++++ lib/direct/ppcasm_memcpy_cachable.S
+@@ -34,8 +34,6 @@
+
+ #define __ASSEMBLY__
+
+-#include <linux/config.h>
+-
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+ #define L1_CACHE_LINE_SIZE 16
+ #define LG_L1_CACHE_LINE_SIZE 4
diff --git a/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch b/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch
new file mode 100644
index 000000000000..92e3ed8bdda7
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch
@@ -0,0 +1,19 @@
+--- DirectFB-1.2.7/configure
++++ DirectFB-1.2.7/configure
+@@ -22953,8 +22953,6 @@
+ CFLAGS=
+ fi
+
+-CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
+-
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+
+ # Check whether --enable-extra-warnings was given.
+@@ -23622,7 +23620,6 @@
+ fi
+
+ if test "$enable_debug" = "yes"; then
+- CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
+ DIRECT_BUILD_DEBUG=1
+ else
+ DIRECT_BUILD_DEBUG=0
diff --git a/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch b/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch
new file mode 100644
index 000000000000..e428afbaf7c3
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch
@@ -0,0 +1,244 @@
+From 83180b25e90721e717bf37c5332c22713508786e Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:18:19 -0500
+Subject: [PATCH] png: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ .../idirectfbimageprovider_png.c | 56 ++++++++++++-------
+ 1 files changed, 35 insertions(+), 21 deletions(-)
+
+diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+index 6d65ea3..7d82c5c 100644
+--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
++++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+@@ -207,7 +207,7 @@ Construct( IDirectFBImageProvider *thiz,
+ if (!data->png_ptr)
+ goto error;
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error reading header!\n" );
+ goto error;
+ }
+@@ -292,7 +292,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ rect = dst_data->area.wanted;
+ }
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error during decoding!\n" );
+
+ if (data->stage < STAGE_IMAGE)
+@@ -327,6 +327,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ CoreSurfaceBufferLock lock;
++ png_byte bit_depth = png_get_bit_depth( data->png_ptr, data->info_ptr );
+
+ ret = dfb_surface_lock_buffer( dst_surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
+ if (ret)
+@@ -334,7 +335,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE:
+- if (dst_surface->config.format == DSPF_LUT8 && data->info_ptr->bit_depth == 8) {
++ if (dst_surface->config.format == DSPF_LUT8 && bit_depth == 8) {
+ /*
+ * Special indexed PNG to LUT8 loading.
+ */
+@@ -377,7 +378,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ if (data->color_type == PNG_COLOR_TYPE_GRAY) {
+- int num = 1 << data->info_ptr->bit_depth;
++ int num = 1 << bit_depth;
+
+ for (x=0; x<num; x++) {
+ int value = x * 255 / (num - 1);
+@@ -386,7 +387,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ }
+
+- switch (data->info_ptr->bit_depth) {
++ switch (bit_depth) {
+ case 8:
+ for (y=0; y<data->height; y++) {
+ u8 *S = data->image + data->pitch * y;
+@@ -441,7 +442,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ default:
+ D_ERROR( "ImageProvider/PNG: Unsupported indexed bit depth %d!\n",
+- data->info_ptr->bit_depth );
++ bit_depth );
+ }
+
+ dfb_scale_linear_32( image_argb, data->width, data->height,
+@@ -594,16 +595,26 @@ png_info_callback( png_structp png_read_ptr,
+ NULL, NULL, NULL );
+
+ if (png_get_valid( data->png_ptr, data->info_ptr, PNG_INFO_tRNS )) {
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
++
+ data->color_keyed = true;
+
+ /* generate color key based on palette... */
+ if (data->color_type == PNG_COLOR_TYPE_PALETTE) {
+ u32 key;
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_colors = MIN( MAXCOLORMAPSIZE,
+- data->info_ptr->num_palette );
+- u8 cmap[3][num_colors];
++ png_colorp palette;
++ int num_colors;
++ u8 *cmap[3];
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ cmap[0] = alloca (num_colors);
++ cmap[1] = alloca (num_colors);
++ cmap[2] = alloca (num_colors);
+
+ for (i=0; i<num_colors; i++) {
+ cmap[0][i] = palette[i].red;
+@@ -613,7 +624,7 @@ png_info_callback( png_structp png_read_ptr,
+
+ key = FindColorKey( num_colors, &cmap[0][0] );
+
+- for (i=0; i<data->info_ptr->num_trans; i++) {
++ for (i=0; i<num_trans; i++) {
+ if (!trans[i]) {
+ palette[i].red = (key & 0xff0000) >> 16;
+ palette[i].green = (key & 0x00ff00) >> 8;
+@@ -625,20 +636,23 @@ png_info_callback( png_structp png_read_ptr,
+ }
+ else {
+ /* ...or based on trans rgb value */
+- png_color_16p trans = &data->info_ptr->trans_color;
+-
+- data->color_key = (((trans->red & 0xff00) << 8) |
+- ((trans->green & 0xff00)) |
+- ((trans->blue & 0xff00) >> 8));
++ data->color_key = (((trans_color->red & 0xff00) << 8) |
++ ((trans_color->green & 0xff00)) |
++ ((trans_color->blue & 0xff00) >> 8));
+ }
+ }
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE: {
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_trans = data->info_ptr->num_trans;
+- int num_colors = MIN( MAXCOLORMAPSIZE, data->info_ptr->num_palette );
++ png_colorp palette;
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++ int num_colors;
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
+
+ for (i=0; i<num_colors; i++) {
+ data->colors[i].a = (i < num_trans) ? trans[i] : 0xff;
+--
+1.7.4.1
+
+From 7a2a36fada3ecdd7f48fcfd782a552598477a8f5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:38:50 -0500
+Subject: [PATCH] tools: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tools/directfb-csource.c | 20 +++++++++++++-------
+ tools/mkdfiff.c | 2 +-
+ tools/mkdgifft.cpp | 2 +-
+ 3 files changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/tools/directfb-csource.c b/tools/directfb-csource.c
+index 8f2cbf0..487ea3c 100644
+--- a/tools/directfb-csource.c
++++ b/tools/directfb-csource.c
+@@ -338,7 +338,7 @@ static DFBResult load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+@@ -405,17 +405,22 @@ static DFBResult load_image (const char *filename,
+ }
+
+ switch (src_format) {
+- case DSPF_LUT8:
+- if (info_ptr->num_palette) {
++ case DSPF_LUT8: {
++ png_colorp png_palette;
++ int num_palette;
++
++ png_get_PLTE( png_ptr, info_ptr, &png_palette, &num_palette );
++
++ if (num_palette) {
+ png_byte *alpha;
+ int i, num;
+
+- *palette_size = MIN (info_ptr->num_palette, 256);
++ *palette_size = MIN (num_palette, 256);
+ for (i = 0; i < *palette_size; i++) {
+ palette[i].a = 0xFF;
+- palette[i].r = info_ptr->palette[i].red;
+- palette[i].g = info_ptr->palette[i].green;
+- palette[i].b = info_ptr->palette[i].blue;
++ palette[i].r = png_palette[i].red;
++ palette[i].g = png_palette[i].green;
++ palette[i].b = png_palette[i].blue;
+ }
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
+@@ -424,6 +429,7 @@ static DFBResult load_image (const char *filename,
+ }
+ }
+ break;
++ }
+ case DSPF_RGB32:
+ png_set_filler (png_ptr, 0xFF,
+ #ifdef WORDS_BIGENDIAN
+diff --git a/tools/mkdfiff.c b/tools/mkdfiff.c
+index 68a3b4f..edb58a7 100644
+--- a/tools/mkdfiff.c
++++ b/tools/mkdfiff.c
+@@ -97,7 +97,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+diff --git a/tools/mkdgifft.cpp b/tools/mkdgifft.cpp
+index 96e4220..d4b6bf4 100644
+--- a/tools/mkdgifft.cpp
++++ b/tools/mkdgifft.cpp
+@@ -595,7 +595,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+--
+1.7.4.1
+
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
new file mode 100644
index 000000000000..06f56fed39d7
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
@@ -0,0 +1,50 @@
+From 253e1d0d10bdece158f8f68dc48c19ab57d2da29 Mon Sep 17 00:00:00 2001
+From: Mandeep Singh Baines <msb@chromium.org>
+Date: Mon, 18 Mar 2013 19:03:36 -0700
+Subject: [PATCH] atomic: fix compiler error when building for thumb2
+
+Fixed the following error:
+
+{standard input}: Assembler messages:
+{standard input}:179: Error: thumb conditional instruction should be in IT block
+-- `strexeq r4,r1,[r2]'
+{standard input}:283: Error: thumb conditional instruction should be in IT block
+-- `strexeq r1,r4,[r2]'
+{standard input}:379: Error: thumb conditional instruction should be in IT block
+-- `strexeq r1,r2,[r0]'
+make[4]: *** [fifo.lo] Error 1
+
+Fix was to add the appropriate it block.
+
+While I was at it, I optimized the code a bit by:
+
+1) Moved the mov instruction above the ldrex to minimize the number
+of instructions between the ldex and strex as recommeded here:
+http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFFBJB.html
+2) Saved 4 bytes by replacing mov with movs and teq with cmp.
+
+Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
+---
+ lib/direct/atomic.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/direct/atomic.h b/lib/direct/atomic.h
+index 94cb0c9..8dc0dfb 100644
+--- a/lib/direct/atomic.h
++++ b/lib/direct/atomic.h
+@@ -191,9 +191,10 @@ static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new)
+
+ do {
+ __asm__ __volatile__("@ atomic_cmpxchg\n"
++ "movs %0, #0\n"
+ "ldrex %1, [%2]\n"
+- "mov %0, #0\n"
+- "teq %1, %3\n"
++ "cmp %1, %3\n"
++ "it eq\n"
+ "strexeq %0, %4, [%2]\n"
+ : "=&r" (res), "=&r" (oldval)
+ : "r" (ptr), "Ir" (old), "r" (_new)
+--
+1.7.12.4
+
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch
new file mode 100644
index 000000000000..241875187941
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch
@@ -0,0 +1,33 @@
+--- DirectFB-1.6.3/interfaces/IDirectFBImageProvider/Makefile.am
++++ DirectFB-1.6.3/interfaces/IDirectFBImageProvider/Makefile.am
+@@ -59,15 +59,15 @@
+ MPEG2_PROVIDER =
+ endif
+
+-INCLUDES = \
++AM_CPPFLAGS =
++AM_CPPFLAGS = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+- -I$(top_srcdir)/src
+-
+-AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS)
++ -I$(top_srcdir)/src \
++ -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS) $(SVG_CFLAGS)
+
+ idirectfbimageprovider_LTLIBRARIES = \
+ libidirectfbimageprovider_dfiff.la \
+--- DirectFB-1.6.3/configure.in
++++ DirectFB-1.6.3/configure.in
+@@ -980,7 +980,7 @@
+ dnl Test for libmng
+ MNG=no
+
+-AC_ARG_ENABLE(mngg,
++AC_ARG_ENABLE(mng,
+ AC_HELP_STRING([--enable-mng],
+ [build MNG image provider @<:@default=yes@:>@]),
+ [], [enable_mng=yes])
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch
new file mode 100644
index 000000000000..d20b05bf816f
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch
@@ -0,0 +1,11 @@
+--- DirectFB-1.6.3/configure.in
++++ DirectFB-1.6.3/configure.in
+@@ -457,7 +457,7 @@
+ [enable debugging @<:@default=no@:>@]),
+ [], [enable_debug=no])
+ if test "$enable_debug" = "yes"; then
+- CFLAGS="-g3 -O0 -fno-inline -Wno-inline $CFLAGS"
++ CFLAGS="-fno-inline -Wno-inline $CFLAGS"
+ DIRECT_BUILD_DEBUG=1
+ else
+ DIRECT_BUILD_DEBUG=0
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch
new file mode 100644
index 000000000000..2c71bc96f9e6
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/200661
+
+--- DirectFB/directfb-config.in
++++ DirectFB/directfb-config.in
+@@ -300,7 +300,7 @@
+ libs="$libs -ldirectfb -lfusion -ldirect @THREADLIB@"
+
+ if test -n "$echo_static"; then
+- libs="$libs @DYNLIB@ @ZLIB_LIBS@"
++ libs="$libs @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@"
+ fi
+ fi
+
+--- DirectFB/directfb.pc.in
++++ DirectFB/directfb.pc.in
+@@ -9,5 +9,5 @@
+ Version: @VERSION@
+ Requires: @DEP_VOODOO@ fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+-Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@
++Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@
+ Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch
new file mode 100644
index 000000000000..8d25a51920d7
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch
@@ -0,0 +1,85 @@
+https://build.opensuse.org/package/view_file?expand=1&file=DirectFB-setregion.patch&package=DirectFB&project=openSUSE%3AFactory
+
+--- gfxdrivers/cyber5k/cyber5k.c
++++ gfxdrivers/cyber5k/cyber5k.c
+@@ -636,7 +636,8 @@ osdSetRegion( CoreLayer
+ CoreLayerRegionConfigFlags updated,
+ CoreSurface *surface,
+ CorePalette *palette,
+- CoreSurfaceBufferLock *lock )
++ CoreSurfaceBufferLock *left_lock,
++ CoreSurfaceBufferLock *right_lock )
+ {
+ DFBResult ret;
+
+@@ -644,7 +645,7 @@ osdSetRegion( CoreLayer
+ ret = oldPrimaryFuncs.SetRegion( layer, oldPrimaryDriverData,
+ layer_data, region_data,
+ config, updated, surface,
+- palette, lock );
++ palette, left_lock, right_lock );
+ if (ret)
+ return ret;
+
+--- gfxdrivers/radeon/radeon_crtc1.c
++++ gfxdrivers/radeon/radeon_crtc1.c
+@@ -147,14 +147,15 @@ crtc1SetRegion( CoreLayer
+ CoreLayerRegionConfigFlags updated,
+ CoreSurface *surface,
+ CorePalette *palette,
+- CoreSurfaceBufferLock *lock )
++ CoreSurfaceBufferLock *left_lock,
++ CoreSurfaceBufferLock *right_lock )
+ {
+
+ if (updated & ~CLRCF_OPTIONS) {
+ return OldPrimaryLayerFuncs.SetRegion( layer,
+ OldPrimaryLayerDriverData,
+ layer_data, region_data,
+- config, updated, surface, palette, lock );
++ config, updated, surface, palette, left_lock, right_lock );
+ }
+
+ return DFB_OK;
+--- gfxdrivers/cle266/uc_primary.c
++++ gfxdrivers/cle266/uc_primary.c
+@@ -138,7 +138,8 @@ osdSetRegion( CoreLayer
+ CoreLayerRegionConfigFlags updated,
+ CoreSurface *surface,
+ CorePalette *palette,
+- CoreSurfaceBufferLock *lock )
++ CoreSurfaceBufferLock *left_lock,
++ CoreSurfaceBufferLock *right_lock )
+ {
+ DFBResult ret;
+ UcDriverData *ucdrv = (UcDriverData*) driver_data;
+@@ -147,7 +148,7 @@ osdSetRegion( CoreLayer
+ ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData,
+ layer_data, region_data,
+ config, updated, surface,
+- palette, lock );
++ palette, left_lock, right_lock );
+ if (ret)
+ return ret;
+
+--- gfxdrivers/unichrome/uc_primary.c
++++ gfxdrivers/unichrome/uc_primary.c
+@@ -135,7 +135,8 @@ osdSetRegion( CoreLayer
+ CoreLayerRegionConfigFlags updated,
+ CoreSurface *surface,
+ CorePalette *palette,
+- CoreSurfaceBufferLock *lock )
++ CoreSurfaceBufferLock *left_lock,
++ CoreSurfaceBufferLock *right_lock )
+ {
+ DFBResult ret;
+ UcDriverData *ucdrv = (UcDriverData*) driver_data;
+@@ -144,7 +145,7 @@ osdSetRegion( CoreLayer
+ ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData,
+ layer_data, region_data,
+ config, updated, surface,
+- palette, lock );
++ palette, left_lock, right_lock );
+ if (ret)
+ return ret;
+
diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch b/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch
new file mode 100644
index 000000000000..28c92eb79b02
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch
@@ -0,0 +1,27 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Sat Dec 28 23:52:03 2013 +0100
+
+ * INCLUDES is deprecated, use AM_CPPFLAGS instead
+ * add missing SVG_CFLAGS
+
+--- a/interfaces/IDirectFBImageProvider/Makefile.am
++++ b/interfaces/IDirectFBImageProvider/Makefile.am
+@@ -77,15 +77,14 @@ else
+ FFMPEG_PROVIDER_LTLIB =
+ endif
+
+-INCLUDES = \
++AM_CPPFLAGS = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+- -I$(top_srcdir)/src
+-
+-AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS) $(FFMPEG_CFLAGS)
++ -I$(top_srcdir)/src \
++ -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS) $(FFMPEG_CFLAGS) $(SVG_CFLAGS)
+
+ idirectfbimageprovider_LTLIBRARIES = \
+ libidirectfbimageprovider_dfiff.la \
diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch b/dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch
new file mode 100644
index 000000000000..65221755cb01
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch
@@ -0,0 +1,63 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Sat Dec 28 23:48:53 2013 +0100
+
+ * respect system flags
+ * remove Werror, it breaks the build
+
+--- a/configure.in
++++ b/configure.in
+@@ -194,12 +194,7 @@ AM_CONDITIONAL(X11VDPAU_CORE, test "$enable_x11vdpau" = "yes")
+ AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h)
+
+
+-dnl Clear default CFLAGS
+-if test x"$CFLAGS" = x"-g -O2"; then
+- CFLAGS=
+-fi
+-
+-CFLAGS="-ffast-math -pipe $CFLAGS"
++CFLAGS="-ffast-math $CFLAGS"
+
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+
+@@ -467,7 +462,7 @@ AC_ARG_ENABLE(debug,
+ [enable debugging @<:@default=no@:>@]),
+ [], [enable_debug=no])
+ if test "$enable_debug" = "yes"; then
+- CFLAGS="-g3 -O0 -fno-inline -Wno-inline $CFLAGS"
++ CFLAGS="-fno-inline -Wno-inline $CFLAGS"
+ DIRECT_BUILD_DEBUG=1
+ else
+ DIRECT_BUILD_DEBUG=0
+@@ -483,13 +478,8 @@ AC_ARG_ENABLE(debug-support,
+ [], [enable_debug_support=yes])
+ if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
+ enable_debug_support=yes
+- if test "$enable_debug" = "no"; then
+- CFLAGS="-g2 $CFLAGS"
+- fi
+- CFLAGS="-O3 $CFLAGS"
+ DIRECT_BUILD_DEBUGS=1
+ else
+- CFLAGS="-O3 -g0 $CFLAGS"
+ DIRECT_BUILD_DEBUGS=0
+ fi
+ AM_CONDITIONAL(ENABLE_DEBUGS, test "$enable_debug_support" = "yes")
+@@ -2750,8 +2750,6 @@
+
+ AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
+
+-CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
+-
+ AC_ARG_ENABLE(extra-warnings,
+ AC_HELP_STRING([--enable-extra-warnings],
+ [enable extra warnings @<:@default=no@:>@]),
+@@ -2761,7 +2759,7 @@
+ fi
+
+ if test "$GCC" = "yes"; then
+- CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration $CFLAGS"
++ CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing $CFLAGS"
+ CXXFLAGS="-Wall -Wno-strict-aliasing $CXXFLAGS"
+ fi
+
diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch b/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch
new file mode 100644
index 000000000000..485cd1934fc6
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch
@@ -0,0 +1,63 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Sat Dec 28 23:48:53 2013 +0100
+
+ * respect system flags
+ * remove Werror, it breaks the build
+
+--- a/configure.in
++++ b/configure.in
+@@ -194,12 +194,7 @@ AM_CONDITIONAL(X11VDPAU_CORE, test "$enable_x11vdpau" = "yes")
+ AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h)
+
+
+-dnl Clear default CFLAGS
+-if test x"$CFLAGS" = x"-g -O2"; then
+- CFLAGS=
+-fi
+-
+-CFLAGS="-ffast-math -pipe $CFLAGS"
++CFLAGS="-ffast-math $CFLAGS"
+
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+
+@@ -467,7 +462,7 @@ AC_ARG_ENABLE(debug,
+ [enable debugging @<:@default=no@:>@]),
+ [], [enable_debug=no])
+ if test "$enable_debug" = "yes"; then
+- CFLAGS="-g3 -O0 -fno-inline -Wno-inline $CFLAGS"
++ CFLAGS="-fno-inline -Wno-inline $CFLAGS"
+ DIRECT_BUILD_DEBUG=1
+ else
+ DIRECT_BUILD_DEBUG=0
+@@ -483,13 +478,8 @@ AC_ARG_ENABLE(debug-support,
+ [], [enable_debug_support=yes])
+ if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
+ enable_debug_support=yes
+- if test "$enable_debug" = "no"; then
+- CFLAGS="-g2 $CFLAGS"
+- fi
+- CFLAGS="-O3 $CFLAGS"
+ DIRECT_BUILD_DEBUGS=1
+ else
+- CFLAGS="-O3 -g0 $CFLAGS"
+ DIRECT_BUILD_DEBUGS=0
+ fi
+ AM_CONDITIONAL(ENABLE_DEBUGS, test "$enable_debug_support" = "yes")
+@@ -2750,8 +2750,6 @@
+
+ AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
+
+-CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
+-
+ AC_ARG_ENABLE(extra-warnings,
+ AC_HELP_STRING([--enable-extra-warnings],
+ [enable extra warnings @<:@default=no@:>@]),
+@@ -2761,7 +2759,7 @@
+ fi
+
+ if test "$GCC" = "yes"; then
+- CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration $CFLAGS"
++ CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing $CFLAGS"
+ CXXFLAGS="-Wall -Wno-strict-aliasing -std=$CXXSTD $CXXFLAGS"
+ fi
+
diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch b/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch
new file mode 100644
index 000000000000..ff72f5339dbf
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/527986
+
+--- a/gfxdrivers/cle266/uc_overlay.c 2015-02-10 15:26:24.931309401 -0800
++++ b/gfxdrivers/cle266/uc_overlay.c 2015-02-10 15:26:47.229309401 -0800
+@@ -246,7 +246,7 @@
+ dfb_surface_flip(surface, false);
+
+ ucovl->field = 0;
+- ucovl->lock = lock;
++ ucovl->lock = left_lock;
+
+ ret = uc_ovl_update(ucdrv, ucovl, UC_OVL_FLIP, surface, left_lock);
+ if (ret)
diff --git a/dev-libs/DirectFB/metadata.xml b/dev-libs/DirectFB/metadata.xml
new file mode 100644
index 000000000000..4145b8688eca
--- /dev/null
+++ b/dev-libs/DirectFB/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>graphics</herd>
+ <longdescription>
+ DirectFB is a thin library that provides hardware graphics
+ acceleration, input device handling and abstraction, integrated
+ windowing system with support for translucent windows and
+ multiple display layers on top of the Linux Framebuffer Device.
+ It is a complete hardware abstraction layer with software
+ fallbacks for every graphics operation that is not supported
+ by the underlying hardware. DirectFB adds graphical power to
+ embedded systems and sets a new standard for graphics under
+ Linux.
+ </longdescription>
+ <use>
+ <flag name="bmp">build BMP image provider</flag>
+ <flag name="divine">enable DiVine</flag>
+ <flag name="drmkms">build with DRM/KMS support</flag>
+ <flag name="dynload">enable dynload support</flag>
+ <flag name="egl">build with EGL support</flag>
+ <flag name="fusiondale">enable FusionDale</flag>
+ <flag name="fusionsound">enable FusionSound</flag>
+ <flag name="gles2">build gles2 gfxdriver</flag>
+ <flag name="imlib2">build Imlib2 image provider</flag>
+ <flag name="input_hub">provides an asynchronous interface
+ to the input devices available and those being
+ added/removed</flag>
+ <flag name="mpeg2">build MPEG2 image provider</flag>
+ <flag name="mpeg3">build Libmpeg3 video provider</flag>
+ <flag name="multicore">enable multicore support</flag>
+ <flag name="pnm">build PNM (PBM/PGM/PPM) image provider</flag>
+ <flag name="sawman">enable SaWMan (window manager and
+ application manager)</flag>
+ <flag name="swfdec">build Swfdec (Flash decoder) video
+ provider</flag>
+ <flag name="tremor">build Ogg/Vorbis music provider using
+ Tremor</flag>
+ <flag name="webp">build WebP image provider</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/Ice/Ice-3.5.1.ebuild b/dev-libs/Ice/Ice-3.5.1.ebuild
new file mode 100644
index 000000000000..33d31cf261c1
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.5.1.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby19"
+
+inherit toolchain-funcs versionator python-r1 mono-env ruby-ng db-use
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="http://www.zeroc.com/"
+SRC_URI="http://www.zeroc.com/download/Ice/$(get_version_component_range 1-2)/${P}.tar.gz
+ doc? ( http://www.zeroc.com/download/Ice/$(get_version_component_range 1-2)/${P}.pdf )"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 x86 ~x86-linux ~x64-macos"
+IUSE="doc examples +ncurses mono python ruby test debug"
+
+RDEPEND=">=dev-libs/expat-2.0.1
+ >=app-arch/bzip2-1.0.5
+ >=dev-libs/openssl-0.9.8o:0
+ || (
+ sys-libs/db:5.3[cxx]
+ sys-libs/db:5.1[cxx]
+ sys-libs/db:4.8[cxx]
+ )
+ ~dev-cpp/libmcpp-2.7.2
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby19) )
+ mono? ( dev-lang/mono )
+ !dev-python/IcePy
+ !dev-ruby/IceRuby"
+DEPEND="${RDEPEND}
+ ncurses? ( sys-libs/ncurses sys-libs/readline )
+ test? ( ${PYTHON_DEPS} )"
+
+# Maintainer notes:
+# - yes, we have to do the trickery with the move for the python functions
+# since the build and test frameworks deduce various settings from the path
+# and they can't be tricked by a symlink. And we also need
+# SUPPORT_PYTHON_ABIS=1 otherwise we can't get pyc/pyo anymore the sane way.
+# TODO: php bindings
+# TODO: java bindings
+
+#overwrite ruby-ng.eclass default
+S="${WORKDIR}/${P}"
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ :;
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ sed -i \
+ -e 's|\(install_docdir[[:space:]]*\):=|\1?=|' \
+ -e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \
+ cpp/config/Make.rules || die "sed failed"
+
+ sed -i \
+ -e 's|\(install_pythondir[[:space:]]*\):=|\1?=|' \
+ -e 's|\(install_rubydir[[:space:]]*\):=|\1?=|' \
+ -e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \
+ {py,rb}/config/Make.rules || die "sed failed"
+
+ sed -i \
+ -e 's|-O2 ||g' \
+ -e 's|-Werror ||g' \
+ cpp/config/Make.rules.Linux || die "sed failed"
+
+ sed -i \
+ -e 's|install-common||' \
+ -e 's|demo||' \
+ {cpp,cs,php,py,rb}/Makefile || die "sed failed"
+
+ sed -i \
+ -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
+ cs/config/Make.rules.cs || die "sed failed"
+
+ # skip mono tests, bug #498484
+ sed -i \
+ -e 's|^\(SUBDIRS.*\)test|\1|' \
+ cs/Makefile || die "sed failed"
+
+ if ! use test ; then
+ sed -i \
+ -e 's|^\(SUBDIRS.*\)test|\1|' \
+ {cpp,php,py,rb}/Makefile || die "sed failed"
+ fi
+}
+
+suitable_db_version() {
+ local tested_slots="5.3 5.1 4.8"
+ for ver in ${tested_slots}; do
+ if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
+ echo ${ver}
+ return 0
+ fi
+ done
+ die "No suitable BerkDB versions found, aborting"
+}
+
+src_configure() {
+ MAKE_RULES="prefix=\"${ED}/usr\"
+ install_docdir=\"${ED}/usr/share/doc/${PF}\"
+ install_configdir=\"${ED}/usr/share/Ice-${PV}/config\"
+ install_mandir=\"${ED}/usr/share/man\"
+ embedded_runpath_prefix=\"${EPREFIX}/usr\"
+ LP64=yes"
+
+ use ncurses && OPTIONS="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no"
+ use debug && OPTIONS"${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes"
+
+ local BERKDB_VERSION="$(suitable_db_version)"
+ MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})"
+ sed -i \
+ -e "s|g++|$(tc-getCXX)|" \
+ -e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
+ -e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
+ -e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
+ -e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
+ cpp/config/Make.rules{,.Linux} py/config/Make.rules || die "sed failed"
+
+ if use python ; then
+ S=${S}/py python_copy_sources
+
+ # make a place for the symlink
+ rm -r py/python || die
+ fi
+
+ if use ruby ; then
+ SITERUBY="$(ruby19 -r rbconfig -e 'print Config::CONFIG["sitedir"]')"
+ MAKE_RULES_RB="install_rubydir=\"${ED}/${SITERUBY}\"
+ install_libdir=\"${ED}/${SITERUBY}\""
+
+ # make it use ruby19 only
+ sed -i \
+ -e 's|RUBY = ruby|\019|' \
+ rb/config/Make.rules || die "sed failed"
+ fi
+
+ MAKE_RULES_CS="GACINSTALL=yes GAC_ROOT=\"${ED}/usr/$(get_libdir)\" GAC_DIR=${EPREFIX}/usr/$(get_libdir)"
+
+ use test && python_export_best
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp ${MAKE_RULES} || die "emake failed"
+
+ if use doc ; then
+ emake -C cpp/doc || die "building docs failed"
+ fi
+
+ if use python ; then
+ building() {
+ emake -C "${BUILD_DIR}" ${MAKE_RULES} || die "emake py-${EPYTHON} failed"
+ }
+ BUILD_DIR=py python_foreach_impl building
+ fi
+
+ if use ruby ; then
+ emake -C rb ${MAKE_RULES} ${MAKE_RULES_RB} || die "emake rb failed"
+ fi
+
+ if use mono ; then
+ emake -C cs ${MAKE_RULES} ${MAKE_RULES_CS} || die "emake cs failed"
+ fi
+}
+
+src_install() {
+ dodoc CHANGES README
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp ${MAKE_RULES} install || die "emake install failed"
+
+ docinto cpp
+ dodoc CHANGES README
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples-cpp
+ doins cpp/config/*.cfg
+ doins -r cpp/demo/*
+ fi
+
+ if use doc ; then
+ dohtml -r cpp/doc/reference/*
+ dodoc "${DISTDIR}/${P}.pdf"
+ fi
+
+ if use python ; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" ${MAKE_RULES} \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install || die "emake py-${EPYTHON} install failed"
+ }
+ BUILD_DIR=py python_foreach_impl installation
+
+ docinto py
+ dodoc py/CHANGES py/README
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples-py
+ doins -r py/demo/*
+ fi
+ fi
+
+ if use ruby ; then
+ dodir "${SITERUBY}"
+ emake -C rb ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake rb install failed"
+
+ docinto rb
+ dodoc rb/CHANGES rb/README
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples-rb
+ doins -r rb/demo/*
+ fi
+ fi
+
+ if use mono ; then
+ emake -C cs ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake cs install failed"
+
+ # TODO: anyone has an idea what those are for?
+ rm "${ED}"/usr/bin/*.xml
+
+ docinto cs
+ dodoc cs/CHANGES cs/README
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples-cs
+ doins -r cs/demo/*
+ fi
+ fi
+}
+
+run_tests() {
+ # Run tests through the script interface since Python test runner
+ # fails to exit with non-zero code for some reason.
+
+ pushd "${1}" >/dev/null || die
+ ./allTests.py --script | sh
+ ret=${?}
+ popd >/dev/null || die
+
+ return ${ret}
+}
+
+src_test() {
+ run_tests cpp || die "emake cpp test failed"
+
+ if use python ; then
+ testing() {
+ # tests require that the directory is named 'py'
+ ln -f -s ../"${BUILD_DIR}"/python py/python || die
+ run_tests py || die "emake py-${EPYTHON} test failed"
+ }
+ BUILD_DIR=py python_foreach_impl testing
+ fi
+
+ if use ruby ; then
+ run_tests rb || die "emake rb test failed"
+ fi
+
+ if use mono ; then
+ # skip mono tests, bug #498484
+ ewarn "Tests for C# are currently disabled."
+# run_tests cs || die "emake cs test failed"
+ fi
+}
diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest
new file mode 100644
index 000000000000..e2bfe639327a
--- /dev/null
+++ b/dev-libs/Ice/Manifest
@@ -0,0 +1,2 @@
+DIST Ice-3.5.1.pdf 8279548 SHA256 236f509a3868301ebe688f50417f30155ffa1d330a6c7ab3ef926d40ab145150 SHA512 6fe78ed629de330c56cf260a0a78d650ad9e1507d737a8e58c616f1c61897487dae2f9fb942f1e878706dbc645cb9c672377eeef905f8764b57dd7e6f8d1c7f2 WHIRLPOOL 9fc90d131b028b74f3393df88adb8719a1fef0f829a6226e833c95bcf3bc6b53394a11e3722f0fad2a5597b2468498728310a6e974e1dcb1138fea0ab5b68b28
+DIST Ice-3.5.1.tar.gz 4799296 SHA256 989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392 SHA512 610fa317bd75e64802d1b5216db4747f86157d3246a2022397bafaefdd9b1b78d131733762003ee779065401c8a83120db65cf9b86fbf1914266309571baf58f WHIRLPOOL 0b760edcd7e3eb1220af81a2236634b86775a18050b0645e4e662bf0fb543aa14177d83e2c8659a62bd5bf6e403384998b893e84b9d547c32bbc2064b5f7de9c
diff --git a/dev-libs/Ice/files/Ice-3.4.1-db5.patch b/dev-libs/Ice/files/Ice-3.4.1-db5.patch
new file mode 100644
index 000000000000..44183ae997af
--- /dev/null
+++ b/dev-libs/Ice/files/Ice-3.4.1-db5.patch
@@ -0,0 +1,16 @@
+--- ./cpp/src/Freeze/MapI.cpp
++++ ./cpp/src/Freeze/MapI.cpp
+@@ -1487,10 +1487,10 @@ Freeze::MapHelperI::size() const
+
+ try
+ {
+-#if DB_VERSION_MAJOR != 4
+-#error Freeze requires DB 4.x
++#if DB_VERSION_MAJOR < 4
++#error Freeze requires DB 4.x or greater
+ #endif
+-#if DB_VERSION_MINOR < 3
++#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR < 3
+ _db->stat(&s, 0);
+ #else
+ _db->stat(_connection->dbTxn(), &s, 0); \ No newline at end of file
diff --git a/dev-libs/Ice/files/Ice-3.4.2-gcc46.patch b/dev-libs/Ice/files/Ice-3.4.2-gcc46.patch
new file mode 100644
index 000000000000..a047c6e8541c
--- /dev/null
+++ b/dev-libs/Ice/files/Ice-3.4.2-gcc46.patch
@@ -0,0 +1,10 @@
+--- Ice-3.4.1.old/cpp/include/Ice/Buffer.h 2010-06-03 17:48:33.000000000 +0100
++++ Ice-3.4.1.old/cpp/include/Ice/Buffer.h 2011-07-20 13:20:04.000000000 +0100
+@@ -11,6 +11,7 @@
+ #define ICEE_BUFFER_H
+
+ #include <Ice/Config.h>
++#include <cstddef>
+
+ namespace IceInternal
+ {
diff --git a/dev-libs/Ice/metadata.xml b/dev-libs/Ice/metadata.xml
new file mode 100644
index 000000000000..8a5655080a27
--- /dev/null
+++ b/dev-libs/Ice/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <maintainer>
+ <email>cpp@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Ice is a C++ middleware technology with bindings for other languages.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/MicroJSON/Manifest b/dev-libs/MicroJSON/Manifest
new file mode 100644
index 000000000000..50df207a9ac8
--- /dev/null
+++ b/dev-libs/MicroJSON/Manifest
@@ -0,0 +1,2 @@
+DIST MicroJSON-0.3.1.tar.bz2 5585 SHA256 5eeca2a13081f5a9c1796786cd0d5a449879067b62214d308c75fb1b1e24fed7 SHA512 de4a7e0268898704872e4bff81c3dc4083702f497e7a8772773bfb1930448f692ede29684741eb6b5bfeff7bb918577a14e79652e6b5e513965a81a69b5b6991 WHIRLPOOL b504e3371fbc90dd3fdfba65a558d96331aeb586372ea72236d43fbf1e50915752fa8f75a3038289d1b5b11c1c544a784baee44ef9a75c4014c6cf0407126345
+DIST MicroJSON-0.3.2.tar.bz2 5657 SHA256 a93f9333c9bb0867722fb0fb74dbc7f4142752e39a9195436faa67cb3efeff4a SHA512 06dced1f9ae4ef955b6e730e222266d89604ca8e38326c692eceac9f641a3233df8d90c41a10d2a360057320be9ce4e1b5ba70fa5e8934cfea7028f53a102a88 WHIRLPOOL a0557ca78a00fb6a2c83643a0f3a74373fc35460312ed526d87a10d49db9e012afd490ed2e8d5190a77e23b53e44e6401d923a84d551c271d5799a993562e5d5
diff --git a/dev-libs/MicroJSON/MicroJSON-0.3.1.ebuild b/dev-libs/MicroJSON/MicroJSON-0.3.1.ebuild
new file mode 100644
index 000000000000..7ea1ab0590d7
--- /dev/null
+++ b/dev-libs/MicroJSON/MicroJSON-0.3.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils
+
+DESCRIPTION="Small and simple to use JSON generation and parsing library"
+HOMEPAGE="http://grigory.info/${PN}.About.html"
+SRC_URI="http://grigory.info/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND=">=dev-libs/UTF8Strings-1.12.0"
+
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/MicroJSON/MicroJSON-0.3.2.ebuild b/dev-libs/MicroJSON/MicroJSON-0.3.2.ebuild
new file mode 100644
index 000000000000..ad1293d6a735
--- /dev/null
+++ b/dev-libs/MicroJSON/MicroJSON-0.3.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils
+
+DESCRIPTION="Small and simple to use JSON generation and parsing library"
+HOMEPAGE="http://grigory.info/${PN}.About.html"
+SRC_URI="http://grigory.info/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~mips ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND=">=dev-libs/UTF8Strings-1.12.0"
+
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/MicroJSON/metadata.xml b/dev-libs/MicroJSON/metadata.xml
new file mode 100644
index 000000000000..e73da0ee5c0a
--- /dev/null
+++ b/dev-libs/MicroJSON/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>gorelov@grigory.info</email>
+ <name>Gorelov Grigory</name>
+ <description>Maintainer and upstream developer.</description>
+ </maintainer>
+ <herd>proxy-maintainers</herd>
+ <longdescription>
+ Small and simple to use JSON generation and parsing library.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/OpenNI/Manifest b/dev-libs/OpenNI/Manifest
new file mode 100644
index 000000000000..c47972f8cb88
--- /dev/null
+++ b/dev-libs/OpenNI/Manifest
@@ -0,0 +1 @@
+DIST OpenNI-1.5.7.10.tar.gz 23378582 SHA256 34b0bbf68633bb213dcb15408f979d5384bdceb04e151fa519e107a12e225852 SHA512 f7b6106198c4314584cf327744e9d8b193ff9f2e8d416769aafb2aeeda0593ccbb37c3187ed75f1960d2ae8e80e8f30e0fced9ff82e20fe6f24c54246f77d512 WHIRLPOOL 663025a0f388792054e0e628597bce692ddaadf2b51655c6fe1f6ffb74c054e9dd7889feb7652024aad24919701c02813e19d430292079e12f47c677c041c55e
diff --git a/dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild
new file mode 100644
index 000000000000..deb957980eba
--- /dev/null
+++ b/dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/OpenNI/OpenNI/archive/Stable-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-Stable-${PV}"
+fi
+
+DESCRIPTION="OpenNI SDK"
+HOMEPAGE="https://github.com/OpenNI/OpenNI"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java opengl"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ dev-libs/tinyxml
+ opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] )
+ java? ( >=virtual/jre-1.5 )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/tinyxml.patch" \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/soname.patch"
+
+ rm -rf External/{LibJPEG,TinyXml}
+ for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do
+ echo "" > ${i}
+ done
+
+ find . -type f -print0 | xargs -0 sed -i "s:\".*/SamplesConfig.xml:\"${EPREFIX}/usr/share/${PN}/SamplesConfig.xml:" || die
+}
+
+src_compile() {
+ emake -C "${S}/Platform/Linux/Build" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_JAVA_PROJS="") \
+ $(usex java "" JAVA_SAMPLES="") \
+ ALL_MONO_PROJS="" \
+ MONO_SAMPLES="" \
+ MONO_FORMS_SAMPLES=""
+
+ if use doc ; then
+ cd "${S}/Source/DoxyGen"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Platform/Linux/Bin/"*Release/*.so
+
+ insinto /usr/include/openni
+ doins -r Include/*
+
+ dobin "${S}/Platform/Linux/Bin/"*Release/{ni*,Ni*,Sample-*}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Platform/Linux/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ insinto /usr/share/${PN}
+ doins Data/*
+
+ dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README
+
+ if use doc ; then
+ dohtml -r "${S}/Source/DoxyGen/html/"*
+ dodoc Source/DoxyGen/Text/*.txt
+ fi
+
+ keepdir /var/lib/ni
+}
+
+pkg_postinst() {
+ if [ "${ROOT:-/}" = "/" ] ; then
+ for i in "${EROOR}/usr/$(get_libdir)"/libnim*.so ; do
+ einfo "Registering module ${i}"
+ niReg -r "${i}"
+ done
+ fi
+}
diff --git a/dev-libs/OpenNI/OpenNI-9999.ebuild b/dev-libs/OpenNI/OpenNI-9999.ebuild
new file mode 100644
index 000000000000..deb957980eba
--- /dev/null
+++ b/dev-libs/OpenNI/OpenNI-9999.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/OpenNI/OpenNI/archive/Stable-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-Stable-${PV}"
+fi
+
+DESCRIPTION="OpenNI SDK"
+HOMEPAGE="https://github.com/OpenNI/OpenNI"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java opengl"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ dev-libs/tinyxml
+ opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] )
+ java? ( >=virtual/jre-1.5 )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/tinyxml.patch" \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/soname.patch"
+
+ rm -rf External/{LibJPEG,TinyXml}
+ for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do
+ echo "" > ${i}
+ done
+
+ find . -type f -print0 | xargs -0 sed -i "s:\".*/SamplesConfig.xml:\"${EPREFIX}/usr/share/${PN}/SamplesConfig.xml:" || die
+}
+
+src_compile() {
+ emake -C "${S}/Platform/Linux/Build" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_JAVA_PROJS="") \
+ $(usex java "" JAVA_SAMPLES="") \
+ ALL_MONO_PROJS="" \
+ MONO_SAMPLES="" \
+ MONO_FORMS_SAMPLES=""
+
+ if use doc ; then
+ cd "${S}/Source/DoxyGen"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Platform/Linux/Bin/"*Release/*.so
+
+ insinto /usr/include/openni
+ doins -r Include/*
+
+ dobin "${S}/Platform/Linux/Bin/"*Release/{ni*,Ni*,Sample-*}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Platform/Linux/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ insinto /usr/share/${PN}
+ doins Data/*
+
+ dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README
+
+ if use doc ; then
+ dohtml -r "${S}/Source/DoxyGen/html/"*
+ dodoc Source/DoxyGen/Text/*.txt
+ fi
+
+ keepdir /var/lib/ni
+}
+
+pkg_postinst() {
+ if [ "${ROOT:-/}" = "/" ] ; then
+ for i in "${EROOR}/usr/$(get_libdir)"/libnim*.so ; do
+ einfo "Registering module ${i}"
+ niReg -r "${i}"
+ done
+ fi
+}
diff --git a/dev-libs/OpenNI/files/jpeg.patch b/dev-libs/OpenNI/files/jpeg.patch
new file mode 100644
index 000000000000..46f5dfd3d873
--- /dev/null
+++ b/dev-libs/OpenNI/files/jpeg.patch
@@ -0,0 +1,23 @@
+Index: OpenNI-9999/Platform/Linux/Build/Modules/nimCodecs/Makefile
+===================================================================
+--- OpenNI-9999.orig/Platform/Linux/Build/Modules/nimCodecs/Makefile
++++ OpenNI-9999/Platform/Linux/Build/Modules/nimCodecs/Makefile
+@@ -2,15 +2,13 @@ BIN_DIR = ../../../Bin
+
+ INC_DIRS = \
+ ../../../../../Include \
+- ../../../../../Source \
+- ../../../../../Externals/LibJPEG
++ ../../../../../Source
+
+ SRC_FILES = \
+- ../../../../../Source/Modules/nimCodecs/*.cpp \
+- ../../../../../Externals/LibJPEG/*.c
++ ../../../../../Source/Modules/nimCodecs/*.cpp
+
+ LIB_NAME = nimCodecs
+-USED_LIBS = OpenNI
++USED_LIBS = OpenNI jpeg
+
+ include ../../Common/CommonCppMakefile
+
diff --git a/dev-libs/OpenNI/files/soname.patch b/dev-libs/OpenNI/files/soname.patch
new file mode 100644
index 000000000000..b12a1e892e0f
--- /dev/null
+++ b/dev-libs/OpenNI/files/soname.patch
@@ -0,0 +1,13 @@
+Index: OpenNI-9999/Platform/Linux/Build/Common/CommonCppMakefile
+===================================================================
+--- OpenNI-9999.orig/Platform/Linux/Build/Common/CommonCppMakefile
++++ OpenNI-9999/Platform/Linux/Build/Common/CommonCppMakefile
+@@ -78,7 +78,7 @@ ifneq "$(LIB_NAME)" ""
+ ifneq ("$(OSTYPE)","Darwin")
+ LDFLAGS += -Wl,--no-undefined
+ OUTPUT_NAME = lib$(LIB_NAME).so
+- OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared
++ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) -Wl,-soname,$(notdir $(OUTPUT_FILE)) $(LDFLAGS) -shared
+ else
+ LDFLAGS += -undefined error
+ OUTPUT_NAME = lib$(LIB_NAME).dylib
diff --git a/dev-libs/OpenNI/files/tinyxml.patch b/dev-libs/OpenNI/files/tinyxml.patch
new file mode 100644
index 000000000000..801cabbd7708
--- /dev/null
+++ b/dev-libs/OpenNI/files/tinyxml.patch
@@ -0,0 +1,29 @@
+Index: OpenNI-9999/Platform/Linux/Build/OpenNI/Makefile
+===================================================================
+--- OpenNI-9999.orig/Platform/Linux/Build/OpenNI/Makefile
++++ OpenNI-9999/Platform/Linux/Build/OpenNI/Makefile
+@@ -4,13 +4,11 @@ BIN_DIR = ../../Bin
+
+ INC_DIRS = \
+ ../../../../Include \
+- ../../../../Source \
+- ../../../../Externals/TinyXml
++ ../../../../Source
+
+ SRC_FILES = \
+ ../../../../Source/OpenNI/*.cpp \
+- ../../../../Source/OpenNI/Linux/*.cpp \
+- ../../../../Externals/TinyXml/*.cpp
++ ../../../../Source/OpenNI/Linux/*.cpp
+
+ ifeq ("$(OSTYPE)","Darwin")
+ INC_DIRS += /opt/local/include
+@@ -19,7 +17,7 @@ ifeq ("$(OSTYPE)","Darwin")
+ endif
+
+ LIB_NAME = OpenNI
+-USED_LIBS = usb-1.0 dl pthread
++USED_LIBS = usb-1.0 dl pthread tinyxml
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt
+ endif
diff --git a/dev-libs/OpenNI/metadata.xml b/dev-libs/OpenNI/metadata.xml
new file mode 100644
index 000000000000..ffc80287d0b1
--- /dev/null
+++ b/dev-libs/OpenNI/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenNI/OpenNI</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/OpenNI2/Manifest b/dev-libs/OpenNI2/Manifest
new file mode 100644
index 000000000000..ff2b12413090
--- /dev/null
+++ b/dev-libs/OpenNI2/Manifest
@@ -0,0 +1 @@
+DIST OpenNI2-2.2_beta2.tar.gz 8681740 SHA256 28302633ddfbcba5fc1ea82737e783fe031714ef49fbbee78ee4309171b7c5f7 SHA512 60a3a3043679f3069aea869e92dc5881328ce4393d4140ea8d089027321ac501ae27d283657214e2834d216d0d49bf4f29a4b3d3e43df27a6ed21f889cd0083f WHIRLPOOL f166b70b921b17a32c417baf084d1caec05dd5456429e16b3dbe6bef8f1bfa099aeb6f8856d167355ccc1d768b00143ac5a085a36cb1464d7d828bdae1c81001
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
new file mode 100644
index 000000000000..0a2acf427c35
--- /dev/null
+++ b/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/occipital/openni2"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+DESCRIPTION="OpenNI2 SDK"
+HOMEPAGE="http://structure.io/openni"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java neon opengl static-libs"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ opengl? ( media-libs/freeglut )
+ java? ( >=virtual/jre-1.5 )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/rpath.patch" \
+ "${FILESDIR}/soname.patch" \
+ "${FILESDIR}/pthread.patch"
+
+ rm -rf ThirdParty/LibJPEG
+ for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
+ echo "" > ${i}
+ done
+}
+
+src_compile() {
+ use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ ALLOW_WARNINGS=1 \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_WRAPPERS="") \
+ $(usex java "" JAVA_SAMPLES="")
+
+ if use doc ; then
+ cd "${S}/Source/Documentation"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Bin/"*Release/*.so
+ cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
+
+ use static-libs && dolib.a "${S}/Bin/"*Release/*.a
+
+ insinto /usr/include/openni2
+ doins -r Include/*
+
+ dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
+ use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ dodoc CHANGES.txt NOTICE README ReleaseNotes.txt Source/Documentation/Text/*.txt
+
+ if use doc ; then
+ dohtml -r "${S}/Source/Documentation/html/"*
+ fi
+
+ dodir /usr/$(get_libdir)/pkgconfig
+ sed \
+ -e "s/@libdir@/$(get_libdir)/" \
+ -e "s/@version@/${PV}/" \
+ "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
+}
diff --git a/dev-libs/OpenNI2/OpenNI2-9999.ebuild b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
new file mode 100644
index 000000000000..8dfe5af73748
--- /dev/null
+++ b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/occipital/openni2"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+DESCRIPTION="OpenNI2 SDK"
+HOMEPAGE="http://structure.io/openni"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java neon opengl static-libs"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ opengl? ( media-libs/freeglut )
+ java? ( >=virtual/jre-1.5 )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/rpath.patch" \
+ "${FILESDIR}/soname.patch"
+
+ rm -rf ThirdParty/LibJPEG
+ for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
+ echo "" > ${i}
+ done
+}
+
+src_compile() {
+ use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ ALLOW_WARNINGS=1 \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_WRAPPERS="") \
+ $(usex java "" JAVA_SAMPLES="")
+
+ if use doc ; then
+ cd "${S}/Source/Documentation"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Bin/"*Release/*.so
+ cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
+
+ use static-libs && dolib.a "${S}/Bin/"*Release/*.a
+
+ insinto /usr/include/openni2
+ doins -r Include/*
+
+ dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
+ use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ dodoc CHANGES.txt NOTICE README.md ReleaseNotes.txt Source/Documentation/Text/*.txt
+
+ if use doc ; then
+ dohtml -r "${S}/Source/Documentation/html/"*
+ fi
+
+ dodir /usr/$(get_libdir)/pkgconfig
+ sed \
+ -e "s/@libdir@/$(get_libdir)/" \
+ -e "s/@version@/${PV}/" \
+ "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
+}
diff --git a/dev-libs/OpenNI2/files/jpeg.patch b/dev-libs/OpenNI2/files/jpeg.patch
new file mode 100644
index 000000000000..e7f4f35ea7dd
--- /dev/null
+++ b/dev-libs/OpenNI2/files/jpeg.patch
@@ -0,0 +1,90 @@
+Index: OpenNI2-9999/Source/Core/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Core/Makefile
++++ OpenNI2-9999/Source/Core/Makefile
+@@ -5,14 +5,12 @@ BIN_DIR = ../../Bin
+ INC_DIRS = \
+ ../../Include \
+ ../../ThirdParty/PSCommon/XnLib/Include \
+- ../Drivers/OniFile/Formats \
+- ../../ThirdParty/LibJPEG
++ ../Drivers/OniFile/Formats
+
+ SRC_FILES = \
+ *.cpp \
+ ../Drivers/OniFile/Formats/XnCodec.cpp \
+- ../Drivers/OniFile/Formats/XnStreamCompression.cpp \
+- ../../ThirdParty/LibJPEG/*.c \
++ ../Drivers/OniFile/Formats/XnStreamCompression.cpp
+
+ ifeq ("$(OSTYPE)","Darwin")
+ INC_DIRS += /opt/local/include
+@@ -23,7 +21,7 @@ endif
+ LIB_NAME = OpenNI2
+
+ LIB_DIRS = ../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread
++USED_LIBS = XnLib jpeg dl pthread
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt
+ endif
+Index: OpenNI2-9999/Source/Drivers/OniFile/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Drivers/OniFile/Makefile
++++ OpenNI2-9999/Source/Drivers/OniFile/Makefile
+@@ -6,14 +6,12 @@ INC_DIRS = \
+ . \
+ ../../../Include \
+ ../../../ThirdParty/PSCommon/XnLib/Include \
+- ../../../ThirdParty/LibJPEG \
+ Formats
+
+ SRC_FILES = \
+ *.cpp \
+ Formats/*.cpp \
+- XnLibExtensions/*.cpp \
+- ../../../ThirdParty/LibJPEG/*.c
++ XnLibExtensions/*.cpp
+
+
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -25,7 +23,7 @@ endif
+ LIB_NAME = OniFile
+
+ LIB_DIRS = ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib pthread
++USED_LIBS = XnLib jpeg pthread
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt
+ endif
+Index: OpenNI2-9999/Source/Drivers/PS1080/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Drivers/PS1080/Makefile
++++ OpenNI2-9999/Source/Drivers/PS1080/Makefile
+@@ -7,7 +7,6 @@ INC_DIRS = \
+ Include \
+ ../../../Include \
+ ../../../ThirdParty/PSCommon/XnLib/Include \
+- ../../../ThirdParty/LibJPEG \
+ ../../DepthUtils
+
+ SRC_FILES = \
+@@ -16,8 +15,7 @@ SRC_FILES = \
+ DriverImpl/*.cpp\
+ Formats/*.cpp \
+ Include/*.cpp \
+- Sensor/*.cpp \
+- ../../../ThirdParty/LibJPEG/*.c
++ Sensor/*.cpp
+
+
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -30,7 +28,7 @@ LIB_NAME = PS1080
+
+ LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+ LIB_DIRS += $(BIN_DIR)/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread DepthUtils
++USED_LIBS = XnLib jpeg dl pthread DepthUtils
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt usb-1.0 udev
+ else
diff --git a/dev-libs/OpenNI2/files/libopenni2.pc.in b/dev-libs/OpenNI2/files/libopenni2.pc.in
new file mode 100644
index 000000000000..550b13df60df
--- /dev/null
+++ b/dev-libs/OpenNI2/files/libopenni2.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@libdir@
+includedir=${prefix}/include/openni2
+
+Name: OpenNI2
+Description: A general purpose driver for all OpenNI cameras.
+Version: @version@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lOpenNI2 -L${libdir}/OpenNI2/Drivers -lDummyDevice -lOniFile -lPS1080
diff --git a/dev-libs/OpenNI2/files/pthread.patch b/dev-libs/OpenNI2/files/pthread.patch
new file mode 100644
index 000000000000..62d8a0c86789
--- /dev/null
+++ b/dev-libs/OpenNI2/files/pthread.patch
@@ -0,0 +1,26 @@
+commit 716cffb2888bb2a0fa3264a22085caf8ce26368f
+Author: Pedro Asad <pasad@cos.ufrj.br>
+Date: Wed Oct 8 18:18:57 2014 -0300
+
+ Added a missing -lpthread flag to one Makefile
+
+ The lack of the -lpthread flag on Source/Tools/NiViewer/Makefile prevented the
+ whole project from compiling correctly on Ubuntu 14.04 64 bit. Just added the
+ missing flag to this Makefile, according to the same solution for issue 47 of
+ the old OpenNI2 Github repository, that boils down to a similar problem and
+ can be found here, on Github
+ https://github.com/OpenNI/OpenNI2/issues/47
+
+diff --git a/Source/Tools/NiViewer/Makefile b/Source/Tools/NiViewer/Makefile
+index 1eba049..1b5714d 100644
+--- a/Source/Tools/NiViewer/Makefile
++++ b/Source/Tools/NiViewer/Makefile
+@@ -26,7 +26,7 @@ else
+ endif
+
+ LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS += OpenNI2 XnLib
++USED_LIBS += OpenNI2 XnLib pthread
+
+ EXE_NAME = NiViewer
+
diff --git a/dev-libs/OpenNI2/files/rpath.patch b/dev-libs/OpenNI2/files/rpath.patch
new file mode 100644
index 000000000000..9203733ee80e
--- /dev/null
+++ b/dev-libs/OpenNI2/files/rpath.patch
@@ -0,0 +1,13 @@
+Index: OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+===================================================================
+--- OpenNI2-9999.orig/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -93,8 +93,6 @@ ifneq "$(LIB_NAME)" ""
+ endif
+ ifneq "$(EXE_NAME)" ""
+ OUTPUT_NAME = $(EXE_NAME)
+- # We want the executables to look for the .so's locally first:
+- LDFLAGS += -Wl,-rpath ./
+ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS)
+ endif
+ ifneq "$(SLIB_NAME)" ""
diff --git a/dev-libs/OpenNI2/files/soname.patch b/dev-libs/OpenNI2/files/soname.patch
new file mode 100644
index 000000000000..248ac631af58
--- /dev/null
+++ b/dev-libs/OpenNI2/files/soname.patch
@@ -0,0 +1,13 @@
+Index: OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+===================================================================
+--- OpenNI2-9999.orig/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -84,7 +84,7 @@ ifneq "$(LIB_NAME)" ""
+ ifneq ("$(OSTYPE)","Darwin")
+ LDFLAGS += -Wl,--no-undefined
+ OUTPUT_NAME = lib$(LIB_NAME).so
+- OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared
++ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) -Wl,-soname,$(OUTPUT_NAME) $(LDFLAGS) -shared
+ else
+ LDFLAGS += -undefined error
+ OUTPUT_NAME = lib$(LIB_NAME).dylib
diff --git a/dev-libs/OpenNI2/metadata.xml b/dev-libs/OpenNI2/metadata.xml
new file mode 100644
index 000000000000..e53e35dd2470
--- /dev/null
+++ b/dev-libs/OpenNI2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">occipital/OpenNI2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/OpenSRF/Manifest b/dev-libs/OpenSRF/Manifest
new file mode 100644
index 000000000000..fd7d94eb376c
--- /dev/null
+++ b/dev-libs/OpenSRF/Manifest
@@ -0,0 +1,2 @@
+DIST OpenSRF-1.2.0.tar.gz 1096952 SHA256 e1cba4710f5244fdcc5afae84b71d7b2f8265f1fdea72b51cf0f64e756617f2d SHA512 f6ee045b32464316eefb457dc74bd08f3a613fcd22ea54ea719a1762b38ea14972d75802d2a542f3c7489c86cea25cb6a9de61662031104b0c0b3634e1d09cd1 WHIRLPOOL 74ae8c5f464e8e3e3cc8ac35f0ba09ec8734f1e8f724f7161956917d2c80dfe4cc8ac8bff6c232483e4ec016a82e5dcc919f9c0e5b38aac55fbd7f75d0fd2997
+DIST opensrf-2.1.1.tar.gz 1058060 SHA256 cf58f744ec18dcfeaf0b0f2199c499b0742ecc35e7adf1e27614ca210f70c5b8 SHA512 5294ae2c9410ae52964067cd9090f9b7b5424e96f1731868cd896c1928ef1e89729af4a83f804f491bf2da0c6d129149105309afa18531b184098ebff2820306 WHIRLPOOL fce4ca8fbebfcec091232ab156e9c4ea4bd445cc90528dc82b61a3e7cd8766382c551d3a277f7a76eea44c0c2e3d347d7805861c46581c89463f3689622fa0be
diff --git a/dev-libs/OpenSRF/OpenSRF-1.2.0.ebuild b/dev-libs/OpenSRF/OpenSRF-1.2.0.ebuild
new file mode 100644
index 000000000000..234b9bd7bf85
--- /dev/null
+++ b/dev-libs/OpenSRF/OpenSRF-1.2.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib flag-o-matic apache-module autotools perl-module
+
+DESCRIPTION="Framework for the high-level development of the Evergreen ILS software"
+HOMEPAGE="http://open-ils.org/"
+SRC_URI="http://open-ils.org/downloads/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="postgres +sqlite"
+DEPEND=">=www-servers/apache-2.2.9
+ >=dev-db/libdbi-drivers-0.8.2
+ >=dev-db/libdbi-0.8.2
+ net-im/ejabberd
+ dev-libs/libmemcache
+ dev-perl/Cache-Memcached
+ dev-perl/Class-DBI-AbstractSearch
+ sqlite? ( dev-perl/DBD-SQLite )
+ postgres? ( dev-perl/DBD-Pg )
+ virtual/perl-Digest-MD5
+ dev-perl/JSON-XS
+ dev-perl/net-server
+ dev-perl/UNIVERSAL-require
+ dev-perl/Unix-Syslog
+ dev-perl/XML-LibXML
+ "
+
+PERL_S="${S}/src/perl"
+
+APXS2_S="${S}/src/gateway/.libs/"
+APACHE2_MOD_FILE="${APXS2_S}/osrf_json_gateway.so ${APXS2_S}/osrf_http_translator.so"
+#APACHE2_MOD_CONF="42_${PN}"
+#APACHE2_MOD_DEFINE="FOO"
+#DOCFILES="docs/*.html"
+need_apache2_2
+
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.0-buildfix.patch
+ eautoreconf
+}
+
+#src_compile() {
+# LIBXML2_CFLAGS=$(xml2-config --cflags)
+# LIBXML2_CFLAGS="${LIBXML2_CFLAGS//*-I}"
+# LIBXML2_HEADERS="${LIBXML2_CFLAGS// *}"
+# APR_HEADERS=$(apr-1-config --includedir)
+# APACHE2_HEADERS=$(apxs2 -q INCLUDEDIR)
+# sed -i \
+# -e '/^export PREFIX=/s,/.*,/usr,' \
+# -e '/^export BINDIR=/s,/.*,${PREFIX}/bin,' \
+# -e "/^export LIBDIR=/s,/.*,\${PREFIX}/$(get_libdir)," \
+# -e '/^export PERLDIR=/s,/.*,${LIBDIR}/perl5,' \
+# -e '/^export INCLUDEDIR=/s,/.*,${PREFIX}/include,' \
+# -e '/^export ETCDIR=/s,/.*,/etc,' \
+# -e '/^export SOCK=/s,/.*,/var/run/opensrf,' \
+# -e '/^export PID=/s,/.*,/var/run/opensrf,' \
+# -e '/^export LOG=/s,/.*,/var/log,' \
+# -e '/^export TMP=/s,/.*,/tmp,' \
+# -e '/^export APXS2=/s,/.*,/usr/sbin/apxs2,' \
+# -e "/^export APACHE2_HEADERS=/s,/.*,${APACHE2_HEADERS}," \
+# -e "/^export APR_HEADERS=/s,/.*,${APR_HEADERS}," \
+# -e "/^export LIBXML2_HEADERS=/s,/.*,${LIBXML2_HEADERS}," \
+# install.conf
+# emake verbose || die "Failed to build"
+#}
+src_configure() {
+ econf \
+ --with-apxs=/usr/sbin/apxs2 \
+ --sysconfdir=/etc/opensrf \
+ --localstatedir=/var \
+ || die "econf failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_configure || die "perl-module_src_configure failed"
+}
+
+src_compile() {
+ emake || die "main emake failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_compile || die "perl-module_src_compile failed"
+}
+
+src_install() {
+ einfo "Doing src_install"
+ #emake install-verbose DESTDIR="${D}" || die "Failed to install"
+ emake install DESTDIR="${D}" || die "Failed to install"
+ apache-module_src_install || die "apache-module_src_install failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_install || die "perl-module_src_install failed"
+ cd "${S}"
+
+ # Docs
+ dodoc README doc/*
+}
+
+src_test() {
+ emake check || die "emake check failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_test || die "perl-module_src_test failed"
+}
+
+pkg_config() {
+ :
+ #JABBER_SERVER=${JABBER_SERVER:=localhost}
+ #JABBER_PORT=${JABBER_PORT:=5222}
+ #PASSWORD=${PASSWORD:=osrf}
+ #einfo "Using Jabber server at ${JABBER_SERVER}:${JABBER_PORT}"
+ #einfo "Adding 'osrf' and 'router' users with password ${PASSWORD}"
+ #cd "${ROOT}"/usr/share/doc/${PF}/examples
+ #for user in osrf router ; do
+ # perl register.pl ${JABBER_SERVER} ${JABBER_PORT} ${user} ${PASSWORD} \
+ # || die "Failed to add $user user to server"
+ #done
+}
diff --git a/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild b/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
new file mode 100644
index 000000000000..f3c3084c4200
--- /dev/null
+++ b/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib flag-o-matic apache-module autotools perl-module
+
+DESCRIPTION="Framework for the high-level development of the Evergreen ILS software"
+HOMEPAGE="http://open-ils.org/"
+MY_PN="opensrf" # upstream lowercased the tarball in 2.x
+MY_P="${MY_PN}-${PV}"
+SRC_URI="http://open-ils.org/downloads/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="postgres +sqlite"
+DEPEND=">=www-servers/apache-2.2.9
+ >=dev-db/libdbi-drivers-0.8.2
+ >=dev-db/libdbi-0.8.2
+ net-im/ejabberd
+ dev-libs/libmemcache
+ dev-perl/Cache-Memcached
+ dev-perl/Class-DBI-AbstractSearch
+ sqlite? ( dev-perl/DBD-SQLite )
+ postgres? ( dev-perl/DBD-Pg )
+ virtual/perl-Digest-MD5
+ dev-perl/JSON-XS
+ dev-perl/net-server
+ dev-perl/UNIVERSAL-require
+ dev-perl/Unix-Syslog
+ dev-perl/XML-LibXML
+ "
+
+S="${WORKDIR}/${MY_P}"
+PERL_S="${S}/src/perl"
+
+APXS2_S="${S}/src/gateway/.libs/"
+APACHE2_MOD_FILE="${APXS2_S}/osrf_json_gateway.so ${APXS2_S}/osrf_http_translator.so"
+#APACHE2_MOD_CONF="42_${PN}"
+#APACHE2_MOD_DEFINE="FOO"
+#DOCFILES="docs/*.html"
+need_apache2_2
+
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.1.1-buildfix.patch
+ eautoreconf
+}
+
+#src_compile() {
+# LIBXML2_CFLAGS=$(xml2-config --cflags)
+# LIBXML2_CFLAGS="${LIBXML2_CFLAGS//*-I}"
+# LIBXML2_HEADERS="${LIBXML2_CFLAGS// *}"
+# APR_HEADERS=$(apr-1-config --includedir)
+# APACHE2_HEADERS=$(apxs2 -q INCLUDEDIR)
+# sed -i \
+# -e '/^export PREFIX=/s,/.*,/usr,' \
+# -e '/^export BINDIR=/s,/.*,${PREFIX}/bin,' \
+# -e "/^export LIBDIR=/s,/.*,\${PREFIX}/$(get_libdir)," \
+# -e '/^export PERLDIR=/s,/.*,${LIBDIR}/perl5,' \
+# -e '/^export INCLUDEDIR=/s,/.*,${PREFIX}/include,' \
+# -e '/^export ETCDIR=/s,/.*,/etc,' \
+# -e '/^export SOCK=/s,/.*,/var/run/opensrf,' \
+# -e '/^export PID=/s,/.*,/var/run/opensrf,' \
+# -e '/^export LOG=/s,/.*,/var/log,' \
+# -e '/^export TMP=/s,/.*,/tmp,' \
+# -e '/^export APXS2=/s,/.*,/usr/sbin/apxs2,' \
+# -e "/^export APACHE2_HEADERS=/s,/.*,${APACHE2_HEADERS}," \
+# -e "/^export APR_HEADERS=/s,/.*,${APR_HEADERS}," \
+# -e "/^export LIBXML2_HEADERS=/s,/.*,${LIBXML2_HEADERS}," \
+# install.conf
+# emake verbose || die "Failed to build"
+#}
+src_configure() {
+ APXS2_INSTALL="-i" \
+ econf \
+ --with-apxs=/usr/sbin/apxs2 \
+ --sysconfdir=/etc/opensrf \
+ --localstatedir=/var \
+ || die "econf failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_configure || die "perl-module_src_configure failed"
+}
+
+src_compile() {
+ emake || die "main emake failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_compile || die "perl-module_src_compile failed"
+}
+
+src_install() {
+ einfo "Doing src_install"
+ #emake install-verbose DESTDIR="${D}" || die "Failed to install"
+ emake install DESTDIR="${D}" APXS2_INSTALL="-i" || die "Failed to install"
+ apache-module_src_install || die "apache-module_src_install failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_install || die "perl-module_src_install failed"
+ cd "${S}"
+
+ # Docs
+ dodoc README doc/*
+}
+
+src_test() {
+ emake check || die "emake check failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_test || die "perl-module_src_test failed"
+}
+
+pkg_config() {
+ :
+ #JABBER_SERVER=${JABBER_SERVER:=localhost}
+ #JABBER_PORT=${JABBER_PORT:=5222}
+ #PASSWORD=${PASSWORD:=osrf}
+ #einfo "Using Jabber server at ${JABBER_SERVER}:${JABBER_PORT}"
+ #einfo "Adding 'osrf' and 'router' users with password ${PASSWORD}"
+ #cd "${ROOT}"/usr/share/doc/${PF}/examples
+ #for user in osrf router ; do
+ # perl register.pl ${JABBER_SERVER} ${JABBER_PORT} ${user} ${PASSWORD} \
+ # || die "Failed to add $user user to server"
+ #done
+}
diff --git a/dev-libs/OpenSRF/files/OpenSRF-1.0.7-buildfix.patch b/dev-libs/OpenSRF/files/OpenSRF-1.0.7-buildfix.patch
new file mode 100644
index 000000000000..1b753d36d347
--- /dev/null
+++ b/dev-libs/OpenSRF/files/OpenSRF-1.0.7-buildfix.patch
@@ -0,0 +1,151 @@
+diff -Nuar OpenSRF-1.0.7.orig/bin/osrf_ctl.sh OpenSRF-1.0.7/bin/osrf_ctl.sh
+--- OpenSRF-1.0.7.orig/bin/osrf_ctl.sh 2009-06-11 13:12:13.000000000 +0000
++++ OpenSRF-1.0.7/bin/osrf_ctl.sh 2009-11-10 08:20:37.233637281 +0000
+@@ -87,8 +87,9 @@
+ esac;
+ done
+
+-OSRF_CONFIG=`which osrf_config`
+-[ -z "$OSRF_CONFIG" ] && OSRF_CONFIG=`find $BASEDIR -name osrf_config`
++#OSRF_CONFIG=`which osrf_config`
++#[ -z "$OSRF_CONFIG" ] && OSRF_CONFIG=`find $BASEDIR -name osrf_config`
++OSRF_CONFIG=/usr/bin/osrf_config
+
+ [ -z "$OPT_CONFIG" ] && OPT_CONFIG=`$OSRF_CONFIG --sysconfdir`/opensrf_core.xml;
+ if [ ! -r "$OPT_CONFIG" ]; then
+diff -Nuar OpenSRF-1.0.7.orig/Makefile.am OpenSRF-1.0.7/Makefile.am
+--- OpenSRF-1.0.7.orig/Makefile.am 2008-10-27 05:10:21.000000000 +0000
++++ OpenSRF-1.0.7/Makefile.am 2009-11-10 08:19:16.190311593 +0000
+@@ -115,14 +115,14 @@
+ SUBDIRS = src
+
+ jserver:
+- make -s -C src jserver
++ $(MAKE) -s -C src jserver
+
+ jserver-install:
+- make -s -C src jserver-install
++ $(MAKE) -s -C src jserver-install
+
+ javascript-install:
+- make -s -C src javascript-install
++ $(MAKE) -s -C src javascript-install
+
+ install-data-hook:
+- cp @srcdir@/src/gateway/apachetools.h @includedir@/opensrf/apachetools.h
++ cp @srcdir@/src/gateway/apachetools.h $(DESTDIR)@includedir@/opensrf/apachetools.h
+
+diff -Nuar OpenSRF-1.0.7.orig/src/gateway/Makefile.am OpenSRF-1.0.7/src/gateway/Makefile.am
+--- OpenSRF-1.0.7.orig/src/gateway/Makefile.am 2008-08-18 19:14:00.000000000 +0000
++++ OpenSRF-1.0.7/src/gateway/Makefile.am 2009-11-10 08:19:15.250311793 +0000
+@@ -16,16 +16,25 @@
+
+ AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS)
+ AM_LDFLAGS = -L$(LIBDIR) -L@top_builddir@/src/libopensrf
++APACHE_DEPS = apachetools.c apachetools.h
++LIBS=libopensrf.so
++TARGETS = osrf_json_gateway.la osrf_http_translator.la
+
+-install-exec-local:
+- if [ ! "$$(grep mod_placeholder `apxs2 -q SYSCONFDIR`/httpd.conf)" ]; \
+- then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
+- >> `apxs2 -q SYSCONFDIR`/httpd.conf; \
+- fi
+- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_json_gateway.c apachetools.c apachetools.h libopensrf.so
+- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_http_translator.c apachetools.c apachetools.h libopensrf.so
+- $(APXS2) -i -a @srcdir@/osrf_json_gateway.la
+- $(APXS2) -i -a @srcdir@/osrf_http_translator.la
++all: $(TARGETS)
++
++osrf_json_gateway.la: osrf_json_gateway.c $(APACHE_DEPS)
++ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) $^ $(LIBS)
++
++osrf_http_translator.la: osrf_http_translator.c $(APACHE_DEPS)
++ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) $^ $(LIBS)
++
++#install-exec-local: $(TARGETS)
++# if [ ! "$$(grep mod_placeholder `apxs2 -q SYSCONFDIR`/httpd.conf)" ]; \
++# then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
++# >> `apxs2 -q SYSCONFDIR`/httpd.conf; \
++# fi
++# $(APXS2) -i -a osrf_json_gateway.la
++# $(APXS2) -i -a osrf_http_translator.la
+
+ clean-local:
+ rm -f @srcdir@/osrf_http_translator.la @srcdir@/osrf_http_translator.lo @srcdir@/osrf_http_translator.slo @srcdir@/osrf_json_gateway.la @srcdir@/osrf_json_gateway.lo @srcdir@/osrf_json_gateway.slo
+diff -Nuar OpenSRF-1.0.7.orig/src/java/Makefile.am OpenSRF-1.0.7/src/java/Makefile.am
+--- OpenSRF-1.0.7.orig/src/java/Makefile.am 2008-07-17 18:15:09.000000000 +0000
++++ OpenSRF-1.0.7/src/java/Makefile.am 2009-11-10 08:19:15.250311793 +0000
+@@ -48,8 +48,8 @@
+ rm files;
+
+ install-data-local:
+- mkdir -p $(LIBDIR)/java
+- cp opensrf.jar $(LIBDIR)/java
++ mkdir -p $(DESTDIR)$(LIBDIR)/java
++ cp opensrf.jar $(DESTDIR)$(LIBDIR)/java
+
+ dep_clean:
+ rm -rf deps
+diff -Nuar OpenSRF-1.0.7.orig/src/libopensrf/Makefile.am OpenSRF-1.0.7/src/libopensrf/Makefile.am
+--- OpenSRF-1.0.7.orig/src/libopensrf/Makefile.am 2008-08-07 16:54:56.000000000 +0000
++++ OpenSRF-1.0.7/src/libopensrf/Makefile.am 2009-11-10 08:19:16.190311593 +0000
+@@ -94,6 +94,7 @@
+ opensrf_c_SOURCES = opensrf.c
+ opensrf_c_DEPENDENCIES = libopensrf.la
+
++osrf_json_test_DEPENDENCIES = libopensrf.la libosrf_json.la
+ osrf_json_test_SOURCES = osrf_json_test.c $(JSON_TARGS) $(JSON_DEP) $(JSON_TARGS_HEADS) $(JSON_DEP_HEADS)
+
+ noinst_LTLIBRARIES = libosrf_json.la
+diff -Nuar OpenSRF-1.0.7.orig/src/Makefile.am OpenSRF-1.0.7/src/Makefile.am
+--- OpenSRF-1.0.7.orig/src/Makefile.am 2008-11-04 03:04:24.000000000 +0000
++++ OpenSRF-1.0.7/src/Makefile.am 2009-11-10 08:19:16.190311593 +0000
+@@ -17,7 +17,7 @@
+ export OPENSRF = opensrf
+ export BINDIR = @bindir@
+ export LIBDIR = @libdir@
+-jsdir = $(LIBDIR)/javascript
++jsdir = $(datarootdir)/opensrf/javascript
+ export OSRF_JAVA_DEPSDIR = @OSRF_JAVA_DEPSDIR@
+ etcdir = $(ETCDIR)
+
+@@ -41,12 +41,12 @@
+ dist_sysconf_DATA = @top_srcdir@/examples/opensrf.xml.example @top_srcdir@/examples/opensrf_core.xml.example @top_srcdir@/examples/srfsh.xml.example
+
+ install-exec-local:
+- mkdir -p $(VAR)
+- mkdir -p $(PID)
+- mkdir -p $(LOG)
+- mkdir -p $(SOCK)
+- mkdir -p $(jsdir)
+- make install-perl
++ mkdir -p $(DESTDIR)$(VAR)
++ mkdir -p $(DESTDIR)$(PID)
++ mkdir -p $(DESTDIR)$(LOG)
++ mkdir -p $(DESTDIR)$(SOCK)
++ mkdir -p $(DESTDIR)$(jsdir)
++# $(MAKE) install-perl
+
+ install-exec-hook:
+ sed -i 's|LOCALSTATEDIR|$(VAR)|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
+@@ -55,14 +55,14 @@
+ sed -i 's|SYSCONFDIR|$(ETCDIR)|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
+ sed -i 's|LOCALSTATEDIR|$(VAR)|g' '$(DESTDIR)@sysconfdir@/srfsh.xml.example'
+ sed -i 's|SYSCONFDIR|$(ETCDIR)|g' '$(DESTDIR)@sysconfdir@/srfsh.xml.example'
+- cp -r @srcdir@/javascript/* $(jsdir)/
++ cp -r @srcdir@/javascript/* $(DESTDIR)$(jsdir)/
+
+
+ install-perl:
+- cd ./perl && perl Makefile.PL || make -s install-perl-fail
+- make -C perl
+- make -C perl test || make -s install-perl-fail
+- make -C perl install
++# cd ./perl && perl Makefile.PL || $(MAKE) -s install-perl-fail
++# $(MAKE) -C perl
++# $(MAKE) -C perl test || $(MAKE) -s install-perl-fail
++# $(MAKE) -C perl install
+
+ install-perl-fail:
+ echo
diff --git a/dev-libs/OpenSRF/files/OpenSRF-1.2.0-buildfix.patch b/dev-libs/OpenSRF/files/OpenSRF-1.2.0-buildfix.patch
new file mode 100644
index 000000000000..33963fe30436
--- /dev/null
+++ b/dev-libs/OpenSRF/files/OpenSRF-1.2.0-buildfix.patch
@@ -0,0 +1,136 @@
+diff -Nuar OpenSRF-1.2.0.orig/Makefile.am OpenSRF-1.2.0/Makefile.am
+--- OpenSRF-1.2.0.orig/Makefile.am 2008-10-27 05:07:06.000000000 +0000
++++ OpenSRF-1.2.0/Makefile.am 2012-11-12 20:53:22.079732392 +0000
+@@ -115,14 +115,14 @@
+ SUBDIRS = src
+
+ jserver:
+- make -s -C src jserver
++ $(MAKE) -s -C src jserver
+
+ jserver-install:
+- make -s -C src jserver-install
++ $(MAKE) -s -C src jserver-install
+
+ javascript-install:
+- make -s -C src javascript-install
++ $(MAKE) -s -C src javascript-install
+
+ install-data-hook:
+- cp @srcdir@/src/gateway/apachetools.h @includedir@/opensrf/apachetools.h
++ cp @srcdir@/src/gateway/apachetools.h $(DESTDIR)@includedir@/opensrf/apachetools.h
+
+diff -Nuar OpenSRF-1.2.0.orig/src/gateway/Makefile.am OpenSRF-1.2.0/src/gateway/Makefile.am
+--- OpenSRF-1.2.0.orig/src/gateway/Makefile.am 2008-08-18 19:14:00.000000000 +0000
++++ OpenSRF-1.2.0/src/gateway/Makefile.am 2012-11-12 20:53:22.079732392 +0000
+@@ -16,16 +16,25 @@
+
+ AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS)
+ AM_LDFLAGS = -L$(LIBDIR) -L@top_builddir@/src/libopensrf
++APACHE_DEPS = apachetools.c apachetools.h
++LIBS=libopensrf.so
++TARGETS = osrf_json_gateway.la osrf_http_translator.la
+
+-install-exec-local:
+- if [ ! "$$(grep mod_placeholder `apxs2 -q SYSCONFDIR`/httpd.conf)" ]; \
+- then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
+- >> `apxs2 -q SYSCONFDIR`/httpd.conf; \
+- fi
+- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_json_gateway.c apachetools.c apachetools.h libopensrf.so
+- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_http_translator.c apachetools.c apachetools.h libopensrf.so
+- $(APXS2) -i -a @srcdir@/osrf_json_gateway.la
+- $(APXS2) -i -a @srcdir@/osrf_http_translator.la
++all: $(TARGETS)
++
++osrf_json_gateway.la: osrf_json_gateway.c $(APACHE_DEPS)
++ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) $^ $(LIBS)
++
++osrf_http_translator.la: osrf_http_translator.c $(APACHE_DEPS)
++ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) $^ $(LIBS)
++
++#install-exec-local: $(TARGETS)
++# if [ ! "$$(grep mod_placeholder `apxs2 -q SYSCONFDIR`/httpd.conf)" ]; \
++# then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
++# >> `apxs2 -q SYSCONFDIR`/httpd.conf; \
++# fi
++# $(APXS2) -i -a osrf_json_gateway.la
++# $(APXS2) -i -a osrf_http_translator.la
+
+ clean-local:
+ rm -f @srcdir@/osrf_http_translator.la @srcdir@/osrf_http_translator.lo @srcdir@/osrf_http_translator.slo @srcdir@/osrf_json_gateway.la @srcdir@/osrf_json_gateway.lo @srcdir@/osrf_json_gateway.slo
+diff -Nuar OpenSRF-1.2.0.orig/src/java/Makefile.am OpenSRF-1.2.0/src/java/Makefile.am
+--- OpenSRF-1.2.0.orig/src/java/Makefile.am 2008-07-17 18:15:09.000000000 +0000
++++ OpenSRF-1.2.0/src/java/Makefile.am 2012-11-12 20:53:22.079732392 +0000
+@@ -48,8 +48,8 @@
+ rm files;
+
+ install-data-local:
+- mkdir -p $(LIBDIR)/java
+- cp opensrf.jar $(LIBDIR)/java
++ mkdir -p $(DESTDIR)$(LIBDIR)/java
++ cp opensrf.jar $(DESTDIR)$(LIBDIR)/java
+
+ dep_clean:
+ rm -rf deps
+diff -Nuar OpenSRF-1.2.0.orig/src/libopensrf/Makefile.am OpenSRF-1.2.0/src/libopensrf/Makefile.am
+--- OpenSRF-1.2.0.orig/src/libopensrf/Makefile.am 2009-04-08 02:48:02.000000000 +0000
++++ OpenSRF-1.2.0/src/libopensrf/Makefile.am 2012-11-12 20:53:22.079732392 +0000
+@@ -99,6 +99,7 @@
+ opensrf_c_SOURCES = opensrf.c
+ opensrf_c_DEPENDENCIES = libopensrf.la
+
++osrf_json_test_DEPENDENCIES = libopensrf.la libosrf_json.la
+ osrf_json_test_SOURCES = osrf_json_test.c $(JSON_TARGS) $(JSON_DEP) $(JSON_TARGS_HEADS) $(JSON_DEP_HEADS)
+
+ noinst_LTLIBRARIES = libosrf_json.la
+diff -Nuar OpenSRF-1.2.0.orig/src/Makefile.am OpenSRF-1.2.0/src/Makefile.am
+--- OpenSRF-1.2.0.orig/src/Makefile.am 2009-05-31 19:49:00.000000000 +0000
++++ OpenSRF-1.2.0/src/Makefile.am 2012-11-12 20:53:52.475676800 +0000
+@@ -17,7 +17,7 @@
+ export OPENSRF = opensrf
+ export BINDIR = @bindir@
+ export LIBDIR = @libdir@
+-jsdir = $(LIBDIR)/javascript
++jsdir = $(datarootdir)/opensrf/javascript
+ export OSRF_JAVA_DEPSDIR = @OSRF_JAVA_DEPSDIR@
+ etcdir = $(ETCDIR)
+
+@@ -33,7 +33,7 @@
+ MAYBE_JA = java
+ endif
+
+-SUBDIRS = libopensrf c-apps router srfsh jserver gateway perl $(MAYBE_PY) $(MAYBE_JA)
++SUBDIRS = libopensrf c-apps router srfsh jserver gateway $(MAYBE_PY) $(MAYBE_JA) # perl is now seperate
+
+ dist_bin_SCRIPTS = @top_srcdir@/bin/opensrf-perl.pl
+ bin_SCRIPTS = @top_srcdir@/bin/osrf_config @top_srcdir@/bin/osrf_ctl.sh
+@@ -41,11 +41,11 @@
+ dist_sysconf_DATA = @top_srcdir@/examples/opensrf.xml.example @top_srcdir@/examples/opensrf_core.xml.example @top_srcdir@/examples/srfsh.xml.example
+
+ install-exec-local:
+- mkdir -p $(VAR)
+- mkdir -p $(PID)
+- mkdir -p $(LOG)
+- mkdir -p $(SOCK)
+- mkdir -p $(jsdir)
++ mkdir -p $(DESTDIR)$(VAR)
++ mkdir -p $(DESTDIR)$(PID)
++ mkdir -p $(DESTDIR)$(LOG)
++ mkdir -p $(DESTDIR)$(SOCK)
++ mkdir -p $(DESTDIR)$(jsdir)
+
+ install-exec-hook:
+ sed -i 's|LOCALSTATEDIR|$(VAR)|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
+@@ -54,9 +54,9 @@
+ sed -i 's|SYSCONFDIR|$(ETCDIR)|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
+ sed -i 's|LOCALSTATEDIR|$(VAR)|g' '$(DESTDIR)@sysconfdir@/srfsh.xml.example'
+ sed -i 's|SYSCONFDIR|$(ETCDIR)|g' '$(DESTDIR)@sysconfdir@/srfsh.xml.example'
+- cp -r @srcdir@/javascript/* $(jsdir)/
++ cp -r @srcdir@/javascript/* $(DESTDIR)$(jsdir)/
+
+ uninstall-hook:
+- rm @includedir@/opensrf/apachetools.h
+- rm -R $(jsdir)
++ rm $(DESTDIR)@includedir@/opensrf/apachetools.h
++ rm -R $(DESTDIR)$(jsdir)
+
diff --git a/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch b/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
new file mode 100644
index 000000000000..767a478b53a8
--- /dev/null
+++ b/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
@@ -0,0 +1,70 @@
+Upstream uses DESTDIR, but then tries to hard-install the apache config
+modules, as well as not allowing other arguments to Build.PL easily.
+
+Split apache modules to be built during compile phase, and allow control of
+apxs2 install mode (for Gentoo, pass APXS2_INSTALL=-i).
+
+For the Build.PL problem, just disable it entirely here, and use the Gentoo
+build functions to call Build.PL instead
+(presently does --installdirs=vendor --libdoc= --destdir="${D}" --create_packlist=0).
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar opensrf-2.1.1.orig/src/gateway/Makefile.am opensrf-2.1.1/src/gateway/Makefile.am
+--- opensrf-2.1.1.orig/src/gateway/Makefile.am 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/src/gateway/Makefile.am 2012-11-12 21:56:52.108564157 +0000
+@@ -17,20 +17,23 @@
+ AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS)
+ AM_LDFLAGS = -L$(LIBDIR) -L@top_builddir@/src/libopensrf
+ AP_LIBEXECDIR = `$(APXS2) -q LIBEXECDIR`
++APXS2_INSTALL = -i -a
+
+ DISTCLEANFILES = Makefile.in Makefile
+
+-install-exec-local:
+- d=`$(APXS2) -q SYSCONFDIR` && \
+- if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
+- then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
+- >> $${d}/httpd.conf; \
+- fi
++all:
+ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_json_gateway.c apachetools.c apachetools.h libopensrf.so
+ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_http_translator.c apachetools.c apachetools.h libopensrf.so
++
++install-exec-local:
++# d=`$(APXS2) -q SYSCONFDIR` && \
++# if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
++# then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
++# >> $${d}/httpd.conf; \
++# fi
+ $(MKDIR_P) $(DESTDIR)$(AP_LIBEXECDIR)
+- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_json_gateway.la
+- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_http_translator.la
++ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_json_gateway.la
++ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_http_translator.la
+
+ clean-local:
+ rm -f @srcdir@/osrf_http_translator.la @srcdir@/osrf_http_translator.lo @srcdir@/osrf_http_translator.slo @srcdir@/osrf_json_gateway.la @srcdir@/osrf_json_gateway.lo @srcdir@/osrf_json_gateway.slo
+diff -Nuar opensrf-2.1.1.orig/configure.ac opensrf-2.1.1/configure.ac
+--- opensrf-2.1.1.orig/configure.ac 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/configure.ac 2012-11-12 22:04:38.673403306 +0000
+@@ -352,7 +352,6 @@
+ src/gateway/Makefile
+ src/jserver/Makefile
+ src/libopensrf/Makefile
+- src/perl/Makefile
+ src/ports/strn_compat/Makefile
+ src/python/opensrf.py
+ src/router/Makefile
+diff -Nuar opensrf-2.1.1.orig/src/Makefile.am opensrf-2.1.1/src/Makefile.am
+--- opensrf-2.1.1.orig/src/Makefile.am 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/src/Makefile.am 2012-11-12 22:04:35.580149012 +0000
+@@ -40,7 +40,7 @@
+ endif
+
+ if BUILDCORE
+-MAYBE_CORE = libopensrf c-apps router srfsh gateway perl
++MAYBE_CORE = libopensrf c-apps router srfsh gateway
+ if BUILDPYTHON
+ dist_bin_SCRIPTS = @top_srcdir@/bin/opensrf-perl.pl @top_srcdir@/src/python/opensrf.py @top_srcdir@/src/python/srfsh.py
+ else
diff --git a/dev-libs/OpenSRF/metadata.xml b/dev-libs/OpenSRF/metadata.xml
new file mode 100644
index 000000000000..c6d862855eb5
--- /dev/null
+++ b/dev-libs/OpenSRF/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/STLport/Manifest b/dev-libs/STLport/Manifest
new file mode 100644
index 000000000000..24e39d97bcba
--- /dev/null
+++ b/dev-libs/STLport/Manifest
@@ -0,0 +1,2 @@
+DIST STLport-5.2.1.tar.bz2 717202 SHA256 755b007b982c4545086c43affc8ed32c0acd577ee206eb1f6967e250c3546fc9 SHA512 c619f1965e42a444714f6a2bcbade3428e09823ad056930b32bf8224b7b3e4b4ae82e25e4ba7b4584f73645a7838a677f314b7bc583d1d9bbcef6fcafc439141 WHIRLPOOL 0d8539b98dd57c8b548bcfaeed3866c348f7f750b676404f40b2beda3c5095a2d94496d670e9f13b7287033fecd8c9f997aad44dfb07b310a8236956bdf2d52e
+DIST STLport-patches-5.2.1-2.tbz2 5245 SHA256 ccf0803a0b5e3c887e52d6132eb48932d566a933d299ebb22858ebd39dddc0c4 SHA512 ddc1b282d1b8008f1f6d5aa3eee0f821063c00fdf851cb569f69955dd3e1ad46b3e57a5c458a1f54aa75737cafe848cf20685b729951a58e80f14234804b92bb WHIRLPOOL cbb1ba74aca4cd454855aad6371ac7140fef42aa70b30c29e70a3b6d24044e5acd221a5a12c90414fb20bfb26ea879e7e3839ff8857b717d793538ca67380e33
diff --git a/dev-libs/STLport/STLport-5.2.1-r1.ebuild b/dev-libs/STLport/STLport-5.2.1-r1.ebuild
new file mode 100644
index 000000000000..a792162a8dd0
--- /dev/null
+++ b/dev-libs/STLport/STLport-5.2.1-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils versionator toolchain-funcs multilib
+
+PATCH_V="2"
+
+DESCRIPTION="C++ STL library"
+HOMEPAGE="http://stlport.sourceforge.net/"
+SRC_URI="mirror://sourceforge/stlport/${P}.tar.bz2
+ http://dev.gentoo.org/~xarthisius/distfiles/${PN}-patches-${PV}-${PATCH_V}.tbz2"
+
+LICENSE="boehm-gc HPND"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ppc ppc64 sparc x86"
+IUSE="boost debug static static-libs threads"
+
+DEPEND="boost? ( >=dev-libs/boost-1.35.0-r5 )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ # make sure OSNAME is not in the environment (bug #305399)
+ unset OSNAME
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches"
+ EPATCH_SUFFIX="diff"
+ epatch
+
+ # We have to add this to host.h to make sure
+ # that dependencies of STLport use the same settings
+ cat <<- EOF >> stlport/stl/config/host.h
+ #define _STLP_NATIVE_INCLUDE_PATH ../g++-v$(gcc-major-version)
+ /* use pthreads for threading */
+ #define _PTHREADS
+ /* enable largefile support */
+ #define _FILE_OFFSET_BITS 64
+ #define _LARGEFILE_SOURCE
+ #define _LARGEFILE64_SOURCE
+ EOF
+}
+
+src_configure() {
+ local myconf
+
+ if use boost ; then
+ BOOST_PKG="$(best_version ">=dev-libs/boost-1.35.0-r5")"
+ BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")"
+ BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")"
+ BOOST_INC="/usr/include/boost-${BOOST_VER}"
+
+ myconf+="--with-boost=${BOOST_INC} --with-system-boost "
+ # make sure user apps (e.g. other packges using STLport) use boost as well
+ sed -i \
+ -e 'N;N;N;s:/\**\n\(#define _STLP_USE_BOOST_SUPPORT 1\)*\n\*/:\1:' \
+ stlport/stl/config/user_config.h
+ fi
+
+ use debug || myconf+="--without-debug "
+ use static-libs && myconf+="--enable-static "
+ use threads || myconf+="--without-thread "
+ use static && myconf+="--use-static-gcc "
+
+ # It's not an autoconf script
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/$(get_libdir) \
+ --use-compiler-family=gcc \
+ ${myconf} \
+ --with-cc="$(tc-getCC)" \
+ --with-cxx="$(tc-getCXX)" \
+ --with-extra-cflags="${CFLAGS}" \
+ --with-extra-cxxflags="${CXXFLAGS}" \
+ --with-extra-ldflags="${LDFLAGS}" || die "configure failed"
+}
+
+src_install() {
+ # precreate some directories
+ dodir /usr/$(get_libdir)
+
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc README etc/ChangeLog etc/*.txt doc/*.txt doc/{FAQ,README.utf8}
+}
+
+src_test() {
+ if use static ; then
+ ewarn "Tests don't work when building with USE=static. Skipping..."
+ return
+ fi
+ default
+}
diff --git a/dev-libs/STLport/STLport-5.2.1-r2.ebuild b/dev-libs/STLport/STLport-5.2.1-r2.ebuild
new file mode 100644
index 000000000000..3b281c7bdc3c
--- /dev/null
+++ b/dev-libs/STLport/STLport-5.2.1-r2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator toolchain-funcs multilib
+
+PATCH_V="2"
+
+DESCRIPTION="C++ STL library"
+HOMEPAGE="http://stlport.sourceforge.net/"
+SRC_URI="mirror://sourceforge/stlport/${P}.tar.bz2
+ http://dev.gentoo.org/~xarthisius/distfiles/${PN}-patches-${PV}-${PATCH_V}.tbz2"
+
+LICENSE="boehm-gc HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="boost debug static static-libs threads"
+
+DEPEND="boost? ( >=dev-libs/boost-1.35.0-r5 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( README etc/ChangeLog doc/FAQ doc/README.utf8 )
+
+pkg_setup() {
+ # make sure OSNAME is not in the environment (bug #305399)
+ unset OSNAME
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches"
+ EPATCH_SUFFIX="diff"
+ epatch
+
+ # We have to add this to host.h to make sure
+ # that dependencies of STLport use the same settings
+ cat <<- EOF >> stlport/stl/config/host.h
+ #define _STLP_NATIVE_INCLUDE_PATH ../g++-v$(gcc-major-version)
+ /* use pthreads for threading */
+ #define _PTHREADS
+ /* enable largefile support */
+ #define _FILE_OFFSET_BITS 64
+ #define _LARGEFILE_SOURCE
+ #define _LARGEFILE64_SOURCE
+ EOF
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ if use boost ; then
+ BOOST_PKG="$(best_version ">=dev-libs/boost-1.35.0-r5")"
+ BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")"
+ BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")"
+ BOOST_INC="${EPREFIX}/usr/include/boost-${BOOST_VER}"
+
+ myconf+="--with-boost=${BOOST_INC} --with-system-boost "
+ # make sure user apps (e.g. other packges using STLport) use boost as well
+ sed -i \
+ -e 'N;N;N;s:/\**\n\(#define _STLP_USE_BOOST_SUPPORT 1\)*\n\*/:\1:' \
+ stlport/stl/config/user_config.h || die
+ fi
+
+ # It's not an autoconf script
+ ./configure \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --use-compiler-family=gcc \
+ $(use debug || echo "--without-debug") \
+ $(use static && echo "--use-static-gcc") \
+ $(use static-libs && echo "--enable-static") \
+ $(use threads && echo "--without-thread") \
+ ${myconf} \
+ --with-cc="$(tc-getCC)" \
+ --with-cxx="$(tc-getCXX)" \
+ --with-extra-cflags="${CFLAGS}" \
+ --with-extra-cxxflags="${CXXFLAGS}" \
+ --with-extra-ldflags="${LDFLAGS}" || die "configure failed"
+}
+
+src_install() {
+ # precreate some directories
+ dodir /usr/$(get_libdir)
+
+ default
+ dodoc etc/*.txt doc/*.txt
+}
+
+src_test() {
+ if use static ; then
+ ewarn "Tests don't work when building with USE=static. Skipping..."
+ else
+ default
+ fi
+}
diff --git a/dev-libs/STLport/metadata.xml b/dev-libs/STLport/metadata.xml
new file mode 100644
index 000000000000..aa3ea990d7c0
--- /dev/null
+++ b/dev-libs/STLport/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <use>
+ <flag name="boost">Enable the usage of <pkg>dev-libs/boost</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">stlport</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/UTF8Strings/Manifest b/dev-libs/UTF8Strings/Manifest
new file mode 100644
index 000000000000..2a4b583ca423
--- /dev/null
+++ b/dev-libs/UTF8Strings/Manifest
@@ -0,0 +1,2 @@
+DIST UTF8Strings-1.13.2.tar.bz2 7083 SHA256 f01dbd557c337a4d543ce2b536fcaf9ba5043d3d42bfcc96cf985b44edbf188b SHA512 7d88c92c26c73db8c0f31e3dee35d85898c97047a5b32737c70f957ad8115f07768469ad62af5517c0cdaa2707f0a5240d2c495c759f29b45615acf62f8515d5 WHIRLPOOL a5ed7bf37feecf886a5f1b64d23b34b47fa1d9ee0e7854a4eaed1a3effbe6a96f4694f02fb5fa28e33bce47f8ce8394e220f70aca02f3d1b8997d15f64a1f20a
+DIST UTF8Strings-1.14.0.tar.bz2 7135 SHA256 4b150da1579261692079046fa0db61b5bda9ebeeeb8ac26034d7d73fd3ec75fd SHA512 12d06aecf0ea0c29067932e08e4854038f053a10e99c5fbb6912a8ec17c9eb687fe06fb8267a8db9e8d775379ce0cb4339b75e2338a014c449d89f74a09e1ab4 WHIRLPOOL 4750f99cb419fe0382c25822fbc2c9395208ea68bfd610ba7ebefa35e350f2eaede9c7ca79277c3c9a6c617262f1a0aea75c57f0fb8248f4691dd45f8423d781
diff --git a/dev-libs/UTF8Strings/UTF8Strings-1.13.2.ebuild b/dev-libs/UTF8Strings/UTF8Strings-1.13.2.ebuild
new file mode 100644
index 000000000000..d16d0d5cb01e
--- /dev/null
+++ b/dev-libs/UTF8Strings/UTF8Strings-1.13.2.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils
+
+DESCRIPTION="C++ library that provides ability to work natively with UTF8 strings in a very simple way"
+HOMEPAGE="http://grigory.info/${PN}.About.html"
+SRC_URI="http://grigory.info/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="amd64 x86"
+SLOT="0"
diff --git a/dev-libs/UTF8Strings/UTF8Strings-1.14.0.ebuild b/dev-libs/UTF8Strings/UTF8Strings-1.14.0.ebuild
new file mode 100644
index 000000000000..a69074843c3d
--- /dev/null
+++ b/dev-libs/UTF8Strings/UTF8Strings-1.14.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils
+
+DESCRIPTION="C++ library that provides ability to work natively with UTF8 strings in a very simple way"
+HOMEPAGE="http://grigory.info/${PN}.About.html"
+SRC_URI="http://grigory.info/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="amd64 ~mips x86 ~amd64-linux ~x86-linux"
+SLOT="0"
diff --git a/dev-libs/UTF8Strings/metadata.xml b/dev-libs/UTF8Strings/metadata.xml
new file mode 100644
index 000000000000..7febb52f0ca9
--- /dev/null
+++ b/dev-libs/UTF8Strings/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>gorelov@grigory.info</email>
+ <name>Gorelov Grigory</name>
+ <description>Maintainer and upstream developer.</description>
+ </maintainer>
+ <herd>proxy-maintainers</herd>
+ <longdescription>
+ C++ library that provides ability to work natively with UTF8 strings in a very simple way.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/ace/Manifest b/dev-libs/ace/Manifest
new file mode 100644
index 000000000000..4ff8308da3af
--- /dev/null
+++ b/dev-libs/ace/Manifest
@@ -0,0 +1,3 @@
+DIST ACE+TAO+CIAO-5.7.2.tar.bz2 49824451 SHA256 5290e378c9417892e7e57eef06e74affeb6a93ba3e7c67e24e02e72c282ea37a SHA512 798707aaa04b253f4b1241cd3263a87bdf7188437f858aac910a6fbf54bcf27c41f827fe81cea68b813ac068bd7a04f63e7f4eb948432d9240c4979fdf7f0ce1 WHIRLPOOL 23214425fd1d2a13622b1f21ec16fde84eb76a22305a6393642cdb4ea3d6d58481b59323a64ac91bed7ff672d5b5e8b6fe389ed9620ce898a00bf6332370d38e
+DIST ACE+TAO-5.7.2.tar.bz2 26111373 SHA256 95d9bfe506bfe55e489863413d83f214d2f6948a836449ed4dce6cf8c7d05d1d SHA512 9c25bc3773dd92d943bf67595470a485be1d7ebe893ddf20ec55a77d66080cf755e0c5cdc77a8f53d49d1f2ae4ec03cdbc7ac0dc68e179467b8ce7ad3abb5387 WHIRLPOOL 02b575fc831e988164be3667f1c8b34ef7bd6c5fe131884d4443058a70ca68f975391e5b7efc56235e4d4b598879941fd6737a7a1d0448b837a512ee7269630e
+DIST ACE-5.7.2.tar.bz2 9724175 SHA256 e358281a93cbc932351030675fb7956875f996e0dc42cf1f499a2d5bd018e0ad SHA512 7f5d77ea9ab1f03ad615cf6b01cb75b0484c5e828790609b8492463153a34c62d974000c0f3952dfdab143cad3c0aa6e2ddc7ea089989b6e9b9797bc6430d38b WHIRLPOOL e57db857a3ca1411fe3bcf166b7aee059d8e07e752cdd919e9ca7a1766bea7562027752326a24937719da432323569f302360849d3976bd44f05f0bfb1ce0946
diff --git a/dev-libs/ace/ace-5.7.2.ebuild b/dev-libs/ace/ace-5.7.2.ebuild
new file mode 100644
index 000000000000..f12c69967b79
--- /dev/null
+++ b/dev-libs/ace/ace-5.7.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="The Adaptive Communications Environment"
+HOMEPAGE="http://www.cs.wustl.edu/~schmidt/ACE.html"
+SRC_URI="!tao? ( http://download.dre.vanderbilt.edu/previous_versions/ACE-${PV}.tar.bz2 )
+ tao? (
+ !ciao? ( http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-${PV}.tar.bz2 )
+ ciao? ( http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-${PV}.tar.bz2 )
+ )"
+
+LICENSE="ACE BSD BSD-4 BSD-2 tao? ( sun-iiop RSA )"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="X ipv6 tao ciao"
+
+COMMON_DEPEND="dev-libs/openssl"
+# TODO probably more
+RDEPEND="${COMMON_DEPEND}
+ X? ( x11-libs/libXt x11-libs/libXaw )"
+
+DEPEND="${COMMON_DEPEND}
+ X? ( x11-proto/xproto )"
+
+S="${WORKDIR}/ACE_wrappers"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # Let's avoid autotools. http://bugs.gentoo.org/328027.
+ if has_version ">=dev-libs/openssl-1.0.0"; then
+ sed -i -e 's:SSL_METHOD:const SSL_METHOD:' configure || die
+ fi
+
+ sed -i -e 's/-O3//' configure || die
+}
+
+src_compile() {
+ export ACE_ROOT="${S}"
+ mkdir build
+ cd build
+
+ ECONF_SOURCE="${S}"
+ econf \
+ --enable-lib-all \
+ $(use_with X) \
+ $(use_enable ipv6) \
+ || die "econf died"
+ # --with-qos needs ACE_HAS_RAPI
+ emake static_libs=1 || die "emake failed"
+}
+
+src_install() {
+ cd build
+ emake ACE_ROOT="${S}" DESTDIR="${D}" install || die "failed to install"
+ # punt gperf stuff
+ rm -rf "${D}/usr/bin" "${D}/usr/share"
+ # remove PACKAGE_* definitions from installed config.h (#192676)
+ sed -i -e "s:^[ \t]*#define[ \t]\+PACKAGE_.*$:/\* & \*/:g" "${D}/usr/include/ace/config.h"
+
+ # Install some docs
+ cd "${S}"
+ dodoc README NEWS ChangeLog AUTHORS VERSION Release || die
+}
+
+src_test() {
+ cd "${S}/build"
+ emake ACE_ROOT="${S}" check || die "self test failed"
+}
+
+pkg_postinst() {
+
+ local CC_MACHINE=$($(tc-getCC) -dumpmachine)
+ if [ -d "/usr/$(get_libdir)/gcc-lib/${CC_MACHINE}/$(gcc-fullversion)/include/ace" ]; then
+ ewarn "moving /usr/$(get_libdir)/gcc-lib/${CC_MACHINE}/$(gcc-fullversion)/include/ace to"
+ ewarn "ace.old"
+ ewarn "This is required, as anything trying to compile against ACE will"
+ ewarn "have problems with conflicting OS.h files if this is not done."
+ mv "/usr/$(get_libdir)/gcc-lib/${CC_MACHINE}/$(gcc-fullversion)/include/ace" \
+ "/usr/$(get_libdir)/gcc-lib/${CC_MACHINE}/$(gcc-fullversion)/include/ace.old"
+ fi
+}
diff --git a/dev-libs/ace/files/ace-missing-refcountable-header.patch b/dev-libs/ace/files/ace-missing-refcountable-header.patch
new file mode 100644
index 000000000000..df5c4070ea8e
--- /dev/null
+++ b/dev-libs/ace/files/ace-missing-refcountable-header.patch
@@ -0,0 +1,26 @@
+--- ace/Makefile.am.orig 2008-10-22 22:28:29.000000000 +0300
++++ ace/Makefile.am 2008-10-22 22:29:50.000000000 +0300
+@@ -876,6 +876,7 @@
+ Recursive_Thread_Mutex.inl \
+ Recyclable.h \
+ Recyclable.inl \
++ Refcountable.h \
+ Refcountable_T.cpp \
+ Refcountable_T.h \
+ Refcountable_T.inl \
+@@ -1054,6 +1055,7 @@
+ Timeprobe_T.h \
+ Timer_Hash_T.cpp \
+ Timer_Hash_T.h \
++ Timer_Heap.h \
+ Timer_Heap_T.cpp \
+ Timer_Heap_T.h \
+ Timer_List_T.cpp \
+@@ -1061,6 +1063,7 @@
+ Timer_Queue_Adapters.cpp \
+ Timer_Queue_Adapters.h \
+ Timer_Queue_Adapters.inl \
++ Timer_Queue.h \
+ Timer_Queue_T.cpp \
+ Timer_Queue_T.h \
+ Timer_Queue_T.inl \
diff --git a/dev-libs/ace/metadata.xml b/dev-libs/ace/metadata.xml
new file mode 100644
index 000000000000..1444c9845d97
--- /dev/null
+++ b/dev-libs/ace/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+<use>
+ <flag name='ciao'>Include Component Intergraced Ace ORB into the build of
+ ace</flag>
+ <flag name='tao'>Include the ACE ORB (CORBA stuff) (called tao) into the
+ build of ace</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/angelscript/Manifest b/dev-libs/angelscript/Manifest
new file mode 100644
index 000000000000..a22ea1375c09
--- /dev/null
+++ b/dev-libs/angelscript/Manifest
@@ -0,0 +1 @@
+DIST angelscript_2.29.2.zip 1583192 SHA256 c5d549bcd2d04e0dbdfdeea1e1446a34bc9dc449efe0d6fb7fabfb98ee269a8b SHA512 76537a35bfa8f5f90d48a601f4cf1ff6cf8cd648c93b2ea17d3f0fbc7ccaa3d915bbe49d758916d0626a026ece8ecd1646bbb99db41d5a4c9f7c87d915c0d4ff WHIRLPOOL 1f24f56c7601b5f731a4e631f995668f268c26d57dce93944a758c5efd86ed651fd842b16419dad73eb8e7df641ccc5b4a226ccfc99fe1cc9a4c736e5d3076eb
diff --git a/dev-libs/angelscript/angelscript-2.29.2.ebuild b/dev-libs/angelscript/angelscript-2.29.2.ebuild
new file mode 100644
index 000000000000..930c79de931a
--- /dev/null
+++ b/dev-libs/angelscript/angelscript-2.29.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="A flexible, cross-platform scripting library"
+HOMEPAGE="http://www.angelcode.com/angelscript/"
+SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc static-libs"
+
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}/sdk
+S2=${WORKDIR}/sdk_static
+
+pkg_setup() {
+ tc-export CXX AR RANLIB
+}
+
+src_prepare() {
+ if use static-libs ; then
+ cp -pR "${WORKDIR}"/sdk "${S2}"/ || die
+ fi
+ epatch "${FILESDIR}"/${P}-execstack.patch
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ einfo "Shared build"
+ emake -C ${PN}/projects/gnuc SHARED=1 VERSION=${PV}
+
+ if use static-libs ; then
+ einfo "Static build"
+ emake -C ${PN}/projects/gnuc
+ fi
+}
+
+multilib_src_install() {
+ doheader ${PN}/include/angelscript.h
+ dolib.so ${PN}/lib/libangelscript-${PV}.so
+ dosym libangelscript-${PV}.so /usr/$(get_libdir)/libangelscript.so
+
+ if use static-libs ; then
+ dolib.a ${PN}/lib/libangelscript.a
+ fi
+}
+
+multilib_src_install_all() {
+ use doc && dohtml -r "${WORKDIR}"/sdk/docs/*
+}
diff --git a/dev-libs/angelscript/files/angelscript-2.29.2-execstack.patch b/dev-libs/angelscript/files/angelscript-2.29.2-execstack.patch
new file mode 100644
index 000000000000..2cdb6696dd70
--- /dev/null
+++ b/dev-libs/angelscript/files/angelscript-2.29.2-execstack.patch
@@ -0,0 +1,13 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Mar 23 13:45:39 UTC 2014
+Subject: fix RWX sections
+
+--- a/sdk/angelscript/source/as_callfunc_arm_gcc.S
++++ b/sdk/angelscript/source/as_callfunc_arm_gcc.S
+@@ -696,3 +696,6 @@
+
+ #endif /* arm */
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/dev-libs/angelscript/metadata.xml b/dev-libs/angelscript/metadata.xml
new file mode 100644
index 000000000000..e96e35b1a37c
--- /dev/null
+++ b/dev-libs/angelscript/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/antlr-c/Manifest b/dev-libs/antlr-c/Manifest
new file mode 100644
index 000000000000..7218aff34540
--- /dev/null
+++ b/dev-libs/antlr-c/Manifest
@@ -0,0 +1 @@
+DIST antlr-3.5.tar.gz 6791279 SHA256 6be17690f782c899cda68be812df5c40911aed057bf0192b0c37d2711cba8fc8 SHA512 a7014bc5d178add8a1f8e44a19ec60fed934f79f38fd702c7d7c3bb6a8c803492063911f86a445b696d10956f6f902144a5244046e83d70cffdc1717400c38a7 WHIRLPOOL c364d9ffac34de2e80a04233c73cab54b468eb958d924a305ccfc534587996edd4ee78a8fbb9416f2cad404dc43f44da9f9717e32e3f33da900c450c41a046ea
diff --git a/dev-libs/antlr-c/antlr-c-3.5.ebuild b/dev-libs/antlr-c/antlr-c-3.5.ebuild
new file mode 100644
index 000000000000..3ac3af37cca4
--- /dev/null
+++ b/dev-libs/antlr-c/antlr-c-3.5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils eutils
+
+MY_P="antlr-${PV}"
+DESCRIPTION="The ANTLR3 C Runtime"
+HOMEPAGE="https://github.com/antlr/antlr3/tree/master/runtime/C"
+SRC_URI="https://github.com/antlr/antlr3/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug debugger doc static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}/antlr3-${MY_P}/runtime/C"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+PATCHES=( "${FILESDIR}/${PN}-3.3-cflags.patch" )
+
+src_prepare() {
+ sed -i -e '/^QUIET/s/NO/YES/' doxyfile || die 'sed on doxyfile failed'
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable debug debuginfo)
+ $(use_enable debugger antlrdebug)
+ )
+ if use amd64 || use ia64; then
+ myeconfargs+=( --enable-64bit )
+ else
+ myeconfargs+=( --disable-64bit )
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ if use doc; then
+ einfo "Generating documentation API ..."
+ doxygen -u doxyfile
+ doxygen doxyfile || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use doc; then
+ dohtml api/*
+ fi
+}
diff --git a/dev-libs/antlr-c/files/antlr-c-3.3-cflags.patch b/dev-libs/antlr-c/files/antlr-c-3.3-cflags.patch
new file mode 100644
index 000000000000..854513311827
--- /dev/null
+++ b/dev-libs/antlr-c/files/antlr-c-3.3-cflags.patch
@@ -0,0 +1,14 @@
+diff -ur libantlr3c-3.3-SNAPSHOT.old//configure.ac libantlr3c-3.3-SNAPSHOT/configure.ac
+--- libantlr3c-3.3-SNAPSHOT.old//configure.ac 2011-04-03 10:40:51.277000042 +0300
++++ libantlr3c-3.3-SNAPSHOT/configure.ac 2011-04-03 10:41:22.092000042 +0300
+@@ -134,8 +134,8 @@
+ ;;
+ esac
+
+-CFLAGS="$CCFLAGS64 $CPPCMNTFLAGS $OPTIMFLAGS $DEBUGFLAGS $WARNFLAGS"
+-AC_MSG_RESULT([$CFLAGS])
++AM_CFLAGS="$CCFLAGS64 $CPPCMNTFLAGS $OPTIMFLAGS $DEBUGFLAGS $WARNFLAGS"
++AC_MSG_RESULT([$AM_CFLAGS])
+ AC_SUBST([OBJECT_MODE])
+
+ AS_IF([test "x$enable_antlrdebug" = xno], [AC_DEFINE([ANTLR3_NODEBUGGER], [1], [Define if ANTLR debugger not required])], [])
diff --git a/dev-libs/antlr-c/metadata.xml b/dev-libs/antlr-c/metadata.xml
new file mode 100644
index 000000000000..de8439db372e
--- /dev/null
+++ b/dev-libs/antlr-c/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="debugger">Compiles debug info into the library</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">antlr/antlr3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/appstream-glib/Manifest b/dev-libs/appstream-glib/Manifest
new file mode 100644
index 000000000000..1d4cb8f281eb
--- /dev/null
+++ b/dev-libs/appstream-glib/Manifest
@@ -0,0 +1,2 @@
+DIST appstream-glib-0.3.4.tar.xz 1814472 SHA256 97b948ad992cb985e5bed533446fb5d23632397cfe2833034e11d4c6b47199da SHA512 e128609980512a4975f1226dc41300480c43f311611ac935973e850a53562f7c770622239d4dd1a2ccd88430c2a305c64927a507125f6d7761c04d8ecf0ab502 WHIRLPOOL f80edc738ca5e07255625cc4322d483c2ae753e06d1f84eed1755239c2f87aff0fd13a60bd7bae2e4f4ffecc2760a6c301e98dd085a157448e89fcd91d6e614d
+DIST appstream-glib-0.4.0.tar.xz 1837552 SHA256 f4dee0e86549009f248d38eb643061e82ff0d542f06e1f4af6b36af2f97c2e13 SHA512 54769b47f11f8792ee85ab0922d8a256800c00558ca9e2fcaab30845e3fbd9f4a08d311608f0b600f8ad070d79d5227cd9ac4b644ef6d94e1772e4695c4f1afe WHIRLPOOL da036564be55acc4c0b3d5320f165ac98d6f4754ed74dda8b06d31c7bfd91b10ff3f4ff0d85b141bfa804391befcadecd714a9b110d422cf9286c899714ad58d
diff --git a/dev-libs/appstream-glib/appstream-glib-0.3.4.ebuild b/dev-libs/appstream-glib/appstream-glib-0.3.4.ebuild
new file mode 100644
index 000000000000..112584342b2b
--- /dev/null
+++ b/dev-libs/appstream-glib/appstream-glib-0.3.4.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit bash-completion-r1 gnome2
+
+DESCRIPTION="Provides GObjects and helper methods to read and write AppStream metadata"
+HOMEPAGE="http://people.freedesktop.org/~hughsient/appstream-glib/"
+SRC_URI="http://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/7"
+KEYWORDS="amd64 arm hppa ~ia64 ppc ppc64 ~sparc x86"
+IUSE="+introspection nls"
+
+# FIXME: yaml is optional with --enable-dep11 but not
+# properly handled in autofoo bug#????
+RDEPEND="
+ app-arch/libarchive
+ dev-db/sqlite:3
+ >=dev-libs/glib-2.16.1:2
+ >=media-libs/fontconfig-2.11
+ >=media-libs/freetype-2.4:2
+ >=net-libs/libsoup-2.24:2.4
+ >=x11-libs/gdk-pixbuf-2.14:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ dev-libs/libyaml
+ introspection? ( >=dev-libs/gobject-introspection-0.9.8 )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-am-1.9
+ >=dev-util/intltool-0.40
+ >=sys-devel/gettext-0.17
+"
+# ${PN} superseeds appdata-tools, require dummy package until all ebuilds
+# are migrated to appstream-glib
+RDEPEND="${RDEPEND}
+ !<dev-util/appdata-tools-0.1.8-r1"
+PDEPEND=">=dev-util/appdata-tools-0.1.8-r1"
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-rpm \
+ --disable-static \
+ --enable-dep11 \
+ --enable-man \
+ $(use_enable nls) \
+ $(use_enable introspection) \
+ --with-bashcompletiondir="$(get_bashcompdir)"
+}
diff --git a/dev-libs/appstream-glib/appstream-glib-0.4.0.ebuild b/dev-libs/appstream-glib/appstream-glib-0.4.0.ebuild
new file mode 100644
index 000000000000..a1693fbcca6a
--- /dev/null
+++ b/dev-libs/appstream-glib/appstream-glib-0.4.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit bash-completion-r1 gnome2
+
+DESCRIPTION="Provides GObjects and helper methods to read and write AppStream metadata"
+HOMEPAGE="http://people.freedesktop.org/~hughsient/appstream-glib/"
+SRC_URI="http://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/7"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+IUSE="+introspection nls"
+
+# FIXME: yaml is optional with --enable-dep11 but not
+# properly handled in autofoo bug#????
+RDEPEND="
+ app-arch/gcab
+ app-arch/libarchive
+ dev-db/sqlite:3
+ >=dev-libs/glib-2.16.1:2
+ >=media-libs/fontconfig-2.11
+ >=media-libs/freetype-2.4:2
+ >=net-libs/libsoup-2.24:2.4
+ >=x11-libs/gdk-pixbuf-2.14:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ dev-libs/libyaml
+ introspection? ( >=dev-libs/gobject-introspection-0.9.8:= )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-am-1.9
+ >=dev-util/intltool-0.40
+ >=sys-devel/gettext-0.17
+"
+# ${PN} superseeds appdata-tools, require dummy package until all ebuilds
+# are migrated to appstream-glib
+RDEPEND="${RDEPEND}
+ !<dev-util/appdata-tools-0.1.8-r1
+"
+PDEPEND=">=dev-util/appdata-tools-0.1.8-r1"
+
+src_configure() {
+ gnome2_src_configure \
+ --enable-builder \
+ --disable-ostree \
+ --disable-rpm \
+ --disable-static \
+ --enable-dep11 \
+ --enable-man \
+ $(use_enable nls) \
+ $(use_enable introspection) \
+ --with-bashcompletiondir="$(get_bashcompdir)"
+}
diff --git a/dev-libs/appstream-glib/metadata.xml b/dev-libs/appstream-glib/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/appstream-glib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/apr-util/Manifest b/dev-libs/apr-util/Manifest
new file mode 100644
index 000000000000..10dcdfeddf1b
--- /dev/null
+++ b/dev-libs/apr-util/Manifest
@@ -0,0 +1,3 @@
+DIST apr-util-1.5.2.tar.bz2 693258 SHA256 9ace3d2e3129d5c244ef695a88b3b47897695e8e6ca2b96e92e4a635d9ed12a7 SHA512 14e890aa1a34369ddf0d041d397231e21994c0a51d3a07dd126985699184ee59c2df32dd752339dd90278988a9461c714f0a157126229be57450259646a1d6df WHIRLPOOL 94972bf43b21527015a489e640d81087021a7818fb4435b60a0b753d214e53b05630976894c81a70a069bb6918150c22df7621c63a539082a8b90ca442adce0e
+DIST apr-util-1.5.3.tar.bz2 695303 SHA256 78edb174f13e25ee15ded2b849b741a248b879a93a77a2d31c20f7e225be3968 SHA512 b03588fd10c8705ea72cb35e821a99ba160c5a480d91d766969672c72a4db5bc2ec01b13cbe0eccc1cd1eadd96e8198994296bc2f0232b3fce4e82271a382db6 WHIRLPOOL 4e3d131c2fcb5818db76c2d663caf7ab193a020011d21a1b03238075ba1ddb9778aa3df1e165cb13833efc446c81d13893a126d91e8da6cc55a5431e50f3b797
+DIST apr-util-1.5.4.tar.bz2 694427 SHA256 a6cf327189ca0df2fb9d5633d7326c460fe2b61684745fd7963e79a6dd0dc82e SHA512 ca877d8e444218c4ba0f28063ee075ddcd6c0a487b692dc80ef442fe775ec4eeb337c6957853772e8082e27edcb450d7e909c2c6c3ab4a95bbf0a5ee5ea4a2d1 WHIRLPOOL bc4ce82785513f4bf2207bb26758abc79e6bfef62a57d3e2ead570abc618b321c302390b9dcd8eab1ec44a9e5d398c2cc4d35af2549636e20d7c20678725ac2e
diff --git a/dev-libs/apr-util/apr-util-1.5.2.ebuild b/dev-libs/apr-util/apr-util-1.5.2.ebuild
new file mode 100644
index 000000000000..c394781a2706
--- /dev/null
+++ b/dev-libs/apr-util/apr-util-1.5.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
+# APR_PV="${PV}"
+APR_PV="1.4.6"
+
+inherit autotools db-use eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Utility Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="berkdb doc freetds gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
+RESTRICT="test"
+
+RDEPEND="dev-libs/expat
+ >=dev-libs/apr-${APR_PV}:1
+ berkdb? ( >=sys-libs/db-4 )
+ freetds? ( dev-db/freetds )
+ gdbm? ( sys-libs/gdbm )
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( =virtual/mysql-5* )
+ nss? ( dev-libs/nss )
+ odbc? ( dev-db/unixODBC )
+ openssl? ( dev-libs/openssl )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ eautoreconf
+
+ elibtoolize
+}
+
+src_configure() {
+ local myconf
+
+ tc-is-static-only && myconf+=" --disable-util-dso"
+
+ if use berkdb; then
+ local db_version
+ db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
+ db_version="$(db_ver_to_slot "${db_version}")"
+ db_version="${db_version/\./}"
+ myconf+=" --with-dbm=db${db_version} --with-berkeley-db=$(db_includedir 2> /dev/null):${EPREFIX}/usr/$(get_libdir)"
+ else
+ myconf+=" --without-berkeley-db"
+ fi
+
+ econf \
+ --datadir="${EPREFIX}"/usr/share/apr-util-1 \
+ --with-apr="${EPREFIX}"/usr \
+ --with-expat="${EPREFIX}"/usr \
+ --without-sqlite2 \
+ $(use_with freetds) \
+ $(use_with gdbm) \
+ $(use_with ldap) \
+ $(use_with mysql) \
+ $(use_with nss) \
+ $(use_with odbc) \
+ $(use_with openssl) \
+ $(use_with postgres pgsql) \
+ $(use_with sqlite sqlite3) \
+ ${myconf}
+}
+
+src_compile() {
+ emake CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+
+ if use doc; then
+ emake dox
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -exec rm -f {} +
+ find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -exec rm -f {} +
+
+ if use doc; then
+ dohtml -r docs/dox/html/*
+ fi
+
+ if ! use static-libs; then
+ find "${ED}" -name "*.a" -exec rm -f {} +
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ rm -f "${ED}usr/$(get_libdir)/aprutil.exp"
+}
diff --git a/dev-libs/apr-util/apr-util-1.5.3-r2.ebuild b/dev-libs/apr-util/apr-util-1.5.3-r2.ebuild
new file mode 100644
index 000000000000..807719ed49d9
--- /dev/null
+++ b/dev-libs/apr-util/apr-util-1.5.3-r2.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
+# APR_PV="${PV}"
+APR_PV="1.4.6"
+
+inherit autotools db-use eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Utility Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="berkdb doc freetds gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
+RESTRICT="test"
+
+RDEPEND="dev-libs/expat
+ >=dev-libs/apr-${APR_PV}:1
+ berkdb? ( >=sys-libs/db-4 )
+ freetds? ( dev-db/freetds )
+ gdbm? ( sys-libs/gdbm )
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( =virtual/mysql-5* )
+ nss? ( dev-libs/nss )
+ odbc? ( dev-db/unixODBC )
+ openssl? ( dev-libs/openssl )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-berkdb6.patch #476374
+ epatch "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=()
+
+ tc-is-static-only && myconf+=( --disable-util-dso )
+
+ if use berkdb; then
+ local db_version
+ db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
+ db_version="$(db_ver_to_slot "${db_version}")"
+ db_version="${db_version/\./}"
+ myconf+=(
+ --with-dbm=db${db_version}
+ # We use $T for the libdir because otherwise it'd simply be the normal
+ # system libdir. That's pointless as the compiler will search it for
+ # us already. This makes cross-compiling and such easier.
+ --with-berkeley-db="${SYSROOT}$(db_includedir 2>/dev/null):${T}"
+ )
+ else
+ myconf+=( --without-berkeley-db )
+ fi
+
+ if use nss || use openssl ; then
+ myconf+=( --with-crypto ) # 518708
+ fi
+
+ econf \
+ --datadir="${EPREFIX}"/usr/share/apr-util-1 \
+ --with-apr="${SYSROOT}${EPREFIX}"/usr \
+ --with-expat="${EPREFIX}"/usr \
+ --without-sqlite2 \
+ $(use_with freetds) \
+ $(use_with gdbm) \
+ $(use_with ldap) \
+ $(use_with mysql) \
+ $(use_with nss) \
+ $(use_with odbc) \
+ $(use_with openssl) \
+ $(use_with postgres pgsql) \
+ $(use_with sqlite sqlite3) \
+ "${myconf[@]}"
+ # Use the current env build settings rather than whatever apr was built with.
+ sed -i -r \
+ -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e '/^(C|CPP|CXX|LD)FLAGS=/d' \
+ -e '/^LTFLAGS/s:--silent::' \
+ build/rules.mk || die
+}
+
+src_compile() {
+ emake
+ use doc && emake dox
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete
+ find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete
+ use static-libs || find "${ED}" -name "*.a" -delete
+
+ use doc && dohtml -r docs/dox/html/*
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ rm -f "${ED}usr/$(get_libdir)/aprutil.exp"
+}
diff --git a/dev-libs/apr-util/apr-util-1.5.4.ebuild b/dev-libs/apr-util/apr-util-1.5.4.ebuild
new file mode 100644
index 000000000000..22a1e1945efc
--- /dev/null
+++ b/dev-libs/apr-util/apr-util-1.5.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
+# APR_PV="${PV}"
+APR_PV="1.4.6"
+
+inherit autotools db-use eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Utility Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="berkdb doc freetds gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
+#RESTRICT="test"
+
+RDEPEND="dev-libs/expat
+ >=dev-libs/apr-${APR_PV}:1
+ berkdb? ( >=sys-libs/db-4 )
+ freetds? ( dev-db/freetds )
+ gdbm? ( sys-libs/gdbm )
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( =virtual/mysql-5* )
+ nss? ( dev-libs/nss )
+ odbc? ( dev-db/unixODBC )
+ openssl? ( dev-libs/openssl )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=()
+
+ tc-is-static-only && myconf+=( --disable-util-dso )
+
+ if use berkdb; then
+ local db_version
+ db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
+ db_version="$(db_ver_to_slot "${db_version}")"
+ db_version="${db_version/\./}"
+ myconf+=(
+ --with-dbm=db${db_version}
+ # We use $T for the libdir because otherwise it'd simply be the normal
+ # system libdir. That's pointless as the compiler will search it for
+ # us already. This makes cross-compiling and such easier.
+ --with-berkeley-db="${SYSROOT}$(db_includedir 2>/dev/null):${T}"
+ )
+ else
+ myconf+=( --without-berkeley-db )
+ fi
+
+ if use nss || use openssl ; then
+ myconf+=( --with-crypto ) # 518708
+ fi
+
+ econf \
+ --datadir="${EPREFIX}"/usr/share/apr-util-1 \
+ --with-apr="${SYSROOT}${EPREFIX}"/usr \
+ --with-expat="${EPREFIX}"/usr \
+ --without-sqlite2 \
+ $(use_with freetds) \
+ $(use_with gdbm) \
+ $(use_with ldap) \
+ $(use_with mysql) \
+ $(use_with nss) \
+ $(use_with odbc) \
+ $(use_with openssl) \
+ $(use_with postgres pgsql) \
+ $(use_with sqlite sqlite3) \
+ "${myconf[@]}"
+ # Use the current env build settings rather than whatever apr was built with.
+ sed -i -r \
+ -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e '/^(C|CPP|CXX|LD)FLAGS=/d' \
+ -e '/^LTFLAGS/s:--silent::' \
+ build/rules.mk || die
+}
+
+src_compile() {
+ emake
+ use doc && emake dox
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete
+ find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete
+ use static-libs || find "${ED}" -name "*.a" -delete
+
+ use doc && dohtml -r docs/dox/html/*
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ rm -f "${ED}usr/$(get_libdir)/aprutil.exp"
+}
diff --git a/dev-libs/apr-util/files/apr-util-1.3.12-bdb-5.2.patch b/dev-libs/apr-util/files/apr-util-1.3.12-bdb-5.2.patch
new file mode 100644
index 000000000000..5687a8e730fc
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.3.12-bdb-5.2.patch
@@ -0,0 +1,139 @@
+--- build/dbm.m4
++++ build/dbm.m4
+@@ -579,6 +579,25 @@
+ apu_db_version=5
+ fi
+ ])
++dnl
++dnl APU_CHECK_DB52: is DB5.2 present?
++dnl
++dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version
++dnl
++AC_DEFUN([APU_CHECK_DB52], [
++ places=$1
++ if test -z "$places"; then
++ places="std /usr/local/BerkeleyDB.5.2 /boot/home/config"
++ fi
++ APU_CHECK_BERKELEY_DB("5", "2", "-1",
++ "$places",
++ "db52/db.h db5/db.h db.h",
++ "db-5.2 db5-5.2 db52 db5 db"
++ )
++ if test "$apu_have_db" = "1"; then
++ apu_db_version=5
++ fi
++])
+
+ AC_DEFUN([APU_CHECK_DB], [
+ requested=$1
+@@ -681,6 +700,12 @@
+ AC_MSG_ERROR(Berkeley db5 not found)
+ fi
+ ;;
++ db52)
++ APU_CHECK_DB52("$check_places")
++ if test "$apu_db_version" != "5"; then
++ AC_MSG_ERROR(Berkeley db5 not found)
++ fi
++ ;;
+ default)
+ APU_CHECK_DB_ALL("$check_places")
+ ;;
+@@ -688,40 +713,43 @@
+ ])
+
+ dnl
+-dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.1 to 1.
++dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.2 to 1.
+ dnl
+ AC_DEFUN([APU_CHECK_DB_ALL], [
+ all_places=$1
+
+- APU_CHECK_DB51("$all_places")
++ APU_CHECK_DB52("$all_places")
+ if test "$apu_db_version" != "5"; then
+- APU_CHECK_DB50("$all_places")
++ APU_CHECK_DB51("$all_places")
+ if test "$apu_db_version" != "5"; then
+- APU_CHECK_DB48("$all_places")
+- if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB47("$all_places")
++ APU_CHECK_DB50("$all_places")
++ if test "$apu_db_version" != "5"; then
++ APU_CHECK_DB48("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB46("$all_places")
++ APU_CHECK_DB47("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB45("$all_places")
++ APU_CHECK_DB46("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB44("$all_places")
++ APU_CHECK_DB45("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB43("$all_places")
++ APU_CHECK_DB44("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB42("$all_places")
++ APU_CHECK_DB43("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB41("$all_places")
++ APU_CHECK_DB42("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB4("$all_places")
++ APU_CHECK_DB41("$all_places")
+ if test "$apu_db_version" != "4"; then
+- APU_CHECK_DB3("$all_places")
+- if test "$apu_db_version" != "3"; then
+- APU_CHECK_DB2("$all_places")
+- if test "$apu_db_version" != "2"; then
+- APU_CHECK_DB1("$all_places")
+- if test "$apu_db_version" != "1"; then
+- APU_CHECK_DB185("$all_places")
++ APU_CHECK_DB4("$all_places")
++ if test "$apu_db_version" != "4"; then
++ APU_CHECK_DB3("$all_places")
++ if test "$apu_db_version" != "3"; then
++ APU_CHECK_DB2("$all_places")
++ if test "$apu_db_version" != "2"; then
++ APU_CHECK_DB1("$all_places")
++ if test "$apu_db_version" != "1"; then
++ APU_CHECK_DB185("$all_places")
++ fi
+ fi
+ fi
+ fi
+@@ -763,11 +791,11 @@
+ apu_db_version=0
+
+ AC_ARG_WITH(dbm, [APR_HELP_STRING([--with-dbm=DBM], [choose the DBM type to use.
+- DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51}])],
++ DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51,db52}])],
+ [
+ if test "$withval" = "yes"; then
+ AC_MSG_ERROR([--with-dbm needs to specify a DBM type to use.
+- One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
++ One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51, db52])
+ fi
+ requested="$withval"
+ ], [
+@@ -978,6 +1006,10 @@
+ apu_use_db=1
+ apu_default_dbm=db5
+ ;;
++ db52)
++ apu_use_db=1
++ apu_default_dbm=db5
++ ;;
+ default)
+ dnl ### use more sophisticated DBMs for the default?
+ apu_default_dbm="sdbm (default)"
+@@ -985,7 +1017,7 @@
+ ;;
+ *)
+ AC_MSG_ERROR([--with-dbm=$look_for is an unknown DBM type.
+- Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
++ Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51, db52])
+ ;;
+ esac
+
diff --git a/dev-libs/apr-util/files/apr-util-1.5.3-berkdb6.patch b/dev-libs/apr-util/files/apr-util-1.5.3-berkdb6.patch
new file mode 100644
index 000000000000..a3f4a3c9b19d
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.5.3-berkdb6.patch
@@ -0,0 +1,69 @@
+http://svn.apache.org/viewvc/apr/apr/trunk/build/dbm.m4?r1=1495889&r2=1544846&diff_format=h
+
+--- apr/apr/trunk/build/dbm.m4 2013/06/23 20:27:54 1495889
++++ apr/apr/trunk/build/dbm.m4 2013/11/23 17:57:39 1544846
+@@ -112,7 +112,7 @@
+ changequote([,])
+ unset $cache_id
+ AC_CHECK_HEADER([$bdb_header], [
+- if test "$1" = "3" -o "$1" = "4" -o "$1" = "5"; then
++ if test "$1" = "3" -o "$1" = "4" -o "$1" = "5" -o "$1" = "6"; then
+ # We generate a separate cache variable for each prefix and libname
+ # we search under. That way, we avoid caching information that
+ # changes if the user runs `configure' with a different set of
+@@ -455,13 +455,13 @@
+ ])
+
+ dnl
+-dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.X to 1.
++dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 6.X to 1.
+ dnl
+ AC_DEFUN([APU_CHECK_DB_ALL], [
+ all_places=$1
+
+- # Start version search at version 5.9
+- db_version=59
++ # Start version search at version 6.9
++ db_version=69
+ while [[ $db_version -ge 40 ]]
+ do
+ db_major=`echo $db_version | sed -e 's/.$//'`
+@@ -511,19 +511,34 @@
+ apu_db_version=0
+
+ # Maximum supported version announced in help string.
+- # Although we search for all versions up to 5.9,
++ # Although we search for all versions up to 6.9,
+ # we should only include existing versions in our
+ # help string.
+- db_max_version=53
+- db_min_version=41
+ dbm_list="sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4"
++ db_max_version=48
++ db_min_version=41
++ db_version="$db_min_version"
++ while [[ $db_version -le $db_max_version ]]
++ do
++ dbm_list="$dbm_list, db$db_version"
++ db_version=`expr $db_version + 1`
++ done
++ db_max_version=53
++ db_min_version=50
++ db_version="$db_min_version"
++ while [[ $db_version -le $db_max_version ]]
++ do
++ dbm_list="$dbm_list, db$db_version"
++ db_version=`expr $db_version + 1`
++ done
++ db_max_version=60
++ db_min_version=60
+ db_version="$db_min_version"
+ while [[ $db_version -le $db_max_version ]]
+ do
+ dbm_list="$dbm_list, db$db_version"
+ db_version=`expr $db_version + 1`
+ done
+- dbm_list="$dbm_list, db60"
+
+ AC_ARG_WITH(dbm, [APR_HELP_STRING([--with-dbm=DBM], [choose the DBM type to use.
+ DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db4X,db5X,db6X} for some X=0,...,9])],
diff --git a/dev-libs/apr-util/files/apr-util-1.5.3-sysroot.patch b/dev-libs/apr-util/files/apr-util-1.5.3-sysroot.patch
new file mode 100644
index 000000000000..ce07b1470525
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.5.3-sysroot.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/385775
+
+utilize $SYSROOT to find the right includedir tree
+
+drop the -L/-R paths since we know our libdir is the standard path which
+the compiler already knows how to locate
+
+--- a/apu-config.in
++++ b/apu-config.in
+@@ -25,7 +25,7 @@ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+ bindir="@bindir@"
+ libdir="@libdir@"
+-includedir="@includedir@"
++includedir="${SYSROOT}@includedir@"
+
+ LIBS="@APRUTIL_EXPORT_LIBS@"
+ INCLUDES="@APRUTIL_INCLUDES@"
+@@ -166,7 +166,7 @@ while test $# -gt 0; do
+ --link-ld)
+ if test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+- flags="$flags -L$libdir -l$APRUTIL_LIBNAME"
++ flags="$flags -l$APRUTIL_LIBNAME"
+ else
+ flags="$flags -L$APU_BUILD_DIR -l$APRUTIL_LIBNAME"
+ fi
+@@ -182,7 +182,7 @@ while test $# -gt 0; do
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+- flags="$flags -L$libdir -R$libdir -l$APRUTIL_LIBNAME"
++ flags="$flags -l$APRUTIL_LIBNAME"
+ else
+ flags="$flags $LA_FILE"
+ fi
diff --git a/dev-libs/apr-util/metadata.xml b/dev-libs/apr-util/metadata.xml
new file mode 100644
index 000000000000..5847a73b54fe
--- /dev/null
+++ b/dev-libs/apr-util/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <use>
+ <flag name="nss">Install apr_crypto_nss module</flag>
+ <flag name="openssl">Install apr_crypto_openssl module</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/apr/Manifest b/dev-libs/apr/Manifest
new file mode 100644
index 000000000000..056054a33088
--- /dev/null
+++ b/dev-libs/apr/Manifest
@@ -0,0 +1,3 @@
+DIST apr-1.5.0.tar.bz2 813976 SHA256 17287d36a5917e27281e60d47e7b147bd5ddcd1ca832702c2318f5e0724f1221 SHA512 d54d995a67fe13a619d4781cbfcfae07679d15defa49634ee472c6a93f9521f7964e6e3e366188f1817c01a8fdb98b4ff042e56d8bd9bc379683d6c4ccff2a3e WHIRLPOOL 083da7589f85fb2212b4ced33004ee30848a40cf4718de36a21dfcba15b794dc9b57a9324cdd400e2df74564f9ad27899119de55075f1e0285415471b47f90e7
+DIST apr-1.5.1.tar.bz2 817569 SHA256 e94abe431d4da48425fcccdb27b469bd0f8151488f82e5630a56f26590e198ac SHA512 0d8dea97490cd0b0689eb090d0e32ab9b582e4a0248ea7028e2a44552fc3839013b18cff985547aa9bbb549d93bc4859cca1d8ef95b32d4d4fd610ed19bde435 WHIRLPOOL 553efdefdb58ae44015ef36505c70b52122b750e6c3f63d9ccaa0878efd476dac249a62e2fb644d3e709c372a2805b1d76869c0e9b880b6273f46ef2e9937ace
+DIST apr-1.5.2.tar.bz2 826885 SHA256 7d03ed29c22a7152be45b8e50431063736df9e1daa1ddf93f6a547ba7a28f67a SHA512 d1156ad16abf07887797777b56c2147c890f16d8445829b3e3b4917950d24c5fd2f8febd439992467a5ea0511da562c0fb4a7cfd8a235ab55882388bfa2b919d WHIRLPOOL 3f6fbb9410f7cd3ace2f80f361a02b190e14d744f38dbd6f87a5c60b4b1c4a99cd902ba9351a235d9f3bab044a981de21fb6c193d3ab3caba2448bf6c4e1bd1b
diff --git a/dev-libs/apr/apr-1.5.0-r2.ebuild b/dev-libs/apr/apr-1.5.0-r2.ebuild
new file mode 100644
index 000000000000..46b4fa4fec4a
--- /dev/null
+++ b/dev-libs/apr/apr-1.5.0-r2.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
+
+CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+ elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-apache )"
+DEPEND="${CDEPEND}
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.5.0-mint.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-libtool.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
+
+ epatch_user #449048
+
+ AT_M4DIR="build" eautoreconf
+ elibtoolize
+
+ epatch "${FILESDIR}/config.layout.patch"
+}
+
+src_configure() {
+ local myconf=()
+
+ [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
+
+ if use older-kernels-compatibility; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ elif (( ${CHOST#*-hpux11.} <= 11 )); then
+ : # no /dev/*random on hpux11.11 and before, $PN detects this.
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ # shl_load does not search runpath, but hpux11 supports dlopen
+ [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
+
+ if [[ ${CHOST} == *-solaris2.10 ]]; then
+ case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
+ *atomic_cas_ptr*) ;;
+ *)
+ elog "You do not have Solaris Patch ID "$(
+ [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
+ )" (Problem 4954703) installed on your host ($(hostname)),"
+ elog "using generic atomic operations instead."
+ myconf+=( --disable-nonportable-atomics )
+ ;;
+ esac
+ fi
+
+ econf \
+ --enable-layout=gentoo \
+ --enable-nonportable-atomics \
+ --enable-threads \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake
+
+ if use doc; then
+ emake dox
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete
+
+ if use doc; then
+ dohtml -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm -f "${ED}usr/$(get_libdir)/apr.exp"
+}
diff --git a/dev-libs/apr/apr-1.5.1-r1.ebuild b/dev-libs/apr/apr-1.5.1-r1.ebuild
new file mode 100644
index 000000000000..652ce637d178
--- /dev/null
+++ b/dev-libs/apr/apr-1.5.1-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
+
+CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+ elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-apache )"
+DEPEND="${CDEPEND}
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.5.0-mint.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-libtool.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
+ epatch "${FILESDIR}"/${PN}-1.5.1-parallel_make_install.patch
+
+ epatch_user #449048
+
+ AT_M4DIR="build" eautoreconf
+ elibtoolize
+
+ epatch "${FILESDIR}/config.layout.patch"
+}
+
+src_configure() {
+ local myconf=()
+
+ [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
+
+ if use older-kernels-compatibility; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ elif (( ${CHOST#*-hpux11.} <= 11 )); then
+ : # no /dev/*random on hpux11.11 and before, $PN detects this.
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ # shl_load does not search runpath, but hpux11 supports dlopen
+ [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
+
+ if [[ ${CHOST} == *-solaris2.10 ]]; then
+ case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
+ *atomic_cas_ptr*) ;;
+ *)
+ elog "You do not have Solaris Patch ID "$(
+ [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
+ )" (Problem 4954703) installed on your host ($(hostname)),"
+ elog "using generic atomic operations instead."
+ myconf+=( --disable-nonportable-atomics )
+ ;;
+ esac
+ fi
+
+ econf \
+ --enable-layout=gentoo \
+ --enable-nonportable-atomics \
+ --enable-posix-shm \
+ --enable-threads \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake
+
+ if use doc; then
+ emake dox
+ fi
+}
+
+src_install() {
+ default
+
+ # Prallel install breaks since apr-1.5.1
+ #make -j1 DESTDIR="${D}" install || die
+
+ prune_libtool_files --all
+
+ if use doc; then
+ dohtml -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm -f "${ED}usr/$(get_libdir)/apr.exp"
+}
diff --git a/dev-libs/apr/apr-1.5.2.ebuild b/dev-libs/apr/apr-1.5.2.ebuild
new file mode 100644
index 000000000000..270e6c02ad53
--- /dev/null
+++ b/dev-libs/apr/apr-1.5.2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils libtool multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="http://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
+
+CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+ elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-apache )"
+DEPEND="${CDEPEND}
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )"
+
+DOCS=(CHANGES NOTICE README)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.5.0-mint.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-libtool.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
+ epatch "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
+
+ epatch_user #449048
+
+ AT_M4DIR="build" eautoreconf
+ elibtoolize
+
+ epatch "${FILESDIR}/config.layout.patch"
+}
+
+src_configure() {
+ local myconf=()
+
+ [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
+
+ if use older-kernels-compatibility; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ elif (( ${CHOST#*-hpux11.} <= 11 )); then
+ : # no /dev/*random on hpux11.11 and before, $PN detects this.
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ # shl_load does not search runpath, but hpux11 supports dlopen
+ [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
+
+ if [[ ${CHOST} == *-solaris2.10 ]]; then
+ case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
+ *atomic_cas_ptr*) ;;
+ *)
+ elog "You do not have Solaris Patch ID "$(
+ [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
+ )" (Problem 4954703) installed on your host ($(hostname)),"
+ elog "using generic atomic operations instead."
+ myconf+=( --disable-nonportable-atomics )
+ ;;
+ esac
+ fi
+
+ econf \
+ --enable-layout=gentoo \
+ --enable-nonportable-atomics \
+ --enable-posix-shm \
+ --enable-threads \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake
+
+ if use doc; then
+ emake dox
+ fi
+}
+
+src_install() {
+ default
+
+ # Prallel install breaks since apr-1.5.1
+ #make -j1 DESTDIR="${D}" install || die
+
+ prune_libtool_files --all
+
+ if use doc; then
+ dohtml -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm -f "${ED}usr/$(get_libdir)/apr.exp"
+}
diff --git a/dev-libs/apr/files/apr-1.5.0-cross-types.patch b/dev-libs/apr/files/apr-1.5.0-cross-types.patch
new file mode 100644
index 000000000000..266e5676817f
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.5.0-cross-types.patch
@@ -0,0 +1,63 @@
+use standard AC_CHECK_SIZEOF as it supports non-builtin types and
+supports cross-compiling sanely
+
+https://issues.apache.org/bugzilla/show_bug.cgi?id=56053
+
+--- a/configure.in
++++ b/configure.in
+@@ -1684,7 +1684,7 @@ else
+ socklen_t_value="int"
+ fi
+
+-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8)
++AC_CHECK_SIZEOF(pid_t)
+
+ if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
+ pid_t_fmt='#define APR_PID_T_FMT "hd"'
+@@ -1753,7 +1753,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"])
+ APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"])
+ APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"])
+
+-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
++AC_CHECK_SIZEOF(ssize_t)
+
+ AC_MSG_CHECKING([which format to use for apr_ssize_t])
+ if test -n "$ssize_t_fmt"; then
+@@ -1770,7 +1770,7 @@ fi
+
+ ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
+
+-APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
++AC_CHECK_SIZEOF(size_t)
+
+ AC_MSG_CHECKING([which format to use for apr_size_t])
+ if test -n "$size_t_fmt"; then
+@@ -1787,7 +1787,7 @@ fi
+
+ size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
+
+-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)
++AC_CHECK_SIZEOF(off_t)
+
+ if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
+ # Enable LFS
+@@ -1866,7 +1866,7 @@ case $host in
+ ;;
+ *)
+ ino_t_value=ino_t
+- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long)
++ AC_CHECK_SIZEOF(ino_t)
+ if test $ac_cv_sizeof_ino_t = 4; then
+ if test $ac_cv_sizeof_long = 4; then
+ ino_t_value="unsigned long"
+@@ -1886,8 +1886,8 @@ else
+ bigendian=0
+ fi
+
+-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>
+-#include <sys/uio.h>],struct iovec,0)
++AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT
++#include <sys/uio.h>])
+ if test "$ac_cv_sizeof_struct_iovec" = "0"; then
+ have_iovec=0
+ else
diff --git a/dev-libs/apr/files/apr-1.5.0-libtool.patch b/dev-libs/apr/files/apr-1.5.0-libtool.patch
new file mode 100644
index 000000000000..5368a2689bdf
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.5.0-libtool.patch
@@ -0,0 +1,17 @@
+generate a local copy of libtool for use in compiling
+
+https://bugs.gentoo.org/374355
+
+--- a/configure.in
++++ b/configure.in
+@@ -260,9 +260,7 @@ case $host in
+ fi
+ else
+ dnl libtoolize requires that the following not be indented
+- dnl should become LT_INIT(win32-dll)
+-AC_LIBTOOL_WIN32_DLL
+-AC_PROG_LIBTOOL
++LT_INIT(win32-dll)
+ # get libtool's setting of shlibpath_var
+ eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
+ if test "x$shlibpath_var" = "x"; then
diff --git a/dev-libs/apr/files/apr-1.5.0-mint.patch b/dev-libs/apr/files/apr-1.5.0-mint.patch
new file mode 100644
index 000000000000..cfe039e962c6
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.5.0-mint.patch
@@ -0,0 +1,22 @@
+--- apr-1.5.0/build/apr_hints.m4
++++ apr-1.5.0/build/apr_hints.m4
+@@ -45,6 +45,8 @@
+ case "$host" in
+ *mint)
+ APR_ADDTO(CPPFLAGS, [-DMINT -D_GNU_SOURCE])
++ apr_cv_pthreads_cflags="none"
++ apr_cv_pthreads_lib="-lpthread"
+ ;;
+ *MPE/iX*)
+ APR_ADDTO(CPPFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
+--- apr-1.5.0/build/apr_threads.m4
++++ apr-1.5.0/build/apr_threads.m4
+@@ -198,7 +198,7 @@
+ AC_DEFUN([APR_CHECK_SIGWAIT_ONE_ARG], [
+ AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
+ AC_TRY_COMPILE([
+-#if defined(__NETBSD__) || defined(DARWIN)
++#if defined(__NETBSD__) || defined(DARWIN) || defined(MINT)
+ /* When using the unproven-pthreads package, we need to pull in this
+ * header to get a prototype for sigwait(). Else things will fail later
+ * on. XXX Should probably be fixed in the unproven-pthreads package.
diff --git a/dev-libs/apr/files/apr-1.5.0-sysroot.patch b/dev-libs/apr/files/apr-1.5.0-sysroot.patch
new file mode 100644
index 000000000000..54c9d649ef07
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.5.0-sysroot.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/385775
+
+utilize $SYSROOT to find the right includedir tree
+
+drop the -L/-R paths since we know our libdir is the standard path which
+the compiler already knows how to locate
+
+--- a/apr-config.in
++++ b/apr-config.in
+@@ -28,7 +28,7 @@ libdir="@libdir@"
+ datarootdir="@datadir@"
+ datadir="@datadir@"
+-installbuilddir="@installbuilddir@"
+-includedir="@includedir@"
++installbuilddir="${SYSROOT}@installbuilddir@"
++includedir="${SYSROOT}@includedir@"
+
+ CC="@CC@"
+ CPP="@CPP@"
+@@ -183,7 +183,7 @@ while test $# -gt 0; do
+ --link-ld)
+ if test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+- flags="$flags -L$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ else
+ ### this surely can't work since the library is in .libs?
+ flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"
+@@ -200,7 +200,7 @@ while test $# -gt 0; do
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ else
+ flags="$flags $LA_FILE"
+ fi
diff --git a/dev-libs/apr/files/apr-1.5.1-parallel_make_install.patch b/dev-libs/apr/files/apr-1.5.1-parallel_make_install.patch
new file mode 100644
index 000000000000..a58a229c378e
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.5.1-parallel_make_install.patch
@@ -0,0 +1,19 @@
+http://www.mail-archive.com/dev@apr.apache.org/msg25738.html
+
+--- apr-1.5.1/Makefile.in
++++ apr-1.5.1/Makefile.in
+@@ -129,11 +129,11 @@
+ etags:
+ etags `find . -name '*.[ch]'`
+
+-make_tools_dir:
++OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
++tools/gen_test_char.lo: tools/gen_test_char.c
+ $(APR_MKDIR) tools
++ $(LT_COMPILE)
+
+-OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
+-tools/gen_test_char.lo: make_tools_dir
+ tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char)
+ $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
+
diff --git a/dev-libs/apr/files/config.layout.patch b/dev-libs/apr/files/config.layout.patch
new file mode 100644
index 000000000000..66fa868c0bbe
--- /dev/null
+++ b/dev-libs/apr/files/config.layout.patch
@@ -0,0 +1,25 @@
+--- config.layout.orig 2006-07-06 21:44:41.000000000 -0700
++++ config.layout 2006-07-06 21:46:26.000000000 -0700
+@@ -229,3 +229,22 @@
+ infodir: ${exec_prefix}/share/info
+ libsuffix: -${APR_MAJOR_VERSION}
+ </Layout>
++
++# Gentoo layout
++<Layout gentoo>
++ prefix: /usr
++ exec_prefix: ${prefix}
++ bindir: ${exec_prefix}/bin
++ sbindir: ${exec_prefix}/bin
++ libdir: ${exec_prefix}/lib
++ libexecdir: ${exec_prefix}/modules
++ mandir: ${prefix}/man
++ sysconfdir: ${prefix}/conf
++ datadir: /usr/share/apr-${APR_MAJOR_VERSION}
++ installbuilddir: ${datadir}/build-${APR_MAJOR_VERSION}
++ includedir: ${prefix}/include/apr-${APR_MAJOR_VERSION}
++ localstatedir: ${prefix}
++ libsuffix: -${APR_MAJOR_VERSION}
++</Layout>
++
++
diff --git a/dev-libs/apr/metadata.xml b/dev-libs/apr/metadata.xml
new file mode 100644
index 000000000000..35b4bf8186fd
--- /dev/null
+++ b/dev-libs/apr/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <use>
+ <flag name="older-kernels-compatibility">Enable binary compatibility with older kernels</flag>
+ <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/argtable/Manifest b/dev-libs/argtable/Manifest
new file mode 100644
index 000000000000..74996a44d8f0
--- /dev/null
+++ b/dev-libs/argtable/Manifest
@@ -0,0 +1 @@
+DIST argtable2-13.tar.gz 3326444 SHA256 8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585 WHIRLPOOL 4927310025b4d74886deaa0e8e115be6e59a9a49a5d91ad5d80b310a2734e5d0e15665fe1f1b7b8fc5ef7009819a0fb21dca652cdc6b03668d685d10e37437b0
diff --git a/dev-libs/argtable/argtable-2.13.ebuild b/dev-libs/argtable/argtable-2.13.ebuild
new file mode 100644
index 000000000000..0234c457d468
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit versionator
+
+DESCRIPTION="An ANSI C library for parsing GNU-style command-line options with minimal fuss"
+HOMEPAGE="http://argtable.sourceforge.net/"
+
+MY_PV="$(replace_version_separator 1 '-')"
+MY_P=${PN}${MY_PV}
+
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc debug examples static-libs"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+ rm -rf "${D}"/usr/share/doc/${PN}2/
+
+ dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+
+ if use doc ; then
+ cd "${S}/doc"
+ dohtml *.html *.gif || die "dohtml failed"
+ dodoc *.pdf *.ps || die "dodoc failed"
+ fi
+
+ if use examples ; then
+ cd "${S}/example"
+ docinto examples
+ dodoc Makefile *.[ch] README.txt || die "dodoc failed"
+ fi
+
+ find "${ED}" -name "*.la" -delete || die "failed to delete .la files"
+}
diff --git a/dev-libs/argtable/metadata.xml b/dev-libs/argtable/metadata.xml
new file mode 100644
index 000000000000..cbcf94cc9036
--- /dev/null
+++ b/dev-libs/argtable/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>angelos@gentoo.org</email>
+ <name>Christoph Mende</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">argtable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/asyncresolv/Manifest b/dev-libs/asyncresolv/Manifest
new file mode 100644
index 000000000000..91f611861985
--- /dev/null
+++ b/dev-libs/asyncresolv/Manifest
@@ -0,0 +1 @@
+DIST asyncresolv-0.0.3.tar.gz 310716 SHA256 e5141e9a7bac0b1bd743e1f596bfc15f693b1b3f19f6a81f8bd6fa6fa2757b36 SHA512 956eb5d793c58b98ddd95137c74552801131fd07cf97e5f69fec366ad6919f720023115ad50e78186f448b840446108a0f5dac9e66c650ef98fe61f0985572d4 WHIRLPOOL f9670a12802bcb7d68e94f7bd9db00d07952c67a39fb0f809800b7f4673320f1780b310c1738dace3627c4d12db5877369d562b130a1e396d8a98f5be1e466c7
diff --git a/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild b/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild
new file mode 100644
index 000000000000..81bf8b2bf852
--- /dev/null
+++ b/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Asynchronous DNS query library written in C++"
+HOMEPAGE="http://asyncresolv.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~ppc x86"
+
+IUSE=""
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ sed -i -e 's/-Werror//' configure
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die "install failed"
+
+ dodoc AUTHORS COPYING* ChangeLog INSTALL README TODO
+ dohtml doc/index.html
+}
diff --git a/dev-libs/asyncresolv/metadata.xml b/dev-libs/asyncresolv/metadata.xml
new file mode 100644
index 000000000000..89b71d925d27
--- /dev/null
+++ b/dev-libs/asyncresolv/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">asyncresolv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/atk/Manifest b/dev-libs/atk/Manifest
new file mode 100644
index 000000000000..c3086eadd33e
--- /dev/null
+++ b/dev-libs/atk/Manifest
@@ -0,0 +1,3 @@
+DIST atk-2.12.0.tar.xz 688716 SHA256 48a8431974639c5a59c24fcd3ece1a19709872d5dfe78907524d9f5e9993f18f SHA512 422f0f4ef5f29707e77065557516a218ff23e78f61fa8e8c78b4a528c06cfeaff934e67eaaec00dc82cd13b2869e30618883a53010bd828dbebe51baea848272 WHIRLPOOL 2fda41b10a3890e7f097756da5aa3d502a0017ab82abbd67f72835b55240c9d23d53521e5632e0e287cc8c1e17598635c3385ca5362c4e1c42bcbc52c97db984
+DIST atk-2.14.0.tar.xz 696064 SHA256 2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad SHA512 3aa5155086d607a2779be1e96ae77798192f93161c855b194f15c49d968bb88535e16ee6114911857f31aeedfc0930f3f828d225f71a7b2f48e85919ab7d057b WHIRLPOOL 0b9f956e35f0baa65a63d7029d4f7317f13c22975696f80ff1f4515af5850368c43e69561c50d8b7b944f98e0482ac7c63d7a496f11566024d497b93e776fe12
+DIST atk-2.16.0.tar.xz 699816 SHA256 095f986060a6a0b22eb15eef84ae9f14a1cf8082488faa6886d94c37438ae562 SHA512 dc8827779d14fe7212733464f8775f67d60ab3027fcd935245d57c5899e8fc8acc6ceb88ee58f7bfbf259b89447868b3c93726ac56f46bf30a722b47b7bbd7da WHIRLPOOL 94ab7594c9e2508e6e2c9b62bfd80ebedf802a38e5bcd9c28b1224deb56d38d551687d0280e5af57b9713dd1fdbac84c58a03638856aab72bd060009188df641
diff --git a/dev-libs/atk/atk-2.12.0-r1.ebuild b/dev-libs/atk/atk-2.12.0-r1.ebuild
new file mode 100644
index 000000000000..c93cecdaae1d
--- /dev/null
+++ b/dev-libs/atk/atk-2.12.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="http://projects.gnome.org/accessibility/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="+introspection nls test"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5
+ dev-util/gtk-doc-am
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+
+ if ! use test; then
+ # don't waste time building tests (bug #226353)
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection)
+
+ # work-around gtk-doc out-of-source brokedness
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/html docs/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/atk/atk-2.14.0.ebuild b/dev-libs/atk/atk-2.14.0.ebuild
new file mode 100644
index 000000000000..f807dcbcf673
--- /dev/null
+++ b/dev-libs/atk/atk-2.14.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="http://projects.gnome.org/accessibility/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="+introspection nls test"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5
+ dev-util/gtk-doc-am
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+
+ if ! use test; then
+ # don't waste time building tests (bug #226353)
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection)
+
+ # work-around gtk-doc out-of-source brokedness
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/html docs/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/atk/atk-2.16.0-r1.ebuild b/dev-libs/atk/atk-2.16.0-r1.ebuild
new file mode 100644
index 000000000000..f144843da932
--- /dev/null
+++ b/dev-libs/atk/atk-2.16.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="http://projects.gnome.org/accessibility/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="+introspection nls test"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5
+ dev-util/gtk-doc-am
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+
+ if ! use test; then
+ # don't waste time building tests (bug #226353)
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # Building out of sources fails, https://bugzilla.gnome.org/show_bug.cgi?id=752507
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+# ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection)
+
+ # work-around gtk-doc out-of-source brokedness
+# if multilib_is_native_abi; then
+# ln -s "${S}"/docs/html docs/html || die
+# fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/atk/atk-2.16.0.ebuild b/dev-libs/atk/atk-2.16.0.ebuild
new file mode 100644
index 000000000000..ce9e490ffb2d
--- /dev/null
+++ b/dev-libs/atk/atk-2.16.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="http://projects.gnome.org/accessibility/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="+introspection nls test"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5
+ dev-util/gtk-doc-am
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+
+ if ! use test; then
+ # don't waste time building tests (bug #226353)
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection)
+
+ # work-around gtk-doc out-of-source brokedness
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/html docs/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/atk/metadata.xml b/dev-libs/atk/metadata.xml
new file mode 100644
index 000000000000..6949624e59d4
--- /dev/null
+++ b/dev-libs/atk/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome-accessibility</herd>
+</pkgmetadata>
diff --git a/dev-libs/bareos-fastlzlib/Manifest b/dev-libs/bareos-fastlzlib/Manifest
new file mode 100644
index 000000000000..9b2006ef03ab
--- /dev/null
+++ b/dev-libs/bareos-fastlzlib/Manifest
@@ -0,0 +1 @@
+DIST bareos-fastlzlib-0_pre20140912.zip 379089 SHA256 27f72b2fa9aba927d61020dc3de2e5ce1c1b2384317b933f0a116d11029fb9dc SHA512 94b9bd1c599b65d2dc074beb77fb8fe4139647bb047bcfd52b36126dd95ddb3e3e88cdb10464631594ebaff18405446a566fed4eb83ba08e71894de5a47d019f WHIRLPOOL 7fe17ce26f053f741d9d033b5bbdb5e233bd8b55b919cb582524d42f87b661aff34c6c68f76944c186ffacb1f98768265d93421e3097853c5234109d344a1d90
diff --git a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild b/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild
new file mode 100644
index 000000000000..3c54a9ac298f
--- /dev/null
+++ b/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="bareos fork of zlib-like interface to fast block compression (LZ4 or FastLZ) libraries"
+HOMEPAGE="https://github.com/bareos/fastlzlib"
+SRC_URI="http://dev.gentoo.org/~mschiff/distfiles/${P}.zip"
+
+LICENSE="BSD-1 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !app-arch/lz4
+"
+
+S="${WORKDIR}/fastlzlib-master"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -delete
+ find "${D}" -type d -name libfastlz -exec rm -rf {} +
+}
diff --git a/dev-libs/bareos-fastlzlib/metadata.xml b/dev-libs/bareos-fastlzlib/metadata.xml
new file mode 100644
index 000000000000..14bf6584ec87
--- /dev/null
+++ b/dev-libs/bareos-fastlzlib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bareos/fastlzlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/bcm2835/Manifest b/dev-libs/bcm2835/Manifest
new file mode 100644
index 000000000000..12dd6f1d923f
--- /dev/null
+++ b/dev-libs/bcm2835/Manifest
@@ -0,0 +1 @@
+DIST bcm2835-1.36.tar.gz 239641 SHA256 b4dfcdb453d44ba9ff55634ce7e0ddca21b96355ab61e40b4c3afb9406d4b8d2 SHA512 10958a1d4e362c791b26e88e013814063dfc0975d125cf2b6eac3e94247ad3859d7142a99ad7d04f59be8eaaf008d8ee060f184a1ed7a4d6cbe24a5e76783cb9 WHIRLPOOL 2c76ea7a1f7cfabce1971d26d7dded3d70c88e188e6c9ea400ced8c973648c3cf9efee430c38073190fa7c80b0ddb5e2fb7e185bc8da05873fc4eebb8f763470
diff --git a/dev-libs/bcm2835/bcm2835-1.36.ebuild b/dev-libs/bcm2835/bcm2835-1.36.ebuild
new file mode 100644
index 000000000000..3be0b63388ea
--- /dev/null
+++ b/dev-libs/bcm2835/bcm2835-1.36.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Provides access to GPIO and other IO functions on the Broadcom BCM2835"
+HOMEPAGE="http://www.airspayce.com/mikem/bcm2835/"
+SRC_URI="http://www.airspayce.com/mikem/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE="doc examples"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_install() {
+ default
+ if use examples; then
+ dodoc -r examples
+ fi
+ if use doc; then
+ dohtml -r doc/html/.
+ fi
+}
diff --git a/dev-libs/bcm2835/metadata.xml b/dev-libs/bcm2835/metadata.xml
new file mode 100644
index 000000000000..8a9b49eec325
--- /dev/null
+++ b/dev-libs/bcm2835/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/beecrypt/Manifest b/dev-libs/beecrypt/Manifest
new file mode 100644
index 000000000000..de57828f34db
--- /dev/null
+++ b/dev-libs/beecrypt/Manifest
@@ -0,0 +1 @@
+DIST beecrypt-4.2.1.tar.gz 882758 SHA256 286f1f56080d1a6b1d024003a5fa2158f4ff82cae0c6829d3c476a4b5898c55d SHA512 59995d53c024efe6344a21ac0d6d55fbe652488a4a22cc6719f9fc3851d56697fa8738937d48aa1e6f9ebe749de61ac3c79a5f0cea793872213c3bdf922e71bc WHIRLPOOL c4a0371d8e2cf37194800867c58e77d72bb59ab464fdff9c561230ece0f288dabdebfdd0ac13382c9ebe45b455ffbfdd81e6a15969dcb86d3d8c8e6635e294bb
diff --git a/dev-libs/beecrypt/beecrypt-4.2.1-r3.ebuild b/dev-libs/beecrypt/beecrypt-4.2.1-r3.ebuild
new file mode 100644
index 000000000000..6f011658724b
--- /dev/null
+++ b/dev-libs/beecrypt/beecrypt-4.2.1-r3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils multilib autotools java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="general-purpose cryptography library"
+HOMEPAGE="http://sourceforge.net/projects/beecrypt/"
+SRC_URI="mirror://sourceforge/beecrypt/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos"
+IUSE="+threads java cxx python static-libs doc"
+
+COMMONDEPEND="!<app-arch/rpm-4.2.1
+ cxx? ( >=dev-libs/icu-2.8:= )
+ python? ( ${PYTHON_DEPS} )"
+
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.4 )
+ doc? ( app-doc/doxygen
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.4 )"
+
+DOCS="BUGS README BENCHMARKS NEWS"
+
+REQUIRED_USE="cxx? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch "${FILESDIR}"/${P}-build-system.patch
+ epatch "${FILESDIR}"/${P}-gcc-4.7.patch
+ eautoreconf
+}
+
+src_configure() {
+ # cpluscplus needs threads support
+ econf \
+ --disable-expert-mode \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ $(use_with python python "${PYTHON}") \
+ $(use_with cxx cplusplus) \
+ $(use_with java)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd include/beecrypt || die
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_test() {
+ export BEECRYPT_CONF_FILE="${T}/beecrypt-test.conf"
+ echo "provider.1=${S}/c++/provider/.libs/base.so" > "${BEECRYPT_CONF_FILE}"
+ emake check
+ emake bench
+}
+
+src_install() {
+ default
+ use python && rm -f "${D%/}$(python_get_sitedir)"/_bc.*a
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ use doc && dohtml -r docs/html/.
+}
diff --git a/dev-libs/beecrypt/beecrypt-4.2.1.ebuild b/dev-libs/beecrypt/beecrypt-4.2.1.ebuild
new file mode 100644
index 000000000000..794c132d3817
--- /dev/null
+++ b/dev-libs/beecrypt/beecrypt-4.2.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+PYTHON_DEPEND="python? 2"
+
+inherit eutils multilib autotools java-pkg-opt-2 python
+
+DESCRIPTION="general-purpose cryptography library"
+HOMEPAGE="http://sourceforge.net/projects/beecrypt/"
+SRC_URI="mirror://sourceforge/beecrypt/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="java cxx python static-libs threads doc"
+
+COMMONDEPEND="!<app-arch/rpm-4.2.1
+ cxx? ( >=dev-libs/icu-2.8 )"
+
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.4 )
+ doc? ( app-doc/doxygen
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.4 )"
+
+DOCS="BUGS README BENCHMARKS NEWS"
+
+REQUIRED_USE="cxx? ( threads )"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ java-pkg-opt-2_pkg_setup
+ fi
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ use python && python_convert_shebangs -r 2 .
+
+ epatch "${FILESDIR}"/${P}-build-system.patch
+ epatch "${FILESDIR}"/${P}-gcc-4.7.patch
+ eautoreconf
+}
+
+src_configure() {
+ # cpluscplus needs threads support
+ econf \
+ --disable-expert-mode \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ $(use_with python python "${EPREFIX}"/usr/bin/python2) \
+ $(use_with cxx cplusplus) \
+ $(use_with java)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd include/beecrypt
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_test() {
+ export BEECRYPT_CONF_FILE="${T}/beecrypt-test.conf"
+ echo "provider.1=${S}/c++/provider/.libs/base.so" > "${BEECRYPT_CONF_FILE}"
+ emake check
+ emake bench
+}
+
+src_install() {
+ default
+ rm -f "${ED}"/usr/$(get_libdir)/python*/site-packages/_bc.*a
+
+ use static-libs || find "${ED}" -name '*.la' -exec rm -f {} +
+
+ use doc && dohtml -r docs/html/.
+}
diff --git a/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch b/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch
new file mode 100644
index 000000000000..e35095f53b6e
--- /dev/null
+++ b/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch
@@ -0,0 +1,160 @@
+--- beecrypt-4.2.1/configure.ac
++++ beecrypt-4.2.1/configure.ac
+@@ -11,7 +11,7 @@
+
+ # Checks for package options
+ AC_ARG_ENABLE(expert-mode, [ --enable-expert-mode follow user-defined CFLAGS settings [[default=no]]],[
+- ac_enable_expert_mode=yes
++ ac_enable_expert_mode=$enableval
+ ],[
+ if test "X$CFLAGS" != "X"; then
+ echo "enabling expert mode"
+@@ -25,7 +25,7 @@
+ if test "$ac_enable_expert_mode" = yes; then
+ AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode])
+ fi
+- ac_enable_debug=yes
++ ac_enable_debug=$enableval
+ ],[
+ ac_enable_debug=no
+ ])
+@@ -456,7 +456,7 @@
+ ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`"
+ ])
+ AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [
+- ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'`
++ ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'`
+ ])
+ fi
+ fi
+--- beecrypt-4.2.1/acinclude.m4
++++ beecrypt-4.2.1/acinclude.m4
+@@ -498,15 +498,6 @@ AC_DEFUN([BEE_GNU_CC],[
+ AC_SUBST(OPENMP_LIBS,"-lgomp")
+ fi
+ case $bc_target_arch in
+- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona)
+- CC="$CC -m64"
+- ;;
+- i[[3456]]86 | \
+- pentium* | \
+- athlon*)
+- CC="$CC -m32"
+- CCAS="$CCAS -m32"
+- ;;
+ ia64)
+ case $target_os in
+ # HP/UX on Itanium needs to be told that a long is 64-bit!
+@@ -525,17 +516,8 @@ AC_DEFUN([BEE_GNU_CC],[
+ aix*)
+ CC="$CC -maix64"
+ ;;
+- linux*)
+- CC="$CC -m64"
+- ;;
+ esac
+ ;;
+- sparc | sparcv8*)
+- CC="$CC -m32"
+- ;;
+- sparc64 | sparcv9*)
+- CC="$CC -m64"
+- ;;
+ esac
+ # Certain platforms needs special flags for multi-threaded code
+ if test "$ac_enable_threads" = yes; then
+@@ -646,14 +646,6 @@ dnl BEE_GNU_CXX
+ AC_DEFUN([BEE_GNU_CXX],[
+ AC_REQUIRE([AC_PROG_CXX])
+ case $bc_target_arch in
+- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2)
+- CXX="$CXX -m64"
+- ;;
+- i[[3456]]86 | \
+- pentium* | \
+- athlon*)
+- CXX="$CXX -m32"
+- ;;
+ ia64)
+ case $target_os in
+ # HP/UX on Itanium needs to be told that a long is 64-bit!
+@@ -672,17 +664,8 @@ AC_DEFUN([BEE_GNU_CXX],[
+ aix*)
+ CXX="$CXX -maix64"
+ ;;
+- linux*)
+- CXX="$CXX -m64"
+- ;;
+ esac
+ ;;
+- sparc | sparcv8*)
+- CXX="$CXX -m32"
+- ;;
+- sparc64 | sparcv9*)
+- CXX="$CXX -m64"
+- ;;
+ esac
+ # Certain platforms needs special flags for multi-threaded code
+ if test "$ac_enable_threads" = yes; then
+--- beecrypt-4.2.1/java/Makefile.am
++++ beecrypt-4.2.1/java/Makefile.am
+@@ -26,7 +26,7 @@
+
+ INCLUDES = -I$(top_srcdir)/include
+
+-libaltdir=$(prefix)/lib@LIBALT@
++libaltdir=$(libdir)
+
+ libalt_LTLIBRARIES = libbeecrypt_java.la
+
+--- beecrypt-4.2.1/acinclude.m4
++++ beecrypt-4.2.1/acinclude.m4
+@@ -1589,20 +1589,5 @@
+ AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t)
+ ])
+-
+-AH_BOTTOM([
+-#if ENABLE_THREADS
+-# ifndef _REENTRANT
+-# define _REENTRANT
+-# endif
+-# if LINUX
+-# define _LIBC_REENTRANT
+-# endif
+-#else
+-# ifdef _REENTRANT
+-# undef _REENTRANT
+-# endif
+-#endif
+-])
+
+
+ dnl BEE_THREAD_LOCAL_STORAGE
+@@ -1623,7 +1609,5 @@
+ ])
+
+ AH_BOTTOM([
+-#if !ENABLE_THREAD_LOCAL_STORAGE
+-# define __thread
+-#endif
++#include "config.threads.h"
+ ])
+--- beecrypt-4.2.1/config.threads.h
++++ beecrypt-4.2.1/config.threads.h
+@@ -0,0 +1,16 @@
++#if ENABLE_THREADS
++# ifndef _REENTRANT
++# define _REENTRANT
++# endif
++# if LINUX
++# define _LIBC_REENTRANT
++# endif
++#else
++# ifdef _REENTRANT
++# undef _REENTRANT
++# endif
++#endif
++
++#if !ENABLE_THREAD_LOCAL_STORAGE
++# define __thread
++#endif
diff --git a/dev-libs/beecrypt/files/beecrypt-4.2.1-gcc-4.7.patch b/dev-libs/beecrypt/files/beecrypt-4.2.1-gcc-4.7.patch
new file mode 100644
index 000000000000..64d513bde63f
--- /dev/null
+++ b/dev-libs/beecrypt/files/beecrypt-4.2.1-gcc-4.7.patch
@@ -0,0 +1,11 @@
+--- include/beecrypt/c++/util/AbstractSet.h
++++ include/beecrypt/c++/util/AbstractSet.h
+@@ -56,7 +56,7 @@
+ if (c->size() != size())
+ return false;
+
+- return containsAll(*c);
++ return this->containsAll(*c);
+ }
+ return false;
+ }
diff --git a/dev-libs/beecrypt/metadata.xml b/dev-libs/beecrypt/metadata.xml
new file mode 100644
index 000000000000..a8d32ea1a8a7
--- /dev/null
+++ b/dev-libs/beecrypt/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">beecrypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/bglibs/Manifest b/dev-libs/bglibs/Manifest
new file mode 100644
index 000000000000..38a50f6ae49d
--- /dev/null
+++ b/dev-libs/bglibs/Manifest
@@ -0,0 +1,3 @@
+DIST bglibs-1.041.tar.gz 317199 SHA256 da09ff048d37ecdb691c495007580b99e8a2c1b3fcd8dede61bd0299846ec70b SHA512 63f1cbef024f528d13a23f84f11b014be2ee9a9c8c40f49f8a114a6b4407c1279860a049f3dd67cfa7306a5326bbb93bb57b134af05031ec3c00f5f49784f6bc WHIRLPOOL 0623af99baf8ab8cf99b7c0fb57a97a09223a5a0baa5d8f6e29381778289f1447b8a468a1b11cbd0cdc907b069192dc1c6e16c4ecec263f76de1bf2cfc28d7c0
+DIST bglibs-1.104.tar.gz 442643 SHA256 5593213ee3aedf297eff5fabddf535e4d2a85ad8c8f2a2b1d4dce210991022af SHA512 2ee24eb696126de2aa40451f3ce395220ea57cac9376ded6b7d7e195ecd7a1740f07339c4934a5aafdadb639a0d3421bfe6e674857d9663827a2c3714abe6a03 WHIRLPOOL 880002680aa1b19a81bf7f87e00be4897d7b1c928ea926831f3c6dcb681ea944305aa59057c2ee59ed07bad6018897760be9ff71f9e93b2d0687ac145caea302
+DIST bglibs-1.106.tar.gz 481564 SHA256 5c8ae51c2d88e58ff2fccc32d3000e88054d87fd69b6bfa6d0f70528e8538df0 SHA512 c1ae4bb9978b09ffe01231738d1f249c2040a51c2a0bbc4b04389a7085a3885cca6483f1bfe65deca213d991273bb3b7b925ebde8b6e2cd9182d8a57cb9a49d8 WHIRLPOOL be49bd8d802008296853ac91fd4bfb8f849aa7fb59cbc07d523fbccf8a60f4cbb5b79e8539a56eb2eb22edc7fc3b11838d6a0997566e5e5a415fbd532e237e18
diff --git a/dev-libs/bglibs/bglibs-1.041.ebuild b/dev-libs/bglibs/bglibs-1.041.ebuild
new file mode 100644
index 000000000000..996690f99b8d
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-1.041.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit fixheadtails toolchain-funcs multilib
+
+DESCRIPTION="Bruce Guenters Libraries Collection"
+HOMEPAGE="http://untroubled.org/bglibs/"
+SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~mips ppc sparc x86 ~ppc64"
+IUSE=""
+DEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ # disable tests as we want them manually
+ sed -e '/^all:/s|selftests||' -i.orig "${S}"/Makefile
+ sed -e '/selftests/d' -i.orig "${S}"/TARGETS
+}
+
+src_compile() {
+ echo "${D}/usr/bin" > conf-bin
+ echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
+ echo "${D}/usr/include/bglibs" > conf-include
+ echo "${D}/usr/share/man" > conf-man
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+ emake || die
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install () {
+ einstall || die "install failed"
+
+ #make backwards compatible symlinks
+ dosym /usr/lib/bglibs /usr/lib/bglibs/lib
+ dosym /usr/include/bglibs /usr/lib/bglibs/include
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dohtml doc/html/*
+ docinto latex
+ dodoc doc/latex/*
+}
diff --git a/dev-libs/bglibs/bglibs-1.104.ebuild b/dev-libs/bglibs/bglibs-1.104.ebuild
new file mode 100644
index 000000000000..d5ac29ae496f
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-1.104.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Bruce Guenters Libraries Collection"
+HOMEPAGE="http://untroubled.org/bglibs/"
+SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+DEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ epatch "${FILESDIR}"/bglibs-1.104-parallel-fix.patch
+ # disable tests as we want them manually
+ sed -i \
+ -e '/^all:/s|selftests||' \
+ "${S}"/Makefile
+ sed -i \
+ -e '/selftests/d' \
+ "${S}"/TARGETS
+ #sed -i \
+ # -e 's,^libraries:,LIBS = ,g' \
+ # -e '/^LIBS =/alibs-static: $(filter %.a,$(LIBS))' \
+ # -e '/^LIBS =/alibs-shared: $(filter %.la,$(LIBS))' \
+ # -e '/^LIBS =/alibraries: libs-static libs-shared' \
+ # "${S}"/Makefile
+}
+
+src_compile() {
+ echo "${D}/usr/bin" > conf-bin
+ echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
+ echo "${D}/usr/include/bglibs" > conf-include
+ echo "${D}/usr/share/man" > conf-man
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+ # Fails if we do parallel build of shared+static at the same time
+ emake libs-shared || die
+ emake libs-static || die
+ emake || die
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install () {
+ einstall || die "install failed"
+
+ #make backwards compatible symlinks
+ dosym /usr/lib/bglibs /usr/lib/bglibs/lib
+ dosym /usr/include/bglibs /usr/lib/bglibs/include
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dohtml doc/html/*
+ docinto latex
+ dodoc doc/latex/*
+}
diff --git a/dev-libs/bglibs/bglibs-1.106-r1.ebuild b/dev-libs/bglibs/bglibs-1.106-r1.ebuild
new file mode 100644
index 000000000000..6e981f3d326f
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-1.106-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Bruce Guenters Libraries Collection"
+HOMEPAGE="http://untroubled.org/bglibs/"
+SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+DEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.106-parallel-fix.patch
+ # disable tests as we want them manually
+ sed -i \
+ -e '/^all:/s|selftests||' \
+ "${S}"/Makefile
+ sed -i \
+ -e '/selftests/d' \
+ "${S}"/TARGETS
+ #sed -i \
+ # -e 's,^libraries:,LIBS = ,g' \
+ # -e '/^LIBS =/alibs-static: $(filter %.a,$(LIBS))' \
+ # -e '/^LIBS =/alibs-shared: $(filter %.la,$(LIBS))' \
+ # -e '/^LIBS =/alibraries: libs-static libs-shared' \
+ # "${S}"/Makefile
+}
+
+src_compile() {
+ echo "${D}/usr/bin" > conf-bin
+ echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
+ echo "${D}/usr/include/bglibs" > conf-include
+ echo "${D}/usr/share/man" > conf-man
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+ emake || die
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install () {
+ einstall || die "install failed"
+
+ #make backwards compatible symlinks
+ dosym /usr/$(get_libdir)/bglibs /usr/$(get_libdir)/bglibs/lib
+ [ "$(get_libdir)" != "lib" ] && dosym /usr/$(get_libdir)/bglibs /usr/$(get_libdir)/bglibs/$(get_libdir)
+ dosym /usr/include/bglibs /usr/$(get_libdir)/bglibs/include
+
+ #install .so in LDPATH
+ mv "${D}"/usr/$(get_libdir)/bglibs/libbg.so.1.1.1 "${D}"/usr/$(get_libdir)/
+ mv "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1 "${D}"/usr/$(get_libdir)/
+ dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so.1
+ dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so
+ dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so.1
+ dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so
+
+ dosym ../libbg.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg.so.1.1.1
+ dosym ../libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1
+
+ rm "${D}"/usr/$(get_libdir)/bglibs/libbg.la
+ rm "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.la
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dohtml doc/html/*
+ docinto latex
+ dodoc doc/latex/*
+}
diff --git a/dev-libs/bglibs/bglibs-1.106.ebuild b/dev-libs/bglibs/bglibs-1.106.ebuild
new file mode 100644
index 000000000000..963fdadf0ebd
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-1.106.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Bruce Guenters Libraries Collection"
+HOMEPAGE="http://untroubled.org/bglibs/"
+SRC_URI="http://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+DEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.106-parallel-fix.patch
+ # disable tests as we want them manually
+ sed -i \
+ -e '/^all:/s|selftests||' \
+ "${S}"/Makefile
+ sed -i \
+ -e '/selftests/d' \
+ "${S}"/TARGETS
+ #sed -i \
+ # -e 's,^libraries:,LIBS = ,g' \
+ # -e '/^LIBS =/alibs-static: $(filter %.a,$(LIBS))' \
+ # -e '/^LIBS =/alibs-shared: $(filter %.la,$(LIBS))' \
+ # -e '/^LIBS =/alibraries: libs-static libs-shared' \
+ # "${S}"/Makefile
+}
+
+src_compile() {
+ echo "${D}/usr/bin" > conf-bin
+ echo "${D}/usr/$(get_libdir)/bglibs" > conf-lib
+ echo "${D}/usr/include/bglibs" > conf-include
+ echo "${D}/usr/share/man" > conf-man
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+ emake || die
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install () {
+ einstall || die "install failed"
+
+ #make backwards compatible symlinks
+ dosym /usr/lib/bglibs /usr/lib/bglibs/lib
+ dosym /usr/include/bglibs /usr/lib/bglibs/include
+
+ #install .so in LDPATH
+ mv "${D}"/usr/$(get_libdir)/bglibs/libbg.so.1.1.1 "${D}"/usr/$(get_libdir)/
+ mv "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1 "${D}"/usr/$(get_libdir)/
+ dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so.1
+ dosym libbg.so.1.1.1 /usr/$(get_libdir)/libbg.so
+ dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so.1
+ dosym libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/libbg-sysdeps.so
+
+ dosym ../libbg.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg.so.1.1.1
+ dosym ../libbg-sysdeps.so.1.1.1 /usr/$(get_libdir)/bglibs/libbg-sysdeps.so.1.1.1
+
+ rm "${D}"/usr/$(get_libdir)/bglibs/libbg.la
+ rm "${D}"/usr/$(get_libdir)/bglibs/libbg-sysdeps.la
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dohtml doc/html/*
+ docinto latex
+ dodoc doc/latex/*
+}
diff --git a/dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch b/dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch
new file mode 100644
index 000000000000..d0717c2dd0f3
--- /dev/null
+++ b/dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch
@@ -0,0 +1,87 @@
+Fixes for parallel compile.
+
+- Redirection straight to an output target that is later used for dependancies
+ is not safe. The output file must be come into existence atomically.
+- libtool-2.x writes to .o AND .lo, regardless of the -o parameter. Because of
+ this, if you get a run order of compile then libcompile and makelib
+ simultaneously, there is a chance that the .o file from the original compile
+ can vanish and cause the makelib to fail. To deal with this, we split the
+ libraries target into shared and non-shared, and deliberately call the build
+ process as 3 phases: libs-shared, libs-static, all
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+--- bglibs-1.104/Makefile.orig 2008-04-09 08:24:31.000000000 -0700
++++ bglibs-1.104/Makefile 2008-11-05 19:05:16.304710791 -0800
+@@ -254,7 +254,8 @@
+ ./compile crc-gentab.c
+
+ crc/crc16_arc_table.c: crc-gentab
+- ./crc-gentab crc16_arc 16 0x8005 reflected >$@
++ ./crc-gentab crc16_arc 16 0x8005 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_arc_table.lo: libcompile crc/crc16_arc_table.c
+ ./libcompile crc/crc16_arc_table.c
+@@ -263,7 +264,8 @@
+ ./compile crc/crc16_arc_table.c
+
+ crc/crc16_ccitt_table.c: crc-gentab
+- ./crc-gentab crc16_ccitt 16 0x1021 normal >$@
++ ./crc-gentab crc16_ccitt 16 0x1021 normal >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_ccitt_table.lo: libcompile crc/crc16_ccitt_table.c
+ ./libcompile crc/crc16_ccitt_table.c
+@@ -272,7 +274,8 @@
+ ./compile crc/crc16_ccitt_table.c
+
+ crc/crc16_xmodem_table.c: crc-gentab
+- ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@
++ ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_xmodem_table.lo: libcompile crc/crc16_xmodem_table.c
+ ./libcompile crc/crc16_xmodem_table.c
+@@ -281,7 +284,8 @@
+ ./compile crc/crc16_xmodem_table.c
+
+ crc/crc32_table.c: crc-gentab
+- ./crc-gentab crc32 32 0x04C11DB7 reflected >$@
++ ./crc-gentab crc32 32 0x04C11DB7 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc32_table.lo: libcompile crc/crc32_table.c
+ ./libcompile crc/crc32_table.c
+@@ -290,7 +294,8 @@
+ ./compile crc/crc32_table.c
+
+ crc/crc32c_table.c: crc-gentab
+- ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@
++ ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc32c_table.lo: libcompile crc/crc32c_table.c
+ ./libcompile crc/crc32c_table.c
+@@ -299,7 +304,8 @@
+ ./compile crc/crc32c_table.c
+
+ crc/crc64_table.c: crc-gentab
+- ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@
++ ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc64_table.lo: libcompile crc/crc64_table.c
+ ./libcompile crc/crc64_table.c
+@@ -1025,7 +1025,10 @@
+ libpwcmp.a: makelib pwcmp/client.o pwcmp/hex_encode.o
+ ./makelib libpwcmp.a pwcmp/client.o pwcmp/hex_encode.o
+
+-libraries: libbg.la libbg-sysdeps.la libbg-crc.a libpwcmp.a libbg-path.a libbg-instcheck.a libbg-base64.a libbg-adt.a libbg-installer.a libvmailmgr.a libbg-sysdeps.a libbg-str.a libbg-fmt.a libpwcmp-module.a libbg-misc.a libbg-instshow.a libbg-dict.a libbg-crypto.a libbg-cli.a libbg-cdb.a libbg-msg.a libbg-iobuf.a libbg-net.a libbg-unix.a
++LIBS = libbg.la libbg-sysdeps.la libbg-crc.a libpwcmp.a libbg-path.a libbg-instcheck.a libbg-base64.a libbg-adt.a libbg-installer.a libvmailmgr.a libbg-sysdeps.a libbg-str.a libbg-fmt.a libpwcmp-module.a libbg-misc.a libbg-instshow.a libbg-dict.a libbg-crypto.a libbg-cli.a libbg-cdb.a libbg-msg.a libbg-iobuf.a libbg-net.a libbg-unix.a
++libs-shared: $(filter %.la,$(LIBS))
++libs-static: $(filter %.a,$(LIBS))
++libraries: libs-shared libs-static
+
+ libvmailmgr.a: makelib vmailmgr/req_arg.o vmailmgr/req_init.o vmailmgr/req_write.o vmailmgr/resp_read.o vmailmgr/vpwentry_export.o vmailmgr/vpwentry_free.o vmailmgr/vpwentry_import.o
+ ./makelib libvmailmgr.a vmailmgr/req_arg.o vmailmgr/req_init.o vmailmgr/req_write.o vmailmgr/resp_read.o vmailmgr/vpwentry_export.o vmailmgr/vpwentry_free.o vmailmgr/vpwentry_import.o
diff --git a/dev-libs/bglibs/files/bglibs-1.106-parallel-fix.patch b/dev-libs/bglibs/files/bglibs-1.106-parallel-fix.patch
new file mode 100644
index 000000000000..30c13e8c75fa
--- /dev/null
+++ b/dev-libs/bglibs/files/bglibs-1.106-parallel-fix.patch
@@ -0,0 +1,61 @@
+Forward port to 1.106 by Thilo Bangert <bangert@gentoo.org>
+Fixes for parallel compile.
+
+- Redirection straight to an output target that is later used for dependancies
+ is not safe. The output file must be come into existence atomically.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Naur bglibs-1.106.orig/Makefile bglibs-1.106/Makefile
+--- bglibs-1.106.orig/Makefile 2009-11-20 11:52:29.000000000 +0100
++++ bglibs-1.106/Makefile 2009-11-20 11:56:01.000000000 +0100
+@@ -152,37 +152,43 @@
+ ./compile crc-gentab.c
+
+ crc/crc16_arc_table.c: crc-gentab
+- ./crc-gentab crc16_arc 16 0x8005 reflected >$@
++ ./crc-gentab crc16_arc 16 0x8005 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_arc_table.lo crc/crc16_arc_table.o: ltcompile crc/crc16_arc_table.c
+ ./ltcompile crc/crc16_arc_table.c
+
+ crc/crc16_ccitt_table.c: crc-gentab
+- ./crc-gentab crc16_ccitt 16 0x1021 normal >$@
++ ./crc-gentab crc16_ccitt 16 0x1021 normal >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_ccitt_table.lo crc/crc16_ccitt_table.o: ltcompile crc/crc16_ccitt_table.c
+ ./ltcompile crc/crc16_ccitt_table.c
+
+ crc/crc16_xmodem_table.c: crc-gentab
+- ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@
++ ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc16_xmodem_table.lo crc/crc16_xmodem_table.o: ltcompile crc/crc16_xmodem_table.c
+ ./ltcompile crc/crc16_xmodem_table.c
+
+ crc/crc32_table.c: crc-gentab
+- ./crc-gentab crc32 32 0x04C11DB7 reflected >$@
++ ./crc-gentab crc32 32 0x04C11DB7 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc32_table.lo crc/crc32_table.o: ltcompile crc/crc32_table.c
+ ./ltcompile crc/crc32_table.c
+
+ crc/crc32c_table.c: crc-gentab
+- ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@
++ ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc32c_table.lo crc/crc32c_table.o: ltcompile crc/crc32c_table.c
+ ./ltcompile crc/crc32c_table.c
+
+ crc/crc64_table.c: crc-gentab
+- ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@
++ ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@.tmp
++ mv $@.tmp $@
+
+ crc/crc64_table.lo crc/crc64_table.o: ltcompile crc/crc64_table.c
+ ./ltcompile crc/crc64_table.c
diff --git a/dev-libs/bglibs/metadata.xml b/dev-libs/bglibs/metadata.xml
new file mode 100644
index 000000000000..a732fd8b2f03
--- /dev/null
+++ b/dev-libs/bglibs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/bitset/Manifest b/dev-libs/bitset/Manifest
new file mode 100644
index 000000000000..dfd7a8068373
--- /dev/null
+++ b/dev-libs/bitset/Manifest
@@ -0,0 +1,2 @@
+DIST bitset-2.8.3.tar.gz 36787 SHA256 87d9cb74405c4b496ba1bcb334afd60e15be0a17102b0e722337a6604f2e8469 SHA512 7b451139ee9db0b581e552d09f03809185e64f3b1190d887ba58478c4dc10a1ecc687d69cb42045e3c01ad9d065e12aa4f31d14068d7df9f6a8f284344d5b51c WHIRLPOOL d814d155c700817c636047d437c219d436fbcb2492294ee347f48368740866113318b278bf63094f84067f62dab6334b9f2a9607162f106815e013d96240b6e6
+DIST bitset-2.8.4.tar.gz 37040 SHA256 7e3a8d7e550ed24f646a3264c7efeb0b267f5f2d0f3177952b2ce5f6866e57b7 SHA512 709c4f064416b22ae37fc9659a9eb74007fff5ce12eb998c386a268427a012238258bbd0f019682a5172a98b7b2a476fd60017bf34e199159e838b254b48ffe7 WHIRLPOOL 2ed96fb305a8e88bff695b419dc73ecb64ebbdf5944d869a4bd3216ac77a88ede4dd646a6a5f64dc7e6bb77903acfc46e64d67359cc58151df288b86043e812c
diff --git a/dev-libs/bitset/bitset-2.8.3.ebuild b/dev-libs/bitset/bitset-2.8.3.ebuild
new file mode 100644
index 000000000000..b3168ecce2d6
--- /dev/null
+++ b/dev-libs/bitset/bitset-2.8.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="A compressed bitset with supporting data structures and algorithms"
+HOMEPAGE="http://github.com/chriso/bitset"
+SRC_URI="https://github.com/chriso/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="jemalloc static-libs tcmalloc"
+KEYWORDS="amd64 x86"
+
+RDEPEND="tcmalloc? ( dev-util/google-perftools[-minimal] )
+ jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+DOCS=( README.md )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with jemalloc) \
+ $(use_with tcmalloc)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/bitset/bitset-2.8.4-r1.ebuild b/dev-libs/bitset/bitset-2.8.4-r1.ebuild
new file mode 100644
index 000000000000..b353fdd918c5
--- /dev/null
+++ b/dev-libs/bitset/bitset-2.8.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="A compressed bitset with supporting data structures and algorithms"
+HOMEPAGE="http://github.com/chriso/bitset"
+SRC_URI="https://github.com/chriso/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="jemalloc static-libs tcmalloc"
+KEYWORDS="amd64 ~arm x86"
+
+RDEPEND="tcmalloc? ( dev-util/google-perftools:= )
+ jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+DOCS=( README.md )
+
+src_configure() {
+ local tcmalloc_lib_name='tcmalloc'
+ has_version dev-util/google-perftools[minimal] && tcmalloc_lib_name='tcmalloc_minimal'
+ local myeconfargs=(
+ $(use_with jemalloc) \
+ $(use_with tcmalloc) \
+ $(use_with tcmalloc tcmalloc-lib "${tcmalloc_lib_name}")
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/bitset/metadata.xml b/dev-libs/bitset/metadata.xml
new file mode 100644
index 000000000000..f6d8c23e83d0
--- /dev/null
+++ b/dev-libs/bitset/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ <description>Proxy maintainer. CC him on bugs</description>
+ </maintainer>
+ <use>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+ <flag name="tcmalloc">Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">chriso/bitset</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/blitz/Manifest b/dev-libs/blitz/Manifest
new file mode 100644
index 000000000000..03a870a470be
--- /dev/null
+++ b/dev-libs/blitz/Manifest
@@ -0,0 +1 @@
+DIST blitz-0.10.tar.gz 3777276 SHA256 804ef0e6911d43642a2ea1894e47c6007e4c185c866a7d68bad1e4c8ac4e6f94 SHA512 04fb0c8735d8ae173e6e907bd04fd739c482b7816c25b7dfe58c8641b90c17321e9a6849ced73a04ca9cc55439070de1a1e395497887317b553b0550fa0a2462 WHIRLPOOL ab091832e5dd34f0d2a0f6584c000962946b42f32175fb589fc5c329807e6f75cc81c921c4da3d9e60bc211de0746af1a5f30dc5776761993434a0b8e32ebf6e
diff --git a/dev-libs/blitz/blitz-0.10-r1.ebuild b/dev-libs/blitz/blitz-0.10-r1.ebuild
new file mode 100644
index 000000000000..cde2fc351c5f
--- /dev/null
+++ b/dev-libs/blitz/blitz-0.10-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="High-performance C++ numeric library"
+HOMEPAGE="http://blitz.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 Artistic-2 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~ppc-macos ~x86-linux ~x86-macos"
+
+IUSE="boost debug doc examples static-libs"
+
+RDEPEND="boost? ( >=dev-libs/boost-1.40 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-docs.patch"
+ "${FILESDIR}/${P}-gcc47.patch"
+ "${FILESDIR}/${P}-set-default-arg-value.patch"
+)
+
+src_configure() {
+ # blas / fortran only needed for benchmarks
+ use doc && doxygen -u doc/doxygen/Doxyfile.in
+ local myeconfargs=(
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ --enable-shared
+ --disable-cxx-flags-preset
+ --disable-fortran
+ --without-blas
+ $(use_enable boost serialization)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable doc html-docs)
+ $(use_with boost boost "${EPREFIX}/usr")
+ $(use_with boost boost-serialization)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile LDFLAGS="${LDFLAGS}" lib
+ use doc && autotools-utils_src_compile info html pdf
+}
+
+src_test() {
+ pushd ${AUTOTOOLS_BUILD_DIR} > /dev/null
+ emake check-testsuite check-examples
+ popd > /dev/null
+}
+
+src_install () {
+ autotools-utils_src_install $(use doc && echo install-html install-pdf)
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{cpp,f}
+ fi
+}
diff --git a/dev-libs/blitz/blitz-0.10.ebuild b/dev-libs/blitz/blitz-0.10.ebuild
new file mode 100644
index 000000000000..23669a634113
--- /dev/null
+++ b/dev-libs/blitz/blitz-0.10.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils multilib
+
+DESCRIPTION="High-performance C++ numeric library"
+HOMEPAGE="http://blitz.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="|| ( LGPL-3 Artistic-2 BSD )"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~ppc-macos ~x86-linux ~x86-macos"
+IUSE="boost debug doc examples static-libs"
+
+RDEPEND="boost? ( >=dev-libs/boost-1.40 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=( "${FILESDIR}"/${P}-{docs,gcc47,set-default-arg-value}.patch )
+
+src_configure() {
+ # blas / fortran only needed for benchmarks
+ use doc && doxygen -u doc/doxygen/Doxyfile.in
+ local myeconfargs=(
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ --enable-shared
+ --disable-cxx-flags-preset
+ --disable-fortran
+ --without-blas
+ $(use_enable boost serialization)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable doc html-docs)
+ $(use_with boost boost "${EPREFIX}/usr")
+ $(use_with boost boost-serialization)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile lib
+ use doc && autotools-utils_src_compile info html pdf
+}
+
+src_test() {
+ pushd ${AUTOTOOLS_BUILD_DIR} > /dev/null
+ emake check-testsuite check-examples
+ popd > /dev/null
+}
+
+src_install () {
+ autotools-utils_src_install $(use doc&& echo install-html install-pdf)
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{cpp,f}
+ fi
+}
diff --git a/dev-libs/blitz/files/blitz-0.10-docs.patch b/dev-libs/blitz/files/blitz-0.10-docs.patch
new file mode 100644
index 000000000000..dd0dca77af36
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-docs.patch
@@ -0,0 +1,88 @@
+* respect user's docdir,htmldir,pdfdir at configuration time
+* install recursive for doxygen generated
+* works for out-of-source directory installation
+
+bicatali@gentoo.org Aug 2012
+
+diff -Nur doc.orig/doxygen/Makefile.am doc/doxygen/Makefile.am
+--- doc.orig/doxygen/Makefile.am 2012-05-11 13:11:13.000000000 -0700
++++ doc/doxygen/Makefile.am 2012-08-13 13:44:27.616583722 -0700
+@@ -2,7 +2,6 @@
+
+ # Support doxygen documentation ?
+
+-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/doxygen
+
+ DISTCLEANFILES = Doxyfile doxygen-warning
+
+@@ -84,29 +83,27 @@
+ $(RM) -rf latex; \
+ fi
+
+-# Install hooks
+-make-install-dirs:
+- @if test '!' -d $(DESTDIR)$(docdir) ; \
+- then mkdir -p $(DESTDIR)$(docdir) ; \
+- fi
+
+-install-data-hook: make-install-dirs
++install-data-hook:
+ @if test -d html; then \
+- echo Installing HTML documentation into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) html/* $(DESTDIR)$(docdir) ; \
++ echo Installing HTML documentation into $(DESTDIR)$(htmldir) ; \
++ $(MKDIR_P) $(DESTDIR)$(htmldir) ; \
++ cp -r html/* $(DESTDIR)$(htmldir) ; \
+ fi
+ @if test -f $(PACKAGE).pdf; then \
+- echo Installing PDF manual into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) $(PACKAGE).pdf $(DESTDIR)$(docdir) ; \
++ echo Installing PDF manual into $(DESTDIR)$(pdfdir) ; \
++ $(MKDIR_P) $(DESTDIR)$(pdfdir) ; \
++ $(INSTALL_DATA) $(PACKAGE).pdf $(DESTDIR)$(pdfdir) ; \
+ fi
+ @if test -f $(PACKAGE).ps; then \
+- echo Installing PS manual into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) $(PACKAGE).ps $(DESTDIR)$(docdir) ; \
++ echo Installing PS manual into $(DESTDIR)$(psdir) ; \
++ $(MKDIR_P) $(DESTDIR)$(psdir) ; \
++ $(INSTALL_DATA) $(PACKAGE).ps $(DESTDIR)$(psdir) ; \
+ fi
+
+ uninstall-hook:
+ @echo Uninstalling doxygen documentation directory ; \
+- rm -rf "$(DESTDIR)$(docdir)";
++ rm -rf "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(psdir)" "$(DESTDIR)$(pdfdir)" ;
+
+
+
+diff -Nur doc.orig/Makefile.am doc/Makefile.am
+--- doc.orig/Makefile.am 2012-05-11 13:11:13.000000000 -0700
++++ doc/Makefile.am 2012-08-13 13:54:04.490647132 -0700
+@@ -4,8 +4,6 @@
+
+ SUBDIRS = examples stencils doxygen
+
+-# docdir directory to install the doc (pdf ps html)
+-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
+
+ DVIPS=export TEXPICTS=$(srcdir); dvips
+ AM_MAKEINFOFLAGS = --no-split -I$(srcdir)
+@@ -78,7 +76,7 @@
+ # Install also the images into the directory html
+ install-html-local:
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+- $(INSTALL_DATA) *.gif *.jpg $(DESTDIR)$(htmldir)
++ $(INSTALL_DATA) $(srcdir)/*.gif $(srcdir)/*.jpg $(DESTDIR)$(htmldir)
+
+ .PHONY: html
+
+@@ -86,7 +84,7 @@
+
+ # Install also the images into the directory containing the html files
+ install-html-local:
+- $(INSTALL_DATA) *.gif *.jpg blitz.html
++ $(INSTALL_DATA) $(srcdir)/*.gif $(srcdir)/*.jpg $(top_builddir)/doc/blitz.html
+
+ endif
+
diff --git a/dev-libs/blitz/files/blitz-0.10-gcc47.patch b/dev-libs/blitz/files/blitz-0.10-gcc47.patch
new file mode 100644
index 000000000000..d0b35665567b
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-gcc47.patch
@@ -0,0 +1,33 @@
+diff -ur blitz-0.10/blitz/bzdebug.h blitz-0.10.new/blitz/bzdebug.h
+--- blitz-0.10/blitz/bzdebug.h 2012-05-11 22:11:13.000000000 +0200
++++ blitz-0.10.new/blitz/bzdebug.h 2012-06-28 15:42:38.060656045 +0200
+@@ -117,15 +117,15 @@
+ }
+ }
+
+- #define BZASSERT(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZPRECONDITION(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZPOSTCONDITION(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZSTATECHECK(X,Y) checkAssert(X == Y, __FILE__, __LINE__)
++ #define BZASSERT(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZPRECONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZPOSTCONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZSTATECHECK(X,Y) blitz::checkAssert(X == Y, __FILE__, __LINE__)
+ #define BZPRECHECK(X,Y) \
+ { \
+ if ((assertFailMode == false) && (!(X))) \
+ BZ_STD_SCOPE(cerr) << Y << BZ_STD_SCOPE(endl); \
+- checkAssert(X, __FILE__, __LINE__); \
++ blitz::checkAssert(X, __FILE__, __LINE__); \
+ }
+
+ #define BZ_DEBUG_MESSAGE(X) \
+@@ -138,7 +138,7 @@
+ }
+
+ #define BZ_DEBUG_PARAM(X) X
+- #define BZ_PRE_FAIL checkAssert(0)
++ #define BZ_PRE_FAIL blitz::checkAssert(0)
+ #define BZ_ASM_DEBUG_MARKER
+
+ #elif defined(BZ_DEBUG)
diff --git a/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch b/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch
new file mode 100644
index 000000000000..6d10b399a1af
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch
@@ -0,0 +1,107 @@
+Set default variable to allow both --enable-x/--disable-x and
+ --with-x/--without-x to work as expected.
+
+bicatali@gentoo.org 08/2012
+
+--- configure.ac.orig 2012-08-20 17:46:41.000000000 +0100
++++ configure.ac 2012-08-20 17:56:23.000000000 +0100
+@@ -37,7 +37,7 @@
+ # Option to disable Fortran (benchmarks will not compile)
+ AC_MSG_CHECKING([whether to enable Fortran compilation for benchmark codes])
+ AC_ARG_ENABLE(fortran,
+- AS_HELP_STRING([--enable-fortran],[Enable Fortran compilation]),,[
++ AS_HELP_STRING([--enable-fortran],[Enable Fortran compilation]),enable_fortran=$enableval,[
+ enable_fortran="yes"])
+ AC_MSG_RESULT([$enable_fortran])
+ AM_CONDITIONAL(FORTRAN_ENABLED, [test $enable_fortran = yes])
+@@ -96,7 +96,7 @@
+ # Option to enable thread-safety (requires thread support or OpenMP)
+ AC_MSG_CHECKING([whether to enable Blitz thread-safety features])
+ AC_ARG_ENABLE(threadsafe,
+- AS_HELP_STRING([--enable-threadsafe],[Enable thread-safety features]),,[
++ AS_HELP_STRING([--enable-threadsafe],[Enable thread-safety features]),enable_threadsafe=$enableval,[
+ enable_threadsafe="no"])
+ AC_MSG_RESULT([$enable_threadsafe])
+ if test "$enable_threadsafe" = yes; then
+@@ -106,17 +106,22 @@
+ AC_MSG_CHECKING([if we are using Intel Threading Building Blocks])
+ AC_ARG_WITH([tbb],
+ AS_HELP_STRING([--with-tbb],[Use Intel Threading Building Blocks atomic types]),
+- [
++ [if test x$withval != xno; then
+ AC_MSG_RESULT([yes])
+ AC_CHECK_HEADERS([tbb/atomic.h],,AC_MSG_ERROR([tbb/atomic.h not found]))
+ AC_DEFINE([THREADSAFE_USE_TBB],[1],[Use TBB atomic types])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ],AC_MSG_RESULT([no]))
+
+ AC_MSG_CHECKING([for SIMD instruction width])
+ AC_ARG_ENABLE([simd-width],
+ AS_HELP_STRING([--enable-simd-width=n],[Facilitate compiler vectorization optimizations for SIMD instruction width of n bytes.]),
+- [ AC_ALIGNMENT_DIRECTIVE
+- AC_DEFINE([USE_ALIGNMENT_PRAGMAS],[1],[Specifies whether compiler alignment pragmas should be used]) ],
++ [if test x$enableval != xno; then
++ AC_ALIGNMENT_DIRECTIVE
++ AC_DEFINE([USE_ALIGNMENT_PRAGMAS],[1],[Specifies whether compiler alignment pragmas should be used])
++ fi ],
+ [enable_simd_width=no]
+ )
+ AC_MSG_RESULT([$enable_simd_width])
+@@ -130,12 +135,15 @@
+ AC_MSG_CHECKING([whether to pad array lengths to SIMD instruction width])
+ AC_ARG_ENABLE([array-length-padding],
+ AS_HELP_STRING([--enable-array-length-padding],[Sets the default array padding policy to pad all lowest-rank lengths to nearest larger SIMD width. Caution: This means that arrays will in general be non-contiguous.]),
+- [
++ [if test x$enableval != xno; then
+ AC_MSG_RESULT([yes])
+ if test "$enable_simd_width" == [1] ; then
+ AC_MSG_WARN([This option is useless without a SIMD width >1.])
+ fi
+ AC_DEFINE([PAD_ARRAYS],1,[Pad array lengths to SIMD width.])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ],AC_MSG_RESULT([no]))
+
+ AC_MSG_CHECKING([whether to enable Blitz 64-bit dimensions])
+@@ -147,10 +155,14 @@
+ AC_MSG_CHECKING([whether to enable serialization support])
+ AC_ARG_ENABLE([serialization],
+ AS_HELP_STRING([--enable-serialization],[Enable serialization support using Boost::Serialization]), [
++ if test x$enableval != xno; then
+ AC_MSG_RESULT([yes])
+ AX_BOOST_BASE([1.40.0])
+ AX_BOOST_SERIALIZATION
+ AC_CHECK_HEADERS([boost/mpi.hpp])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ], AC_MSG_RESULT([no]))
+
+ # check for PAPI library
+diff -Nur m4.orig/ac_prog_doxygen.m4 m4/ac_prog_doxygen.m4
+--- m4.orig/ac_prog_doxygen.m4 2012-08-20 18:03:12.000000000 +0100
++++ m4/ac_prog_doxygen.m4 2012-08-20 18:00:46.000000000 +0100
+@@ -3,16 +3,16 @@
+ AC_DEFUN([AC_PROG_DOXYGEN],
+ [
+ AC_ARG_ENABLE(doxygen,
+-AS_HELP_STRING([--enable-doxygen],[enable documentation generation with doxygen (no)]),[],[enable_doxygen=no])
++AS_HELP_STRING([--enable-doxygen],[enable documentation generation with doxygen (no)]),[enable_doxygen=$enableval],[enable_doxygen=no])
+
+ AC_ARG_ENABLE(dot,
+-AS_HELP_STRING([--enable-dot],[use 'dot' to generate graphs in doxygen (no)]),[],[enable_dot=no])
++AS_HELP_STRING([--enable-dot],[use 'dot' to generate graphs in doxygen (no)]),[enable_dot=$enableval],[enable_dot=no])
+ AC_ARG_ENABLE(html-docs,
+ AS_HELP_STRING([--enable-html-docs],[enable HTML generation with doxygen (no)]),
+-[],[ enable_html_docs=no])
++[enable_html_docs=$enableval],[ enable_html_docs=no])
+ AC_ARG_ENABLE(latex-docs,
+ AS_HELP_STRING([--enable-latex-docs],
+-[enable LaTeX documentation generation with doxygen (no)]),[],[enable_latex_docs=no])
++[enable LaTeX documentation generation with doxygen (no)]),[enable_latex_docs=$enableval],[enable_latex_docs=no])
+
+ if test "x$enable_doxygen" = xno; then
+ enable_doc=no
diff --git a/dev-libs/blitz/metadata.xml b/dev-libs/blitz/metadata.xml
new file mode 100644
index 000000000000..bbedddcd0e73
--- /dev/null
+++ b/dev-libs/blitz/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <maintainer>
+ <email>bicatali@gentoo.org</email>
+ <description>feel free to fix/update</description>
+ </maintainer>
+ <longdescription lang="en">
+ Blitz++ is a meta-template library for array
+ manipulation in C++ with a speed comparable to Fortran
+ implementations, while preserving an object-oriented
+ interface. These results are being obtained not through better
+ optimizing compilers, preprocessors, or language extensions, but
+ through the use of template techniques. By using templates cleverly,
+ optimizations such as loop fusion, unrolling, tiling, and algorithm
+ specialization can be performed automatically at compile time.
+</longdescription>
+ <use>
+ <flag name="boost">Enable usage of boost::serialization</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">blitz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/boehm-gc/Manifest b/dev-libs/boehm-gc/Manifest
new file mode 100644
index 000000000000..5a64322a63e8
--- /dev/null
+++ b/dev-libs/boehm-gc/Manifest
@@ -0,0 +1,6 @@
+DIST gc-7.1.tar.gz 1077714 SHA256 e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 SHA512 10faa0062c7df2ac7e2e29ac369167daad526c9de477e9af2298e6e5ad0bb1de5d32203e048892b16c34b398657a1a338e2e122c3137eeb8143b184f9b5e7ea0 WHIRLPOOL e099bd824601d53d94207f5a9c255fad30e55396eae2e6a01a55e98a7b8441e7e1bdfb698b2f77ee75b3c13f60a4f8e26b82b9fdf783b10dd40a49bf7f4fcdf6
+DIST gc-7.2d.tar.gz 1263064 SHA256 d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e SHA512 5b342754a1efeef0cf78983b7a0e48a36495beac04fc881ab356b26dc153b343e940ec7af070f4fc875be44adc559f7be995919fe9229f68d2e0237cdbeaabcc WHIRLPOOL 441507f8d8a9ee6d19a25ef0a1b11068a60b15b40a5c484cc3133e48e7ed1c498ce7cc05924d34b0bb6a63f8cb437a696d66f45dca1e256e792f5180081b6051
+DIST gc-7.2e.tar.gz 1291186 SHA256 09315b48a82d600371207691126ad058c04677281ac318d86fa84c98c3c9af4b SHA512 80d1d50e38714b4f198743cd8cd5ab80a35cfbb7f5f9d66c89f40319604e989125870f010d4499876978594a5823d7b61213224a68da8664b9e4f8e14076c999 WHIRLPOOL bac6bac3dde1ed136403450d335a33e7ffc692575871d19edaa322a523046a7f6dc75331ffec02a8e36a2f056e6422331c6a40fb5bfb5cfc23c70819a9e03447
+DIST gc-7.4.0.tar.gz 1060884 SHA256 61f8fc6991f8cb003a0d3c7d251c5b9a76093615ef793e0c588a4661e0b5e283 SHA512 7421dddd963a4eeb3d0c2efd486dcf842793e81385c9a87c38265137626822566c98920d9d6a9423c1dbeb067fd7fe8aeeead2d7bb7083f6056b6288410e1032 WHIRLPOOL 5506bb8503b646daede64580a8302e3515bf14aa19b2a2f768ad0b1ef23e70bb983f3c6d10ab5746f977e4a27b217187147188ecc38056614a9a2f74c73179c8
+DIST gc-7.4.2.tar.gz 1082597 SHA256 63320ad7c45460e4a40e03f5aa4c6893783f21a16416c3282b994f933312afa2 SHA512 2e21516addf268780641ee55c0cb3ecc2d96fa963faffee5beadcade9c6bf1ee49ee1a75b076b5d49ddde7c839fb94f4c3623ca8412d14c2a5bf6ca30d424a72 WHIRLPOOL 139fb9fbaef30f30f54940d99832b2eb936015620f59ee51b58a45e12d03cb9b05d75d8f91a6d706bafad9498894e77a7205d64f422bf2a4b64be2e9a8a13d90
+DIST gc6.8.tar.gz 756879 SHA256 448f8e4c6ee8c80eac059cf1c9379d20c388bcb900fc0796cd2a44d1dcbbae69 SHA512 69a9554d2d213392512d4ce41ec8c4993557e65c2b3dc4f568ac18695421cc08b7677c25f9a0ce03e94fb5e68a298fcac7ed09fb90007a2c998ff6ef78d3c651 WHIRLPOOL 970b4453895053e8bafc0b1b5b4f9c221f83cf20e5c9e305cacf47bf67f9a04bf9a3c684b0288c2cb8217cf10ed61ac7eeabcecafeaa64becb16d17ec3456909
diff --git a/dev-libs/boehm-gc/boehm-gc-6.8.ebuild b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
new file mode 100644
index 000000000000..baa801361398
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+MY_P="gc${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
new file mode 100644
index 000000000000..e97795051e67
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+MY_P="gc-${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
new file mode 100644
index 000000000000..c94f871d7331
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ prune_libtool_files
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
new file mode 100644
index 000000000000..806bce800635
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+DOCS=( README.QUICK doc/README{,.environment,.linux,.macros} doc/barrett_diagram )
+
+PATCHES=( "${FILESDIR}"/${P}-configure.patch )
+
+AUTOTOOLS_AUTORECONF=1
+
+src_prepare() {
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+ sed \
+ -e '/gc_allocator.h/d' \
+ -i Makefile.am || die
+ rm -rf libatomic_ops || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-libatomic-ops=yes
+ $(use_enable cxx cplusplus)
+ $(use threads || echo --disable-threads)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
new file mode 100644
index 000000000000..baa6db5bd9c3
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/e}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -r "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ use static-libs || prune_libtool_files #457872
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
new file mode 100644
index 000000000000..dcfdef979a83
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} \
+ doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
new file mode 100644
index 000000000000..922121afb77f
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros}
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
new file mode 100644
index 000000000000..72eb881eef7d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
@@ -0,0 +1,83 @@
+diff -ur gc6.5.orig/include/private/gcconfig.h gc6.5/include/private/gcconfig.h
+--- gc6.5.orig/include/private/gcconfig.h 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/include/private/gcconfig.h 2005-08-05 00:08:42.000000000 +0200
+@@ -1100,6 +1100,9 @@
+ # endif
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On I386 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if 0
+ # define HEURISTIC1
+ # undef STACK_GRAN
+@@ -1901,6 +1904,9 @@
+ # ifdef LINUX
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On x86_64 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+ # define MPROTECT_VDB
+ # else
+diff -ur gc6.5.orig/os_dep.c gc6.5/os_dep.c
+--- gc6.5.orig/os_dep.c 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/os_dep.c 2005-08-05 00:07:56.000000000 +0200
+@@ -967,7 +967,13 @@
+ # endif
+ f = open("/proc/self/stat", O_RDONLY);
+ if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
++ /* if /proc/self/stat isn't available, and HEURISTIC2 is possible, */
++ /* return NULL so that HEURISTIC2 will be tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
+ ABORT("Couldn't read /proc/self/stat");
++# endif
+ }
+ c = stat_buf[buf_offset++];
+ /* Skip the required number of fields. This number is hopefully */
+@@ -983,7 +989,16 @@
+ c = stat_buf[buf_offset++];
+ }
+ close(f);
+- if (result < 0x10000000) ABORT("Absurd stack bottom value");
++ if (result < 0x10000000) {
++ /* if stack base result is silly (e.g. is 0 due to grsec), and */
++ /* HEURISTIC2 is enabled, return NULL so that HEURISTIC2 will be */
++ /* tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
++ ABORT("Absurd stack bottom value");
++# endif
++ }
+ return (ptr_t)result;
+ }
+
+@@ -1045,6 +1060,12 @@
+ result = GC_freebsd_stack_base();
+ # endif
+ # ifdef HEURISTIC2
++/* if both LINUX_STACKBOTTOM and HEURISTIC2 are enabled, try HEURISTIC2 */
++/* when the LINUX_STACKBOTTOM returns NULL (indicating failure to get */
++/* a sensible result from /proc/self/stat) */
++# ifdef LINUX_STACKBOTTOM
++ if (result == (ptr_t)NULL) {
++# endif
+ # ifdef STACK_GROWS_DOWN
+ result = GC_find_limit((ptr_t)(&dummy), TRUE);
+ # ifdef HEURISTIC2_LIMIT
+@@ -1062,6 +1083,11 @@
+ }
+ # endif
+ # endif
++/* tail of extra 'if' condition when both LINUX_STACKBOTTOM and */
++/* HEURISTIC are configured. */
++# ifdef LINUX_STACKBOTTOM
++ }
++# endif
+
+ # endif /* HEURISTIC2 */
+ # ifdef STACK_GROWS_DOWN
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
new file mode 100644
index 000000000000..fdada4394cc4
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
@@ -0,0 +1,33 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..45300c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -337,7 +337,7 @@ if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
+ AC_DEFINE([DARWIN_DONT_PARSE_STACK], 1, [See doc/README.macros.])
+ fi
+
+-if test "$GCC" == yes; then
++if test "$GCC" = yes; then
+ # Disable aliasing optimization unless forced to.
+ AC_MSG_CHECKING([whether gcc supports -fno-strict-aliasing])
+ ac_cv_fno_strict_aliasing=no
+@@ -442,8 +442,8 @@ esac
+ AC_MSG_RESULT($enable_shared)
+
+ # Compile with GC_DLL defined unless building static libraries.
+-if test "${enable_shared}" == yes; then
+- if test "${enable_static}" == no; then
++if test "${enable_shared}" = yes; then
++ if test "${enable_static}" = no; then
+ AC_DEFINE(GC_DLL)
+ # FIXME: Also pass -fvisibility=hidden option if GCC v4+ and not Win32.
+ fi
+@@ -707,7 +707,7 @@ if test -n "${with_cross_host}"; then
+ [Define to tune the collector for small heap sizes.])
+ fi
+
+-if test "$enable_gc_debug" == "no"; then
++if test "$enable_gc_debug" = "no"; then
+ AC_DEFINE([NO_DEBUGGING], 1,
+ [Disable debugging, like GC_dump and its callees.])
+ fi
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
new file mode 100644
index 000000000000..1d3e5780e74d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
@@ -0,0 +1,13 @@
+--- include/gc.h 2006-02-25 15:49:52 +0000
++++ include/gc.h 2006-02-25 15:50:00 +0000
+@@ -473,7 +473,9 @@
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+ && !defined(__ia64__)
+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
+-# define GC_HAVE_BUILTIN_BACKTRACE
++# ifndef __UCLIBC__
++# define GC_HAVE_BUILTIN_BACKTRACE
++# endif
+ # endif
+ # endif
+ # if defined(__i386__) || defined(__x86_64__)
diff --git a/dev-libs/boehm-gc/metadata.xml b/dev-libs/boehm-gc/metadata.xml
new file mode 100644
index 000000000000..89de980746b6
--- /dev/null
+++ b/dev-libs/boehm-gc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>sera@gentoo.org</email>
+ <name>Ralph Sennhauser</name>
+ </maintainer>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/boost-numpy/Manifest b/dev-libs/boost-numpy/Manifest
new file mode 100644
index 000000000000..48dadf84720a
--- /dev/null
+++ b/dev-libs/boost-numpy/Manifest
@@ -0,0 +1 @@
+DIST boost-numpy-0_pre20131206.tar.xz 53136 SHA256 113a7f71c2f62d009ba8329f05e07a76061e4f1b2392ff68a62998f7c52d62a0 SHA512 323084f58252d51c3dbbbcd49a427cd4c1adb4a9bcb68efb4c5d1b252d1baa3f66f2b7b24a7ed71c5ae0a7ebbfcf5af8033ad562206bc781f12588fb080a0448 WHIRLPOOL 5f6a8443280b2a0b325f14428ed8b7c0b7a976c2ff58adff3427c72deb8abc44c0988020ab9007f24f72c399a531ca6176f3639fa1d446bc3e137e97bf9667c6
diff --git a/dev-libs/boost-numpy/boost-numpy-0_pre20131206.ebuild b/dev-libs/boost-numpy/boost-numpy-0_pre20131206.ebuild
new file mode 100644
index 000000000000..f8eabec23bbd
--- /dev/null
+++ b/dev-libs/boost-numpy/boost-numpy-0_pre20131206.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Boost.Python interface for NumPy"
+HOMEPAGE="https://github.com/ndarray/Boost.NumPy"
+if [ ${PV} == 9999 ]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/ndarray/Boost.NumPy.git \
+ https://github.com/ndarray/Boost.NumPy.git"
+else
+ SRC_URI="http://dev.gentoo.org/~heroxbd/${P}.tar.xz"
+fi
+
+LICENSE="Boost-1.0"
+SLOT=0
+IUSE="doc examples"
+KEYWORDS="~amd64"
+
+CDEPEND="dev-python/numpy
+ dev-libs/boost[python]"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+src_install() {
+ cmake-utils_src_install
+
+ use doc && dodoc -r libs/numpy/doc/*
+ use examples && dodoc -r libs/numpy/example
+}
diff --git a/dev-libs/boost-numpy/boost-numpy-9999.ebuild b/dev-libs/boost-numpy/boost-numpy-9999.ebuild
new file mode 100644
index 000000000000..b3e60b390972
--- /dev/null
+++ b/dev-libs/boost-numpy/boost-numpy-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Boost.Python interface for NumPy"
+HOMEPAGE="https://github.com/ndarray/Boost.NumPy"
+if [ ${PV} == 9999 ]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/ndarray/Boost.NumPy.git \
+ https://github.com/ndarray/Boost.NumPy.git"
+else
+ SRC_URI="http://dev.gentoo.org/~heroxbd/${P}.tar.xz"
+fi
+
+LICENSE="Boost-1.0"
+SLOT=0
+IUSE="doc examples"
+KEYWORDS=""
+
+CDEPEND="dev-python/numpy
+ dev-libs/boost[python]"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+src_install() {
+ cmake-utils_src_install
+
+ use doc && dodoc -r libs/numpy/doc/*
+ use examples && dodoc -r libs/numpy/example
+}
diff --git a/dev-libs/boost-numpy/metadata.xml b/dev-libs/boost-numpy/metadata.xml
new file mode 100644
index 000000000000..116fc61c5972
--- /dev/null
+++ b/dev-libs/boost-numpy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>heroxbd@gentoo.org</email>
+ <name>Benda Xu</name>
+ <description>an extension for Boost.Python that adds NumPy support</description>
+ </maintainer>
+ <longdescription>It is intended as a replacement for the old numeric support in Boost.Python proper, which is now out-of-date and does not support C/C++ pointer access to the data.</longdescription>
+ <upstream>
+ <remote-id type="github">ndarray/Boost.NumPy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
new file mode 100644
index 000000000000..413b8cc5e06d
--- /dev/null
+++ b/dev-libs/boost/Manifest
@@ -0,0 +1,7 @@
+DIST boost_1_52_0.tar.bz2 54421709 SHA256 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92 SHA512 fc512d3bfa6a39a60fee548775c97239271cf757587b8df7ed739c800844a819a359dca172be0e69ad7752753753139bf11f0813d650066d58386662fe32842d WHIRLPOOL 73bbab4a1d2a652200f4b5e669440a2afcebcea96a1139ecc75213067ca32d5cadb0f060bb0ec2e29e9e31272fb7ec9d2cb960801032ee6c5dcb86564766411d
+DIST boost_1_53_0.tar.bz2 55765258 SHA256 f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196 SHA512 8cd7806653cb6ea4a1c6862796ef698de5ae0bdbda96954fedbe090c59e3e6cb8f8d385df35183e9063ac4e2c2fccf10744516c47a994cde5f1d1cba1b07e522 WHIRLPOOL e8c5ed6b34dd5f68dc7e102a9e22b302616a65077d3f4af370ece6352b02a866e04294a4fc76bbd5555b6a4131f590e6455e6a74b5f12c4ffc2dd15af0bc8746
+DIST boost_1_54_0.tar.bz2 57873778 SHA256 047e927de336af106a24bceba30069980c191529fd76b8dff8eb9a328b48ae1d SHA512 3467a2bb9b4797cadfc52150cb036939ef35263f421870897dbe9492d1504a714805668a193b0811fdaf39a3527ee693ff70da5b942d7ab11b307e2e693e1760 WHIRLPOOL dbe3cbecaccf86ca184cf73cff75c17d6307b680bab098e38a9efd24d17776481e597017fc9f8fc8f488495f315c6d2b14b9212c51cf98529c302482bf67e92a
+DIST boost_1_55_0.tar.bz2 58146647 SHA256 fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 SHA512 dc606477f4c303e8f40de2586c16394b6d758e198b35bf3a7d3e576a2f49171aadc4f95e8d685fa731bc4e61e19869d5a24e1e816febfca9de078d66e096e041 WHIRLPOOL 6ae111d6a956651bd91914432b743faffeb466703191b05193db47f02fd3528a14ce200f26c1ab77bf2c68994eb5b135b0176f66a746964d334b4793ba113ad5
+DIST boost_1_56_0.tar.bz2 94777674 SHA256 134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d SHA512 1ce9871c3a2519682538a5f1331938b948123432d99aea0ce026958cbebd25d84019a3a28c452724b9693df98a8d1264bb2d93d2fee508453f8b42836e67481e WHIRLPOOL e9e9bb965816b687141d55bc026e378a56ed577a2bf0bdad61a1736e7f11d1797e0cac0185a1fa25b6c4b9fe1f75cbb0bb73a5ea05e84d59385bb3b17a90fd12
+DIST boost_1_57_0.tar.bz2 60821561 SHA256 910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967 SHA512 61881440fd89644c43c6e3bc6292e9fed75a6d3a76f98654b189d0ed4e1087d77b585884e882270c08bf9f7132b173bfc1fde05848e06aa78ba7f1008d10714d WHIRLPOOL ff092af332434082a774645a5eb42829cdbdac805ef86dccce8988542062901524bd4d5fc890e3a9c01f0a721047501e5d8b13d50ffa5368066c3438dcf719d6
+DIST boost_1_58_0.tar.bz2 70394057 SHA256 fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5 SHA512 7480ec713b0aa13f0ec990603e87e3b5c8d53f4411329b10fae37fc963b90aad12dbd9290a33c3669ae801e9012a68683eadff057591e9ca2ebcd22b1a67b5d1 WHIRLPOOL 0ed66f7de8b2ac28eda89e2fcadfc5533e6a3887ef7a929610804efa3ca66b850fecafeb61c986d37cb704ec844744e47d08f87e08ea25c779f57cffd26a1be2
diff --git a/dev-libs/boost/boost-1.52.0-r7.ebuild b/dev-libs/boost/boost-1.52.0-r7.ebuild
new file mode 100644
index 000000000000..04e7578117d4
--- /dev/null
+++ b/dev-libs/boost/boost-1.52.0-r7.ebuild
@@ -0,0 +1,352 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
+
+MY_P=${PN}_$(replace_all_version_separators _)
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+MAJOR_V="$(get_version_component_range 1-2)"
+SLOT="0/${MAJOR_V}"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
+ !icu? ( virtual/libiconv )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2
+ sys-libs/zlib
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-1.52.0*"
+
+REQUIRED_USE="mpi? ( threads )"
+
+S="${WORKDIR}/${MY_P}"
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if use mpi; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if use python; then
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+
+ cat > user-config.jam << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+ "${FILESDIR}/remove-toolset-1.48.0.patch" \
+ "${FILESDIR}/${PN}-1.52.0-tuple.patch" \
+ "${FILESDIR}/${P}-locale-utf.patch" \
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" \
+ "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
+
+ # Avoid a patch for now
+ for file in libs/context/src/asm/*.S; do
+ cat - >> $file <<EOF
+
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif
+EOF
+ done
+
+ epatch_user
+}
+
+ejam() {
+ echo b2 "$@"
+ b2 "$@"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ use mpi || OPTIONS+=" --without-mpi"
+ use python || OPTIONS+=" --without-python"
+ use nls || OPTIONS+=" --without-locale"
+
+ OPTIONS+=" pch=off --boost-build=/usr/share/boost-build --prefix=\"${D}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared) --without-context"
+}
+
+src_compile() {
+ export BOOST_ROOT="${S}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ ejam ${OPTIONS} \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ || die "Building of Boost libraries failed"
+
+ if use python; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if use mpi; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if use python; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if use tools; then
+ pushd tools > /dev/null || die
+
+ ejam ${OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+src_install () {
+ installation() {
+ create_user-config.jam
+
+ if use python; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if use mpi; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ fi
+
+ ejam ${OPTIONS} \
+ --includedir="${D}usr/include" \
+ --libdir="${D}usr/$(get_libdir)" \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ install || die "Installation of Boost libraries failed"
+
+ if use python; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if use mpi; then
+ local moddir=$(python_get_sitedir)/boost
+ dodir "${moddir}"
+ mv "${D}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if use python; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ if ! use python; then
+ rm -r "${D}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${D}"/usr/include/boost/locale || die
+ fi
+
+ rm -r "${D}"/usr/include/boost/context || die
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+
+ pushd "${D}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+src_test() { :; }
diff --git a/dev-libs/boost/boost-1.53.0-r1.ebuild b/dev-libs/boost/boost-1.53.0-r1.ebuild
new file mode 100644
index 000000000000..200101b9ce23
--- /dev/null
+++ b/dev-libs/boost/boost-1.53.0-r1.ebuild
@@ -0,0 +1,365 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
+
+MY_P=${PN}_$(replace_all_version_separators _)
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+MAJOR_V="$(get_version_component_range 1-2)"
+SLOT="0/${MAJOR_V}"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-fbsd ~x86-linux"
+IUSE="debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
+ !icu? ( virtual/libiconv )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2
+ sys-libs/zlib
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if use mpi; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if use python; then
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+
+ cat > user-config.jam << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
+ epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112
+ epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
+ epatch "${FILESDIR}/${PN}-1.52.0-threads.patch"
+
+ # Avoid a patch for now
+ for file in libs/context/src/asm/*.S; do
+ cat - >> $file <<EOF
+
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif
+EOF
+ done
+
+ epatch_user
+}
+
+ejam() {
+ echo b2 "$@"
+ b2 "$@"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ use mpi || OPTIONS+=" --without-mpi"
+ use python || OPTIONS+=" --without-python"
+ use nls || OPTIONS+=" --without-locale"
+
+ OPTIONS+=" pch=off --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+ OPTIONS+=" --without-context"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+src_compile() {
+ export BOOST_ROOT="${S}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ ejam ${OPTIONS} \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ || die "Building of Boost libraries failed"
+
+ if use python; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if use mpi; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if use python; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if use tools; then
+ pushd tools > /dev/null || die
+
+ ejam ${OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+src_install () {
+ installation() {
+ create_user-config.jam
+
+ if use python; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if use mpi; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ fi
+
+ ejam ${OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ install || die "Installation of Boost libraries failed"
+
+ if use python; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if use mpi; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if use python; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+src_test() { :; }
diff --git a/dev-libs/boost/boost-1.54.0-r1.ebuild b/dev-libs/boost/boost-1.54.0-r1.ebuild
new file mode 100644
index 000000000000..a5f9bc2f4a5e
--- /dev/null
+++ b/dev-libs/boost/boost-1.54.0-r1.ebuild
@@ -0,0 +1,365 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
+
+MY_P=${PN}_$(replace_all_version_separators _)
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+MAJOR_V="$(get_version_component_range 1-2)"
+SLOT="0/${MAJOR_V}"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-fbsd ~x86-linux"
+IUSE="debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
+ !icu? ( virtual/libiconv )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2
+ sys-libs/zlib
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if use mpi; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if use python; then
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+
+ cat > user-config.jam << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
+ epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112
+ epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
+ epatch "${FILESDIR}/${PN}-1.52.0-threads.patch"
+
+ # Avoid a patch for now
+ for file in libs/context/src/asm/*.S; do
+ cat - >> $file <<EOF
+
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif
+EOF
+ done
+
+ epatch_user
+}
+
+ejam() {
+ echo b2 "$@"
+ b2 "$@"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ use mpi || OPTIONS+=" --without-mpi"
+ use python || OPTIONS+=" --without-python"
+ use nls || OPTIONS+=" --without-locale"
+
+ OPTIONS+=" pch=off --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+ OPTIONS+=" --without-context --without-coroutine"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+src_compile() {
+ export BOOST_ROOT="${S}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ ejam ${OPTIONS} \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ || die "Building of Boost libraries failed"
+
+ if use python; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if use mpi; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if use python; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if use tools; then
+ pushd tools > /dev/null || die
+
+ ejam ${OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+src_install () {
+ installation() {
+ create_user-config.jam
+
+ if use python; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if use mpi; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ fi
+
+ ejam ${OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ $(use python && echo --python-buildid=${EPYTHON#python}) \
+ install || die "Installation of Boost libraries failed"
+
+ if use python; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if use mpi; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if use python; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+src_test() { :; }
diff --git a/dev-libs/boost/boost-1.55.0-r2.ebuild b/dev-libs/boost/boost-1.55.0-r2.ebuild
new file mode 100644
index 000000000000..a9e1cda0b597
--- /dev/null
+++ b/dev-libs/boost/boost-1.55.0-r2.ebuild
@@ -0,0 +1,395 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+
+MY_P="${PN}_$(replace_all_version_separators _)"
+MAJOR_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+
+IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
+ icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+python_bindings_needed() {
+ multilib_is_native_abi && use python
+}
+
+tools_needed() {
+ multilib_is_native_abi && use tools
+}
+
+# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
+mpi_needed() {
+ multilib_is_native_abi && use mpi
+}
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if mpi_needed; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if python_bindings_needed; then
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+ "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
+ "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" \
+ "${FILESDIR}/${PN}-1.55.0-variadic-templates.patch"
+
+ epatch_user
+
+ multilib_copy_sources
+}
+
+ejam() {
+ local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
+ echo b2 ${b2_opts}
+ b2 ${b2_opts}
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ mpi_needed || OPTIONS+=" --without-mpi"
+ use nls || OPTIONS+=" --without-locale"
+ use context || OPTIONS+=" --without-context --without-coroutine"
+
+ OPTIONS+=" pch=off"
+ OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
+ OPTIONS+=" --layout=system"
+ OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+multilib_src_compile() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost libraries failed"
+
+ if python_bindings_needed; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if mpi_needed; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if tools_needed; then
+ pushd tools > /dev/null || die
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+ fi
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+multilib_src_install() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ installation() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if mpi_needed; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ install || die "Installation of Boost libraries failed"
+
+ if python_bindings_needed; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if mpi_needed; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if tools_needed; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
diff --git a/dev-libs/boost/boost-1.56.0-r1.ebuild b/dev-libs/boost/boost-1.56.0-r1.ebuild
new file mode 100644
index 000000000000..5d09eda4c9bc
--- /dev/null
+++ b/dev-libs/boost/boost-1.56.0-r1.ebuild
@@ -0,0 +1,404 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+
+MY_P="${PN}_$(replace_all_version_separators _)"
+MAJOR_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
+
+IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
+ icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+python_bindings_needed() {
+ multilib_is_native_abi && use python
+}
+
+tools_needed() {
+ multilib_is_native_abi && use tools
+}
+
+# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
+mpi_needed() {
+ multilib_is_native_abi && use mpi
+}
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if mpi_needed; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if python_bindings_needed; then
+ if tc-is-cross-compiler; then
+ python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
+ else
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+ fi
+
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+ "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
+ "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" \
+ "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
+ "${FILESDIR}/${PN}-1.55.0-variadic-templates.patch"
+
+ # Do not try to build missing 'wave' tool, bug #522682
+ # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
+ sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
+
+ epatch_user
+
+ multilib_copy_sources
+}
+
+ejam() {
+ local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
+ echo b2 ${b2_opts}
+ b2 ${b2_opts}
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ mpi_needed || OPTIONS+=" --without-mpi"
+ use nls || OPTIONS+=" --without-locale"
+ use context || OPTIONS+=" --without-context --without-coroutine"
+
+ OPTIONS+=" pch=off"
+ OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
+ OPTIONS+=" --layout=system"
+ OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+multilib_src_compile() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost libraries failed"
+
+ if python_bindings_needed; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if mpi_needed; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if tools_needed; then
+ pushd tools > /dev/null || die
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+ fi
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+multilib_src_install() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ installation() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if mpi_needed; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ install || die "Installation of Boost libraries failed"
+
+ if python_bindings_needed; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if mpi_needed; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if tools_needed; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
diff --git a/dev-libs/boost/boost-1.57.0.ebuild b/dev-libs/boost/boost-1.57.0.ebuild
new file mode 100644
index 000000000000..caddfd558892
--- /dev/null
+++ b/dev-libs/boost/boost-1.57.0.ebuild
@@ -0,0 +1,403 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+
+MY_P="${PN}_$(replace_all_version_separators _)"
+MAJOR_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
+
+IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
+ icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+python_bindings_needed() {
+ multilib_is_native_abi && use python
+}
+
+tools_needed() {
+ multilib_is_native_abi && use tools
+}
+
+# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
+mpi_needed() {
+ multilib_is_native_abi && use mpi
+}
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if mpi_needed; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if python_bindings_needed; then
+ if tc-is-cross-compiler; then
+ python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
+ else
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+ fi
+
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+ "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
+ "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" \
+ "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
+
+ # Do not try to build missing 'wave' tool, bug #522682
+ # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
+ sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
+
+ epatch_user
+
+ multilib_copy_sources
+}
+
+ejam() {
+ local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
+ echo b2 ${b2_opts}
+ b2 ${b2_opts}
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ mpi_needed || OPTIONS+=" --without-mpi"
+ use nls || OPTIONS+=" --without-locale"
+ use context || OPTIONS+=" --without-context --without-coroutine"
+
+ OPTIONS+=" pch=off"
+ OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
+ OPTIONS+=" --layout=system"
+ OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+multilib_src_compile() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost libraries failed"
+
+ if python_bindings_needed; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if mpi_needed; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if tools_needed; then
+ pushd tools > /dev/null || die
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+ fi
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+multilib_src_install() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ installation() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if mpi_needed; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ install || die "Installation of Boost libraries failed"
+
+ if python_bindings_needed; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if mpi_needed; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if tools_needed; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
diff --git a/dev-libs/boost/boost-1.58.0-r1.ebuild b/dev-libs/boost/boost-1.58.0-r1.ebuild
new file mode 100644
index 000000000000..6389bc0577a1
--- /dev/null
+++ b/dev-libs/boost/boost-1.58.0-r1.ebuild
@@ -0,0 +1,403 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+
+MY_P="${PN}_$(replace_all_version_separators _)"
+MAJOR_V="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
+
+IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[cxx,threads] )
+ python? ( ${PYTHON_DEPS} )
+ app-arch/bzip2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ !app-admin/eselect-boost"
+DEPEND="${RDEPEND}
+ =dev-util/boost-build-${MAJOR_V}*"
+REQUIRED_USE="
+ mpi? ( threads )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+python_bindings_needed() {
+ multilib_is_native_abi && use python
+}
+
+tools_needed() {
+ multilib_is_native_abi && use tools
+}
+
+# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
+mpi_needed() {
+ multilib_is_native_abi && use mpi
+}
+
+create_user-config.jam() {
+ local compiler compiler_version compiler_executable
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ compiler="darwin"
+ compiler_version="$(gcc-fullversion)"
+ compiler_executable="$(tc-getCXX)"
+ else
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+ compiler_executable="$(tc-getCXX)"
+ fi
+ local mpi_configuration python_configuration
+
+ if mpi_needed; then
+ mpi_configuration="using mpi ;"
+ fi
+
+ if python_bindings_needed; then
+ if tc-is-cross-compiler; then
+ python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
+ else
+ python_configuration="using python : : ${PYTHON} ;"
+ fi
+ fi
+
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ (
+ eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ die
+ )
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+ "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" \
+ "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
+ "${FILESDIR}/${PN}-1.58.0-fix-non-constexpr-types-regression.patch"
+
+ # Do not try to build missing 'wave' tool, bug #522682
+ # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
+ sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
+
+ epatch_user
+
+ multilib_copy_sources
+}
+
+ejam() {
+ local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
+ echo b2 ${b2_opts}
+ b2 ${b2_opts}
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ elif [[ ${CHOST} == *-winnt* ]]; then
+ compiler=parity
+ if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
+ compilerVersion=trunk
+ else
+ compilerVersion=$($(tc-getCXX) -v | sed '1q' \
+ | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
+ fi
+ compilerExecutable=$(tc-getCXX)
+ fi
+
+ # bug 298489
+ if use ppc || use ppc64; then
+ [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+ fi
+
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
+ use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+ mpi_needed || OPTIONS+=" --without-mpi"
+ use nls || OPTIONS+=" --without-locale"
+ use context || OPTIONS+=" --without-context --without-coroutine"
+
+ OPTIONS+=" pch=off"
+ OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
+ OPTIONS+=" --layout=system"
+ OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+}
+
+multilib_src_compile() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ PYTHON_DIRS=""
+ MPI_PYTHON_MODULE=""
+
+ building() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost libraries failed"
+
+ if python_bindings_needed; then
+ if [[ -z "${PYTHON_DIRS}" ]]; then
+ PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+ else
+ if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ mv ${dir} ${dir}-${EPYTHON} \
+ || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
+ done
+
+ if mpi_needed; then
+ if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+ MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
+ if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+ die "Multiple mpi.so files found"
+ fi
+ else
+ if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
+ die "Inconsistent structure of build directories"
+ fi
+ fi
+
+ mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
+ || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
+ fi
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl building
+ else
+ building
+ fi
+
+ if tools_needed; then
+ pushd tools > /dev/null || die
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ || die "Building of Boost tools failed"
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use python; then
+ rm -r "${ED}"/usr/include/boost/python* || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine || die
+ rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
+ fi
+
+ if use doc; then
+ find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+ dohtml \
+ -A pdf,txt,cpp,hpp \
+ *.{htm,html,png,css} \
+ -r doc
+ dohtml -A pdf,txt -r tools
+ insinto /usr/share/doc/${PF}/html
+ doins -r libs
+ doins -r more
+
+ # To avoid broken links
+ insinto /usr/share/doc/${PF}/html
+ doins LICENSE_1_0.txt
+
+ dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+multilib_src_install() {
+ local -x BOOST_ROOT="${BUILD_DIR}"
+ installation() {
+ create_user-config.jam
+
+ local PYTHON_OPTIONS
+ if python_bindings_needed; then
+ local dir
+ for dir in ${PYTHON_DIRS}; do
+ cp -pr ${dir}-${EPYTHON} ${dir} \
+ || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
+ done
+
+ if mpi_needed; then
+ cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
+ cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
+ || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
+ fi
+ PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
+ else
+ PYTHON_OPTIONS=" --without-python"
+ fi
+
+ ejam \
+ ${OPTIONS} \
+ ${PYTHON_OPTIONS} \
+ --includedir="${ED}usr/include" \
+ --libdir="${ED}usr/$(get_libdir)" \
+ install || die "Installation of Boost libraries failed"
+
+ if python_bindings_needed; then
+ rm -r ${PYTHON_DIRS} || die
+
+ # Move mpi.so Python module to Python site-packages directory.
+ # https://svn.boost.org/trac/boost/ticket/2838
+ if mpi_needed; then
+ local moddir=$(python_get_sitedir)/boost
+ # moddir already includes eprefix
+ mkdir -p "${D}${moddir}" || die
+ mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ cat << EOF > "${D}${moddir}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+ import DLFCN
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+ from . import mpi
+ sys.setdlopenflags(flags)
+ del DLFCN, flags
+else:
+ from . import mpi
+del sys
+EOF
+ fi
+
+ python_optimize
+ fi
+ }
+ if python_bindings_needed; then
+ python_foreach_impl installation
+ else
+ installation
+ fi
+
+ pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+
+ local ext=$(get_libname)
+ if use threads; then
+ local f
+ for f in *${ext}; do
+ dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
+ done
+ fi
+
+ popd > /dev/null || die
+
+ if tools_needed; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "^libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ ebegin " correcting reference to ${r}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+pkg_preinst() {
+ # Yai for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
+ [[ -L ${symlink} ]] && rm -f "${symlink}"
+ done
+}
diff --git a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
new file mode 100644
index 000000000000..a902d61bba78
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
@@ -0,0 +1,29 @@
+--- libs/locale/build/Jamfile.v2
++++ libs/locale/build/Jamfile.v2
+@@ -58,8 +58,8 @@
+
+ if $(ICU_LINK)
+ {
+- ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <runtime-link>shared ;
+- ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin64 <runtime-link>shared ;
++ ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
++ ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
+ }
+ else
+ {
+@@ -117,7 +117,6 @@
+ <library>icuuc/<link>shared/<runtime-link>shared
+ <library>icudt/<link>shared/<runtime-link>shared
+ <library>icuin/<link>shared/<runtime-link>shared
+- <dll-path>$(ICU_PATH)/bin
+ <runtime-link>shared ;
+
+
+@@ -176,7 +175,6 @@
+ <library>icuuc_64/<link>shared/<runtime-link>shared
+ <library>icudt_64/<link>shared/<runtime-link>shared
+ <library>icuin_64/<link>shared/<runtime-link>shared
+- <dll-path>$(ICU_PATH)/bin64
+ <runtime-link>shared ;
+
+
diff --git a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
new file mode 100644
index 000000000000..c24a56c6bd5d
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
@@ -0,0 +1,62 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -39,23 +39,6 @@
+ PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+ }
+
+-
+-rule find-py3-version
+-{
+- local versions = [ feature.values python ] ;
+- local py3ver ;
+- for local v in $(versions)
+- {
+- if $(v) >= 3.0
+- {
+- py3ver = $(v) ;
+- }
+- }
+- return $(py3ver) ;
+-}
+-
+-py3-version = [ find-py3-version ] ;
+-
+ project boost/python
+ : source-location ../src
+ : requirements
+@@ -82,7 +65,7 @@
+ rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
+ rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
+
+-rule lib_boost_python ( is-py3 ? )
++rule lib_boost_python
+ {
+
+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
+@@ -91,7 +74,7 @@
+ {
+ python2 = true ;
+ }
+- lib [ cond $(is-py3) : boost_python3 : boost_python ]
++ lib boost_python
+ : # sources
+ numeric.cpp
+ list.cpp
+@@ -148,7 +131,6 @@
+ <dependency>config-warning
+
+ <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+- [ cond $(is-py3) : <python>$(py3-version) ]
+ : # default build
+ <link>shared
+ : # usage requirements
+@@ -160,9 +142,3 @@
+
+ lib_boost_python ;
+ boost-install boost_python ;
+-
+-if $(py3-version)
+-{
+- lib_boost_python yes ;
+- boost-install boost_python3 ;
+-}
diff --git a/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch b/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
new file mode 100644
index 000000000000..a32eca94b90b
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
@@ -0,0 +1,95 @@
+https://svn.boost.org/trac/boost/ticket/4657
+https://svn.boost.org/trac/boost/changeset/76290
+
+--- libs/mpi/src/python/datatypes.cpp
++++ libs/mpi/src/python/datatypes.cpp
+@@ -17,7 +17,9 @@
+
+ void export_datatypes()
+ {
++#if PY_MAJOR_VERSION < 3
+ register_serialized(long(0), &PyInt_Type);
++#endif
+ register_serialized(false, &PyBool_Type);
+ register_serialized(double(0.0), &PyFloat_Type);
+ }
+--- libs/mpi/src/python/py_environment.cpp
++++ libs/mpi/src/python/py_environment.cpp
+@@ -11,6 +11,9 @@
+ * This file reflects the Boost.MPI "environment" class into Python
+ * methods at module level.
+ */
++
++#include <locale>
++#include <string>
+ #include <boost/python.hpp>
+ #include <boost/mpi.hpp>
+
+@@ -50,11 +53,64 @@
+
+ // If anything changed, convert C-style argc/argv into Python argv
+ if (mpi_argv != my_argv)
++ {
++#if PY_MAJOR_VERSION >= 3
++
++ wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
++ /* We need a second copy, as Python might modify the first one. */
++ wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
++
++ if (!argv_copy || !argv_copy2) {
++ fprintf(stderr, "out of memory\n");
++ return false;
++ }
++
++ std::locale mylocale;
++ mbstate_t mystate;
++
++ const std::codecvt<char, wchar_t, mbstate_t>& myfacet =
++ std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale);
++
++ for (int i = 0; i < mpi_argc; i++)
++ {
++ size_t length = strlen(mpi_argv[i]);
++
++ wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1));
++
++ const char *from_next;
++ wchar_t *to_next;
++
++ std::codecvt<wchar_t,char,mbstate_t>::result myresult =
++ myfacet.out(mystate,
++ mpi_argv[i], mpi_argv[i] + length + 1, from_next,
++ dest, dest+length+1, to_next);
++
++ if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok )
++ {
++ fprintf(stderr, "failure translating argv\n");
++ return 1;
++ }
++
++ argv_copy2[i] = argv_copy[i] = dest;
++ if (!argv_copy[i])
++ return false;
++ }
++
++ PySys_SetArgv(mpi_argc, argv_copy);
++
++ for (int i = 0; i < mpi_argc; i++) {
++ PyMem_Free(argv_copy2[i]);
++ }
++ PyMem_Free(argv_copy);
++ PyMem_Free(argv_copy2);
++#else
+ PySys_SetArgv(mpi_argc, mpi_argv);
++#endif
++ }
+
+- for (int arg = 0; arg < my_argc; ++arg)
+- free(my_argv[arg]);
+- delete [] my_argv;
++ for (int arg = 0; arg < mpi_argc; ++arg)
++ free(mpi_argv[arg]);
++ delete [] mpi_argv;
+
+ return true;
+ }
diff --git a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
new file mode 100644
index 000000000000..89f8109a411b
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
@@ -0,0 +1,23 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -85,6 +85,12 @@
+ rule lib_boost_python ( is-py3 ? )
+ {
+
++ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
++ local python2 ;
++ if $(python_major_version) = 2
++ {
++ python2 = true ;
++ }
+ lib [ cond $(is-py3) : boost_python3 : boost_python ]
+ : # sources
+ numeric.cpp
+@@ -119,6 +125,7 @@
+ : # requirements
+ <link>static:<define>BOOST_PYTHON_STATIC_LIB
+ <define>BOOST_PYTHON_SOURCE
++ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
+
+ # On Windows, all code using Python has to link to the Python
+ # import library.
diff --git a/dev-libs/boost/files/boost-1.48.0-python_linking.patch b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
new file mode 100644
index 000000000000..e7f4e7c99f24
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
@@ -0,0 +1,24 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -109,20 +109,7 @@
+ <link>static:<define>BOOST_PYTHON_STATIC_LIB
+ <define>BOOST_PYTHON_SOURCE
+ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
+-
+- # On Windows, all code using Python has to link to the Python
+- # import library.
+- #
+- # On *nix we never link libboost_python to libpython. When
+- # extending Python, all Python symbols are provided by the
+- # Python interpreter executable. When embedding Python, the
+- # client executable is expected to explicitly link to
+- # /python//python (the target representing libpython) itself.
+- #
+- # python_for_extensions is a target defined by Boost.Build to
+- # provide the Python include paths, and on Windows, the Python
+- # import library, as usage requirements.
+- [ cond [ python.configured ] : <library>/python//python_for_extensions ]
++ [ cond [ python.configured ] : <library>/python//python ]
+
+ # we prevent building when there is no python available
+ # as it's not possible anyway, and to cause dependents to
diff --git a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
new file mode 100644
index 000000000000..327429e2c0b2
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
@@ -0,0 +1,69 @@
+https://svn.boost.org/trac/boost/ticket/6286
+
+--- boostcpp.jam
++++ boostcpp.jam
+@@ -99,13 +99,6 @@
+ BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" _ ] ;
+ }
+
+-# Python build id (for Python libraries only).
+-python-id = [ option.get "python-buildid" ] ;
+-if $(python-id)
+-{
+- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
+-}
+-
+
+ ################################################################################
+ #
+--- libs/mpi/build/Jamfile.v2
++++ libs/mpi/build/Jamfile.v2
+@@ -8,6 +8,8 @@
+ # Authors: Douglas Gregor
+ # Andrew Lumsdaine
+
++import option ;
++import regex ;
+ import mpi ;
+ import indirect ;
+ import python ;
+@@ -24,6 +26,13 @@
+ <tag>@$(__name__).tag
+ ;
+
++# Python build id (for Python libraries only).
++python-id = [ option.get "python-buildid" ] ;
++if $(python-id)
++{
++ PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++}
++
+ rule tag ( name : type ? : property-set )
+ {
+ local result = $(name) ;
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -2,6 +2,8 @@
+ # Software License, Version 1.0. (See accompanying
+ # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
++import option ;
++import regex ;
+ import os ;
+ import indirect ;
+ import modules ;
+@@ -30,6 +32,14 @@
+ ;
+ }
+
++# Python build id (for Python libraries only).
++python-id = [ option.get "python-buildid" ] ;
++if $(python-id)
++{
++ PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++}
++
++
+ rule find-py3-version
+ {
+ local versions = [ feature.values python ] ;
diff --git a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
new file mode 100644
index 000000000000..c8dc6e1b7e49
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
@@ -0,0 +1,22 @@
+--- libs/mpi/build/Jamfile.v2
++++ libs/mpi/build/Jamfile.v2
+@@ -30,7 +30,7 @@
+ python-id = [ option.get "python-buildid" ] ;
+ if $(python-id)
+ {
+- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
+ }
+
+ rule tag ( name : type ? : property-set )
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -36,7 +36,7 @@
+ python-id = [ option.get "python-buildid" ] ;
+ if $(python-id)
+ {
+- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
+ }
+
+
diff --git a/dev-libs/boost/files/boost-1.52.0-locale-utf.patch b/dev-libs/boost/files/boost-1.52.0-locale-utf.patch
new file mode 100644
index 000000000000..7ef51e94797b
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.52.0-locale-utf.patch
@@ -0,0 +1,52 @@
+Index: boost/locale/utf.hpp
+===================================================================
+--- boost/locale/utf.hpp (revision 81589)
++++ boost/locale/utf.hpp (revision 81590)
+@@ -219,16 +219,22 @@
+ if(BOOST_LOCALE_UNLIKELY(p==e))
+ return incomplete;
+ tmp = *p++;
++ if (!is_trail(tmp))
++ return illegal;
+ c = (c << 6) | ( tmp & 0x3F);
+ case 2:
+ if(BOOST_LOCALE_UNLIKELY(p==e))
+ return incomplete;
+ tmp = *p++;
++ if (!is_trail(tmp))
++ return illegal;
+ c = (c << 6) | ( tmp & 0x3F);
+ case 1:
+ if(BOOST_LOCALE_UNLIKELY(p==e))
+ return incomplete;
+ tmp = *p++;
++ if (!is_trail(tmp))
++ return illegal;
+ c = (c << 6) | ( tmp & 0x3F);
+ }
+
+Index: libs/locale/test/test_codepage_converter.cpp
+===================================================================
+--- libs/locale/test/test_codepage_converter.cpp (revision 81589)
++++ libs/locale/test/test_codepage_converter.cpp (revision 81590)
+@@ -140,6 +140,20 @@
+ TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000
+ TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff
+
++ std::cout << "-- Invalid trail" << std::endl;
++ TEST_TO("\xC2\x7F",illegal);
++ TEST_TO("\xdf\x7F",illegal);
++ TEST_TO("\xe0\x7F\x80",illegal);
++ TEST_TO("\xef\xbf\x7F",illegal);
++ TEST_TO("\xe0\x7F\x80",illegal);
++ TEST_TO("\xef\xbf\x7F",illegal);
++ TEST_TO("\xf0\x7F\x80\x80",illegal);
++ TEST_TO("\xf4\x7f\xbf\xbf",illegal);
++ TEST_TO("\xf0\x90\x7F\x80",illegal);
++ TEST_TO("\xf4\x8f\x7F\xbf",illegal);
++ TEST_TO("\xf0\x90\x80\x7F",illegal);
++ TEST_TO("\xf4\x8f\xbf\x7F",illegal);
++
+ std::cout << "-- Invalid length" << std::endl;
+
+ /// Test that this actually works
diff --git a/dev-libs/boost/files/boost-1.52.0-threads.patch b/dev-libs/boost/files/boost-1.52.0-threads.patch
new file mode 100644
index 000000000000..e078fc2e106f
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.52.0-threads.patch
@@ -0,0 +1,63 @@
+Index: /trunk/boostcpp.jam
+===================================================================
+--- /trunk/boostcpp.jam (revision 79301)
++++ /trunk/boostcpp.jam (revision 81000)
+@@ -210,6 +210,44 @@
+ }
+
++rule filtered-target ( name : message + : sources + : requirements * )
++{
++ message $(name)-message : warning: $(message) ;
++ alias $(name) : $(sources) : $(requirements) ;
++ alias $(name) : $(name)-message ;
++
++ local p = [ project.current ] ;
++ $(p).mark-target-as-explicit $(name) ;
++ $(p).mark-target-as-explicit $(name)-message ;
++}
++
+ rule declare_install_and_stage_proper_targets ( libraries * : headers * )
+ {
++ for local l in $(libraries)
++ {
++ if $(l) = locale
++ {
++ filtered-target $(l)-for-install :
++ Skipping Boost.Locale library with threading=single. :
++ libs/$(l)/build : <threading>multi ;
++ }
++ else if $(l) = wave
++ {
++ filtered-target $(l)-for-install :
++ Skipping Boost.Wave library with threading=single. :
++ libs/$(l)/build : <threading>multi ;
++ }
++ else if $(l) = thread
++ {
++ filtered-target $(l)-for-install :
++ Skipping Boost.Thread library with threading=single. :
++ libs/$(l)/build : <threading>multi ;
++ }
++ else
++ {
++ alias $(l)-for-install : libs/$(l)/build ;
++ }
++ }
++ local library-targets = $(libraries)-for-install ;
++
+ install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
+
+@@ -239,5 +277,5 @@
+ : $(install-requirements) <install-no-version-symlinks>on
+ :
+- : libs/$(libraries)/build
++ : $(libraries)-for-install
+ : $(headers)
+ ;
+@@ -246,5 +284,5 @@
+ # Install just library.
+ install stage-proper
+- : libs/$(libraries)/build
++ : $(libraries)-for-install
+ : <location>$(stage-locate)/lib
+ <install-dependencies>on <install-type>LIB
diff --git a/dev-libs/boost/files/boost-1.52.0-tuple.patch b/dev-libs/boost/files/boost-1.52.0-tuple.patch
new file mode 100644
index 000000000000..08bab8600b86
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.52.0-tuple.patch
@@ -0,0 +1,11 @@
+--- boost/signals2/detail/variadic_slot_invoker.hpp.org 2012-11-20 09:15:55.000000000 +0400
++++ boost/signals2/detail/variadic_slot_invoker.hpp 2012-11-20 09:19:56.000000000 +0400
+@@ -20,7 +20,7 @@
+ // if compiler has std::tuple use it instead of boost::tuple
+ // because boost::tuple does not have variadic template support at present.
+ #ifdef BOOST_NO_CXX11_HDR_TUPLE
+-#include <boost/tuple.hpp>
++#include <boost/tuple/tuple.hpp>
+ #define BOOST_SIGNALS2_TUPLE boost::tuple
+ #else
+ #include <tuple>
diff --git a/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch b/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch
new file mode 100644
index 000000000000..54d2e2990205
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch
@@ -0,0 +1,18 @@
+Patch for compatibility with glibc 2.18
+Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=482372
+Upstream fix: https://svn.boost.org/trac/boost/changeset/84950
+
+--- boost_1_53_0/boost/cstdint.hpp 2012-12-11 22:42:26.000000000 +0800
++++ boost_1_53_0.fix/boost/cstdint.hpp 2013-08-25 20:48:53.683000000 +0800
+@@ -41,7 +41,10 @@
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
+ //
+-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
+
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
diff --git a/dev-libs/boost/files/boost-1.53.0-library_status.patch b/dev-libs/boost/files/boost-1.53.0-library_status.patch
new file mode 100644
index 000000000000..7d10461795f4
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.53.0-library_status.patch
@@ -0,0 +1,57 @@
+--- tools_orig/regression/src/library_status.cpp 2012-12-11 15:42:26.000000000 +0100
++++ tools/regression/src/library_status.cpp 2013-07-11 16:15:54.000000000 +0200
+@@ -171,16 +171,17 @@
+ // find_element ------------------------------------------------------------//
+
++ struct element_equal {
++ const string & m_name;
++ element_equal(const string & name) :
++ m_name(name)
++ {}
++ bool operator()(const xml::element_ptr & xep) const {
++ return xep.get()->name == m_name;
++ }
++ };
++
+ xml::element_list::const_iterator find_element(
+ const xml::element & root, const string & name
+ ){
+- struct element_equal {
+- const string & m_name;
+- element_equal(const string & name) :
+- m_name(name)
+- {}
+- bool operator()(const xml::element_ptr & xep) const {
+- return xep.get()->name == m_name;
+- }
+- };
+ return std::find_if(
+ root.elements.begin(),
+@@ -203,17 +204,18 @@
+ // attribute_value ----------------------------------------------------------//
+
++ struct attribute_equal {
++ const string & m_name;
++ attribute_equal(const string & name) :
++ m_name(name)
++ {}
++ bool operator()(const xml::attribute & a) const {
++ return a.name == m_name;
++ }
++ };
++
+ const string & attribute_value(
+ const xml::element & element,
+ const string & attribute_name
+ ){
+- struct attribute_equal {
+- const string & m_name;
+- attribute_equal(const string & name) :
+- m_name(name)
+- {}
+- bool operator()(const xml::attribute & a) const {
+- return a.name == m_name;
+- }
+- };
+ xml::attribute_list::const_iterator itr;
+ itr = std::find_if(
diff --git a/dev-libs/boost/files/boost-1.55.0-context-x32.patch b/dev-libs/boost/files/boost-1.55.0-context-x32.patch
new file mode 100644
index 000000000000..5bf740625381
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.55.0-context-x32.patch
@@ -0,0 +1,42 @@
+https://svn.boost.org/trac/boost/ticket/9445
+
+hack to fix x32 builds
+
+--- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S
++++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S
+@@ -31,6 +31,10 @@
+ * *
+ * *****************************************************************/
+
++#ifdef __x86_64__
++#include "jump_x86_64_sysv_elf_gas.S"
++#else
++
+ .text
+ .globl jump_fcontext
+ .align 2
+@@ -73,3 +77,5 @@ jump_fcontext:
+
+ /* Mark that we don't need executable stack. */
+ .section .note.GNU-stack,"",%progbits
++
++#endif
+--- a/libs/context/src/asm/make_i386_sysv_elf_gas.S
++++ b/libs/context/src/asm/make_i386_sysv_elf_gas.S
+@@ -31,6 +31,10 @@
+ * *
+ * *****************************************************************/
+
++#ifdef __x86_64__
++#include "make_x86_64_sysv_elf_gas.S"
++#else
++
+ .text
+ .globl make_fcontext
+ .align 2
+@@ -78,3 +82,5 @@ finish:
+
+ /* Mark that we don't need executable stack. */
+ .section .note.GNU-stack,"",%progbits
++
++#endif
diff --git a/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch b/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch
new file mode 100644
index 000000000000..df2a14a34ae4
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch
@@ -0,0 +1,17 @@
+Make tools compiled successfully with forced C++98
+
+Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=503468
+
+diff --git a/tools/regression/src/compiler_status.cpp b/tools/regression/src/compiler_status.cpp
+index 63f8134..3f3374a 100644
+--- a/tools/regression/src/compiler_status.cpp
++++ b/tools/regression/src/compiler_status.cpp
+@@ -128,7 +128,7 @@ namespace
+ string ln(line);
+ if (ln.find("Revision: ") != string::npos)
+ {
+- for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
++ for(string::iterator itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
+ rev += *itr;
+ }
+ }
diff --git a/dev-libs/boost/files/boost-1.55.0-variadic-templates.patch b/dev-libs/boost/files/boost-1.55.0-variadic-templates.patch
new file mode 100644
index 000000000000..547dbbd5caab
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.55.0-variadic-templates.patch
@@ -0,0 +1,37 @@
+From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
+From: jzmaddock <jzmaddock@gmail.com>
+Date: Sat, 23 Aug 2014 09:38:02 +0100
+Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
+ feature was introduced in GCC 4.4.
+
+---
+ boost/config/compiler/gcc.hpp | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
+index f37159d..97d8a18 100644
+--- a/boost/config/compiler/gcc.hpp
++++ b/boost/config/compiler/gcc.hpp
+@@ -154,14 +154,6 @@
+ # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+ # define BOOST_NO_CXX11_RVALUE_REFERENCES
+ # define BOOST_NO_CXX11_STATIC_ASSERT
+-
+-// Variadic templates compiler:
+-// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
+-# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
+-# define BOOST_HAS_VARIADIC_TMPL
+-# else
+-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+-# endif
+ #endif
+
+ // C++0x features in 4.4.n and later
+@@ -176,6 +168,7 @@
+ # define BOOST_NO_CXX11_DELETED_FUNCTIONS
+ # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+ # define BOOST_NO_CXX11_INLINE_NAMESPACES
++# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+ #endif
+
+ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
diff --git a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
new file mode 100644
index 000000000000..5175800e3f49
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
@@ -0,0 +1,13 @@
+Build auto_index tool with USE="tools"
+Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066
+
+--- tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300
++++ tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300
+@@ -20,6 +20,7 @@
+ use-project /boost/regression : regression/build ;
+
+ TOOLS =
++ auto_index/build//auto_index
+ bcp//bcp
+ inspect/build//inspect
+ quickbook//quickbook
diff --git a/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch b/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch
new file mode 100644
index 000000000000..da54a48bc32d
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch
@@ -0,0 +1,233 @@
+diff --git a/boost/fusion/adapted/struct/detail/define_struct.hpp b/boost/fusion/adapted/struct/detail/define_struct.hpp
+index 2554292..ce3737e 100644
+--- a/boost/fusion/adapted/struct/detail/define_struct.hpp
++++ b/boost/fusion/adapted/struct/detail/define_struct.hpp
+@@ -69,7 +69,7 @@
+ ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
+ \
+ template<typename Seq> \
+- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ self_type& \
+ operator=(Seq const& seq) \
+ { \
+@@ -128,7 +128,7 @@
+ ATTRIBUTE_TUPEL_SIZE, \
+ ATTRIBUTES_SEQ) \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME() \
+ : BOOST_PP_SEQ_FOR_EACH_I_R( \
+ 1, \
+@@ -137,7 +137,7 @@
+ ATTRIBUTES_SEQ) \
+ {} \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME(self_type const& other_self) \
+ : BOOST_PP_SEQ_FOR_EACH_I_R( \
+ 1, \
+@@ -147,7 +147,7 @@
+ {} \
+ \
+ template<typename Seq> \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME(Seq const& seq \
+ BOOST_PP_IF( \
+ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
+@@ -167,7 +167,7 @@
+ #define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \
+ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ explicit \
+ NAME(boost::call_traits< \
+ BOOST_PP_TUPLE_ELEM( \
+@@ -180,7 +180,7 @@
+ #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \
+ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ explicit \
+ NAME(typename boost::call_traits< \
+ typename boost::fusion::detail::get_first_arg< \
+@@ -217,7 +217,7 @@
+ #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \
+ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
+ 1, \
+ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \
+@@ -245,7 +245,7 @@
+ #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \
+ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
+ 1, \
+ BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \
+diff --git a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
+index a5a3ae0..a037ffe 100644
+--- a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
++++ b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
+@@ -66,7 +66,7 @@
+ #define BOOST_FUSION_IGNORE_2(ARG1, ARG2)
+
+ #define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ NAME(BOOST_PP_SEQ_FOR_EACH_I( \
+ BOOST_FUSION_MAKE_CONST_REF_PARAM, \
+ ~, \
+@@ -337,7 +337,7 @@
+ typedef boost::mpl::int_<N> index; \
+ typedef boost_fusion_detail_Seq sequence_type; \
+ \
+- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
++ BOOST_FUSION_GPU_ENABLED \
+ BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \
+ : seq_(seq) \
+ BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \
+diff --git a/libs/fusion/test/sequence/adapt_struct.cpp b/libs/fusion/test/sequence/adapt_struct.cpp
+index c0cd304..121827f 100644
+--- a/libs/fusion/test/sequence/adapt_struct.cpp
++++ b/libs/fusion/test/sequence/adapt_struct.cpp
+@@ -67,6 +67,17 @@ namespace ns
+ foo foo_;
+ int y;
+ };
++
++
++ // Testing non-constexpr compatible types
++ struct employee {
++ std::string name;
++ std::string nickname;
++
++ employee(std::string name, std::string nickname)
++ : name(name), nickname(nickname)
++ {}
++ };
+ }
+
+ #if BOOST_PP_VARIADICS
+@@ -96,6 +107,13 @@ namespace ns
+ y
+ )
+
++ BOOST_FUSION_ADAPT_STRUCT(
++ ns::employee,
++ name,
++ nickname
++ )
++
++
+ #else // BOOST_PP_VARIADICS
+
+ BOOST_FUSION_ADAPT_STRUCT(
+@@ -123,6 +141,12 @@ namespace ns
+ (BOOST_FUSION_ADAPT_AUTO, y)
+ )
+
++ BOOST_FUSION_ADAPT_STRUCT(
++ ns::employee,
++ (std::string, name)
++ (BOOST_FUSION_ADAPT_AUTO, nickname)
++ )
++
+ #endif
+
+ int
+@@ -224,6 +248,15 @@ main()
+ BOOST_TEST(v2 >= v1);
+ }
+
++ {
++ ns::employee emp("John Doe", "jdoe");
++ std::cout << at_c<0>(emp) << std::endl;
++ std::cout << at_c<1>(emp) << std::endl;
++
++ fusion::vector<std::string, std::string> v1("John Doe", "jdoe");
++ BOOST_TEST(emp == v1);
++ }
++
+ return boost::report_errors();
+ }
+
+diff --git a/libs/fusion/test/sequence/define_struct.cpp b/libs/fusion/test/sequence/define_struct.cpp
+index 795fdf6..63b5a19 100644
+--- a/libs/fusion/test/sequence/define_struct.cpp
++++ b/libs/fusion/test/sequence/define_struct.cpp
+@@ -26,6 +26,14 @@ BOOST_FUSION_DEFINE_STRUCT(
+
+ BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
+
++// Testing non-constexpr compatible types
++BOOST_FUSION_DEFINE_STRUCT(
++ (ns),
++ employee,
++ (std::string, name)
++ (std::string, nickname)
++)
++
+ int
+ main()
+ {
+@@ -100,6 +108,14 @@ main()
+ BOOST_TEST(p == make_vector(3,5));
+ }
+
++ {
++ ns::employee emp = make_list("John Doe", "jdoe");
++ std::cout << at_c<0>(emp) << std::endl;
++ std::cout << at_c<1>(emp) << std::endl;
++
++ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
++ }
++
+ return boost::report_errors();
+ }
+
+diff --git a/libs/fusion/test/sequence/define_struct_inline.cpp b/libs/fusion/test/sequence/define_struct_inline.cpp
+index e849ce9..d34a142 100644
+--- a/libs/fusion/test/sequence/define_struct_inline.cpp
++++ b/libs/fusion/test/sequence/define_struct_inline.cpp
+@@ -41,6 +41,13 @@ namespace ns
+ BOOST_FUSION_DEFINE_STRUCT_INLINE(s, (int, m))
+
+ BOOST_FUSION_DEFINE_STRUCT_INLINE(empty_struct, )
++
++ // Testing non-constexpr compatible types
++ BOOST_FUSION_DEFINE_STRUCT_INLINE(
++ employee,
++ (std::string, name)
++ (std::string, nickname)
++ )
+ }
+
+ template <typename Point>
+@@ -128,6 +135,17 @@ main()
+ {
+ run_test<cls::point>(); // test with non-template enclosing class
+ run_test<tpl_cls<>::point>(); // test with template enclosing class
++
++ {
++ using namespace boost::fusion;
++
++ ns::employee emp = make_list("John Doe", "jdoe");
++ std::cout << at_c<0>(emp) << std::endl;
++ std::cout << at_c<1>(emp) << std::endl;
++
++ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
++ }
++
+ return boost::report_errors();
+
+ }
diff --git a/dev-libs/boost/files/remove-toolset-1.48.0.patch b/dev-libs/boost/files/remove-toolset-1.48.0.patch
new file mode 100644
index 000000000000..df9152933788
--- /dev/null
+++ b/dev-libs/boost/files/remove-toolset-1.48.0.patch
@@ -0,0 +1,11 @@
+--- boostcpp.jam
++++ boostcpp.jam
+@@ -377,7 +377,7 @@
+ if $(layout) = versioned
+ {
+ result = [ common.format-name
+- <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
++ <base> <threading> <runtime> -$(BOOST_VERSION_TAG)
+ -$(BUILD_ID)
+ : $(name) : $(type) : $(property-set) ] ;
+ }
diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
new file mode 100644
index 000000000000..6a63ade407e7
--- /dev/null
+++ b/dev-libs/boost/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <use>
+ <flag name="context">
+ Build and install the Boost.Context library and all other
+ Boostlibraries that depends on it
+ </flag>
+ <flag name="tools">
+ Build and install the boost tools (bcp, quickbook, inspect,
+ wave)
+ </flag>
+ <flag name="debug" restrict="&lt;dev-libs/boost-1.50.0-r3">
+ Build and install debug versions of the Boost libraries. These
+ libraries are not used by default, and should not be used unless
+ you're developing against Boost.
+ </flag>
+ <flag name="debug" restrict="&gt;dev-libs/boost-1.52.0-r2">
+ Build and install only the debug version of the Boost
+ libraries. Only enable this flag if you're developing against
+ boost.
+ </flag>
+ <flag name="threads">
+ Build multi-thread-compatible libraries instead of
+ single-threaded only.
+ </flag>
+ <flag name="nls">
+ Build libboost_locale. This library requires compatible C
+ library interfaces, which might not be provided by uClibc or
+ other embedded libraries.
+ </flag>
+ <flag name="doc">
+ Install the full API documentation documentation. This takes
+ over 200MB of extra disk space.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">boost</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
new file mode 100644
index 000000000000..866013e2b43a
--- /dev/null
+++ b/dev-libs/botan/Manifest
@@ -0,0 +1,3 @@
+DIST Botan-1.10.5.tbz 2214817 SHA256 2934c00533847dc93c485081d3ce6aae4a110151a69b587b895241159da77cf3 SHA512 7456eaf2bbdabac9438cdd28dbc0735924480034d848c40039b5b58d52924b4cb065316989d6902201bc62fb5c19cba109b550b6865ca4d11748e3a3a1ececa6 WHIRLPOOL 7fd3de981d55a03925e78a4afcee55c0f3cf7e2dc88bd503f9c5705e5cc73293cf3bdcf3c3fdf54b6d1b77ba7dc32cf6fa46720635b922e368aaf12a39339fcd
+DIST Botan-1.11.4.tbz 2346343 SHA256 ebbcc493ef2f13f536597b72e317462e1503c83f7e18e1fe10887f16b5f4da0f SHA512 c5c521a78b50de6c6e2bba912f0697e507a8432bd7f348e3e41856cc2ed60fea5877df4957d74887419208f8df63224a4c6726c94eef58fc1b255133b1f0ee22 WHIRLPOOL 41a024e3698fa2ede2a5124b6c5d2400e969f2cddfec6e7e9e43e549097dd606d105d6e02d6268e322d98e83300c76eb4f7783ee54699a7fa85addcf9adc3aa2
+DIST Botan-1.11.8.tbz 2193897 SHA256 5c3a5485dd8f2b5e690bdc73d5848b1f436a090e7fc521c66920f34d6af68efd SHA512 2d3f5d77687ed56be39c88fe7ffdb27ebda573650f164b8681864cff0ca8b0a0bd56f9749f3695e4240a68bfa1483565c854ff4f9d8a7460de0883255a917e26 WHIRLPOOL c9eaeb2d2da10bc61eb704beb9025fada4f16ec4e82a7845cdc465295d05ad070e73d289abdc30fc96f5b43778c87f31ea4cb66c6706cb822ceb2adba0354d41
diff --git a/dev-libs/botan/botan-1.10.5.ebuild b/dev-libs/botan/botan-1.10.5.ebuild
new file mode 100644
index 000000000000..3b195c07c126
--- /dev/null
+++ b/dev-libs/botan/botan-1.10.5.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://files.randombit.net/botan/${MY_P}.tbz"
+
+KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp ssl static-libs threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+ zlib? ( >=sys-libs/zlib-1.2.3 )
+ python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-4.2.2 )
+ ssl? ( >=dev-libs/openssl-0.9.8g[bindist=] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.10-python3.patch"
+
+ sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+ sed \
+ -e "/DOCDIR/d" \
+ -e "/^install:/s/ docs//" \
+ -i src/build-data/makefile/unix_shr.in || die "sed failed"
+
+ # Fix ImportError with Python 3.
+ sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ local disable_modules="proc_walk,unix_procs"
+ use threads || disable_modules+=",pthreads"
+ use bindist && disable_modules+=",ecdsa"
+ elog "Disabling modules: ${disable_modules}"
+
+ # Enable v9 instructions for sparc64
+ if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+ CHOSTARCH="sparc32-v9"
+ else
+ CHOSTARCH="${CHOST%%-*}"
+ fi
+
+ local myos=
+ case ${CHOST} in
+ *-darwin*) myos=darwin ;;
+ *) myos=linux ;;
+ esac
+
+ # foobared buildsystem, --prefix translates into DESTDIR, see also make
+ # install in src_install, we need the correct live-system prefix here on
+ # Darwin for a shared lib with correct install_name
+ ./configure.py \
+ --prefix="${EPREFIX}/usr" \
+ --libdir=$(get_libdir) \
+ --docdir=share/doc \
+ --cc=gcc \
+ --os=${myos} \
+ --cpu=${CHOSTARCH} \
+ --with-endian="$(tc-endian)" \
+ --without-sphinx \
+ --with-tr1=system \
+ $(use_with bzip2) \
+ $(use_with gmp gnump) \
+ $(use_with python boost-python) \
+ $(use_with ssl openssl) \
+ $(use_with zlib) \
+ --disable-modules=${disable_modules} \
+ || die "configure.py failed"
+}
+
+src_compile() {
+ emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
+
+ if use python; then
+ building() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ cp Makefile.python build/python
+ sed -i \
+ -e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+ build/python/Makefile.python
+ emake -f build/python/Makefile.python \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ PYTHON_ROOT="/usr/$(get_libdir)" \
+ PYTHON_INC="-I$(python_get_includedir)"
+ }
+ python_foreach_impl building
+ fi
+
+ if use doc; then
+ einfo "Generation of documentation"
+ sphinx-build doc doc_output
+ fi
+}
+
+src_test() {
+ chmod -R ugo+rX "${S}"
+ emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
+ LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+ emake DESTDIR="${ED}usr" install
+
+ if ! use static-libs; then
+ rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+ fi
+
+ # Add compatibility symlinks.
+ [[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+ [[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+ dosym botan-config-1.10 /usr/bin/botan-config
+ dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+ if use python; then
+ installation() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ emake -f Makefile.python \
+ PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+ install
+ }
+ python_foreach_impl installation
+ fi
+
+ if use doc; then
+ pushd doc_output > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static
+ popd > /dev/null
+ fi
+}
diff --git a/dev-libs/botan/botan-1.11.4.ebuild b/dev-libs/botan/botan-1.11.4.ebuild
new file mode 100644
index 000000000000..4348f865dd45
--- /dev/null
+++ b/dev-libs/botan/botan-1.11.4.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://files.randombit.net/botan/${MY_P}.tbz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp lzma sqlite ssl static-libs threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+ zlib? ( >=sys-libs/zlib-1.2.3 )
+ python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-4.2.2 )
+ lzma? ( app-arch/xz-utils )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( >=dev-libs/openssl-0.9.8g[bindist=] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+pkg_pretend() {
+ # Botan 1.11 requires -std=c++11
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ [[ $(gcc-major-version) -lt 4 ]] || \
+ ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ) \
+ && die "Sorry, but gcc 4.7 or higher is required."
+ fi
+}
+
+src_prepare() {
+ sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+ sed \
+ -e "/DOCDIR/d" \
+ -e "/^install:/s/ docs//" \
+ -i src/build-data/makefile/unix_shr.in || die "sed failed"
+
+ # Fix ImportError with Python 3.
+ sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ local disable_modules="proc_walk,unix_procs"
+ use threads || disable_modules+=",pthreads"
+ use bindist && disable_modules+=",ecdsa"
+ elog "Disabling modules: ${disable_modules}"
+
+ # Enable v9 instructions for sparc64
+ if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+ CHOSTARCH="sparc32-v9"
+ else
+ CHOSTARCH="${CHOST%%-*}"
+ fi
+
+ local myos=
+ case ${CHOST} in
+ *-darwin*) myos=darwin ;;
+ *) myos=linux ;;
+ esac
+
+ # foobared buildsystem, --prefix translates into DESTDIR, see also make
+ # install in src_install, we need the correct live-system prefix here on
+ # Darwin for a shared lib with correct install_name
+ ./configure.py \
+ --prefix="${EPREFIX}/usr" \
+ --libdir=$(get_libdir) \
+ --docdir=share/doc \
+ --cc=gcc \
+ --os=${myos} \
+ --cpu=${CHOSTARCH} \
+ --with-endian="$(tc-endian)" \
+ --without-sphinx \
+ $(use_with bzip2) \
+ $(use_with gmp gnump) \
+ $(use_with lzma) \
+ $(use_with python boost-python) \
+ $(use_with sqlite sqlite3) \
+ $(use_with ssl openssl) \
+ $(use_with zlib) \
+ --disable-modules=${disable_modules} \
+ || die "configure.py failed"
+}
+
+src_compile() {
+ emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
+
+ if use python; then
+ building() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ cp Makefile.python build/python
+ sed -i \
+ -e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+ build/python/Makefile.python
+ emake -f build/python/Makefile.python \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ PYTHON_ROOT="/usr/$(get_libdir)" \
+ PYTHON_INC="-I$(python_get_includedir)"
+ }
+ python_foreach_impl building
+ fi
+
+ if use doc; then
+ einfo "Generation of documentation"
+ sphinx-build doc doc_output
+ fi
+}
+
+src_test() {
+ chmod -R ugo+rX "${S}"
+ emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
+ LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+ emake DESTDIR="${ED}usr" install
+
+ if ! use static-libs; then
+ rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+ fi
+
+ # Add compatibility symlinks.
+ [[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+ [[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+ dosym botan-config-1.11 /usr/bin/botan-config
+ dosym botan-1.11.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+ if use python; then
+ installation() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ emake -f Makefile.python \
+ PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+ install
+ }
+ python_foreach_impl installation
+ fi
+
+ if use doc; then
+ pushd doc_output > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static
+ popd > /dev/null
+ fi
+}
diff --git a/dev-libs/botan/botan-1.11.8.ebuild b/dev-libs/botan/botan-1.11.8.ebuild
new file mode 100644
index 000000000000..6fe2b29535dc
--- /dev/null
+++ b/dev-libs/botan/botan-1.11.8.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://files.randombit.net/botan/${MY_P}.tbz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp lzma sqlite ssl static-libs threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+ zlib? ( >=sys-libs/zlib-1.2.3 )
+ python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-4.2.2 )
+ lzma? ( app-arch/xz-utils )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( >=dev-libs/openssl-0.9.8g[bindist=] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+pkg_pretend() {
+ # Botan 1.11 requires -std=c++11
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ [[ $(gcc-major-version) -lt 4 ]] || \
+ ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ) \
+ && die "Sorry, but gcc 4.7 or higher is required."
+ fi
+}
+
+src_prepare() {
+ sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+ sed \
+ -e "/DOCDIR/d" \
+ -e "/^install:/s/ docs//" \
+ -i src/build-data/makefile/gmake.in || die "sed failed"
+
+ # Fix ImportError with Python 3.
+ sed -e "s/_botan/.&/" -i src/python/__init__.py || die "sed failed"
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ local disable_modules="proc_walk,unix_procs"
+ use threads || disable_modules+=",pthreads"
+ use bindist && disable_modules+=",ecdsa"
+ elog "Disabling modules: ${disable_modules}"
+
+ # Enable v9 instructions for sparc64
+ if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+ CHOSTARCH="sparc32-v9"
+ else
+ CHOSTARCH="${CHOST%%-*}"
+ fi
+
+ local myos=
+ case ${CHOST} in
+ *-darwin*) myos=darwin ;;
+ *) myos=linux ;;
+ esac
+
+ # foobared buildsystem, --prefix translates into DESTDIR, see also make
+ # install in src_install, we need the correct live-system prefix here on
+ # Darwin for a shared lib with correct install_name
+ ./configure.py \
+ --prefix="${EPREFIX}/usr" \
+ --libdir=$(get_libdir) \
+ --docdir=share/doc \
+ --cc=gcc \
+ --os=${myos} \
+ --cpu=${CHOSTARCH} \
+ --with-endian="$(tc-endian)" \
+ --without-sphinx \
+ $(use_with bzip2) \
+ $(use_with gmp gnump) \
+ $(use_with lzma) \
+ $(use_with python boost-python) \
+ $(use_with sqlite sqlite3) \
+ $(use_with ssl openssl) \
+ $(use_with zlib) \
+ --disable-modules=${disable_modules} \
+ || die "configure.py failed"
+}
+
+src_compile() {
+ emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
+
+ if use python; then
+ building() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ cp Makefile build/python
+ rm -f build/python/configure.py
+ sed -i \
+ -e "s/-lboost_python-[^[:space:]]*/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+ build/python/Makefile
+ emake -f build/python/Makefile \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ PYTHON_ROOT="/usr/$(get_libdir)" \
+ PYTHON_INC="-I$(python_get_includedir)" \
+ python
+ }
+ python_foreach_impl building
+ fi
+
+ if use doc; then
+ einfo "Generation of documentation"
+ sphinx-build doc doc_output
+ fi
+}
+
+src_test() {
+ #chmod -R ugo+rX "${S}"
+ LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
+}
+
+src_install() {
+ emake DESTDIR="${ED}usr" install
+
+ if ! use static-libs; then
+ rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+ fi
+
+ # Add compatibility symlinks.
+ [[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+ [[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+ dosym botan-config-1.11 /usr/bin/botan-config
+ dosym botan-1.11.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+ if use python; then
+ installation() {
+ rm -fr build/python
+ ln -s "${BUILD_DIR}" build/python
+ emake -f Makefile \
+ PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+ install_python
+ }
+ python_foreach_impl installation
+ fi
+
+ if use doc; then
+ pushd doc_output > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static
+ popd > /dev/null
+ fi
+}
diff --git a/dev-libs/botan/files/botan-1.10-python3.patch b/dev-libs/botan/files/botan-1.10-python3.patch
new file mode 100644
index 000000000000..d6db23b838fe
--- /dev/null
+++ b/dev-libs/botan/files/botan-1.10-python3.patch
@@ -0,0 +1,24 @@
+Make configure script work for Python 3.
+
+In Python 3, map returns an iterable, not a list, so for a subsequent map to
+work we have to convert that to a list explicitely. This should work for
+Python 2 just as well, so the patch can be applied unconditionally.
+
+2013-09-21 Martin von Gagern
+
+References:
+https://bugs.gentoo.org/485490
+
+Index: Botan-1.10.5/configure.py
+===================================================================
+--- Botan-1.10.5.orig/configure.py
++++ Botan-1.10.5/configure.py
+@@ -1780,7 +1780,7 @@ def main(argv = None):
+ gcc_version = stdout.strip()
+
+ logging.info('Detected gcc version %s' % (gcc_version))
+- return map(int, gcc_version.split('.')[0:2])
++ return [int(c) for c in gcc_version.split('.')[0:2]]
+ except OSError:
+ logging.warning('Could not execute %s for version check' % (gcc_bin))
+ return None
diff --git a/dev-libs/botan/metadata.xml b/dev-libs/botan/metadata.xml
new file mode 100644
index 000000000000..d246b1b3784f
--- /dev/null
+++ b/dev-libs/botan/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>lloyd@randombit.net</email>
+ <name>Jack Lloyd </name>
+ <description>Ebuild contributor and botan author</description>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/btparse/Manifest b/dev-libs/btparse/Manifest
new file mode 100644
index 000000000000..706caac81a5b
--- /dev/null
+++ b/dev-libs/btparse/Manifest
@@ -0,0 +1,2 @@
+DIST btparse-0.33.tar.gz 205792 SHA256 524d9a452e43672a2230ddc84614b9dd743ecc0200d59eedd5dee077dc23191a SHA512 4071a19a7f2d04d1a448fb450a2cc54f38e85877f804af392f5370e4ad24bbfa04599ac30331c7faabcfbb6c3dba98275a5fec3f0d960eac0a6967d8da44a782 WHIRLPOOL b4d850ed72b3487076ec2f13cc7ff3ed18d65149333e495470de491fb08fe1742d4ad19f7e6856d8188d5c271a4fe9f79a354d5608407d0ea6a32fe87513660b
+DIST btparse-0.35.tar.gz 470546 SHA256 631bf1b79dfd4c83377b416a12c349fe88ee37448dc82e41424b2f364a99477b SHA512 a30659195eed58f34d63f5292efb9c37fdd5c7075214d9789e4260291a5c2a6fb9c350865cb0a24980acfbe039134c464f3fc6ca2e55b6956fc79de40505bc77 WHIRLPOOL 91b48ea14d65042e5a75e4cd7c491b74fe3cd3aee320efaa835d5996e9fdb8886979c501b0f9b8873b6ebe1dd450a7dfa136b89fed42675f3ab7ea9303a54149
diff --git a/dev-libs/btparse/btparse-0.33.ebuild b/dev-libs/btparse/btparse-0.33.ebuild
new file mode 100644
index 000000000000..21e8a29d68ec
--- /dev/null
+++ b/dev-libs/btparse/btparse-0.33.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A C library to parse Bibtex files"
+HOMEPAGE="http://starship.python.net/~gward/btOOL/"
+SRC_URI="http://starship.python.net/~gward/btOOL//${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="sparc x86"
+IUSE=""
+
+DEPEND=""
+
+src_compile() {
+ #have to include ${D} into mandir here,
+ #for some reason mandir=${D}/... is ignored during make install..
+ ./configure --host=${CHOST} \
+ --prefix=/usr \
+ --mandir=${D}/usr/share/man || die "./configure failed"
+ emake lib shlib || die
+}
+
+src_install () {
+ #make \
+ # prefix=${D}/usr \
+ # mandir=${D}/usr/share/man \
+ # install || die
+
+ make prefix=${D}/usr install || die
+ dolib.so libbtparse.so
+ dodoc CHANGES README
+}
diff --git a/dev-libs/btparse/btparse-0.35.ebuild b/dev-libs/btparse/btparse-0.35.ebuild
new file mode 100644
index 000000000000..c6f524addaf3
--- /dev/null
+++ b/dev-libs/btparse/btparse-0.35.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A C library to parse Bibtex files"
+HOMEPAGE="http://www.gerg.ca/software/btOOL/"
+SRC_URI="mirror://cpan/authors/id/A/AM/AMBS/btparse/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/btparse/metadata.xml b/dev-libs/btparse/metadata.xml
new file mode 100644
index 000000000000..ba6a8a8800d5
--- /dev/null
+++ b/dev-libs/btparse/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>tex</herd>
+</pkgmetadata>
diff --git a/dev-libs/btparser/Manifest b/dev-libs/btparser/Manifest
new file mode 100644
index 000000000000..5f07106efaf6
--- /dev/null
+++ b/dev-libs/btparser/Manifest
@@ -0,0 +1,2 @@
+DIST btparser-0.24.tar.xz 353700 SHA256 9cc1e172c864afb6dec45850ed7b2fa605d39013918027df81800899ea654e32 SHA512 3aee4a8cbc8cda7017cc7203b670ba30443b5f302d728ecb7ce06a9569367543669c9c02d10a71b2bbf0bbc65cb927c0e25a53a422fc3be5e4a2ee51e5495198 WHIRLPOOL a5feb168f9ab2d4442c37ba388c0ed4708781ab2e6becc89ea20ac2601a698600e47721c0818aad8e4df93888cfadfdec68aace0f659985d95cecb31cdb01b8f
+DIST btparser-0.25.tar.xz 355736 SHA256 afaad61a52d90c7dcc65f53485ced298e9cd9dab6a9ff611c4eb40bfcc2a786e SHA512 fc3f1f440fdf19eba8d698bdde9b1f197cbf663b7f8a53dea98c9fa6ffe4cd23a12b8d46d211fcff30dd4adbd3998723f7a2afb19c6c5d73da34156bc7877b56 WHIRLPOOL 5ed0fa3b7c97243d120c11d5870c4a682033501151df22bbf9a7b12832cecc888b3fad3ab6e0269c43835108af8bbd1b4ad3c81bb983b9bcd2ff55f2919257e1
diff --git a/dev-libs/btparser/btparser-0.24.ebuild b/dev-libs/btparser/btparser-0.24.ebuild
new file mode 100644
index 000000000000..2a1092cfdaaf
--- /dev/null
+++ b/dev-libs/btparser/btparser-0.24.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1
+
+DESCRIPTION="Parser and analyzer for backtraces produced by gdb"
+HOMEPAGE="https://fedorahosted.org/btparser/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/2"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.21:2"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils"
+
+src_configure() {
+ # Configure checks for python.pc; our python-2.7 installs python-2.7.pc,
+ # while python-2.6 does not install any pkgconfig file.
+ export PYTHON_CFLAGS=$(python-config --includes)
+ export PYTHON_LIBS=$(python-config --libs)
+
+ econf \
+ $(use_enable static-libs static) \
+ --disable-maintainer-mode
+}
+
+src_install() {
+ default
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/btparser/btparser-0.25.ebuild b/dev-libs/btparser/btparser-0.25.ebuild
new file mode 100644
index 000000000000..dfa186664371
--- /dev/null
+++ b/dev-libs/btparser/btparser-0.25.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools gnome2 python-single-r1
+
+DESCRIPTION="Parser and analyzer for backtraces produced by gdb"
+HOMEPAGE="https://fedorahosted.org/btparser/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/2"
+KEYWORDS="amd64 x86"
+
+IUSE="static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.21:2
+"
+DEPEND="${RDEPEND}"
+
+# Incomplete tarball for tests
+RESTRICT="test"
+
+src_prepare() {
+ eautoreconf # to prevent maintainer mode
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # Configure checks for python.pc; our python-2.7 installs python-2.7.pc,
+ # while python-2.6 does not install any pkgconfig file.
+ export PYTHON_CFLAGS=$(python-config --includes)
+ export PYTHON_LIBS=$(python-config --libs)
+
+ gnome2_src_configure \
+ $(use_enable static-libs static)
+}
diff --git a/dev-libs/btparser/metadata.xml b/dev-libs/btparser/metadata.xml
new file mode 100644
index 000000000000..6e0e2ecb48ca
--- /dev/null
+++ b/dev-libs/btparser/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/busybee/Manifest b/dev-libs/busybee/Manifest
new file mode 100644
index 000000000000..c2588a43c8dc
--- /dev/null
+++ b/dev-libs/busybee/Manifest
@@ -0,0 +1,3 @@
+DIST busybee-0.5.2.tar.gz 359617 SHA256 e7e5ab9faa0848d51a4bdece2951648ea9ee4667c61646e5c7ece118846f5e0f SHA512 f6eba1e6d9f78dbb048214766105829eae53d060d247ac316e931ac887454f4fcf2217c01b4b6d61108de8d837d0a6861951aeda5f8a6a93de6b145247aaeac8 WHIRLPOOL b738390055c4a3e5fe7cbfd41e73a6d3612e8ede13e12c593efdcb1f43222029fb31e6ccc46d8cdefdccccf738273fdc45947f090102ccfba53d641096ee5bc6
+DIST busybee-0.6.0.tar.gz 364241 SHA256 87ee2cdab877a5cb7641fd7e074605d2c1a42b8189b43762adcb16c8a56e01bf SHA512 3c4376d008ae5028773e43bfc9dcf651ed0ed0134370ae763799af0a91e693ab13384915d655a342009520ce346615b0b006b1cbc0cd30b898137bb2567c87af WHIRLPOOL bd80c51f82585a329834a794b2fcf4e92ff7ca84d84e1cd9d9af52aa1f12fc3f82d664fe13f2435889eaf3a725e923b108327cb077eef711959547beb053fce7
+DIST busybee-0.7.0.tar.gz 367175 SHA256 244bcf8face6be9b7df12c8dbd5401f7d4d78a9fa3c3f701177725526a18e121 SHA512 9bf868b6d02b0286d89ff371964e7d32dd373049c1437459b79f0789741421ebb2810d9d58c51d86225cc190d6e23d57c816d079298b0bcfa1e4da815bda2474 WHIRLPOOL 53dee44232d8ab337b069ccb657dc928a36a79b87190e6755884aad84b75d67b36fa4ee7a7e6222a1cee2ed56c52769ea783826e81efbfce3b3437ff5d18e0d6
diff --git a/dev-libs/busybee/busybee-0.5.2.ebuild b/dev-libs/busybee/busybee-0.5.2.ebuild
new file mode 100644
index 000000000000..b549cbe93395
--- /dev/null
+++ b/dev-libs/busybee/busybee-0.5.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="A messaging abstraction on top of TCP sockets used in HyperDex"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-${PV}
+ >=dev-libs/libe-${PV}"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/busybee/busybee-0.6.0.ebuild b/dev-libs/busybee/busybee-0.6.0.ebuild
new file mode 100644
index 000000000000..38d6137b60ae
--- /dev/null
+++ b/dev-libs/busybee/busybee-0.6.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="A messaging abstraction on top of TCP sockets used in HyperDex"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-${PV}
+ >=dev-libs/libe-${PV}"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/busybee/busybee-0.7.0.ebuild b/dev-libs/busybee/busybee-0.7.0.ebuild
new file mode 100644
index 000000000000..74c2dd5c0eca
--- /dev/null
+++ b/dev-libs/busybee/busybee-0.7.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="A messaging abstraction on top of TCP sockets used in HyperDex"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.8
+ >=dev-libs/libe-0.11"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/busybee/metadata.xml b/dev-libs/busybee/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/busybee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
new file mode 100644
index 000000000000..8d8c47535d87
--- /dev/null
+++ b/dev-libs/c-blosc/Manifest
@@ -0,0 +1,3 @@
+DIST c-blosc-1.3.2.tar.gz 229790 SHA256 7c21c4484c1ad7d6beddd73f35379e0d980530466cd6d87402e035c931983697 SHA512 0488042628b8b3d02e8e7b58d3d942751a43567e99e1e89f452765ad1aeba395248322df6a37daf828571b3c262ebaa54d3ca49cfed78ab499994454faf6bbdb WHIRLPOOL 195232123fbbd4f76f3a209069e7895c3ba900e98c49ca8334e1975634770463d993ae36f99fefb680d7c78a28ca979c27cd4af4412e83c804315f6cf52420fe
+DIST c-blosc-1.3.5.tar.gz 231653 SHA256 60efbbd2ef613480d135dbb245260e7cd904cfd785cc2504458615d7b397675a SHA512 4c11309a3f5dd0e2ecb35f62480cf86a9ad8d8d84b0d744c0597a51d8f51010a2ed0ad868cc3aef1f674efc1c35ee3312ad727cb308b348026f08db0ac9ab04a WHIRLPOOL 58742b85bf1d9637492871cab0f0c0b87c96162b2dfbf196e91f62569f6a06077b901a202fab43f39472ccf728550340a85bd60f3fee1d6e0e76d655659db3f0
+DIST c-blosc-1.5.3.tar.gz 240821 SHA256 d6d7c72d8e49311618f5f1609df1a9b2ca070655b563b9f7b80d5dc92fceaf4f SHA512 92f0a47ff6af2b776795315fce52e49c12e947e9007f97d05182a8369831e0ba80ff7b2b116fdedc4ef2b984106b014c90f82e233d5aed85cd91e3256f4a7313 WHIRLPOOL 9178c1a4e8e476b2a0556106ecbf58eb10bd076e3c731048d988f1e3dcaefa593cea176c6f5ec391c54a651421cce40858f1eae4ba9fc91d60a0fc158fe9fbc7
diff --git a/dev-libs/c-blosc/c-blosc-1.3.2.ebuild b/dev-libs/c-blosc/c-blosc-1.3.2.ebuild
new file mode 100644
index 000000000000..7eb4b8b0964c
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.3.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="http://www.blosc.org/"
+SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="hdf5 +lz4 +snappy static-libs test zlib"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5 )
+ lz4? ( >=app-arch/lz4-0_p120 )
+ snappy? ( app-arch/snappy )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-shared-libs.patch )
+DOCS="RE* AN*"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DPREFER_EXTERNAL_COMPLIBS=ON
+ $(cmake-utils_use hdf5 BUILD_HDF5_FILTER)
+ $(cmake-utils_use !lz4 DEACTIVATE_LZ4)
+ $(cmake-utils_use !snappy DEACTIVATE_SNAPPY)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTS)
+ $(cmake-utils_use !zlib DEACTIVATE_ZLIB)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/c-blosc/c-blosc-1.3.5.ebuild b/dev-libs/c-blosc/c-blosc-1.3.5.ebuild
new file mode 100644
index 000000000000..aebea60f1933
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.3.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="http://www.blosc.org/"
+SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="hdf5 +lz4 +snappy static-libs test zlib"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5:0= )
+ lz4? ( >=app-arch/lz4-0_p120:0= )
+ snappy? ( app-arch/snappy:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.3.2-shared-libs.patch )
+DOCS="RE* AN*"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DPREFER_EXTERNAL_COMPLIBS=ON
+ $(cmake-utils_use hdf5 BUILD_HDF5_FILTER)
+ $(cmake-utils_use !lz4 DEACTIVATE_LZ4)
+ $(cmake-utils_use !snappy DEACTIVATE_SNAPPY)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTS)
+ $(cmake-utils_use !zlib DEACTIVATE_ZLIB)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/c-blosc/c-blosc-1.5.3.ebuild b/dev-libs/c-blosc/c-blosc-1.5.3.ebuild
new file mode 100644
index 000000000000..af0e4ece647d
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.5.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="http://www.blosc.org/"
+SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="hdf5 +lz4 +snappy static-libs test zlib"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5:0= )
+ lz4? ( >=app-arch/lz4-0_p120:0= )
+ snappy? ( app-arch/snappy:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-shared-libs.patch )
+
+DOCS=( README.rst RELEASE_NOTES.rst THOUGHTS_FOR_2.0.txt ANNOUNCE.rst )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DPREFER_EXTERNAL_COMPLIBS=ON
+ $(cmake-utils_use hdf5 BUILD_HDF5_FILTER)
+ $(cmake-utils_use !lz4 DEACTIVATE_LZ4)
+ $(cmake-utils_use !snappy DEACTIVATE_SNAPPY)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTS)
+ $(cmake-utils_use !zlib DEACTIVATE_ZLIB)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/c-blosc/files/c-blosc-1.3.2-shared-libs.patch b/dev-libs/c-blosc/files/c-blosc-1.3.2-shared-libs.patch
new file mode 100644
index 000000000000..484db1f6dd3c
--- /dev/null
+++ b/dev-libs/c-blosc/files/c-blosc-1.3.2-shared-libs.patch
@@ -0,0 +1,22 @@
+--- hdf5/CMakeLists.txt.orig 2014-02-05 16:55:55.001344161 -0800
++++ hdf5/CMakeLists.txt 2014-02-05 16:57:03.767739650 -0800
+@@ -23,16 +23,16 @@
+
+ # install
+ install(FILES blosc_filter.h DESTINATION include COMPONENT HDF5_FILTER_DEV)
+-install(TARGETS blosc_filter_static DESTINATION lib COMPONENT HDF5_FILTER)
++install(TARGETS blosc_filter_shared DESTINATION lib${LIB_SUFFIX} COMPONENT HDF5_FILTER)
+ if(BUILD_STATIC)
+ install(
+- TARGETS blosc_filter_shared DESTINATION lib COMPONENT HDF5_FILTER_DEV)
++ TARGETS blosc_filter_static DESTINATION lib${LIB_SUFFIX} COMPONENT HDF5_FILTER_DEV)
+ endif(BUILD_STATIC)
+
+
+ # test
+ if(BUILD_TESTS)
+ add_executable(example example.c)
+- target_link_libraries(example blosc_filter_static ${HDF5_LIBRARIES})
++ target_link_libraries(example blosc_filter_shared ${HDF5_LIBRARIES})
+ add_test(test_hdf5_filter example)
+ endif(BUILD_TESTS)
diff --git a/dev-libs/c-blosc/files/c-blosc-1.5.3-shared-libs.patch b/dev-libs/c-blosc/files/c-blosc-1.5.3-shared-libs.patch
new file mode 100644
index 000000000000..c46f66987445
--- /dev/null
+++ b/dev-libs/c-blosc/files/c-blosc-1.5.3-shared-libs.patch
@@ -0,0 +1,27 @@
+ hdf5/CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/hdf5/CMakeLists.txt b/hdf5/CMakeLists.txt
+index d91194f..032a292 100644
+--- a/hdf5/CMakeLists.txt
++++ b/hdf5/CMakeLists.txt
+@@ -44,16 +44,16 @@ endif(MSVC)
+
+ # install
+ install(FILES blosc_filter.h DESTINATION include COMPONENT HDF5_FILTER_DEV)
+-install(TARGETS blosc_filter_shared DESTINATION lib COMPONENT HDF5_FILTER)
++install(TARGETS blosc_filter_shared DESTINATION lib${LIB_SUFFIX} COMPONENT HDF5_FILTER)
+ if(BUILD_STATIC)
+ install(
+- TARGETS blosc_filter_static DESTINATION lib COMPONENT HDF5_FILTER_DEV)
++ TARGETS blosc_filter_static DESTINATION lib${LIB_SUFFIX} COMPONENT HDF5_FILTER_DEV)
+ endif(BUILD_STATIC)
+
+
+ # test
+ if(BUILD_TESTS)
+ add_executable(example example.c)
+- target_link_libraries(example blosc_filter_static ${HDF5_LIBRARIES})
++ target_link_libraries(example blosc_filter_shared ${HDF5_LIBRARIES})
+ add_test(test_hdf5_filter example)
+ endif(BUILD_TESTS)
diff --git a/dev-libs/c-blosc/metadata.xml b/dev-libs/c-blosc/metadata.xml
new file mode 100644
index 000000000000..873eced15208
--- /dev/null
+++ b/dev-libs/c-blosc/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Blosc is a compression library designed to transmit data to the
+ processor cache faster than the traditional non-compressed memory fetch.
+ Compression ratios are not very high, but the decompression is very
+ fast. Blosc is meant not only to reduce the size of large datasets on-disk
+ or in-memory, but also to accelerate memory-bound computations.
+</longdescription>
+ <use>
+ <flag name="lz4">Enable lz4 compression</flag>
+ <flag name="snappy">Enable snappy compression</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Blosc/c-blosc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cdk/Manifest b/dev-libs/cdk/Manifest
new file mode 100644
index 000000000000..f50709a12f7e
--- /dev/null
+++ b/dev-libs/cdk/Manifest
@@ -0,0 +1,2 @@
+DIST cdk-5.0-20131107.tgz 495455 SHA256 2b3670b95d330cce34ddd929f985c423cf86b05ba8a33bf5f217c4702131f565 SHA512 93e0c78bfd12fb9c554b9b6996b9c93542201afb67ddd63ecea7330171ca079da73d81b3f3b2f27a28ecd3527ed6c7333203a9438ecd196a66d3bad78233f439 WHIRLPOOL bedf5a441175436fb0eb54b216a61acd296d97dbbb2be1eb817b024778f58383f0ea00f6159c67c05f116f21ad6e0030a2d979aa8db2798a4f103f36f3e3198b
+DIST cdk-5.0-20141106.tgz 509310 SHA256 d7ce8d9698b4998fa49a63b6e19309d3eb61cc3a019bfc95101d845ef03c4803 SHA512 8a92363c8036acb61fe8dcfcf3690653f2573407123b8c684c0bf165d5b99b6a4c7e8bcded8773304ebc13108e90ae3488f0e74ed026f3bc69f6a5b007e651e4 WHIRLPOOL d497624acb49bec7a1f18afe13c1279f5e8c06b71d4f904b88b9f639e01fae0b4d959ae90df169c477292e0f56f787944e5cffddb4416d30d85784155bde2dee
diff --git a/dev-libs/cdk/cdk-5.0.20131107.ebuild b/dev-libs/cdk/cdk-5.0.20131107.ebuild
new file mode 100644
index 000000000000..fcd0b143c55e
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20131107.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+MY_P="${PN}-$(replace_version_separator 2 -)"
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="http://dickey.his.com/cdk/cdk.html"
+SRC_URI="ftp://invisible-island.net/cdk/${MY_P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/5" # subslot = soname version
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples static-libs unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-5.0.20120323-parallel-make.patch
+}
+
+src_configure() {
+ econf \
+ --with-libtool \
+ --with-shared \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${ED}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" install
+
+ if use examples ; then
+ for x in include c++ demos examples cli cli/utils cli/samples; do
+ docinto $x
+ find $x -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc
+ done
+ fi
+
+ use static-libs || find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete
+}
diff --git a/dev-libs/cdk/cdk-5.0.20141106.ebuild b/dev-libs/cdk/cdk-5.0.20141106.ebuild
new file mode 100644
index 000000000000..209a4ee16794
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20141106.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+MY_P="${PN}-$(replace_version_separator 2 -)"
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="http://dickey.his.com/cdk/cdk.html"
+SRC_URI="ftp://invisible-island.net/cdk/${MY_P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples static-libs unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-5.0.20120323-parallel-make.patch
+}
+
+src_configure() {
+ econf \
+ --with-libtool \
+ --with-shared \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${ED}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" install
+
+ if use examples ; then
+ for x in include c++ demos examples cli cli/utils cli/samples; do
+ docinto $x
+ find $x -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc
+ done
+ fi
+
+ use static-libs || find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete
+}
diff --git a/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch b/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch
new file mode 100644
index 000000000000..aa5a1dce04e7
--- /dev/null
+++ b/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -269,7 +269,7 @@
+
+ all sources :: $(AUTO_SRC)
+
+-$(OBJECTS) : include/cdk_config.h
++$(OBJECTS) : $(MY_HDR)
+
+ #
+ # Standard library directive.
+
diff --git a/dev-libs/cdk/metadata.xml b/dev-libs/cdk/metadata.xml
new file mode 100644
index 000000000000..1470e032181b
--- /dev/null
+++ b/dev-libs/cdk/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/cgicc/Manifest b/dev-libs/cgicc/Manifest
new file mode 100644
index 000000000000..b5591059f7b0
--- /dev/null
+++ b/dev-libs/cgicc/Manifest
@@ -0,0 +1,2 @@
+DIST cgicc-3.2.10.tar.gz 2385130 SHA256 87680cb303e65bee2816b9f0e3d0a3c3258efc4f908ec3cad620d01f0b597ce0 SHA512 78a62b7af9d8bee1b7bf278a0596151733af2adca8bdf6c7b752cebcffb330a5211cc9190a2e29d053afecca076bddb06ecb510caafd51b51d7d29199b06dc19 WHIRLPOOL 1fd73ce034ebaf3b481f30078ae9995dc9feb0e64dc52f963aeb7322e71d69dd8ffee59c8706a877ea8c986ebd1ce16de375e322c146c0f087e2c6ffcc11c442
+DIST cgicc-3.2.9.tar.gz 2087796 SHA256 7bf392da75787e848ddf04395a5ed08fc472411deaa07cbae2c3edbea8fbeed4 SHA512 bd02750a0ad81a64c017e8ccf6cee0c6801506bdc00ea4b0a5e4ea28e35e453122e3e25b3578cb1cb7b22011d5147b99ed79bf7c4702d4c7ab404096aabca623 WHIRLPOOL 01f0da6ca0c28415ed44ab37f3ea56892d18c1dd57a9724bbc0c86bac20e6954bb29b826c96a72cbe8ea99bddcba12b18f9d21c17e5216a20406d931224b6a07
diff --git a/dev-libs/cgicc/cgicc-3.2.10.ebuild b/dev-libs/cgicc/cgicc-3.2.10.ebuild
new file mode 100644
index 000000000000..8045d28016d4
--- /dev/null
+++ b/dev-libs/cgicc/cgicc-3.2.10.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A C++ class library for writing CGI applications"
+HOMEPAGE="http://www.gnu.org/software/cgicc/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3 doc? ( FDL-1.2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-fix-pkgconfig.patch"
+}
+
+src_configure() {
+ if ! use doc; then
+ sed -i \
+ -e 's/^\(SUBDIRS = .*\) doc \(.*\)/\1 \2/' \
+ Makefile.in || die
+ fi
+
+ econf \
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --disable-dependency-tracking \
+ --disable-demos \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/contrib
+ doins contrib/*.{cpp,h} contrib/README
+
+ insinto /usr/share/doc/${PF}/demo
+ doins -r demo/*.{cpp,h} demo/images demo/README
+ fi
+}
diff --git a/dev-libs/cgicc/cgicc-3.2.9.ebuild b/dev-libs/cgicc/cgicc-3.2.9.ebuild
new file mode 100644
index 000000000000..0be1e445a123
--- /dev/null
+++ b/dev-libs/cgicc/cgicc-3.2.9.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="A C++ class library for writing CGI applications"
+HOMEPAGE="http://www.gnu.org/software/cgicc/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3 doc? ( FDL-1.2 )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_configure() {
+ if ! use doc; then
+ sed -i \
+ -e 's/^\(SUBDIRS = .*\) doc \(.*\)/\1 \2/' \
+ Makefile.in || die
+ fi
+
+ econf \
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --disable-dependency-tracking \
+ --disable-demos
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS BUGS ChangeLog NEWS README* THANKS
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/contrib
+ doins contrib/*.{cpp,h} contrib/README
+
+ insinto /usr/share/doc/${PF}/demo
+ doins -r demo/*.{cpp,h} demo/images demo/README
+ fi
+}
diff --git a/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch b/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch
new file mode 100644
index 000000000000..af1c069334e9
--- /dev/null
+++ b/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch
@@ -0,0 +1,13 @@
+diff --git a/cgicc.pc.in b/cgicc.pc.in
+index 2006be8..e42c9bf 100644
+--- a/cgicc.pc.in
++++ b/cgicc.pc.in
+@@ -7,5 +7,5 @@ Name: cgicc
+ Description: GNU cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web.
+ Requires:
+ Version: @VERSION@
+-Libs: -L${libdir}
+-Cflags:
+\ No newline at end of file
++Libs: -L${libdir} -lcgicc
++Cflags: -I${includedir}
diff --git a/dev-libs/cgicc/metadata.xml b/dev-libs/cgicc/metadata.xml
new file mode 100644
index 000000000000..d11428dcb527
--- /dev/null
+++ b/dev-libs/cgicc/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <longdescription lang="en">
+GNU cgicc is an ANSI C++ compliant class library that greatly
+simplifies the creation of CGI applications for the World Wide
+Web. cgicc performs the following functions:
+
+ - Parses both GET and POST form data transparently
+ - Provides string, integer, floating-point and single- and
+ multiple-choice retrieval methods for form data
+ - Provides methods for saving and restoring CGI environments to aid
+ in application debugging
+ - Provides full on-the-fly HTML 4.0 generation capabilities, with support
+ for cookies
+ - Supports HTTP file upload
+ - Compatible with FastCGI
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/cgilib/Manifest b/dev-libs/cgilib/Manifest
new file mode 100644
index 000000000000..30cd2a830487
--- /dev/null
+++ b/dev-libs/cgilib/Manifest
@@ -0,0 +1 @@
+DIST cgilib-0.7.tar.gz 268783 SHA256 09b7d71bd1eea10bb404cd665fd5abe69282144ce01d96f2863c85fd42d5d692 SHA512 9feaa6c18e0c8ebbffa2682c07e584ab4970e0b98b61507ba67b83c920d9ba9012244fa96c95ab71121728b9945269683a2eef274cd56660576ae9b055861c83 WHIRLPOOL 50d9d1677e5f5e756d4ebe4e6a038e5689609926ec035b9d2f1e0aad56216d535b33c65e7db1ef1e2bcc47a70c96ecec9b03c5d7d60755abc7fbcb04544fb9f1
diff --git a/dev-libs/cgilib/cgilib-0.7.ebuild b/dev-libs/cgilib/cgilib-0.7.ebuild
new file mode 100644
index 000000000000..040af25d3027
--- /dev/null
+++ b/dev-libs/cgilib/cgilib-0.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools autotools-utils
+
+DESCRIPTION="a simple and lightweight interface to the Common Gateway Interface (CGI) for C and C++ programs"
+HOMEPAGE="http://www.infodrom.org/projects/cgilib/"
+SRC_URI="http://www.infodrom.org/projects/${PN}/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="static-libs"
+
+DOCS=( AUTHORS ChangeLog README cookies.txt )
+
+src_prepare() {
+ autotools-utils_src_prepare
+ eautoreconf
+}
diff --git a/dev-libs/cgilib/metadata.xml b/dev-libs/cgilib/metadata.xml
new file mode 100644
index 000000000000..78692635ad22
--- /dev/null
+++ b/dev-libs/cgilib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>netmon</herd>
+</pkgmetadata>
diff --git a/dev-libs/check/Manifest b/dev-libs/check/Manifest
new file mode 100644
index 000000000000..4085c8160424
--- /dev/null
+++ b/dev-libs/check/Manifest
@@ -0,0 +1,5 @@
+DIST check-0.10.0.tar.gz 769119 SHA256 f5f50766aa6f8fe5a2df752666ca01a950add45079aa06416b83765b1cf71052 SHA512 82103a98382c41cf16f172ded66c0399d3da6eceb6728aab11120c028e8796f6d545a98dc4aa5f76ee68c0bfd1f842a4dd371f5d670c8ba84ce4209812bf1ac5 WHIRLPOOL d3399a2500a4a1f6fa8865fe75af67e98a22587edd2525d144f4f403dd313cc59b7622cd77cfd885b9e3dfd737e2bef5366d28062b2975c882ffac6253b02b29
+DIST check-0.9.11.tar.gz 691146 SHA256 ea4e8c7ffb00bb4ffb3f59f11744a71f1cc4212c79f3083c7d9a4b0953976936 SHA512 10883709463b76f6650197db989c348d9d07ccaa2cacc0bd6bd177bbcc1e9e0d88746c2e110e620ab18c23cb5f41b95797d60d77de279af1a810a42b355b742e WHIRLPOOL 9559104a68b2f1215e9b00affb4711a69bf3e4e94e0ec894de66f0f77b5637187bb183560e29d0a889ff04d0e07f2785fc407128dee1ba74d584ce9a0ff9a3b1
+DIST check-0.9.12.tar.gz 730404 SHA256 c7d47e55e133a0ca19a52e08a99333ac55cb22618b53719b7f4117a1875b1ea3 SHA512 698e6cfdf24b07340fb4fa77f49811053f8307d3baca8bdcdde5e3dfe1f910bbadb6a393f03020d8b18c22e7e164d40f6bbbeb9659908b0df8459e5c4850fa50 WHIRLPOOL 4994c444532e1337bcda5e632d532ffd6aae59de866009b5bce3d1f25988dd203d04136dd451b6d24c6e32775159772d1c98097ff618a5cc559fca9725ad18ed
+DIST check-0.9.13.tar.gz 752880 SHA256 ca6589c34f9c60ffd4c3e198ce581e944a9f040ca9352ed54068dd61bebb5cb7 SHA512 a0ff64110c52fd600a8a956c2d56589e6e65ff0072b34f33e0299b4f9a2ac0a93a330b0c8cbf3645c02d0c9c748c71704bd3a8825eec22eb2f22ad99bcffa551 WHIRLPOOL 9f7f42ca4106deabe57051e84cec4f0a838847c45308baaf8cb4441e30667016fa95b1b2705b42dc494af8e9a22aea5d6733de71cd99ec0025652da53756275d
+DIST check-0.9.8.tar.gz 558943 SHA256 82acf956bb07584ffea2bf04d5989fe939c3e74ecf93133a21037fd0f7996a7f SHA512 a8ef659411c18f8af77006a51fe14741b990e7486c3e5c1e97cd2a100a603483ba9854c2f23bd9a5e834e133ca0dcc3ae15f41856339ab3b82a75ad769a872a2 WHIRLPOOL fdc06bd44f041153f655c577c55825afb2d2b79ff066427cd224b5a6d351f9da076d39807f434d2e22e1b6b54c6bc774744c8210dc318e493b9241bb5d7ded84
diff --git a/dev-libs/check/check-0.10.0.ebuild b/dev-libs/check/check-0.10.0.ebuild
new file mode 100644
index 000000000000..edfe254a690f
--- /dev/null
+++ b/dev-libs/check/check-0.10.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit autotools autotools-multilib eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( >=dev-python/subunit-0.0.10-r1[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ # See multilib_src_test(), disable sleep()-based tests because they
+ # just take a long time doing pretty much nothing.
+ export CPPFLAGS="-DTIMEOUT_TESTS_ENABLED=0 ${CPPFLAGS}"
+}
+
+src_prepare() {
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-multilib_src_configure
+}
+
+multilib_src_test() {
+ elog "-DTIMEOUT_TESTS_ENABLED=0 has been prepended to CPPFLAGS. To run the"
+ elog "entire testsuite for dev-libs/check, ensure that"
+ elog "-DTIMEOUT_TESTS_ENABLED=1 is in your CPPFLAGS."
+ default_src_test
+}
+
+src_install() {
+ autotools-multilib_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+}
diff --git a/dev-libs/check/check-0.9.11.ebuild b/dev-libs/check/check-0.9.11.ebuild
new file mode 100644
index 000000000000..d0f99881189f
--- /dev/null
+++ b/dev-libs/check/check-0.9.11.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit autotools autotools-multilib eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( dev-python/subunit )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.9.10-AM_PATH_CHECK.patch
+
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+}
diff --git a/dev-libs/check/check-0.9.12.ebuild b/dev-libs/check/check-0.9.12.ebuild
new file mode 100644
index 000000000000..375ed4afc1c1
--- /dev/null
+++ b/dev-libs/check/check-0.9.12.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit autotools autotools-multilib eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( dev-python/subunit )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.9.10-AM_PATH_CHECK.patch
+
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+}
diff --git a/dev-libs/check/check-0.9.13-r1.ebuild b/dev-libs/check/check-0.9.13-r1.ebuild
new file mode 100644
index 000000000000..ba016495e6c2
--- /dev/null
+++ b/dev-libs/check/check-0.9.13-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit autotools autotools-multilib eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( >=dev-python/subunit-0.0.10-r1[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ # See multilib_src_test(), disable sleep()-based tests because they
+ # just take a long time doing pretty much nothing.
+ export CPPFLAGS="-DTIMEOUT_TESTS_ENABLED=0 ${CPPFLAGS}"
+}
+
+src_prepare() {
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-multilib_src_configure
+}
+
+multilib_src_test() {
+ elog "-DTIMEOUT_TESTS_ENABLED=0 has been prepended to CPPFLAGS. To run the"
+ elog "entire testsuite for dev-libs/check, ensure that"
+ elog "-DTIMEOUT_TESTS_ENABLED=1 is in your CPPFLAGS."
+ default_src_test
+}
+
+src_install() {
+ autotools-multilib_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+}
diff --git a/dev-libs/check/check-0.9.13.ebuild b/dev-libs/check/check-0.9.13.ebuild
new file mode 100644
index 000000000000..a53189f7f9cf
--- /dev/null
+++ b/dev-libs/check/check-0.9.13.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit autotools autotools-multilib eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( dev-python/subunit )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ # See multilib_src_test(), disable sleep()-based tests because they
+ # just take a long time doing pretty much nothing.
+ export CPPFLAGS="-DTIMEOUT_TESTS_ENABLED=0 ${CPPFLAGS}"
+}
+
+src_prepare() {
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-multilib_src_configure
+}
+
+multilib_src_test() {
+ elog "-DTIMEOUT_TESTS_ENABLED=0 has been prepended to CPPFLAGS. To run the"
+ elog "entire testsuite for dev-libs/check, ensure that"
+ elog "-DTIMEOUT_TESTS_ENABLED=1 is in your CPPFLAGS."
+ default_src_test
+}
+
+src_install() {
+ autotools-multilib_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+}
diff --git a/dev-libs/check/check-0.9.8-r1.ebuild b/dev-libs/check/check-0.9.8-r1.ebuild
new file mode 100644
index 000000000000..bb35a75b7d75
--- /dev/null
+++ b/dev-libs/check/check-0.9.8-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools autotools-utils eutils
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="http://sourceforge.net/projects/check/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs subunit"
+
+DEPEND="subunit? ( dev-python/subunit )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.9.6-AM_PATH_CHECK.patch \
+ "${FILESDIR}"/${PN}-0.9.6-64bitsafe.patch
+
+ sed -i -e '/^docdir =/d' {.,doc}/Makefile.am || die
+
+ # fix out-of-sourcedir build having inconsistent check.h files, for
+ # example breaks USE=subunit.
+ rm src/check.h || die
+
+ # Fix automake warnings being treated as errors, bug #420373
+ sed -i -e s/-Werror// configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ $(use_enable subunit)
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
+
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING* || die
+ find "${ED}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/check/files/check-0.9.10-AM_PATH_CHECK.patch b/dev-libs/check/files/check-0.9.10-AM_PATH_CHECK.patch
new file mode 100644
index 000000000000..a433549a3639
--- /dev/null
+++ b/dev-libs/check/files/check-0.9.10-AM_PATH_CHECK.patch
@@ -0,0 +1,33 @@
+Index: doc/example/tests/Makefile.am
+===================================================================
+--- doc/example/tests/Makefile.am (revision 747)
++++ doc/example/tests/Makefile.am (working copy)
+@@ -3,5 +3,5 @@
+ TESTS = check_money
+ check_PROGRAMS = check_money
+ check_money_SOURCES = check_money.c $(top_builddir)/src/money.h
+-check_money_CFLAGS = @CHECK_CFLAGS@
+-check_money_LDADD = $(top_builddir)/src/libmoney.la @CHECK_LIBS@
++check_money_CFLAGS = $(CHECK_CFLAGS)
++check_money_LDADD = $(top_builddir)/src/libmoney.la $(CHECK_LIBS)
+Index: doc/example/configure.ac
+===================================================================
+--- doc/example/configure.ac (revision 747)
++++ doc/example/configure.ac (working copy)
+@@ -20,12 +20,10 @@
+
+ # Checks for libraries.
+
+-# This macro is defined in check.m4 and tests if check.h and
+-# libcheck.a are installed in your system. It sets CHECK_CFLAGS and
+-# CHECK_LIBS accordingly.
+-# AM_PATH_CHECK([MINIMUM-VERSION,
+-# [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+-AM_PATH_CHECK()
++# Use pkg-config instead of upstream-provided and possibly-broken
++# AM_PATH_CHECK. This command sets CHECK_CFLAGS and CHECK_LIBS
++# appropriately.
++PKG_CHECK_MODULES([CHECK], [check])
+
+ # Checks for header files.
+ AC_HEADER_STDC
diff --git a/dev-libs/check/files/check-0.9.6-64bitsafe.patch b/dev-libs/check/files/check-0.9.6-64bitsafe.patch
new file mode 100644
index 000000000000..ec73ed6a0ea5
--- /dev/null
+++ b/dev-libs/check/files/check-0.9.6-64bitsafe.patch
@@ -0,0 +1,13 @@
+Index: check-0.9.6/configure.ac
+===================================================================
+--- check-0.9.6.orig/configure.ac
++++ check-0.9.6/configure.ac
+@@ -17,6 +17,8 @@ AC_CONFIG_AUX_DIR([build-aux])
+ # really severe build strictness
+ AM_INIT_AUTOMAKE([-Wall -Werror gnits 1.9.6])
+
++AC_USE_SYSTEM_EXTENSIONS
++
+ # FIXME: find the other places this stuff is used
+
+ CHECK_MAJOR_VERSION=0
diff --git a/dev-libs/check/files/check-0.9.6-AM_PATH_CHECK.patch b/dev-libs/check/files/check-0.9.6-AM_PATH_CHECK.patch
new file mode 100644
index 000000000000..7bb306187206
--- /dev/null
+++ b/dev-libs/check/files/check-0.9.6-AM_PATH_CHECK.patch
@@ -0,0 +1,12 @@
+diff -Naur check-0.9.5-orig/doc/example/configure.ac check-0.9.5/doc/example/configure.ac
+--- check-0.9.5-orig/doc/example/configure.ac 2006-11-21 17:19:14.000000000 -0600
++++ check-0.9.5/doc/example/configure.ac 2008-12-04 21:45:13.000000000 -0600
+@@ -25,7 +25,7 @@
+ # CHECK_LIBS accordingly.
+ # AM_PATH_CHECK([MINIMUM-VERSION,
+ # [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+-AM_PATH_CHECK()
++PKG_CHECK_MODULES([check], [], [])
+
+ # Checks for header files.
+ AC_HEADER_STDC
diff --git a/dev-libs/check/metadata.xml b/dev-libs/check/metadata.xml
new file mode 100644
index 000000000000..127cc640dcc3
--- /dev/null
+++ b/dev-libs/check/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+ </maintainer>
+ <use>
+ <flag name="subunit">Enable support for the subunit unit test protocol</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">check</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/chmlib/Manifest b/dev-libs/chmlib/Manifest
new file mode 100644
index 000000000000..f4feafc799c8
--- /dev/null
+++ b/dev-libs/chmlib/Manifest
@@ -0,0 +1 @@
+DIST chmlib-0.40.tar.bz2 252036 SHA256 3449d64b0cf71578b2c7e3ddc048d4af3661f44a83941ea074a7813f3a59ffa3 SHA512 3a3e151cf455b19e9e7c163a1d1e5ac52e8196f0b98f77932c72af58f3517824b9244667a18279ae754ccea784f6d6ab0c47465e74e3768ce98bb7dca0ca16e3 WHIRLPOOL db83f3e72e7e87d4d0502482e22fef2652f9f3b9b3878217a8f8f51201f2968badd7e5d92af7da3ecb504f0e71923cae7d84a1637039d22db138fd050762d6cf
diff --git a/dev-libs/chmlib/chmlib-0.40-r1.ebuild b/dev-libs/chmlib/chmlib-0.40-r1.ebuild
new file mode 100644
index 000000000000..b4fa6a5f5309
--- /dev/null
+++ b/dev-libs/chmlib/chmlib-0.40-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools-utils
+
+DESCRIPTION="Library for MS CHM (compressed html) file format"
+HOMEPAGE="http://www.jedrea.com/chmlib/"
+SRC_URI="http://www.jedrea.com/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ppc ppc64 x86"
+IUSE="+examples static-libs"
+
+DOCS=(AUTHORS NEWS README)
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.39-stdtypes.patch
+ "${FILESDIR}"/${P}-headers.patch
+)
+
+src_configure() {
+ myeconfargs=($(use_enable examples))
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/chmlib/files/chmlib-0.39-stdtypes.patch b/dev-libs/chmlib/files/chmlib-0.39-stdtypes.patch
new file mode 100644
index 000000000000..0f9232017689
--- /dev/null
+++ b/dev-libs/chmlib/files/chmlib-0.39-stdtypes.patch
@@ -0,0 +1,20 @@
+--- src/chm_lib.c
++++ src/chm_lib.c
+@@ -149,6 +149,17 @@ typedef unsigned __int32 UInt32;
+ typedef __int64 Int64;
+ typedef unsigned __int64 UInt64;
+
++/* Linux: use C standard types */
++#elif defined(__linux__)
++#include <stdint.h>
++typedef unsigned char UChar;
++typedef int16_t Int16;
++typedef uint16_t UInt16;
++typedef int32_t Int32;
++typedef uint32_t UInt32;
++typedef int64_t Int64;
++typedef uint64_t UInt64;
++
+ /* I386, 32-bit, non-Windows */
+ /* Sparc */
+ /* MIPS */
diff --git a/dev-libs/chmlib/files/chmlib-0.40-headers.patch b/dev-libs/chmlib/files/chmlib-0.40-headers.patch
new file mode 100644
index 000000000000..d60af28639fd
--- /dev/null
+++ b/dev-libs/chmlib/files/chmlib-0.40-headers.patch
@@ -0,0 +1,18 @@
+--- src/chm_http.c
++++ src/chm_http.c
+@@ -34,6 +34,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #if __sun || __sgi
+ #include <strings.h>
+ #endif
+@@ -42,6 +43,7 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
++#include <arpa/inet.h>
+
+ /* threading includes */
+ #include <pthread.h>
diff --git a/dev-libs/chmlib/metadata.xml b/dev-libs/chmlib/metadata.xml
new file mode 100644
index 000000000000..0cb5b5e2962f
--- /dev/null
+++ b/dev-libs/chmlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>rhill@gentoo.org</email>
+ <name>Ryan Hill</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/cityhash/Manifest b/dev-libs/cityhash/Manifest
new file mode 100644
index 000000000000..efb3aa036ae1
--- /dev/null
+++ b/dev-libs/cityhash/Manifest
@@ -0,0 +1,3 @@
+DIST cityhash-1.0.3.tar.gz 352237 SHA256 a03178d7c73a2d40d9e9e6ab036e607bc97cf3ea0c0eda9e5736ed07608aaaab SHA512 1d284755af4adcbb9d235d19a00ea0ab3e20676eec3e455da24a855e254996139d3c123f8d074bcaf7d53de04d34949ace799181d428fc322091c93c39702de0 WHIRLPOOL 94b9ead07bb8c693d7062ab1d13291a05d92c9c4f168b400dc0ce180ec3f674ff58a64f8addc101f8806774e83268ba0df0f28be8c10e656a2141dfeca3ea071
+DIST cityhash-1.1.0.tar.gz 355571 SHA256 0d07c13c6caf7c798856efa76df7dd2a8d24539240449538316ba4c3bd084679 SHA512 aff5a513fd23c9ec11a02a62151d95e36959ef54fd75a9ae4b94ee72fe93a38295c343c03ed0b0c667c79191ca1119cf2362d7bb8b2f6d6dfa50e5134c9a2654 WHIRLPOOL b7989a7bce7ba8a46787cef690387d2a788fe5027a78fb3d41064d444b23651b920c9348727bf79612ed797a8f793bd8beabcc88e3006ea5bef054933701115d
+DIST cityhash-1.1.1.tar.gz 376456 SHA256 76a41e149f6de87156b9a9790c595ef7ad081c321f60780886b520aecb7e3db4 SHA512 f5476a608fad87770aa6622f3c9ac441db1a0b1731e5235bf8599499943184a1fe5b91329cb9153b363a3e34605f7641b233114440e8895791df7d13452bb4f6 WHIRLPOOL 81a6598fa2e6d8460bc8168f97b78946f56fd032407d5589af6ba653f48a34eed4f2188632498575038c5ad39600dc764b752240cf3197625d02676244e870d6
diff --git a/dev-libs/cityhash/cityhash-1.0.3.ebuild b/dev-libs/cityhash/cityhash-1.0.3.ebuild
new file mode 100644
index 000000000000..ecc724b93a6d
--- /dev/null
+++ b/dev-libs/cityhash/cityhash-1.0.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Google's CityHash family of hash functions"
+
+HOMEPAGE="http://code.google.com/p/cityhash/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+#IUSE="sse42" should be added by someone with a modern CPU
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/cityhash-1.1.0.ebuild b/dev-libs/cityhash/cityhash-1.1.0.ebuild
new file mode 100644
index 000000000000..ecc724b93a6d
--- /dev/null
+++ b/dev-libs/cityhash/cityhash-1.1.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Google's CityHash family of hash functions"
+
+HOMEPAGE="http://code.google.com/p/cityhash/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+#IUSE="sse42" should be added by someone with a modern CPU
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/cityhash-1.1.1.ebuild b/dev-libs/cityhash/cityhash-1.1.1.ebuild
new file mode 100644
index 000000000000..41f38a1c09e9
--- /dev/null
+++ b/dev-libs/cityhash/cityhash-1.1.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Google's CityHash family of hash functions"
+
+HOMEPAGE="http://code.google.com/p/cityhash/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+#IUSE="sse42" should be added by someone with a modern CPU
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/metadata.xml b/dev-libs/cityhash/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/cityhash/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/clearsilver/Manifest b/dev-libs/clearsilver/Manifest
new file mode 100644
index 000000000000..105af55f80d2
--- /dev/null
+++ b/dev-libs/clearsilver/Manifest
@@ -0,0 +1 @@
+DIST clearsilver-0.10.5.tar.gz 439190 SHA256 1e9da038deafddd3d0c1c510626c28be5a0f4f17b9091d577fd30e7c5ba88680 SHA512 05a3c2140d462b8120fa41f74c09ca9246184259b6bdf147581e23e4441f700b9737f82145d8ff96996d93e37bd6a660c68f58f27370c903777a914235ea53b9 WHIRLPOOL a1ec3c88d46d4ab61f3540f62a5461679353102dbf4a0837b369a6a4d769c7f7a9934662575f75f2cf7b29aa7b9581d0dbcea6847548fae71f8998eb612146f2
diff --git a/dev-libs/clearsilver/clearsilver-0.10.5-r2.ebuild b/dev-libs/clearsilver/clearsilver-0.10.5-r2.ebuild
new file mode 100644
index 000000000000..aac4535f37b0
--- /dev/null
+++ b/dev-libs/clearsilver/clearsilver-0.10.5-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Please note: apache, java, mono and ruby support disabled for now.
+# Fill a bug if you need it.
+#
+# dju@gentoo.org, 4th July 2005
+
+EAPI=5
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_DEPEND="python? 2"
+
+inherit autotools eutils multilib perl-app python
+
+DESCRIPTION="Clearsilver is a fast, powerful, and language-neutral HTML template system"
+HOMEPAGE="http://www.clearsilver.net/"
+SRC_URI="http://www.clearsilver.net/downloads/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="perl python zlib"
+
+DEPEND="perl? ( dev-lang/perl:= )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+DOCS=(README INSTALL)
+
+pkg_setup() {
+ if use python; then
+ DOCS+=(README.python)
+
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-perl_installdir.patch
+
+ use zlib && epatch "${FILESDIR}"/${P}-libz.patch
+
+ epatch "${FILESDIR}"/${P}-libdir.patch
+ sed -i -e "s:GENTOO_LIBDIR:$(get_libdir):" configure.in
+ eautoreconf
+
+ # Fix for Gentoo/Freebsd
+ [[ "${ARCH}" == FreeBSD ]] && touch ${S}/features.h ${S}/cgi/features.h
+}
+
+src_configure() {
+ econf \
+ $(use_enable perl) \
+ $(use_with perl perl /usr/bin/perl) \
+ $(use_enable python) \
+ $(use_with python python /usr/bin/python) \
+ $(use_enable zlib compression) \
+ "--disable-apache" \
+ "--disable-ruby" \
+ "--disable-java" \
+ "--disable-csharp"
+}
+
+src_compile() {
+ default
+}
+
+src_install () {
+ default
+
+ if use perl ; then
+ perl_delete_localpod || die "perl_delete_localpod failed"
+ fi
+}
diff --git a/dev-libs/clearsilver/files/clearsilver-0.10.5-libdir.patch b/dev-libs/clearsilver/files/clearsilver-0.10.5-libdir.patch
new file mode 100644
index 000000000000..46f1c91279f9
--- /dev/null
+++ b/dev-libs/clearsilver/files/clearsilver-0.10.5-libdir.patch
@@ -0,0 +1,13 @@
+--- configure.in.orig 2007-02-14 13:13:10.000000000 +0100
++++ configure.in 2007-02-14 13:18:39.000000000 +0100
+@@ -253,8 +253,8 @@
+ vers=`$python_bin -c "import sys; print sys.version[[:3]]"`
+ py_inst_dir=`$python_bin -c "import sys; print sys.exec_prefix"`
+ python_inc=$py_inst_dir/include/python$vers
+- python_lib="-L$py_inst_dir/lib/python$vers/config -lpython$vers"
+- python_site=$py_inst_dir/lib/python$vers/site-packages
++ python_lib="-L$py_inst_dir/GENTOO_LIBDIR/python$vers/config -lpython$vers"
++ python_site=$py_inst_dir/GENTOO_LIBDIR/python$vers/site-packages
+ else
+ for vers in $python_versions; do
+ for path in $python_search_path; do
diff --git a/dev-libs/clearsilver/files/clearsilver-0.10.5-libz.patch b/dev-libs/clearsilver/files/clearsilver-0.10.5-libz.patch
new file mode 100644
index 000000000000..5bed42ab64d6
--- /dev/null
+++ b/dev-libs/clearsilver/files/clearsilver-0.10.5-libz.patch
@@ -0,0 +1,10 @@
+--- python/setup.py.orig 2007-10-28 21:20:00.000000000 +0200
++++ python/setup.py 2007-10-28 21:20:34.000000000 +0200
+@@ -122,6 +122,7 @@
+ include_dirs=INC_DIRS,
+ library_dirs=LIB_DIRS,
+ libraries=LIBRARIES,
++ extra_link_args = ["-lz"],
+ )]
+ }
+
diff --git a/dev-libs/clearsilver/files/clearsilver-0.10.5-perl_installdir.patch b/dev-libs/clearsilver/files/clearsilver-0.10.5-perl_installdir.patch
new file mode 100644
index 000000000000..a8073e1f0afb
--- /dev/null
+++ b/dev-libs/clearsilver/files/clearsilver-0.10.5-perl_installdir.patch
@@ -0,0 +1,22 @@
+X-Bug-Debian: http://bugs.debian.org/357908
+X-Bug-Gentoo: https://bugs.gentoo.org/295895
+--- b/Makefile
++++ a/Makefile
+@@ -29,7 +29,7 @@
+ @for mdir in $(SUBDIRS); do \
+ if test -d $$mdir; then \
+ if test -f $$mdir/Makefile.PL -a ! -f $$mdir/Makefile; then \
+- cd $$mdir; $(PERL) Makefile.PL PREFIX=$(prefix); cd ..; \
++ cd $$mdir; $(PERL) Makefile.PL PREFIX=$(prefix) INSTALLDIRS=vendor; cd ..; \
+ fi; \
+ $(MAKE) -C $$mdir PREFIX=$(prefix); \
+ fi; \
+@@ -46,7 +46,7 @@
+ @for mdir in $(SUBDIRS); do \
+ if test -d $$mdir; then \
+ if test -f $$mdir/Makefile.PL -a ! -f $$mdir/Makefile; then \
+- cd $$mdir; $(PERL) Makefile.PL PREFIX=$(prefix); cd ..; \
++ cd $$mdir; $(PERL) Makefile.PL PREFIX=$(prefix) INSTALLDIRS=vendor; cd ..; \
+ fi; \
+ $(MAKE) -C $$mdir PREFIX=$(prefix) install; \
+ fi; \
diff --git a/dev-libs/clearsilver/metadata.xml b/dev-libs/clearsilver/metadata.xml
new file mode 100644
index 000000000000..6632069b5aff
--- /dev/null
+++ b/dev-libs/clearsilver/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>web-apps</herd>
+</pkgmetadata>
diff --git a/dev-libs/cloog-ppl/Manifest b/dev-libs/cloog-ppl/Manifest
new file mode 100644
index 000000000000..94ee22a360db
--- /dev/null
+++ b/dev-libs/cloog-ppl/Manifest
@@ -0,0 +1 @@
+DIST cloog-ppl-0.15.10.tar.gz 703661 SHA256 7ce1ca4f709229d3cbfa158b02c9e908e1ebca6758ba065555b4b59f94a2c991 SHA512 e6ea263dc9aa783a2129a7ea74f2822f4ea57547b056bde47a40e17657ca1a9269cfaa910c93dd0b1ca6f0d12c2fa47dafdb17827868c90ab71d8417c4413742 WHIRLPOOL b2f8b8f1760833cea53371e7d9c1ec9767ddd48a07a961dbac42ad9bebd488056ba437cb5445447d232b14609d74cd5e9ae92834c411f6f16cfd720f83c1fd68
diff --git a/dev-libs/cloog-ppl/cloog-ppl-0.15.10.ebuild b/dev-libs/cloog-ppl/cloog-ppl-0.15.10.ebuild
new file mode 100644
index 000000000000..fe594ad5252a
--- /dev/null
+++ b/dev-libs/cloog-ppl/cloog-ppl-0.15.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools
+
+DESCRIPTION="Port of CLooG (Chunky LOOp Generator) to PPL (Parma Polyhedra Library)"
+HOMEPAGE="http://repo.or.cz/w/cloog-ppl.git"
+SRC_URI="ftp://gcc.gnu.org/pub/gcc/infrastructure/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/ppl
+ dev-libs/gmp"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ mkdir m4
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-ppl \
+ --includedir="${EPREFIX}"/usr/include/cloog-ppl \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name libcloog.la -delete
+ mv "${ED}"usr/bin/cloog{,-ppl} || die
+ mv "${ED}"usr/share/info/cloog{,-ppl}.info || die
+}
diff --git a/dev-libs/cloog-ppl/metadata.xml b/dev-libs/cloog-ppl/metadata.xml
new file mode 100644
index 000000000000..5961aa214265
--- /dev/null
+++ b/dev-libs/cloog-ppl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+</pkgmetadata>
diff --git a/dev-libs/cloog/Manifest b/dev-libs/cloog/Manifest
new file mode 100644
index 000000000000..c6cc41d2b6f1
--- /dev/null
+++ b/dev-libs/cloog/Manifest
@@ -0,0 +1,4 @@
+DIST cloog-0.18.0.tar.gz 3776262 SHA256 1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228 SHA512 34404984c4269dfc19673712271b08f220b6b49e451e7479cefbc5d2f27ab8e780f5d51fbbc7cecb974dab655673d8348f2a1ece3a60feaeeb9413fccf16eb1d WHIRLPOOL e079de53e876448f1e9b783c864b820ebae39fca4f51d59e2528b1b68530910c48b23719e3fd760bf105e03838651e15f367709a2c8dde022627fe3f158134ea
+DIST cloog-0.18.1.tar.gz 3857324 SHA256 02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196 SHA512 0b12d9f3c39a2425e28e1d7c0a2b3787287fe3e6e3052f094d2ab6cffeb205ce19044100cbfd805659b3e6b3d21ac2f5a3c92848f476de54edfe6b1cbd2172e9 WHIRLPOOL 7e5497cdc6d3df14305f848f0222ab41890c9a1a4668e1ccb8afc2b9f14b8c8b65f80a2fec6d6a94d1b91cf83b741d0108815707eb29aa59a439ed2c07f27378
+DIST cloog-0.18.3.tar.gz 4577597 SHA256 460c6c740acb8cdfbfbb387156b627cf731b3837605f2ec0001d079d89c69734 SHA512 14fc2af0da62cd17b1a9f5a7a1704da6bfe5dc78639928637588203e61847795a652ff788c313c34b6e7dd85fb329678eb4f72e0e1c9c149be6619ebf046cff8 WHIRLPOOL b35a16151c209500af836cb8ad32ec6479a01d2994860a379599e7a2183eab452dcffa757bad8c2af867cb71716c588415924b8c91db895372de88131b650490
+DIST cloog-0.18.4.tar.gz 4796456 SHA256 325adf3710ce2229b7eeb9e84d3b539556d093ae860027185e7af8a8b00a750e SHA512 d35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23 WHIRLPOOL 0b82eec2d91bcdf839c71fd58e14562aabd837236303ffd95ee105d9c59bc728ad795deab3fb78855dc34abdf08a62b61f0587e85c1b84c6fa7f23fed35d7850
diff --git a/dev-libs/cloog/cloog-0.18.0.ebuild b/dev-libs/cloog/cloog-0.18.0.ebuild
new file mode 100644
index 000000000000..f1ec5353e60c
--- /dev/null
+++ b/dev-libs/cloog/cloog-0.18.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="A loop generator for scanning polyhedra"
+HOMEPAGE="http://www.bastoul.net/cloog/"
+SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+DEPEND="dev-libs/gmp
+ <dev-libs/isl-0.13
+ !dev-libs/cloog-ppl"
+RDEPEND="${DEPEND}"
+
+DOCS=( README )
+
+src_prepare() {
+ # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
+ # sed to avoid eautoreconf
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
+}
+
+src_configure() {
+ econf \
+ --with-isl=system \
+ --with-polylib=no \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/cloog/cloog-0.18.1.ebuild b/dev-libs/cloog/cloog-0.18.1.ebuild
new file mode 100644
index 000000000000..0076b1dc0de1
--- /dev/null
+++ b/dev-libs/cloog/cloog-0.18.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A loop generator for scanning polyhedra"
+HOMEPAGE="http://www.bastoul.net/cloog/"
+SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/isl-0.12.2:0/10[${MULTILIB_USEDEP}]
+ !dev-libs/cloog-ppl"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+DOCS=( README )
+
+src_prepare() {
+ # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
+ # sed to avoid eautoreconf
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-gmp=system \
+ --with-isl=system \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/cloog/cloog-0.18.3.ebuild b/dev-libs/cloog/cloog-0.18.3.ebuild
new file mode 100644
index 000000000000..ac64d305274f
--- /dev/null
+++ b/dev-libs/cloog/cloog-0.18.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://repo.or.cz/cloog.git"
+ inherit autotools git-2
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+ SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
+fi
+
+DESCRIPTION="A loop generator for scanning polyhedra"
+HOMEPAGE="http://www.bastoul.net/cloog/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/isl-0.14:0=[${MULTILIB_USEDEP}]
+ !dev-libs/cloog-ppl"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+DOCS=( README )
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ ./get_submodules.sh
+ eautoreconf -i
+ else
+ # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
+ # sed to avoid eautoreconf
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
+ fi
+
+ epatch "${FILESDIR}"/${P}-isl-0.15.patch
+
+ # Make sure we always use the system isl.
+ rm -rf isl
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-gmp=system \
+ --with-isl=system \
+ --with-osl=no \
+ $(use_enable static-libs static)
+}
+
+# The default src_test() fails, so we'll just run these directly
+multilib_src_test () {
+ echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ emake -j1 check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/cloog/cloog-0.18.4.ebuild b/dev-libs/cloog/cloog-0.18.4.ebuild
new file mode 100644
index 000000000000..2ed3bba10cde
--- /dev/null
+++ b/dev-libs/cloog/cloog-0.18.4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://repo.or.cz/cloog.git"
+ inherit autotools git-2
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+ SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
+fi
+
+DESCRIPTION="A loop generator for scanning polyhedra"
+HOMEPAGE="http://www.bastoul.net/cloog/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-6.0.0[${MULTILIB_USEDEP}]
+ >=dev-libs/isl-0.15:0=[${MULTILIB_USEDEP}]
+ !dev-libs/cloog-ppl"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+DOCS=( README )
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ ./get_submodules.sh
+ eautoreconf -i
+ else
+ # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
+ # sed to avoid eautoreconf
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
+ fi
+
+ # Make sure we always use the system isl.
+ rm -rf isl
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-gmp=system \
+ --with-isl=system \
+ --with-osl=no \
+ $(use_enable static-libs static)
+}
+
+# The default src_test() fails, so we'll just run these directly
+multilib_src_test () {
+ echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ emake -j1 check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/cloog/cloog-9999.ebuild b/dev-libs/cloog/cloog-9999.ebuild
new file mode 100644
index 000000000000..2ed3bba10cde
--- /dev/null
+++ b/dev-libs/cloog/cloog-9999.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://repo.or.cz/cloog.git"
+ inherit autotools git-2
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+ SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
+fi
+
+DESCRIPTION="A loop generator for scanning polyhedra"
+HOMEPAGE="http://www.bastoul.net/cloog/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-6.0.0[${MULTILIB_USEDEP}]
+ >=dev-libs/isl-0.15:0=[${MULTILIB_USEDEP}]
+ !dev-libs/cloog-ppl"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+DOCS=( README )
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ ./get_submodules.sh
+ eautoreconf -i
+ else
+ # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
+ # sed to avoid eautoreconf
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
+ fi
+
+ # Make sure we always use the system isl.
+ rm -rf isl
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-gmp=system \
+ --with-isl=system \
+ --with-osl=no \
+ $(use_enable static-libs static)
+}
+
+# The default src_test() fails, so we'll just run these directly
+multilib_src_test () {
+ echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ emake -j1 check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch b/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch
new file mode 100644
index 000000000000..70ce3b86ec02
--- /dev/null
+++ b/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch
@@ -0,0 +1,82 @@
+add support for isl-0.15+
+
+--- a/source/isl/domain.c
++++ b/source/isl/domain.c
+@@ -68,25 +68,39 @@
+ void cloog_domain_print_constraints(FILE *foo, CloogDomain *domain,
+ int print_number)
+ {
++ isl_printer *printer;
+ isl_basic_set *bset;
+ isl_set *set = isl_set_from_cloog_domain(domain);
+
+- if (print_number)
+- isl_set_print(set, foo, 0, ISL_FORMAT_EXT_POLYLIB);
+- else {
++ printer = isl_printer_to_file(isl_set_get_ctx(set), foo);
++ printer = isl_printer_set_indent(printer, 0);
++ printer = isl_printer_set_prefix(printer, NULL);
++ printer = isl_printer_set_suffix(printer, NULL);
++
++ if (print_number) {
++ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
++ printer = isl_printer_print_set(printer, set);
++ } else {
+ assert(isl_set_n_basic_set(set) == 1);
+ bset = isl_set_copy_basic_set(set);
+- isl_basic_set_print(bset, foo,
+- 0, NULL, NULL, ISL_FORMAT_POLYLIB);
++ printer = isl_printer_set_output_format(printer, ISL_FORMAT_POLYLIB);
++ isl_printer_print_basic_set(printer, bset);
+ isl_basic_set_free(bset);
+ }
++
++ isl_printer_free(printer);
+ }
+
+
+ void cloog_scattering_print_constraints(FILE *foo, CloogScattering *scattering)
+ {
++ isl_printer *printer;
+ isl_map *map = isl_map_from_cloog_scattering(scattering);
+- isl_map_print(map, foo, 0, ISL_FORMAT_EXT_POLYLIB);
++ printer = isl_printer_to_file(isl_map_get_ctx(map), foo);
++ printer = isl_printer_set_indent(printer, 0);
++ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
++ printer = isl_printer_print_map(printer, map);
++ isl_printer_free(printer);
+ }
+
+
+@@ -343,6 +357,7 @@
+ void cloog_domain_print_structure(FILE *file, CloogDomain *domain, int level,
+ const char *name)
+ {
++ isl_printer *printer;
+ int i ;
+ isl_set *set = isl_set_from_cloog_domain(domain);
+
+@@ -358,7 +373,11 @@
+ for (i = 0; i < level+1; ++i)
+ fprintf(file, "|\t");
+
+- isl_set_print(set, file, 0, ISL_FORMAT_ISL);
++ printer = isl_printer_to_file(isl_set_get_ctx(set), file);
++ printer = isl_printer_set_indent(printer, 0);
++ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
++ printer = isl_printer_print_set(printer, set);
++ isl_printer_free(printer);
+
+ fprintf(file, "\n");
+ }
+--- a/source/isl/constraints.c
++++ b/source/isl/constraints.c
+@@ -450,7 +450,7 @@ CloogConstraintSet *cloog_constraint_set_copy(CloogConstraintSet *constraints)
+ {
+ isl_basic_set *bset;
+ bset = cloog_constraints_set_to_isl(constraints);
+- return cloog_constraint_set_from_isl_basic_set(isl_basic_set_dup(bset));
++ return cloog_constraint_set_from_isl_basic_set(isl_basic_set_copy(bset));
+ }
+
+
diff --git a/dev-libs/cloog/metadata.xml b/dev-libs/cloog/metadata.xml
new file mode 100644
index 000000000000..24428f7f4d1a
--- /dev/null
+++ b/dev-libs/cloog/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+ <maintainer>
+ <email>toolchain@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/collada-dom/Manifest b/dev-libs/collada-dom/Manifest
new file mode 100644
index 000000000000..bd9fdb062959
--- /dev/null
+++ b/dev-libs/collada-dom/Manifest
@@ -0,0 +1,2 @@
+DIST collada-dom-2.4.0.tgz 42517651 SHA256 5ca2d12f744bdceff0066ed3067b3b23d6859581fb0d657f98ba4487d8fa3896 SHA512 6de67dc0e631cd02c4bc5567667e7bcee4a41a137310326d5b8290e088a757f7313454028473df3e198f73b3c2db7572a437f7256e666b44ed34fe81d44229c1 WHIRLPOOL fedb8e8d8adeafdd8b4b6bf7860a005153d05fdcaed99949b8913ce51582f2bc5d4e4ff223ea012c2bba84eb889a7e5fb3c8752ad1ae0884fd0127a2a1e1b44f
+DIST collada-dom-2.4.3_pre20150112.tar.xz 2272092 SHA256 be928859dc71491420433aa86df03b14576bf97b0fa6982cde201b7dac120d98 SHA512 46c237c123a9d1b9cc8e07bf992b4386c064a3382b44be1347ab4bc6dce85f75ad59da0a5740f97c879c982e5a1119dcec5ced82d4dd725efd789021b0ead7f1 WHIRLPOOL a7e6266895ba6528ef680f5dbcecc8dd3a3c0d9227f9e53fdc31729dc5538b6aebbc110b9a9b6ba2aa77cf7ed863e0301c55db72a0b4766b780e900b8125a860
diff --git a/dev-libs/collada-dom/collada-dom-2.4.0.ebuild b/dev-libs/collada-dom/collada-dom-2.4.0.ebuild
new file mode 100644
index 000000000000..174791c9f727
--- /dev/null
+++ b/dev-libs/collada-dom/collada-dom-2.4.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
+HOMEPAGE="http://collada-dom.sourceforge.net/"
+SRC_URI="mirror://sourceforge/collada-dom/${P}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib:=[minizip]
+ dev-libs/libxml2
+ dev-libs/libpcre[cxx]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/dev-libs/collada-dom/collada-dom-2.4.3_pre20150112.ebuild b/dev-libs/collada-dom/collada-dom-2.4.3_pre20150112.ebuild
new file mode 100644
index 000000000000..8c9278537239
--- /dev/null
+++ b/dev-libs/collada-dom/collada-dom-2.4.3_pre20150112.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/rdiankov/collada-dom"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+elif [ "${PV%_pre*}" != "${PV}" ]; then
+ # snapshot
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
+HOMEPAGE="https://github.com/rdiankov/collada-dom"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib:=[minizip]
+ dev-libs/libxml2
+ dev-libs/libpcre[cxx]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/dev-libs/collada-dom/collada-dom-9999.ebuild b/dev-libs/collada-dom/collada-dom-9999.ebuild
new file mode 100644
index 000000000000..b6bdc5945366
--- /dev/null
+++ b/dev-libs/collada-dom/collada-dom-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/rdiankov/collada-dom"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
+HOMEPAGE="https://github.com/rdiankov/collada-dom"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib:=[minizip]
+ dev-libs/libxml2
+ dev-libs/libpcre[cxx]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/dev-libs/collada-dom/files/take_snapshot.sh b/dev-libs/collada-dom/files/take_snapshot.sh
new file mode 100755
index 000000000000..fcf9c75e3423
--- /dev/null
+++ b/dev-libs/collada-dom/files/take_snapshot.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+VERSION=$(date +%Y%m%d)
+PACKAGE="collada-dom-2.4.3_pre${VERSION}"
+
+git clone https://github.com/rdiankov/collada-dom ${PACKAGE}
+
+find "${PACKAGE}" -type d -name '.git' -prune -print0 | xargs -0 rm -rf
+
+tar cJf ${PACKAGE}.tar.xz ${PACKAGE}
+rm -rf ${PACKAGE}/
+
+echo "Tarball: \"${PACKAGE}.tar.xz\""
+
+echo "** all done **"
diff --git a/dev-libs/collada-dom/metadata.xml b/dev-libs/collada-dom/metadata.xml
new file mode 100644
index 000000000000..b259d804624b
--- /dev/null
+++ b/dev-libs/collada-dom/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rdiankov/collada-dom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/confuse/Manifest b/dev-libs/confuse/Manifest
new file mode 100644
index 000000000000..6e24bbd71065
--- /dev/null
+++ b/dev-libs/confuse/Manifest
@@ -0,0 +1 @@
+DIST confuse-2.7.tar.gz 517272 SHA256 e32574fd837e950778dac7ade40787dd2259ef8e28acd6ede6847ca895c88778 SHA512 c9a9236c4e15928bbf41da5c0d35f85e6f939a5247a37edf3f5b2921d27c9db3773c26f1bcaa8b6433b498c0920cc5d48bd5486dc394e17af112b36f49f95a42 WHIRLPOOL 22e657a1172005bc527951738540103c8ae7dbd61d70cb8dfb3bfc49bc01d102331f1187a4e8b0906161ac2e806a3d5cc781ce69cd5443560fe83b619fe8884e
diff --git a/dev-libs/confuse/confuse-2.7.ebuild b/dev-libs/confuse/confuse-2.7.ebuild
new file mode 100644
index 000000000000..66b216ab1bad
--- /dev/null
+++ b/dev-libs/confuse/confuse-2.7.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+DESCRIPTION="a configuration file parser library"
+HOMEPAGE="http://www.nongnu.org/confuse/"
+SRC_URI="mirror://nongnu/confuse/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="nls static-libs"
+
+DEPEND="sys-devel/flex
+ sys-devel/libtool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+RDEPEND="nls? ( virtual/libintl )"
+
+src_configure() {
+ # examples are normally compiled but not installed. They
+ # fail during a mingw crosscompile.
+ econf \
+ --enable-shared \
+ --disable-examples \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ doman doc/man/man3/*.3 || die
+ dodoc AUTHORS NEWS README || die
+ dohtml doc/html/* || die
+
+ docinto examples
+ dodoc examples/*.{c,conf} || die
+}
diff --git a/dev-libs/confuse/metadata.xml b/dev-libs/confuse/metadata.xml
new file mode 100644
index 000000000000..b6b8956cde34
--- /dev/null
+++ b/dev-libs/confuse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/console_bridge/Manifest b/dev-libs/console_bridge/Manifest
new file mode 100644
index 000000000000..7593f4806cdb
--- /dev/null
+++ b/dev-libs/console_bridge/Manifest
@@ -0,0 +1 @@
+DIST console_bridge-0.2.7.tar.gz 5493 SHA256 9145f0f97337fc87b4c062a4bab6874e383dad3a303486b635d31af69ee0d536 SHA512 86e8ccfc9c48f6a73630b9871f2b7a4c2a6cd975e5890a61e622cbc9bdc01af942a5ad4c8666c85ada584d3e3b57c9064b55c4942977b275248a91d3492ed492 WHIRLPOOL 4ba146ac9a8f57bf37e994b74e50d66c7a82cad9aa080b8eb2f067c3837b2f65c0b5aab1490892a2b89897af70a53d46d93c62decbd8cdc1952517a1e6b8d286
diff --git a/dev-libs/console_bridge/console_bridge-0.2.7.ebuild b/dev-libs/console_bridge/console_bridge-0.2.7.ebuild
new file mode 100644
index 000000000000..3bc6b4a7d8dd
--- /dev/null
+++ b/dev-libs/console_bridge/console_bridge-0.2.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/console_bridge"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/console_bridge/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="A ROS-independent package for logging into rosconsole/rosout for ROS-dependent packages."
+HOMEPAGE="http://wiki.ros.org/console_bridge"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/boost:=[threads]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -i -e "s/DESTINATION lib/DESTINATION $(get_libdir)/" CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
diff --git a/dev-libs/console_bridge/console_bridge-9999.ebuild b/dev-libs/console_bridge/console_bridge-9999.ebuild
new file mode 100644
index 000000000000..3bc6b4a7d8dd
--- /dev/null
+++ b/dev-libs/console_bridge/console_bridge-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/console_bridge"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/console_bridge/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="A ROS-independent package for logging into rosconsole/rosout for ROS-dependent packages."
+HOMEPAGE="http://wiki.ros.org/console_bridge"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/boost:=[threads]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -i -e "s/DESTINATION lib/DESTINATION $(get_libdir)/" CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
diff --git a/dev-libs/console_bridge/metadata.xml b/dev-libs/console_bridge/metadata.xml
new file mode 100644
index 000000000000..2cafc17dec1e
--- /dev/null
+++ b/dev-libs/console_bridge/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ros/console_bridge</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cpl-stratego/Manifest b/dev-libs/cpl-stratego/Manifest
new file mode 100644
index 000000000000..026bd1c1e6f8
--- /dev/null
+++ b/dev-libs/cpl-stratego/Manifest
@@ -0,0 +1 @@
+DIST cpl-stratego-0.4.tar.gz 146956 SHA256 9f41825d5667b241dcf1719ead59512dc1d5b41eec65baf4f4b73b34ecd0d3ee SHA512 05253a10b7359bedb99d9c8150018808d3961545f0b3e83a19acb8be94fca12a45503b14f96d02605b6a3453ffbfff542017e1e35e9c5ff48e719640a601f675 WHIRLPOOL 631d4420cfa310bc748847bd83980976911c562b569a61a795f251ddb0c45a4318293b6560d0862f3bb230d34d6ca723d83e99fac7f32d4274338f99ad445fdc
diff --git a/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild b/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild
new file mode 100644
index 000000000000..431e41ff6cd6
--- /dev/null
+++ b/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs
+
+DESCRIPTION="Choice library mostly used by Stratego"
+SRC_URI="ftp://ftp.stratego-language.org/pub/stratego/stratego/${P}.tar.gz"
+HOMEPAGE="http://www.stratego-language.org"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86 sparc ppc alpha ia64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ econf || die "./configure failed"
+ emake CC=$(tc-getCC) CC_DBG=$(tc-getCC) CC_GCC=$(tc-getCC)
+ CC_PROF=$(tc-getCC) || die
+}
+
+src_install () {
+ make DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README*
+}
diff --git a/dev-libs/cpl-stratego/metadata.xml b/dev-libs/cpl-stratego/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/cpl-stratego/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/cryptlib/Manifest b/dev-libs/cryptlib/Manifest
new file mode 100644
index 000000000000..1fd4be63327b
--- /dev/null
+++ b/dev-libs/cryptlib/Manifest
@@ -0,0 +1,2 @@
+DIST cl340.zip 5514751 SHA256 fff4cca9e70e579763882cd58bc8a5b36c52c20a7ace6c8b21c5e4e9e05fd9d5 SHA512 b9091ee4ce589f95ce479a0de25c5456db18d955350cc245637addf31f3c03cfe87c971f5a7bff274d17451059d319723cd337cb25a672e0823e29b98b4b87f8 WHIRLPOOL 8965d0c6b0e0bd38d0bbf674a75ac43ea7ea482218c6592d51d0baa7a6ff8673a27c8095084dc7d7cbca39c29bc9acdb6351d6a1f64f6cdc6c1bf906b2579cff
+DIST cryptlib-3.4.0-manual.pdf.bz2 1215921 SHA256 b06b736e6e123f578adcd08a8ede6cdb62e3e6d4ac2decb3570def1b29d44da8 SHA512 dbf9914a110a686dc23fedd23c16cefbae12cc67e378db67ac292f8f782b3b615a5819013f2b9c4861086c7ddfab690db9d68a911346102def323255cf48069b WHIRLPOOL 8cc64ab7ffe8a97714e793dd3dfe36708e7e2c7ec583479c593d767de22b860be5bcf0a70427f6f2e7e1d9732ec4ba2d2b3f1617f97bb649c0298924e4a93fb6
diff --git a/dev-libs/cryptlib/cryptlib-3.4.0-r1.ebuild b/dev-libs/cryptlib/cryptlib-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..026f344937b2
--- /dev/null
+++ b/dev-libs/cryptlib/cryptlib-3.4.0-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 eutils flag-o-matic multilib toolchain-funcs
+
+MY_PV="${PV//.}"
+
+DESCRIPTION="Powerful security toolkit for adding encryption to software"
+HOMEPAGE="http://www.cs.auckland.ac.nz/~pgut001/cryptlib/"
+DOC_PREFIX="${PN}-${PV}"
+SRC_URI="ftp://ftp.franken.de/pub/crypt/cryptlib/cl${MY_PV}.zip
+ doc? ( mirror://gentoo/${DOC_PREFIX}-manual.pdf.bz2 )"
+
+LICENSE="Sleepycat"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="doc ldap odbc python"
+
+S="${WORKDIR}"
+
+RDEPEND="sys-libs/zlib
+ ldap? ( net-nds/openldap )
+ odbc? ( dev-db/unixODBC )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+src_unpack() {
+ # we need the -a option, so we can not use 'unpack'
+ unzip -qoa "${DISTDIR}/cl${MY_PV}.zip"
+ use doc && unpack "${DOC_PREFIX}-manual.pdf.bz2"
+}
+
+wrap_python() {
+ if use python; then
+ # cd bindings || die
+
+ distutils-r1_${1}
+ fi
+}
+
+src_prepare() {
+ rm -fr zlib
+
+ # we want our own CFLAGS ;-)
+ sed -i -e "s:-m.*=pentium::g" -e "s:-fomit-frame-pointer::g" -e "s:-O2::g" \
+ -e "s:-O3::g" -e "s:-O4::g" makefile || die "sed makefile failed"
+ sed -i -e "s/-march=[[:alnum:]\.=-]*//g" -e "s/-mcpu=[[:alnum:]\.=-]*//g" \
+ -e "s:-O2::g" -e "s:-O3::g" tools/ccopts.sh || die "sed tools/ccopts.sh failed"
+
+ # change 'make' to '$(MAKE)'
+ sed -i -e "s:@\?make:\$(MAKE):g" makefile || die "sed makefile failed"
+
+ # NOTICE:
+ # Because of stack execution
+ # assembly parts are disabled.
+ sed -i -e 's:i\[3,4,5,6\]86:___:g' makefile || die "sed makefile failed"
+
+ # Fix version number of shared library.
+ sed -i -e 's/PLV="2"/PLV="3"/' tools/buildall.sh || die "sed tools/buildall.sh failed"
+
+ # Respect LDFLAGS and fix soname and strip issues.
+ epatch "${FILESDIR}/${PN}-3.3.2-ld.patch"
+
+ # Use external zlib.
+ epatch "${FILESDIR}/${PN}-3.4.0-external-zlib.patch"
+
+ # Fix setup.py
+ epatch "${FILESDIR}"/${P}-python.patch
+
+ # For some reason, setup.py is half-designed to be run from proper dir,
+ # and half-designed to be run from root. Since the patch fixes it to
+ # be completely from root, move it.
+ #
+ # When bumping the package, please update the patch to make setup.py work
+ # properly when executed from 'bindings' subdirectory.
+ mv bindings/setup.py . || die
+
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ local libname="libcl.so.${PV}"
+
+ # At least -O2 is needed.
+ replace-flags -O -O2
+ replace-flags -O0 -O2
+ replace-flags -O1 -O2
+ replace-flags -Os -O2
+ is-flagq -O* || append-flags -O2
+
+ append-flags "-D__UNIX__ -DOSVERSION=2 -DNDEBUG -I."
+
+ if [ -f /usr/include/pthread.h -a \
+ `grep -c PTHREAD_MUTEX_RECURSIVE /usr/include/pthread.h` -ge 0 ] ; then
+ append-flags "-DHAS_RECURSIVE_MUTEX"
+ fi
+ if [ -f /usr/include/pthread.h -a \
+ `grep -c PTHREAD_MUTEX_ROBUST /usr/include/pthread.h` -ge 0 ] ; then
+ append-flags "-DHAS_ROBUST_MUTEX"
+ fi
+
+ use ldap && append-flags -DHAS_LDAP
+ use odbc && append-flags -DHAS_ODBC
+
+ emake directories || die
+ emake toolscripts || die
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -c" Linux || die "emake static failed"
+
+ emake TARGET=${libname} OBJPATH="./shared-obj/" CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} -fPIC -c" Linux
+
+ if use python; then
+ ln -s libcl.so.${PV} libcl.so || die
+
+ # Python bindings don't work with -O2 and higher.
+ replace-flags -O* -O1
+
+ wrap_python ${FUNCNAME}
+ fi
+}
+
+src_install() {
+ dolib.so "libcl.so.${PV}"
+ dosym "libcl.so.${PV}" "/usr/$(get_libdir)/libcl.so"
+ dolib.a "libcl.a"
+
+ doheader cryptlib.h
+
+ dodoc README
+ if use doc; then
+ newdoc "${DOC_PREFIX}-manual.pdf" "manual.pdf"
+ fi
+
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/cryptlib/files/cryptlib-3.3.2-external-zlib.patch b/dev-libs/cryptlib/files/cryptlib-3.3.2-external-zlib.patch
new file mode 100644
index 000000000000..dcff438c90e9
--- /dev/null
+++ b/dev-libs/cryptlib/files/cryptlib-3.3.2-external-zlib.patch
@@ -0,0 +1,36 @@
+--- makefile
++++ makefile
+@@ -241,8 +241,7 @@
+
+ OBJS = $(BNOBJS) $(CERTOBJS) $(CRYPTOBJS) $(CTXOBJS) $(DEVOBJS) \
+ $(ENVOBJS) $(HASHOBJS) $(IOOBJS) $(KEYSETOBJS) $(KRNLOBJS) \
+- $(LIBOBJS) $(MECHOBJS) $(MISCOBJS) $(SESSOBJS) $(ZLIBOBJS) \
+- $(OSOBJS)
++ $(LIBOBJS) $(MECHOBJS) $(MISCOBJS) $(SESSOBJS) $(OSOBJS)
+
+ # Object files for the self-test code
+
+@@ -1299,7 +1298,7 @@
+
+ $(SLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS)
+ @./tools/buildsharedlib.sh $(OSNAME) $(SLIBNAME) $(LD) $(OBJS) \
+- $(EXTRAOBJS)
++ $(EXTRAOBJS) -lz
+
+ $(DYLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS)
+ @$(LD) -dynamiclib -compatibility_version $(MAJ).$(MIN) \
+--- envelope/envelope.h
++++ envelope/envelope.h
+@@ -17,11 +17,7 @@
+ #endif /* Compiler-specific includes */
+ #endif /* _STREAM_DEFINED */
+ #ifdef USE_COMPRESSION
+- #if defined( INC_ALL )
+- #include "zlib.h"
+- #else
+- #include "zlib/zlib.h"
+- #endif /* Compiler-specific includes */
++ #include <zlib.h>
+ #endif /* USE_COMPRESSION */
+
+ /****************************************************************************
diff --git a/dev-libs/cryptlib/files/cryptlib-3.3.2-ld.patch b/dev-libs/cryptlib/files/cryptlib-3.3.2-ld.patch
new file mode 100644
index 000000000000..e54f88fc3c73
--- /dev/null
+++ b/dev-libs/cryptlib/files/cryptlib-3.3.2-ld.patch
@@ -0,0 +1,19 @@
+--- tools/buildsharedlib.sh
++++ tools/buildsharedlib.sh
+@@ -115,13 +115,13 @@
+ *)
+ if [ `$LD -v 2>&1 | grep -c gcc` -gt 0 -a \
+ `gcc -Wl,-Bsymbolic 2>&1 | grep -c unrecognized` = 0 ] ; then
+- $LD -shared -Wl,-Bsymbolic -o $LIBNAME `cat $LINKFILE` `./tools/getlibs.sh autodetect` ;
++ $LD -shared $LDFLAGS -Wl,-soname,$LIBNAME -Wl,-Bsymbolic -o $LIBNAME `cat $LINKFILE` `./tools/getlibs.sh autodetect` ;
+ else
+- $LD -shared -o $LIBNAME `cat $LINKFILE` `./tools/getlibs.sh autodetect` ;
++ $LD -shared $LDFLAGS -Wl,-soname,$LIBNAME -o $LIBNAME `cat $LINKFILE` `./tools/getlibs.sh autodetect` ;
+ fi
+ if [ `which objdump` -a `objdump -p $LIBNAME | grep -c TEXTREL` -gt '0' ] ; then
+ echo "Warning: Shared library still contains TEXTREL records." ;
+ fi
+- strip $LIBNAME ;;
++ ;;
+ esac
+ rm -f $LINKFILE
diff --git a/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch b/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch
new file mode 100644
index 000000000000..5b599b76294a
--- /dev/null
+++ b/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch
@@ -0,0 +1,35 @@
+--- makefile 2011-01-18 14:23:05.000000000 -0500
++++ makefile.new 2011-01-18 14:25:47.000000000 -0500
+@@ -259,7 +259,7 @@
+ OBJS = $(BNOBJS) $(CERTOBJS) $(CRYPTOBJS) $(CTXOBJS) $(DEVOBJS) \
+ $(ENCDECOBJS) $(ENVOBJS) $(HASHOBJS) $(IOOBJS) $(KEYSETOBJS) \
+ $(KRNLOBJS) $(LIBOBJS) $(MECHOBJS) $(MISCOBJS) $(SESSOBJS) \
+- $(ZLIBOBJS) $(OSOBJS)
++ $(OSOBJS)
+
+ # Object files for the self-test code
+
+@@ -1477,7 +1477,7 @@
+
+ $(SLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS)
+ @./tools/buildsharedlib.sh $(OSNAME) $(SLIBNAME) $(LD) $(OBJS) \
+- $(EXTRAOBJS)
++ $(EXTRAOBJS) -lz
+
+ $(DYLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS)
+ @$(LD) -dynamiclib -compatibility_version $(MAJ).$(MIN) \
+--- envelope/envelope.h 2010-12-14 23:16:40.000000000 -0500
++++ envelope.h.new 2011-01-18 14:28:06.000000000 -0500
+@@ -17,11 +17,7 @@
+ #endif /* Compiler-specific includes */
+ #endif /* _STREAM_DEFINED */
+ #ifdef USE_COMPRESSION
+- #if defined( INC_ALL )
+- #include "zlib.h"
+- #else
+- #include "zlib/zlib.h"
+- #endif /* Compiler-specific includes */
++ #include <zlib.h>
+ #endif /* USE_COMPRESSION */
+
+ /****************************************************************************
diff --git a/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch b/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch
new file mode 100644
index 000000000000..e7aa41376497
--- /dev/null
+++ b/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch
@@ -0,0 +1,50 @@
+--- bindings/setup.py 2010-12-13 04:51:58.000000000 -0500
++++ setup.py.new 2011-01-19 08:41:40.000000000 -0500
+@@ -15,7 +15,7 @@
+ ext = Extension("cryptlib_py",
+ sources=["bindings/python.c"],
+- library_dirs=['..'],
++ library_dirs=['.'],
+- libraries=['cl'])
++ libraries=['cl','resolv'])
+
+ setup(name="cryptlib_py", ext_modules=[ext])
+
+--- bindings/python.c 2010-11-30 18:35:52.000000000 -0500
++++ python.c.new 2011-01-19 09:05:43.000000000 -0500
+@@ -358,6 +358,7 @@
+ return(processStatus(status));
+ }
+
++/*
+ static PyObject* python_cryptGenerateKeyAsync(PyObject* self, PyObject* args)
+ {
+ int status = 0;
+@@ -396,6 +397,7 @@
+
+ return(processStatus(status));
+ }
++*/
+
+ static PyObject* python_cryptEncrypt(PyObject* self, PyObject* args)
+ {
+@@ -1429,9 +1431,9 @@
+ { "cryptDestroyContext", python_cryptDestroyContext, METH_VARARGS },
+ { "cryptDestroyObject", python_cryptDestroyObject, METH_VARARGS },
+ { "cryptGenerateKey", python_cryptGenerateKey, METH_VARARGS },
+- { "cryptGenerateKeyAsync", python_cryptGenerateKeyAsync, METH_VARARGS },
+- { "cryptAsyncQuery", python_cryptAsyncQuery, METH_VARARGS },
+- { "cryptAsyncCancel", python_cryptAsyncCancel, METH_VARARGS },
++// { "cryptGenerateKeyAsync", python_cryptGenerateKeyAsync, METH_VARARGS },
++// { "cryptAsyncQuery", python_cryptAsyncQuery, METH_VARARGS },
++// { "cryptAsyncCancel", python_cryptAsyncCancel, METH_VARARGS },
+ { "cryptEncrypt", python_cryptEncrypt, METH_VARARGS },
+ { "cryptDecrypt", python_cryptDecrypt, METH_VARARGS },
+ { "cryptSetAttribute", python_cryptSetAttribute, METH_VARARGS },
+@@ -4892,4 +4894,4 @@
+ v = Py_BuildValue("i", -50);
+ PyDict_SetItemString(moduleDict, "CRYPT_ENVELOPE_RESOURCE", v);
+ Py_DECREF(v); /* Need resource to proceed */
+-}
+\ No newline at end of file
++}
diff --git a/dev-libs/cryptlib/metadata.xml b/dev-libs/cryptlib/metadata.xml
new file mode 100644
index 000000000000..d68fe974c15a
--- /dev/null
+++ b/dev-libs/cryptlib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
new file mode 100644
index 000000000000..dfd907ca44eb
--- /dev/null
+++ b/dev-libs/crypto++/Manifest
@@ -0,0 +1 @@
+DIST cryptopp562.zip 1137964 SHA256 5cbfd2fcb4a6b3aab35902e2e0f3b59d9171fee12b3fc2b363e1801dfec53574 SHA512 016ca7ebad1091d67ad0bc5ccb7549d96d4af6b563d9d5a612cae27b3d1a3514c41b954e319fed91c820e8c701e3aa43da186e0864bf959ce4afd1539248ebbe WHIRLPOOL e31203da48a31b09e6ea48a75aa64fe5fd27fd370a1a609c4387526f09daab7582716563b688c0c81a8c3b200b8ffa7bdb2b981e5911640e5f1c172d6027f6ac
diff --git a/dev-libs/crypto++/crypto++-5.6.2-r1.ebuild b/dev-libs/crypto++/crypto++-5.6.2-r1.ebuild
new file mode 100644
index 000000000000..e3496e8639f9
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-5.6.2-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs autotools
+
+DESCRIPTION="C++ class library of cryptographic schemes"
+HOMEPAGE="http://cryptopp.com"
+SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x64-macos"
+IUSE="static-libs"
+
+DEPEND="app-arch/unzip
+ sys-devel/libtool"
+
+S=${WORKDIR}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-r1-make.patch
+
+ # Generate our own libtool script for building.
+ cat <<-EOF > configure.ac
+ AC_INIT(lt, 0)
+ AM_INIT_AUTOMAKE
+ AC_PROG_CXX
+ LT_INIT
+ AC_CONFIG_FILES(Makefile)
+ AC_OUTPUT
+ EOF
+ touch NEWS README AUTHORS ChangeLog Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ # higher optimizations cause problems
+ replace-flags -O? -O1
+ filter-flags -fomit-frame-pointer
+ # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
+ [[ ${CHOST} == *-darwin* ]] && append-flags -DCRYPTOPP_DISABLE_X86ASM
+
+ emake -f GNUmakefile CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" LIBTOOL="./libtool"
+}
+
+src_test() {
+ # ensure that all test vectors have Unix line endings
+ local file
+ for file in TestVectors/* ; do
+ edos2unix ${file}
+ done
+
+ if ! emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" test ; then
+ eerror "Crypto++ self-tests failed."
+ eerror "Try to remove some optimization flags and reemerge Crypto++."
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" LIBTOOL="./libtool" install
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.la
+}
diff --git a/dev-libs/crypto++/crypto++-5.6.2-r2.ebuild b/dev-libs/crypto++/crypto++-5.6.2-r2.ebuild
new file mode 100644
index 000000000000..57b4f460310d
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-5.6.2-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs autotools
+
+DESCRIPTION="C++ class library of cryptographic schemes"
+HOMEPAGE="http://cryptopp.com"
+SRC_URI="mirror://sourceforge/cryptopp/cryptopp${PV//.}.zip"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x64-macos"
+IUSE="static-libs"
+
+DEPEND="app-arch/unzip
+ sys-devel/libtool"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-r1-make.patch
+ epatch "${FILESDIR}"/${P}-cve-2015-2141.patch
+
+ # Generate our own libtool script for building.
+ cat <<-EOF > configure.ac
+ AC_INIT(lt, 0)
+ AM_INIT_AUTOMAKE
+ AC_PROG_CXX
+ LT_INIT
+ AC_CONFIG_FILES(Makefile)
+ AC_OUTPUT
+ EOF
+ touch NEWS README AUTHORS ChangeLog Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ # higher optimizations cause problems
+ replace-flags -O? -O1
+ filter-flags -fomit-frame-pointer
+ # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
+ [[ ${CHOST} == *-darwin* ]] && append-flags -DCRYPTOPP_DISABLE_X86ASM
+
+ emake -f GNUmakefile CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" LIBTOOL="./libtool"
+}
+
+src_test() {
+ # ensure that all test vectors have Unix line endings
+ local file
+ for file in TestVectors/* ; do
+ edos2unix ${file}
+ done
+
+ if ! emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" test ; then
+ eerror "Crypto++ self-tests failed."
+ eerror "Try to remove some optimization flags and reemerge Crypto++."
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" LIBTOOL="./libtool" install
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.la
+}
diff --git a/dev-libs/crypto++/files/crypto++-5.6.2-cve-2015-2141.patch b/dev-libs/crypto++/files/crypto++-5.6.2-cve-2015-2141.patch
new file mode 100644
index 000000000000..32c5164609e9
--- /dev/null
+++ b/dev-libs/crypto++/files/crypto++-5.6.2-cve-2015-2141.patch
@@ -0,0 +1,32 @@
+From 9425e16437439e68c7d96abef922167d68fafaff Mon Sep 17 00:00:00 2001
+From: Jeffrey Walton <noloader@gmail.com>
+Date: Sat, 27 Jun 2015 17:56:01 -0400
+Subject: [PATCH] Fix for CVE-2015-2141. Thanks to Evgeny Sidorov for
+ reporting. Squaring to satisfy Jacobi requirements suggested by JPM.
+
+---
+ rw.cpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/rw.cpp b/rw.cpp
+index cdd9f2d..0b9318b 100644
+--- a/rw.cpp
++++ b/rw.cpp
+@@ -126,10 +126,16 @@ Integer InvertibleRWFunction::CalculateInverse(RandomNumberGenerator &rng, const
+ DoQuickSanityCheck();
+ ModularArithmetic modn(m_n);
+ Integer r, rInv;
+- do { // do this in a loop for people using small numbers for testing
++
++ // do this in a loop for people using small numbers for testing
++ do {
+ r.Randomize(rng, Integer::One(), m_n - Integer::One());
++ // Fix for CVE-2015-2141. Thanks to Evgeny Sidorov for reporting.
++ // Squaring to satisfy Jacobi requirements suggested by JPM.
++ r = modn.Square(r);
+ rInv = modn.MultiplicativeInverse(r);
+ } while (rInv.IsZero());
++
+ Integer re = modn.Square(r);
+ re = modn.Multiply(re, x); // blind
+
diff --git a/dev-libs/crypto++/files/crypto++-5.6.2-r1-make.patch b/dev-libs/crypto++/files/crypto++-5.6.2-r1-make.patch
new file mode 100644
index 000000000000..854d8d79dba5
--- /dev/null
+++ b/dev-libs/crypto++/files/crypto++-5.6.2-r1-make.patch
@@ -0,0 +1,150 @@
+--- cryptopp562/GNUmakefile
++++ cryptopp562/GNUmakefile
+@@ -1,3 +1,5 @@
++LIBTOOL = libtool
++LIBDIR = lib
+ CXXFLAGS = -DNDEBUG -g -O2
+ # -O3 fails to link on Cygwin GCC version 4.5.3
+ # -fPIC is supported. Please report any breakage of -fPIC as a bug.
+@@ -7,8 +9,9 @@
+ # LDFLAGS += -Wl,--gc-sections
+ ARFLAGS = -cr # ar needs the dash on OpenBSD
+ RANLIB = ranlib
+-CP = cp
++LN_S = ln -s
+ MKDIR = mkdir
++INSTALL = install
+ EGREP = egrep
+ UNAME = $(shell uname)
+ ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64")
+@@ -79,8 +82,11 @@
+ LDLIBS += -lws2_32
+ endif
+
++THREAD_LIBS =
++
+ ifeq ($(IS_LINUX),1)
+ LDFLAGS += -pthread
++THREAD_LIBS += -lpthread
+ ifneq ($(shell uname -i | $(EGREP) -c "(_64|d64)"),0)
+ M32OR64 = -m64
+ endif
+@@ -126,54 +132,52 @@
+ SRCS = $(shell echo *.cpp)
+ endif
+
+-OBJS = $(SRCS:.cpp=.o)
+-# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
+-TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
++OBJS = $(SRCS:.cpp=.lo)
++# test.lo needs to be after bench.lo for cygwin 1.1.4 (possible ld bug?)
++TESTOBJS = bench.lo bench2.lo test.lo validat1.lo validat2.lo validat3.lo adhoc.lo datatest.lo regtest.lo fipsalgt.lo dlltest.lo
+ LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS))
+
+ DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
+-DLLOBJS = $(DLLSRCS:.cpp=.export.o)
+-LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
+-TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
+-DLLTESTOBJS = dlltest.dllonly.o
+-
+-all: cryptest.exe
+-static: libcryptopp.a
+-dynamic: libcryptopp.so
++DLLOBJS = $(DLLSRCS:.cpp=.export.lo)
++LIBIMPORTOBJS = $(LIBOBJS:.lo=.import.lo)
++TESTIMPORTOBJS = $(TESTOBJS:.lo=.import.lo)
++DLLTESTOBJS = dlltest.dllonly.lo
++
++all: libcrypto++.la
+
+-test: cryptest.exe
+- ./cryptest.exe v
++test: cryptest
++ ./cryptest v
+
+ clean:
+- -$(RM) cryptest.exe libcryptopp.a libcryptopp.so $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTI MPORTOBJS) $(DLLTESTOBJS)
++ $(RM) -f .libs cryptest libcrypto++.* libcryptopp.* $(LIBOBJS) $(TESTOBJS) cryptopp.dll cryptest.import dlltest $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
++
+
+ install:
+- $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
+- -$(CP) *.h $(PREFIX)/include/cryptopp
+- -$(CP) *.a $(PREFIX)/lib
+- -$(CP) *.so $(PREFIX)/lib
+- -$(CP) *.exe $(PREFIX)/bin
++ $(MKDIR) -p $(DESTDIR)$(PREFIX)/include/crypto++ $(DESTDIR)$(PREFIX)/$(LIBDIR)
++ $(INSTALL) -m 644 *.h $(DESTDIR)$(PREFIX)/include/crypto++
++ $(LN_S) crypto++ $(DESTDIR)$(PREFIX)/include/cryptopp
++ $(LIBTOOL) --mode=install $(INSTALL) libcrypto++.la $(DESTDIR)$(PREFIX)/$(LIBDIR)
++ set -e; \
++ for f in $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcrypto++*; do \
++ $(LN_S) $${f##*/} `echo $$f | sed "s:libcrypto++:libcryptopp:"`; \
++ done
+
+ remove:
+- -$(RM) -rf $(PREFIX)/include/cryptopp
+- -$(RM) $(PREFIX)/lib/libcryptopp.a
+- -$(RM) $(PREFIX)/lib/libcryptopp.so
+- -$(RM) $(PREFIX)/bin/cryptest.exe
+-
+-libcryptopp.a: $(LIBOBJS)
+- $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+- $(RANLIB) $@
++ $(RM) -rf $(DESTDIR)$(PREFIX)/include/crypto++
++ $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.*
++ $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcrypto++.*
++ $(RM) $(DESTDIR)$(PREFIX)/bin/cryptest
+
+-libcryptopp.so: $(LIBOBJS)
+- $(CXX) -shared -o $@ $(LIBOBJS)
++libcrypto++.la: $(LIBOBJS)
++ $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(LDFLAGS) -rpath $(PREFIX)/$(LIBDIR) -o $@ $(LIBOBJS) $(THREAD_LIBS)
+
+-cryptest.exe: libcryptopp.a $(TESTOBJS)
+- $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
++cryptest: libcrypto++.la $(TESTOBJS)
++ $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(LDFLAGS) -o $@ $(TESTOBJS) -L. -lcrypto++ $(LDLIBS) $(THREAD_LIBS)
+
+ nolib: $(OBJS) # makes it faster to test changes
+- $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
++ $(LIBTOOL) --tag=CXX --mode=link $(CXX) -o ct $(LDFLAGS) $(OBJS) $(LDLIBS) $(THREAD_LIBS)
+
+-dll: cryptest.import.exe dlltest.exe
++dll: cryptest.import dlltest
+
+ cryptopp.dll: $(DLLOBJS)
+ $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
+@@ -182,10 +186,10 @@
+ $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
+ $(RANLIB) $@
+
+-cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
++cryptest.import: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
+ $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
+
+-dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
++dlltest: cryptopp.dll $(DLLTESTOBJS)
+ $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
+
+ adhoc.cpp: adhoc.cpp.proto
+@@ -195,14 +199,14 @@
+ touch adhoc.cpp
+ endif
+
+-%.dllonly.o : %.cpp
++%.dllonly.lo : %.cpp
+ $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@
+
+-%.import.o : %.cpp
++%.import.lo : %.cpp
+ $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@
+
+-%.export.o : %.cpp
++%.export.lo : %.cpp
+ $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@
+
+-%.o : %.cpp
+- $(CXX) $(CXXFLAGS) -c $<
++%.lo : %.cpp
++ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(CXXFLAGS) -c $<
diff --git a/dev-libs/crypto++/metadata.xml b/dev-libs/crypto++/metadata.xml
new file mode 100644
index 000000000000..a7483fddbd80
--- /dev/null
+++ b/dev-libs/crypto++/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <upstream>
+ <remote-id type="sourceforge">cryptopp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cvector/Manifest b/dev-libs/cvector/Manifest
new file mode 100644
index 000000000000..185df49b53c1
--- /dev/null
+++ b/dev-libs/cvector/Manifest
@@ -0,0 +1,2 @@
+DIST CVector-1.0.3.1.tar.gz 19761 SHA256 6492b2beb26c3179cdd19abc90dc47a685be471c594d5ab664283e1d3586acdc SHA512 41300e46873efa8a2cfc44c76788025385fa7b7a108cf9dd95e4e28d515d825d4a44786a7ffb130d727a42907d56e4f62e6f75a02c96333b6afdc06c336d538e WHIRLPOOL 507a2bf047bf84e7f5dab06fc6e715384bf013944331b1f8356cbb6e5fa2997442bfe1c3b95b426154e13cd9253a0330f0abb58b93f13b957836ba80fc49f9d6
+DIST CVector-1.0.3.tar.gz 41642 SHA256 d3fa92de3cd5ba8697abdbb52080248b2c252a81cf40a8ec639be301518d0ce3 SHA512 f43030d95aeb6ef230dada13903ad56049acd15379a0c04e08b6ce8d7df7baffa3bac166af0c3c93f018e00058e07680af655e71bc0d542a6da2ad1f18e95788 WHIRLPOOL 67c3a9c043388c05a418973f687eb5aee9e09a297b127deb93c1166eda5159f0b0fc63015ec68b5097551966ffe4229c60bdda671362b0e5470fd8891bd37413
diff --git a/dev-libs/cvector/cvector-1.0.3-r1.ebuild b/dev-libs/cvector/cvector-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..02c24e49df69
--- /dev/null
+++ b/dev-libs/cvector/cvector-1.0.3-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit base eutils toolchain-funcs versionator
+
+MY_PN=CVector
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="An ANSI C implementation of dynamic arrays to provide a crude approximation to the C++ vector class"
+HOMEPAGE="http://cvector.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-LDFLAGS.patch
+ "${FILESDIR}"/${PV}-dynlib.patch
+ )
+
+src_compile() {
+ emake \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ CFLAGS="${CFLAGS}" \
+ all || die
+}
+
+src_install() {
+ dolib.so *.so.${PV} || die
+ dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so.$(get_version_component_range 1-2) || die
+ dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so.$(get_major_version) || die
+ dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so || die
+
+ insinto /usr/include
+ doins *.h || die
+
+ dodoc README_CVector.txt || die
+}
diff --git a/dev-libs/cvector/cvector-1.0.3.1.ebuild b/dev-libs/cvector/cvector-1.0.3.1.ebuild
new file mode 100644
index 000000000000..0f8dc7bfab4f
--- /dev/null
+++ b/dev-libs/cvector/cvector-1.0.3.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit base eutils toolchain-funcs versionator
+
+MY_PN=CVector
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="An ANSI C implementation of dynamic arrays to provide a crude approximation to the C++ vector class"
+HOMEPAGE="http://cvector.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_PN}-$(get_version_component_range 1-3)/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-LDFLAGS.patch
+ "${FILESDIR}"/1.0.3-dynlib.patch
+ )
+
+src_compile() {
+ emake \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ CFLAGS="${CFLAGS}" \
+ all
+}
+
+src_install() {
+ ln -sf libCVector.so.$(get_version_component_range 1-3) libCVector.so.$(get_major_version) || die
+ ln -sf libCVector.so.$(get_version_component_range 1-3) libCVector.so || die
+ dolib.so libCVector.so*
+
+ doheader *.h
+
+ dodoc README_CVector.txt
+}
diff --git a/dev-libs/cvector/files/1.0.3-LDFLAGS.patch b/dev-libs/cvector/files/1.0.3-LDFLAGS.patch
new file mode 100644
index 000000000000..7e54e8120245
--- /dev/null
+++ b/dev-libs/cvector/files/1.0.3-LDFLAGS.patch
@@ -0,0 +1,17 @@
+--- Makefile 2009-07-08 04:02:56.000000000 +0200
++++ Makefile.new 2009-07-25 11:59:27.000000000 +0200
+@@ -89,10 +89,10 @@
+ endif
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/lib
+-BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -shared -I $(INSTALL_PREFIX)/include
+-BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALL_PREFIX)/include
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined $(LDFLAGS)
++BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -shared
++BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -static
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
diff --git a/dev-libs/cvector/files/1.0.3-dynlib.patch b/dev-libs/cvector/files/1.0.3-dynlib.patch
new file mode 100644
index 000000000000..219f258136ed
--- /dev/null
+++ b/dev-libs/cvector/files/1.0.3-dynlib.patch
@@ -0,0 +1,36 @@
+diff --git a/Makefile b/Makefile
+index 865db81..2691108 100644
+--- a/Makefile
++++ b/Makefile
+@@ -96,8 +96,8 @@ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(IN
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
+-OBJ_EXT = lo
+-LIB_EXT = la
++OBJ_EXT = o
++LIB_EXT = so
+
+ ######################################################################
+ # You should not need to make modifications below this line #
+@@ -181,8 +181,7 @@ default:
+ # Compile the library and examples
+ #
+ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+- $(LIB)/libCVector.$(LIB_EXT) \
+- $(BIN)/CVectorBasicTest
++ $(LIB)/libCVector.$(LIB_EXT)
+
+ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include \
+ $(INC) $(LIB)/libCVector.$(LIB_EXT) $(INC)/CVector.h
+@@ -232,8 +231,8 @@ $(BIN):
+ # CVector library
+ #
+ $(LIB)/libCVector.$(LIB_EXT): $(SOURCE) $(HEADERS) $(COMMONDEP)
+- $(COMPILE_COMMAND) -c $(SOURCE)
+- $(LIBRARY_LINK_COMMAND) -o $(LIB)/libCVector.$(LIB_EXT) *.$(OBJ_EXT)
++ $(CC) $(CFLAGS) -fPIC -c $(SOURCE) -o CVector.o -I.
++ $(CC) $(LDFLAGS) -Wl,--soname,libCVector.so.1 -shared -o libCVector.so.$(RELEASE) *.$(OBJ_EXT) -lm
+
+ #
+ # CVectorBasicTest example program
diff --git a/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch b/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch
new file mode 100644
index 000000000000..8bed3ab01546
--- /dev/null
+++ b/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch
@@ -0,0 +1,17 @@
+--- Makefile 2009-07-08 04:02:56.000000000 +0200
++++ Makefile.new 2009-07-25 11:59:27.000000000 +0200
+@@ -89,10 +89,10 @@
+ endif
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/lib
+-BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic -I $(INSTALL_PREFIX)/include
+-BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALL_PREFIX)/include
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined $(LDFLAGS)
++BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -shared
++BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -static
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
diff --git a/dev-libs/cvector/metadata.xml b/dev-libs/cvector/metadata.xml
new file mode 100644
index 000000000000..b85f98e6bb05
--- /dev/null
+++ b/dev-libs/cvector/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">cvector</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cxxtools/Manifest b/dev-libs/cxxtools/Manifest
new file mode 100644
index 000000000000..cc6329202075
--- /dev/null
+++ b/dev-libs/cxxtools/Manifest
@@ -0,0 +1,2 @@
+DIST cxxtools-1.4.8.tar.gz 451807 SHA256 95476dce9f47c87b46806b072d2327d221e50b1502ad44413074d70fc084bde1 SHA512 40a61fc3e4fe283313894a6a0082b6ecb9e8416acd5a3c6f52aa9bccff232d31c3f95b8b4792d4f6bd33702762f0f4f638be51cb5516dfa518c3aa04de631924 WHIRLPOOL 290e579505237a77a0a9a13f8a9286118d5f4afaadbbf7fee162cd22ab1314a6561586c67b12c50780cb16b3cfd39da5f7c9ab5785695b4dc4e7dc3fc7f74331
+DIST cxxtools-2.2.1.tar.gz 821324 SHA256 8cebb6d6cda7c93cc4f7c0d552a68d50dd5530b699cf87916bb3b708fdc4e342 SHA512 b6dc3f63c39fbbc35af973eea668a44d30673140c72bfa7efbdc21a71816be2983e85312b9213264d4f5162c3e420eedb41974bacb7fe8176f2a069b6f8f6f7b WHIRLPOOL fe9a23d2bf585065a46d71081af921267853043a575df7e072812843bbe9b6cb9ad790086c9d7bb2916fb9af7e229874a476b5a0b499e9c5b0dee06afe1bf48f
diff --git a/dev-libs/cxxtools/cxxtools-1.4.8.ebuild b/dev-libs/cxxtools/cxxtools-1.4.8.ebuild
new file mode 100644
index 000000000000..d1217cf3b29e
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-1.4.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils
+
+DESCRIPTION="Collection of general purpose C++-classes"
+HOMEPAGE="http://www.tntnet.org/cxxtools.hms"
+SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+IUSE=""
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc44.patch
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog
+}
diff --git a/dev-libs/cxxtools/cxxtools-2.2.1.ebuild b/dev-libs/cxxtools/cxxtools-2.2.1.ebuild
new file mode 100644
index 000000000000..40de822fce7c
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-2.2.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Collection of general purpose C++-classes"
+HOMEPAGE="http://www.tntnet.org/cxxtools.hms"
+SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+IUSE=""
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-demos \
+ --disable-unittest
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog
+}
diff --git a/dev-libs/cxxtools/files/cxxtools-1.4.8-gcc44.patch b/dev-libs/cxxtools/files/cxxtools-1.4.8-gcc44.patch
new file mode 100644
index 000000000000..6ab10f353fd9
--- /dev/null
+++ b/dev-libs/cxxtools/files/cxxtools-1.4.8-gcc44.patch
@@ -0,0 +1,12 @@
+diff -ur cxxtools-1.4.8.orig/src/hdstream.cpp cxxtools-1.4.8/src/hdstream.cpp
+--- cxxtools-1.4.8.orig/src/hdstream.cpp 2008-05-04 18:55:37.000000000 +0300
++++ cxxtools-1.4.8/src/hdstream.cpp 2009-08-07 19:27:40.000000000 +0300
+@@ -20,6 +20,8 @@
+ */
+
+ #include "cxxtools/hdstream.h"
++
++#include <cstdio>
+ #include <iomanip>
+ #include <cctype>
+
diff --git a/dev-libs/cxxtools/metadata.xml b/dev-libs/cxxtools/metadata.xml
new file mode 100644
index 000000000000..5f9f14619db8
--- /dev/null
+++ b/dev-libs/cxxtools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>media-tv</herd>
+<maintainer>
+<email>vdr@gentoo.org</email>
+<name>Gentoo VDR Project</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/cyberjack/Manifest b/dev-libs/cyberjack/Manifest
new file mode 100644
index 000000000000..17389fb3b585
--- /dev/null
+++ b/dev-libs/cyberjack/Manifest
@@ -0,0 +1,2 @@
+DIST pcsc-cyberjack-3.99.5final.SP05.tar.bz2 761177 SHA256 ac35afef89660cd43edabc4146463edf6b8361d1c7a7e1880239362167d3b311 SHA512 634be5a0b1619423ebaeed9523ada95056725929ee68a1f9bb8a6d22285836f17a7de4fb634010d49fc49c952f0ba8759466ef5f90ffcbb0f9a392b2dfacaa9c WHIRLPOOL 860872054b2c397e67f36c8d211e1461ad6039615f117e2f177b7d6cdd9d46aa3a4b83f13f2a349dd27e3b323f4d70b89c831e491f72475dcc459b8110162184
+DIST pcsc-cyberjack_3.99.5final.SP03.tar.gz 1485952 SHA256 fa5324d8a270d50aec20345cb57362f684ddadd3a50dbd0773ee13d2d87bc0a9 SHA512 a091a09b501d7a7c757f0a458007f44ac281cbeaaf5bc3c2aa89915ee7a39478e6f80b6f24fec77be753c8d77deeda2858b7a806e3c982f54c199bd797288e05 WHIRLPOOL 51429512a9037e6ec4a98cc33576176cafda5fe3a3b33c56b2d928c7a7bc06135ac93e92a713836e4dc20e90f6106f9ca3643de5baed7c25672c26f6fc4a6368
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p03-r1.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p03-r1.ebuild
new file mode 100644
index 000000000000..da4ac2a28b0d
--- /dev/null
+++ b/dev-libs/cyberjack/cyberjack-3.99.5_p03-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info toolchain-funcs udev
+
+MY_P=pcsc-${PN}_${PV/_p/final.SP}
+
+DESCRIPTION="REINER SCT cyberJack pinpad/e-com USB user space driver library"
+HOMEPAGE="http://www.reiner-sct.de/ http://www.libchipcard.de/"
+SRC_URI="http://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="fox udev xml"
+
+COMMON_DEPEND="sys-apps/pcsc-lite
+ virtual/libusb:1
+ fox? ( >=x11-libs/fox-1.6 )
+ xml? ( dev-libs/libxml2 )"
+RDEPEND="${COMMON_DEPEND}
+ udev? ( virtual/udev )"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P/_/-}
+
+DOCS="ChangeLog NEWS doc/*.txt"
+
+pkg_setup() {
+ CONFIG_CHECK="~USB_SERIAL_CYBERJACK"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+}
+
+src_configure() {
+ econf \
+ --mandir=/usr/share/man/man8 \
+ --sysconfdir=/etc/${PN} \
+ --disable-hal \
+ --enable-pcsc \
+ $(use_enable xml xml2) \
+ $(use_enable fox) \
+ --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
+}
+
+src_install() {
+ default
+
+ rm -f "${ED}"/usr/lib*/${PN}/pcscd_init.diff
+ prune_libtool_files --all
+
+ use udev && udev_newrules "${FILESDIR}"/${PN}.rules 92-${PN}.rules #388329
+}
+
+pkg_postinst() {
+ local conf="${EROOT}etc/${PN}/${PN}.conf"
+ elog
+ elog "To configure logging, key beep behaviour etc. you need to"
+ elog "copy ${conf}.default"
+ elog "to ${conf}"
+ elog "and modify the latter as needed."
+ elog
+}
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p05.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p05.ebuild
new file mode 100644
index 000000000000..ca26dc91aa63
--- /dev/null
+++ b/dev-libs/cyberjack/cyberjack-3.99.5_p05.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools versionator eutils linux-info toolchain-funcs udev
+
+MY_PV="${PV/_p/_SP}"
+MY_PV2="${PV/_p/final.SP}"
+MY_P="pcsc-${PN}-${MY_PV2}"
+MY_P2="${PN}-$(get_version_component_range 4 $MY_PV)"
+
+DESCRIPTION="REINER SCT cyberJack pinpad/e-com USB user space driver library"
+HOMEPAGE="http://www.reiner-sct.de/ http://www.libchipcard.de/"
+SRC_URI="http://support.reiner-sct.de/downloads/LINUX/V${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="fox static-libs threads +udev +usb"
+
+# FIXME:
+# xml is actually optional but the code is still used anyway. We'll have to wait
+# until upstream fixed it.
+COMMON_DEPEND="sys-apps/pcsc-lite
+ usb? ( virtual/libusb:1 )
+ fox? (
+ >=x11-libs/fox-1.6
+ dev-libs/libxml2
+ )"
+RDEPEND="${COMMON_DEPEND}
+ udev? ( virtual/udev )"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P2}
+
+DOCS="ChangeLog NEWS doc/README.txt"
+
+pkg_setup() {
+ CONFIG_CHECK="~USB_SERIAL_CYBERJACK"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-install.patch"
+ epatch "${FILESDIR}/${P}-manpages.patch"
+ epatch "${FILESDIR}/${P}-returnvalue.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --sysconfdir=/etc/${PN} \
+ --disable-hal \
+ --enable-pcsc \
+ $(use_enable static-libs static) \
+ $(use_enable usb nonserial) \
+ $(use_enable threads) \
+ $(use_enable fox xml2) \
+ $(use_enable fox) \
+ --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+
+ use udev && udev_newrules "${FILESDIR}"/${PN}-r1.rules 92-${PN}.rules #388329
+}
+
+pkg_postinst() {
+ local conf="${EROOT}etc/${PN}/${PN}.conf"
+ elog
+ elog "To configure logging, key beep behaviour etc. you need to"
+ elog "copy ${conf}.default"
+ elog "to ${conf}"
+ elog "and modify the latter as needed."
+ elog
+}
diff --git a/dev-libs/cyberjack/files/cyberjack-3.99.5_p03-gcc47.patch b/dev-libs/cyberjack/files/cyberjack-3.99.5_p03-gcc47.patch
new file mode 100644
index 000000000000..035d414a09d9
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-3.99.5_p03-gcc47.patch
@@ -0,0 +1,34 @@
+http://bugs.gentoo.org/423757
+
+--- libcyberjack/checksuite/cm_distri.cpp
++++ libcyberjack/checksuite/cm_distri.cpp
+@@ -15,6 +15,7 @@
+ #include "cm_distri.h"
+ #include "checksuite.h"
+
++#include <unistd.h> /* unlink */
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
+--- tools/fox-dialog/main.cpp
++++ tools/fox-dialog/main.cpp
+@@ -9,6 +9,8 @@
+
+ #include <fx.h>
+
++#include <unistd.h> /* unlink */
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <pwd.h>
+--- tools/mac-ui-helper/main.m
++++ tools/mac-ui-helper/main.m
+@@ -31,6 +31,8 @@
+ #import "PinDialog.h"
+ #import "Delegate.h"
+
++#include <unistd.h> /* unlink */
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <pwd.h>
diff --git a/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-install.patch b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-install.patch
new file mode 100644
index 000000000000..f0a2f0a2b41f
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-install.patch
@@ -0,0 +1,26 @@
+From c107dd6db4967a04297eab120500a7fc5c93f221 Mon Sep 17 00:00:00 2001
+From: Christian Ruppert <idl0r@gentoo.org>
+Date: Thu, 13 Feb 2014 23:10:37 +0100
+Subject: [PATCH 3/3] Do not install pcscd_init.diff
+
+Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
+---
+ tools/cyberjack/scripts/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/cyberjack/scripts/Makefile.am b/tools/cyberjack/scripts/Makefile.am
+index e9cc408..e2098d2 100644
+--- a/tools/cyberjack/scripts/Makefile.am
++++ b/tools/cyberjack/scripts/Makefile.am
+@@ -1,6 +1,6 @@
+
+ cdscriptdir=$(libdir)/cyberjack
+-cdscript_SCRIPTS=getdist.sh pcscd_init.diff
++cdscript_SCRIPTS=getdist.sh
+
+-EXTRA_DIST=$(cdscript_SCRIPTS)
++EXTRA_DIST=$(cdscript_SCRIPTS) pcscd_init.diff
+
+--
+1.8.3.2
+
diff --git a/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-manpages.patch b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-manpages.patch
new file mode 100644
index 000000000000..98568f34910d
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-manpages.patch
@@ -0,0 +1,34 @@
+From e5d3ac2ab70cb773671a63dfed45816d6e24d36d Mon Sep 17 00:00:00 2001
+From: Christian Ruppert <idl0r@gentoo.org>
+Date: Thu, 13 Feb 2014 21:40:48 +0100
+Subject: [PATCH 1/3] Fix installation of man pages
+
+Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
+---
+ doc/Makefile.am | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index a0a68f4..cba2e30 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -6,14 +6,12 @@ DOCFILES=\
+ #docfiledir=$(datarootdir)/doc/$(PACKAGE)
+ #docfile_DATA=$(DOCFILES)
+
+-manpagedir=$(mandir)
+-manpage_DATA= \
+- cyberjack.8
++man8_MANS=cyberjack.8
+
+ EXTRA_DIST=\
+ README.xml LIESMICH.xml \
+ verifypin_ascii.c verifypin_fpin2.c \
+- $(DOCFILES) $(manpage_DATA)
++ $(DOCFILES) $(man8_MANS)
+
+
+ %.ps: %.xml
+--
+1.8.3.2
+
diff --git a/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-returnvalue.patch b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-returnvalue.patch
new file mode 100644
index 000000000000..0bdf275ff0c8
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-3.99.5_p05-returnvalue.patch
@@ -0,0 +1,29 @@
+From b6d3ab6d0324f8b462f57aaa551bd1d4aa1465f3 Mon Sep 17 00:00:00 2001
+From: Christian Ruppert <idl0r@gentoo.org>
+Date: Thu, 13 Feb 2014 22:19:40 +0100
+Subject: [PATCH 2/3] Fix return value of rsct_platform_create_com if
+ --disable-nonserial
+
+Return NULL instead of CJ_ERR_OPENING_DEVICE (int).
+
+Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
+---
+ cjeca32/Platform_unix.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cjeca32/Platform_unix.cpp b/cjeca32/Platform_unix.cpp
+index e3f4997..cbe6876 100644
+--- a/cjeca32/Platform_unix.cpp
++++ b/cjeca32/Platform_unix.cpp
+@@ -54,7 +54,7 @@ CBaseCommunication *rsct_platform_create_com(const char *deviceName, CReader *re
+ com=new CUSBUnix(deviceName, reader);
+ # else
+ /* libusb and libhal not supported for serial devices */
+- return CJ_ERR_OPENING_DEVICE;
++ return NULL;
+ # endif
+ else
+ com=new CSerialUnix(deviceName, reader);
+--
+1.8.3.2
+
diff --git a/dev-libs/cyberjack/files/cyberjack-r1.rules b/dev-libs/cyberjack/files/cyberjack-r1.rules
new file mode 100644
index 000000000000..775ed4cb592d
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-r1.rules
@@ -0,0 +1,18 @@
+# If not adding the device, go away
+ACTION!="add", GOTO="cyberjack_rules_end"
+SUBSYSTEM!="usb", GOTO="cyberjack_rules_end"
+ENV{DEVTYPE}!="usb_device", GOTO="cyberjack_rules_end"
+
+
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0300", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0400", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0401", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0500", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0501", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0502", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0504", MODE="660", GROUP="pcscd"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0505", MODE="660", GROUP="pcscd"
+
+# All done
+LABEL="cyberjack_rules_end"
diff --git a/dev-libs/cyberjack/files/cyberjack.rules b/dev-libs/cyberjack/files/cyberjack.rules
new file mode 100644
index 000000000000..ac94b1b663f5
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack.rules
@@ -0,0 +1,10 @@
+# If not adding the device, go away
+ACTION!="add", GOTO="cyberjack_rules_end"
+SUBSYSTEM!="usb", GOTO="cyberjack_rules_end"
+ENV{DEVTYPE}!="usb_device", GOTO="cyberjack_rules_end"
+
+# Tested on cyberJack RFID standard
+ATTRS{idVendor}=="0c4b", ATTRS{idProduct}=="0500", ENV{PCSCD}="1"
+
+# All done
+LABEL="cyberjack_rules_end"
diff --git a/dev-libs/cyberjack/metadata.xml b/dev-libs/cyberjack/metadata.xml
new file mode 100644
index 000000000000..ac846037624b
--- /dev/null
+++ b/dev-libs/cyberjack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>wschlich@gentoo.org</email>
+ <name>Wolfram Schlich</name>
+ </maintainer>
+ <use>
+ <flag name="fox">Enable installation of <pkg>x11-libs/fox</pkg> based fxcyberjack program</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/cygwin/Manifest b/dev-libs/cygwin/Manifest
new file mode 100644
index 000000000000..a4d0772bf297
--- /dev/null
+++ b/dev-libs/cygwin/Manifest
@@ -0,0 +1,3 @@
+DIST cygwin-1.5.25-15-src.tar.bz2 11486150 SHA256 d10b2b08ad1fccfbf220855f5df673f972581c76408b85f07e4a2b72ae8ecafc SHA512 464553b06f74ffad464361b0bddb2eacc581abfb68f2154bba8f70334274ec63901b1f46f73cf930b05256467196e1b1ab8003215bb12ea6a42ad73fd9ac229a WHIRLPOOL 36e43e1bb0db72601ed0f3835c29f52fb95cec85c4e06bba43b088b9d077e6de13c1d0b5b743e2123243d75fe32dd6ff0b0ab95a855b03c3dadc181b5d377d1f
+DIST cygwin-1.5.25-15.tar.bz2 1427096 SHA256 f21bc33798038f97c47f0d1962eb032707985146d98197257b963ffaf4a92bfc SHA512 72f677cd9140d4f61808203a56234e47b8e3a6e18438ff2c8d47d45472d6cc671e4dc42603967e62a1b2293d4bd9d4e1d95652746f939a6d5e1f1ec2f6c96105 WHIRLPOOL 2189e74137d8c40444212528c1215d92c99d51bd6cad5c7de8bb38b7aab05c6db4972f2936c241739f2b6933f93cf2b2df35d75500c2f56ada2be5411753ec7d
+DIST w32api-3.12-1.tar.bz2 1229076 SHA256 dc7ae451b6dac6e52a9a4b28123fa099602f35172fd5920770ea8957929d2bf4 SHA512 739f1f71163cac83ed892dda157f25bb30e70f2c1b134df069a6ece5fb5784e4394d597b078a8a913b8b66fb0f617495aeb94ceab2f1e5a25dab712a010f3f29 WHIRLPOOL 7f220a1ba2bccf78261020e8e5e497888725d7193517dbec0805ea636176d95ea7341a6ab208ee452f76c9839dce6f892d1f43c0b159d3019f85904ecb0ce3b6
diff --git a/dev-libs/cygwin/cygwin-1.5.25.15.ebuild b/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
new file mode 100644
index 000000000000..88d78ad1649e
--- /dev/null
+++ b/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic toolchain-funcs
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
+ export CTARGET=${CATEGORY/cross-}
+ fi
+fi
+
+W32API_BIN="3.12-1"
+MY_P="${PN}-${PV%.*}-${PV##*.}"
+DESCRIPTION="Linux-like environment for Windows"
+HOMEPAGE="http://cygwin.com/"
+SRC_URI="!crosscompile_opts_headers-only? ( ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}-src.tar.bz2 )
+ crosscompile_opts_headers-only? (
+ ftp://sourceware.org/pub/cygwin/release/w32api/w32api-${W32API_BIN}.tar.bz2
+ ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}.tar.bz2
+ )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="crosscompile_opts_headers-only"
+RESTRICT="strip"
+
+DEPEND=""
+
+S=${WORKDIR}
+
+just_headers() {
+ use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]]
+}
+
+pkg_setup() {
+ if [[ ${CBUILD} == ${CHOST} ]] && [[ ${CHOST} == ${CTARGET} ]] ; then
+ die "Invalid configuration; do not emerge this directly"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ if just_headers ; then
+ mv usr/lib/w32api/* usr/lib/ || die
+ else
+ rm -rf ${MY_P}/etc # scrub garbage
+ fi
+}
+
+src_compile() {
+ if just_headers ; then
+ return 0
+
+ # steps to install via src pkg
+ cd winsup/cygwin
+ econf || die
+ else
+ CHOST=${CTARGET} strip-unsupported-flags
+ mkdir "${WORKDIR}"/build
+ cd "${WORKDIR}"/build
+ ECONF_SOURCE=${S} \
+ econf --prefix=/usr/${CTARGET}/usr || die
+ emake || die
+ fi
+}
+
+src_install() {
+ if just_headers ; then
+ # cygwin guys do not support bootstrapping. thus the cygwin src pkg
+ # blows and cannot be bootstrapped. use the binaries -- the only
+ # thing upstream supports.
+ insinto /usr/${CTARGET}
+ doins -r * || die
+ return 0
+
+ # steps to install via src pkg
+ insinto /usr/${CTARGET}/usr/include
+ doins -r winsup/w32api/include/* || die
+ doins -r newlib/libc/include/* || die
+ dosym usr/include /usr/${CTARGET}/sys-include
+ cd winsup/cygwin
+ emake install-headers tooldir="${D}"/usr/${CTARGET}/usr || die
+ else
+ cd "${WORKDIR}"/build
+ emake install DESTDIR="${D}" || die
+ env -uRESTRICT CHOST=${CTARGET} prepallstrip
+ fi
+}
diff --git a/dev-libs/cygwin/metadata.xml b/dev-libs/cygwin/metadata.xml
new file mode 100644
index 000000000000..fb4199eb7afe
--- /dev/null
+++ b/dev-libs/cygwin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+</pkgmetadata>
diff --git a/dev-libs/cyrus-imap-dev/Manifest b/dev-libs/cyrus-imap-dev/Manifest
new file mode 100644
index 000000000000..d0117045f8d5
--- /dev/null
+++ b/dev-libs/cyrus-imap-dev/Manifest
@@ -0,0 +1,2 @@
+DIST cyrus-imapd-2.4.16.tar.gz 2484201 SHA256 beac9d6059680bbf65948db60a30c6e8f59786df4a7821c70dc27b2a225f32c4 SHA512 31931e94ebe869516f10886cee5ab152fb6d6376bf009250718077732c6172a6430f3502370e15e94f6165500e5b4108623bceea7c0dcfb3eb746e9ff0fcffab WHIRLPOOL 1e9916d03448e7f036aa6320af69a7ae57ae37205f98d4cfee8c335d9dcdc1c09ba243f4506036da4ca17f859f5c7eef0cb56443dfe51ad3075f0e4d62874fcb
+DIST cyrus-imapd-2.4.17.tar.gz 2486355 SHA256 b3e30052c764ee7163947ffde27bdd58bd4dd2e5697ad144491941e46300a583 SHA512 86ffe1664ca3c3df164ed8fca21cc08ddae12380e1485deccec7da4ec263d8b953a806e05f0b10f6fb7717a0d40fc05669792b77cc66d7c5067061c8506e59ee WHIRLPOOL 22566578217a5901793b886ff020aa1deecbb81bf85f54a524b58de129029e51b0aa358db902a2139584d05f668404cb98ca2ff3fa33803ce986e07b95c69c45
diff --git a/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.16.ebuild b/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.16.ebuild
new file mode 100644
index 000000000000..0c198c7c6ed2
--- /dev/null
+++ b/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.16.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils db-use multilib
+
+MY_PV="${PV/_/}"
+
+DESCRIPTION="Developer support for the Cyrus IMAP Server"
+HOMEPAGE="http://www.cyrusimap.org/"
+SRC_URI="ftp://ftp.cyrusimap.org/cyrus-imapd/cyrus-imapd-${MY_PV}.tar.gz"
+
+LICENSE="BSD-with-attribution"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="afs berkdb kerberos snmp ssl tcpd"
+
+RDEPEND=">=dev-libs/cyrus-sasl-2.1.13
+ afs? ( net-fs/openafs )
+ berkdb? ( >=sys-libs/db-3.2 )
+ kerberos? ( virtual/krb5 )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? ( >=dev-libs/openssl-0.9.6 )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ !net-mail/cyrus-imapd"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/cyrus-imapd-${MY_PV}"
+
+src_configure() {
+ local myconf
+ if use afs ; then
+ myconf=" --with-afs-libdir=/usr/$(get_libdir)"
+ myconf+=" --with-afs-incdir=/usr/include/afs"
+ fi
+ if use berkdb ; then
+ myconf+="--with-bdb-incdir=$(db_includedir)"
+ fi
+
+ econf \
+ --enable-murder \
+ --enable-netscapehack \
+ --enable-idled \
+ --with-cyrus-group=mail \
+ --with-com_err=yes \
+ --without-perl \
+ --without-krb \
+ --without-krbdes \
+ $(use_enable afs) \
+ $(use_enable afs krb5afspts) \
+ $(use_with berkdb bdb) \
+ $(use_with ssl openssl) \
+ $(use_with snmp) \
+ $(use_with tcpd libwrap) \
+ $(use_enable kerberos gssapi) \
+ ${myconf}
+}
+
+src_compile() {
+ emake -C "${S}/lib" all
+}
+
+src_install() {
+ dodir /usr/include/cyrus
+
+ emake -C "${S}/lib" DESTDIR="${D}" install
+ dodoc README*
+}
diff --git a/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.17.ebuild b/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.17.ebuild
new file mode 100644
index 000000000000..038c81b99c61
--- /dev/null
+++ b/dev-libs/cyrus-imap-dev/cyrus-imap-dev-2.4.17.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools db-use eutils multilib toolchain-funcs
+
+MY_PV="${PV/_/}"
+
+DESCRIPTION="Developer support for the Cyrus IMAP Server"
+HOMEPAGE="http://www.cyrusimap.org/"
+SRC_URI="ftp://ftp.cyrusimap.org/cyrus-imapd/cyrus-imapd-${MY_PV}.tar.gz"
+
+LICENSE="BSD-with-attribution"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ppc64 sparc x86"
+IUSE="afs berkdb kerberos snmp ssl tcpd"
+
+RDEPEND=">=dev-libs/cyrus-sasl-2.1.13
+ afs? ( net-fs/openafs )
+ berkdb? ( >=sys-libs/db-3.2 )
+ kerberos? ( virtual/krb5 )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? ( >=dev-libs/openssl-0.9.6 )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ !net-mail/cyrus-imapd"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/cyrus-imapd-${MY_PV}"
+
+src_prepare() {
+ sed -i -e "s/ar cr/$(tc-getAR) cr/" \
+ perl/sieve/lib/Makefile.in \
+ imap/Makefile.in \
+ lib/Makefile.in \
+ installsieve/Makefile.in \
+ com_err/et/Makefile.in \
+ sieve/Makefile.in \
+ syslog/Makefile.in
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use afs ; then
+ myconf=" --with-afs-libdir=/usr/$(get_libdir)"
+ myconf+=" --with-afs-incdir=/usr/include/afs"
+ fi
+ if use berkdb ; then
+ myconf+="--with-bdb-incdir=$(db_includedir)"
+ fi
+
+ econf \
+ --enable-murder \
+ --enable-netscapehack \
+ --enable-idled \
+ --with-cyrus-group=mail \
+ --with-com_err=yes \
+ --without-perl \
+ --without-krb \
+ --without-krbdes \
+ $(use_enable afs) \
+ $(use_enable afs krb5afspts) \
+ $(use_with berkdb bdb) \
+ $(use_with ssl openssl) \
+ $(use_with snmp) \
+ $(use_with tcpd libwrap) \
+ $(use_enable kerberos gssapi) \
+ ${myconf}
+}
+
+src_compile() {
+ emake -C "${S}/lib" all
+}
+
+src_install() {
+ dodir /usr/include/cyrus
+
+ emake -C "${S}/lib" DESTDIR="${D}" install
+ dodoc README*
+}
diff --git a/dev-libs/cyrus-imap-dev/metadata.xml b/dev-libs/cyrus-imap-dev/metadata.xml
new file mode 100644
index 000000000000..51f94e3fbe0e
--- /dev/null
+++ b/dev-libs/cyrus-imap-dev/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-mail</herd>
+</pkgmetadata>
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
new file mode 100644
index 000000000000..918f3231a3dd
--- /dev/null
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -0,0 +1 @@
+DIST cyrus-sasl-2.1.26.tar.gz 5220231 SHA256 8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3 SHA512 78819cb9bb38bea4537d6770d309deeeef09ff44a67526177609d3e1257ff4334d2b5e5131d5a1e4dea7430d8db1918ea9d171f0dee38b5e8337f4b72ed068f0 WHIRLPOOL bcba17705d5d7ef9a03802d6a0c3a887bba0473605a3a48d2672aeac187193f2488f28ab01bdf659d7a68b94b4c74e36428ca4b5be840fbed2968f1592534b33
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild
new file mode 100644
index 000000000000..12a3d368b8ae
--- /dev/null
+++ b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
+
+SASLAUTHD_CONF_VER="2.1.26"
+
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
+HOMEPAGE="http://cyrusimap.web.cmu.edu/"
+SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
+
+LICENSE="BSD-with-attribution"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite
+srp ssl static-libs urandom"
+
+DEPEND="net-mail/mailbase
+ authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
+ berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
+ gdbm? ( >=sys-libs/gdbm-1.10-r1[${MULTILIB_USEDEP}] )
+ kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ mysql? ( virtual/mysql )
+ pam? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.4:= )"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-sasl )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/sasl/md5global.h
+)
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.1.25-sasldb_al.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-saslauthd_libtool.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-avoid_pic_overwrite.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-autotools_fixes.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-as_needed.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-missing_header.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-fix_heimdal.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-auxprop.patch
+ epatch "${FILESDIR}"/${PN}-2.1.23-gss_c_nt_hostbased_service.patch
+ epatch "${FILESDIR}"/${PN}-2.1.25-service_keytabs.patch
+ epatch "${FILESDIR}"/${PN}-2.1.26-missing-size_t.patch
+ epatch "${FILESDIR}"/${PN}-2.1.26-CVE-2013-4122.patch
+ epatch "${FILESDIR}"/${PN}-2.1.26-send-imap-logout.patch
+ epatch "${FILESDIR}"/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
+ epatch "${FILESDIR}"/${PN}-2.1.26-fix_dovecot_authentication.patch
+
+ # Get rid of the -R switch (runpath_switch for Sun)
+ # >=gcc-4.6 errors out with unknown option
+ sed -i -e '/LIB_SQLITE.*-R/s/ -R[^"]*//' \
+ configure.in || die
+
+ # Use plugindir for sasldir
+ sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
+ "${S}"/plugins/Makefile.{am,in} || die "sed failed"
+
+ # #486740 #468556
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' \
+ -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
+ configure.in || die
+ sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
+ saslauthd/configure.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Java support.
+ multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
+
+ local myconf=()
+
+ # Add authdaemond support (bug #56523).
+ if use authdaemond ; then
+ myconf+=( --with-authdaemond=/var/lib/courier/authdaemon/socket )
+ fi
+
+ # Fix for bug #59634.
+ if ! use ssl ; then
+ myconf+=( --without-des )
+ fi
+
+ if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
+ myconf+=( --enable-sql )
+ else
+ myconf+=( --disable-sql )
+ fi
+
+ # Default to GDBM if both 'gdbm' and 'berkdb' are present.
+ if use gdbm ; then
+ einfo "Building with GNU DB as database backend for your SASLdb"
+ myconf+=( --with-dblib=gdbm )
+ elif use berkdb ; then
+ einfo "Building with BerkeleyDB as database backend for your SASLdb"
+ myconf+=(
+ --with-dblib=berkeley
+ --with-bdb-incdir="$(db_includedir)"
+ )
+ else
+ einfo "Building without SASLdb support"
+ myconf+=( --with-dblib=none )
+ fi
+
+ # Use /dev/urandom instead of /dev/random (bug #46038).
+ if use urandom ; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-login \
+ --enable-ntlm \
+ --enable-auth-sasldb \
+ --disable-cmulocal \
+ --disable-krb4 \
+ --enable-otp \
+ --without-sqlite \
+ --with-saslauthd=/run/saslauthd \
+ --with-pwcheck=/run/saslauthd \
+ --with-configdir=/etc/sasl2 \
+ --with-plugindir=/usr/$(get_libdir)/sasl2 \
+ --with-dbpath=/etc/sasl2/sasldb2 \
+ $(use_with ssl openssl) \
+ $(use_with pam) \
+ $(use_with openldap ldap) \
+ $(use_enable ldapdb) \
+ $(multilib_native_use_enable sample) \
+ $(use_enable kerberos gssapi) \
+ $(multilib_native_use_enable java) \
+ $(multilib_native_use_with java javahome ${JAVA_HOME}) \
+ $(multilib_native_use_with mysql mysql /usr) \
+ $(multilib_native_use_with postgres pgsql) \
+ $(use_with sqlite sqlite3 /usr/$(get_libdir)) \
+ $(use_enable srp) \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ # Default location for java classes breaks OpenOffice (bug #60769).
+ # Thanks to axxo@gentoo.org for the solution.
+ if multilib_is_native_abi && use java ; then
+ jar -cvf ${PN}.jar -C java $(find java -name "*.class")
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi; then
+ if use sample ; then
+ docinto sample
+ dodoc "${S}"/sample/*.c
+ exeinto /usr/share/doc/${P}/sample
+ doexe sample/client sample/server
+ fi
+
+ # Default location for java classes breaks OpenOffice (bug #60769).
+ if use java ; then
+ java-pkg_dojar ${PN}.jar
+ java-pkg_regso "${D}/usr/$(get_libdir)/libjavasasl.so"
+ # hackish, don't wanna dig through makefile
+ rm -Rf "${D}/usr/$(get_libdir)/java"
+ docinto "java"
+ dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
+ dodir "/usr/share/doc/${PF}/java/Test"
+ insinto "/usr/share/doc/${PF}/java/Test"
+ doins "${S}"/java/Test/*.java
+ fi
+
+ dosbin saslauthd/testsaslauthd
+ fi
+}
+
+multilib_src_install_all() {
+ keepdir /etc/sasl2
+
+ dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
+ newdoc pwcheck/README README.pwcheck
+ dohtml doc/*.html
+
+ docinto "saslauthd"
+ dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
+
+ newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
+
+ newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
+ systemd_dounit "${FILESDIR}/pwcheck.service"
+
+ newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd
+ newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
+ systemd_dounit "${FILESDIR}/saslauthd.service"
+ systemd_dotmpfilesd "${FILESDIR}/${PN}.conf"
+
+ prune_libtool_files --modules
+}
+
+pkg_postinst () {
+ # Generate an empty sasldb2 with correct permissions.
+ if ( use berkdb || use gdbm ) && [[ ! -f "${ROOT}/etc/sasl2/sasldb2" ]] ; then
+ einfo "Generating an empty sasldb2 with correct permissions ..."
+ echo "p" | "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -p login \
+ || die "Failed to generate sasldb2"
+ "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -d login \
+ || die "Failed to delete temp user"
+ chown root:mail "${ROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chown ${ROOT}/etc/sasl2/sasldb2"
+ chmod 0640 "${ROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chmod ${ROOT}/etc/sasl2/sasldb2"
+ fi
+
+ if use authdaemond ; then
+ elog "You need to add a user running a service using Courier's"
+ elog "authdaemon to the 'mail' group. For example, do:"
+ elog " gpasswd -a postfix mail"
+ elog "to add the 'postfix' user to the 'mail' group."
+ fi
+
+ elog "pwcheck and saslauthd home directories have moved to:"
+ elog " /run/saslauthd, using tmpfiles.d"
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0001_versioned_symbols.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0001_versioned_symbols.patch
new file mode 100644
index 000000000000..312afc8ff57a
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0001_versioned_symbols.patch
@@ -0,0 +1,30 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+
+ Use versioned symbols for libsasl2.
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index e09fe6e..e74c507 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -61,8 +61,8 @@ LIB_DOOR= @LIB_DOOR@
+ lib_LTLIBRARIES = libsasl2.la
+
+ libsasl2_la_SOURCES = $(common_sources) $(common_headers)
+-libsasl2_la_LDFLAGS = -version-info $(sasl_version)
+-libsasl2_la_DEPENDENCIES = $(LTLIBOBJS)
++libsasl2_la_LDFLAGS = -version-info $(sasl_version) -Wl,--version-script=$(top_srcdir)/Versions
++libsasl2_la_DEPENDENCIES = $(LTLIBOBJS) $(top_srcdir)/Versions
+ libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT)
+
+ if MACOSX
+new file mode 100644
+index 0000000..ff7190d
+--- /dev/null
++++ b/Versions
+@@ -0,0 +1,6 @@
++SASL2 {
++ global:
++ sasl_*; prop_*; auxprop_plugin_info; _sasl_MD5*;
++};
++
++HIDDEN { local: __*; _rest*; _save*; *; };
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0002_testsuite.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0002_testsuite.patch
new file mode 100644
index 000000000000..c550927962bc
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0002_testsuite.patch
@@ -0,0 +1,26 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Rename the testsuite program to sasltestsuite and use /etc/sasldb2
+instead of ./sasldb as default path for the sasldb database file.
+--- trunk.orig/utils/testsuite.c
++++ trunk/utils/testsuite.c
+@@ -464,9 +464,9 @@
+ *len = (unsigned) strlen("sasldb");
+ return SASL_OK;
+ } else if (!strcmp(option, "sasldb_path")) {
+- *result = "./sasldb";
++ *result = "/etc/sasldb2";
+ if (len)
+- *len = (unsigned) strlen("./sasldb");
++ *len = (unsigned) strlen("/etc/sasldb2");
+ return SASL_OK;
+ } else if (!strcmp(option, "canon_user_plugin")) {
+ *result = cu_plugin;
+@@ -2925,7 +2925,7 @@
+ void usage(void)
+ {
+ printf("Usage:\n" \
+- " testsuite [-g name] [-s seed] [-r tests] -a -M\n" \
++ " sasltestsuite [-g name] [-s seed] [-r tests] -a -M\n" \
+ " g -- gssapi service name to use (default: host)\n" \
+ " r -- # of random tests to do (default: 25)\n" \
+ " a -- do all corruption tests (and ignores random ones unless -r specified)\n" \
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0006_library_mutexes.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0006_library_mutexes.patch
new file mode 100644
index 000000000000..539bc06742e7
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0006_library_mutexes.patch
@@ -0,0 +1,25 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Exact description unknown; make sure mutex-related code works.
+--- trunk.orig/lib/common.c
++++ trunk/lib/common.c
+@@ -771,7 +771,7 @@
+ result = sasl_canonuser_add_plugin("INTERNAL", internal_canonuser_init);
+ if(result != SASL_OK) return result;
+
+- if (!free_mutex)
++ if (!free_mutex || free_mutex == 0x1)
+ free_mutex = sasl_MUTEX_ALLOC();
+ if (!free_mutex) return SASL_FAIL;
+
+@@ -790,6 +790,11 @@
+
+ /* serialize disposes. this is necessary because we can't
+ dispose of conn->mutex if someone else is locked on it */
++
++ if (!free_mutex || free_mutex == 0x1)
++ free_mutex = sasl_MUTEX_ALLOC();
++ if (!free_mutex) return SASL_FAIL;
++
+ result = sasl_MUTEX_LOCK(free_mutex);
+ if (result!=SASL_OK) return;
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0008_one_time_sasl_set_alloc.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0008_one_time_sasl_set_alloc.patch
new file mode 100644
index 000000000000..e252bab568b1
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0008_one_time_sasl_set_alloc.patch
@@ -0,0 +1,67 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Make sasl_set_alloc a one-time function.
+This patch will divert all allocations to whomever called
+sasl_set_alloc first, hopefully that will be the application. If
+not, we sure *hope* the library doing stupid things has sane
+sasl_set_alloc semantics...
+It will also deny any futher tries to sasl_set_alloc after one
+of the _init functions are called.
+This patch was introduced and works fine in SASL 1.5, and no
+applications started behaving in insane ways, so chances are it
+will also work with SASL 2.1
+Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=139568
+Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=274087
+Reference: https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2525
+--- trunk.orig/lib/client.c
++++ trunk/lib/client.c
+@@ -202,6 +202,9 @@
+ { NULL, NULL }
+ };
+
++ /* lock allocation type */
++ _sasl_allocation_locked++;
++
+ if(_sasl_client_active) {
+ /* We're already active, just increase our refcount */
+ /* xxx do something with the callback structure? */
+--- trunk.orig/lib/common.c
++++ trunk/lib/common.c
+@@ -107,6 +107,7 @@
+ (sasl_realloc_t *) &realloc,
+ (sasl_free_t *) &free
+ };
++int _sasl_allocation_locked = 0;
+
+ #define SASL_ENCODEV_EXTRA 4096
+
+@@ -637,6 +638,8 @@
+ sasl_realloc_t *r,
+ sasl_free_t *f)
+ {
++ if (_sasl_allocation_locked++) return;
++
+ _sasl_allocation_utils.malloc=m;
+ _sasl_allocation_utils.calloc=c;
+ _sasl_allocation_utils.realloc=r;
+--- trunk.orig/lib/saslint.h
++++ trunk/lib/saslint.h
+@@ -300,6 +300,7 @@
+
+ extern sasl_allocation_utils_t _sasl_allocation_utils;
+ extern sasl_mutex_utils_t _sasl_mutex_utils;
++extern int _sasl_allocation_locked;
+
+ /*
+ * checkpw.c
+--- trunk.orig/lib/server.c
++++ trunk/lib/server.c
+@@ -698,6 +698,9 @@
+ { NULL, NULL }
+ };
+
++ /* lock allocation type */
++ _sasl_allocation_locked++;
++
+ /* we require the appname (if present) to be short enough to be a path */
+ if (appname != NULL && strlen(appname) >= PATH_MAX)
+ return SASL_BADPARAM;
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0010_maintainer_mode.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0010_maintainer_mode.patch
new file mode 100644
index 000000000000..14d4456494f4
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0010_maintainer_mode.patch
@@ -0,0 +1,13 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Enable maintainer mode to avoid auto* problems.
+--- trunk.orig/configure.in
++++ trunk/configure.in
+@@ -62,6 +62,8 @@
+ AM_INIT_AUTOMAKE(cyrus-sasl, 2.1.23)
+ CMU_INIT_AUTOMAKE
+
++AM_MAINTAINER_MODE
++
+ # and include our config dir scripts
+ ACLOCAL="$ACLOCAL -I \$(top_srcdir)/config"
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0011_saslauthd_ac_prog_libtool.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0011_saslauthd_ac_prog_libtool.patch
new file mode 100644
index 000000000000..e9b92a40d8e0
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0011_saslauthd_ac_prog_libtool.patch
@@ -0,0 +1,12 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Enable libtool use.
+--- trunk.orig/saslauthd/configure.in
++++ trunk/saslauthd/configure.in
+@@ -25,6 +25,7 @@
+ AC_PROG_MAKE_SET
+ AC_PROG_LN_S
+ AC_PROG_INSTALL
++AC_PROG_LIBTOOL
+
+ dnl Checks for build foo
+ CMU_C___ATTRIBUTE__
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0012_xopen_crypt_prototype.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0012_xopen_crypt_prototype.patch
new file mode 100644
index 000000000000..d9daad7d89c9
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0012_xopen_crypt_prototype.patch
@@ -0,0 +1,15 @@
+Author: Dann Frazier <dannf@debian.org>
+Description: When _XOPEN_SOURCE is defined, the subsequent #include <unistd.h>
+will define a correct function prototype for the crypt function. This avoids
+segfaults on architectures where the size of a pointer is greater than the size
+of an integer (ia64 and amd64 are examples). This may be detected by looking
+for build log lines such as the following:
+auth_shadow.c:183: warning: implicit declaration of function ‘crypt’
+auth_shadow.c:183: warning: cast to pointer from integer of different size
+--- trunk.orig/saslauthd/auth_shadow.c
++++ trunk/saslauthd/auth_shadow.c
+@@ -1,3 +1,4 @@
++#define _XOPEN_SOURCE
+ #define PWBUFSZ 256 /***SWB***/
+
+ /* MODULE: auth_shadow */
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0014_avoid_pic_overwrite.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0014_avoid_pic_overwrite.patch
new file mode 100644
index 000000000000..ffc69b77ccaf
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0014_avoid_pic_overwrite.patch
@@ -0,0 +1,27 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: This patch makes sure the non-PIC version of libsasldb.a, which
+is created out of non-PIC objects, is not going to overwrite the PIC version,
+which is created out of PIC objects. The PIC version is placed in .libs, and
+the non-PIC version in the current directory. This ensures that both non-PIC
+and PIC versions are available in the correct locations.
+--- trunk.orig/lib/Makefile.am
++++ trunk/lib/Makefile.am
+@@ -76,7 +76,7 @@
+
+ libsasl2.a: libsasl2.la $(SASL_STATIC_OBJS)
+ @echo adding static plugins and dependencies
+- $(AR) cru .libs/$@ $(SASL_STATIC_OBJS)
++ $(AR) cru $@ $(SASL_STATIC_OBJS)
+ @for i in ./libsasl2.la ../sasldb/libsasldb.la ../plugins/lib*.la; do \
+ if test ! -f $$i; then continue; fi; . $$i; \
+ for j in $$dependency_libs foo; do \
+--- trunk.orig/sasldb/Makefile.am
++++ trunk/sasldb/Makefile.am
+@@ -63,6 +63,6 @@
+ EXTRA_libsasldb_a_SOURCES =
+
+ libsasldb.a: libsasldb.la $(SASL_DB_BACKEND_STATIC)
+- $(AR) cru .libs/$@ $(SASL_DB_BACKEND_STATIC)
++ $(AR) cru $@ $(SASL_DB_BACKEND_STATIC)
+
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0016_pid_file_lock_creation_mask.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0016_pid_file_lock_creation_mask.patch
new file mode 100644
index 000000000000..a80ca0639690
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0016_pid_file_lock_creation_mask.patch
@@ -0,0 +1,24 @@
+Author: Sam Hocevar <sam@zoy.org>
+Description: pid_file_lock is created with a mask of 644 instead of 0644. This
+patch fixes this octal/decimal confusion as well as the (harmless) one in the
+previous umask() call.
+--- trunk.orig/saslauthd/saslauthd-main.c
++++ trunk/saslauthd/saslauthd-main.c
+@@ -276,7 +276,7 @@
+ exit(1);
+ }
+
+- umask(077);
++ umask(0077);
+
+ pid_file_size = strlen(run_path) + sizeof(PID_FILE_LOCK) + 1;
+ if ((pid_file_lock = malloc(pid_file_size)) == NULL) {
+@@ -287,7 +287,7 @@
+ strlcpy(pid_file_lock, run_path, pid_file_size);
+ strlcat(pid_file_lock, PID_FILE_LOCK, pid_file_size);
+
+- if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 644)) < 0) {
++ if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 0644)) < 0) {
+ rc = errno;
+ logger(L_ERR, L_FUNC, "could not open pid lock file: %s", pid_file_lock);
+ logger(L_ERR, L_FUNC, "open: %s", strerror(rc));
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-0026_drop_krb5support_dependency.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-0026_drop_krb5support_dependency.patch
new file mode 100644
index 000000000000..4df6a5aba42c
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-0026_drop_krb5support_dependency.patch
@@ -0,0 +1,38 @@
+Author: Roberto C. Sanchez <roberto@connexer.com>
+Description: Drop gratuitous dependency on krb5support
+--- trunk.orig/aclocal.m4
++++ trunk/aclocal.m4
+@@ -2924,9 +2924,6 @@
+ fi
+
+ if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then
+- # check for libkrb5support first
+- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET})
+-
+ gss_failed=0
+ AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1,
+ ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET})
+--- trunk.orig/cmulocal/sasl2.m4
++++ trunk/cmulocal/sasl2.m4
+@@ -110,9 +110,6 @@
+ fi
+
+ if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then
+- # check for libkrb5support first
+- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET})
+-
+ gss_failed=0
+ AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1,
+ ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET})
+--- trunk.orig/saslauthd/aclocal.m4
++++ trunk/saslauthd/aclocal.m4
+@@ -1333,9 +1333,6 @@
+ fi
+
+ if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then
+- # check for libkrb5support first
+- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET})
+-
+ gss_failed=0
+ AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1,
+ ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET})
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.17-pgsql-include.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.17-pgsql-include.patch
new file mode 100644
index 000000000000..0ee7236d4ab4
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.17-pgsql-include.patch
@@ -0,0 +1,15 @@
+Fix include path for newer PostgreSQL versions
+
+--- configure.in
++++ configure.in
+@@ -674,7 +674,9 @@
+ LIB_PGSQL_DIR=$LIB_PGSQL
+ LIB_PGSQL="$LIB_PGSQL -lpq"
+
+- if test -d ${with_pgsql}/include/pgsql; then
++ if test -d ${with_pgsql}/include/postgresql/pgsql; then
++ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/postgresql/pgsql"
++ elif test -d ${with_pgsql}/include/pgsql; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql"
+ elif test -d ${with_pgsql}/pgsql/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include"
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-checkpw.c.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-checkpw.c.patch
new file mode 100644
index 000000000000..1779babaa71a
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-checkpw.c.patch
@@ -0,0 +1,172 @@
+Support for crypted passwords
+
+http://bugs.gentoo.org/45181
+
+--- cyrus-sasl-2.1.19/lib/Makefile.in
++++ cyrus-sasl-2.1.19/lib/Makefile.in
+@@ -120,7 +120,7 @@
+ JAVA_TRUE = @JAVA_TRUE@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = -lcrypt @LIBS@
+ LIBTOOL = @LIBTOOL@
+ LIB_CRYPT = @LIB_CRYPT@
+ LIB_DES = @LIB_DES@
+--- cyrus-sasl-2.1.19/lib/checkpw.c
++++ cyrus-sasl-2.1.19/lib/checkpw.c
+@@ -94,6 +94,23 @@
+ # endif
+ #endif
+
++/******************************
++ * crypt(3) patch start *
++ ******************************/
++char *crypt(const char *key, const char *salt);
++
++/* cleartext password formats */
++#define PASSWORD_FORMAT_CLEARTEXT 1
++#define PASSWORD_FORMAT_CRYPT 2
++#define PASSWORD_FORMAT_CRYPTTRAD 3
++#define PASSWORD_SALT_BUF_LEN 22
++
++/* weeds out crypt(3) password's salt */
++int _sasl_get_salt (char *dest, char *src, int format);
++
++/******************************
++ * crypt(3) patch stop *
++ ******************************/
+
+ /* we store the following secret to check plaintext passwords:
+ *
+@@ -143,7 +160,51 @@
+ "*cmusaslsecretPLAIN",
+ NULL };
+ struct propval auxprop_values[3];
+-
++
++ /******************************
++ * crypt(3) patch start *
++ * for password format check *
++ ******************************/
++ sasl_getopt_t *getopt;
++ void *context;
++ const char *p = NULL;
++ /**
++ * MD5: 12 char salt
++ * BLOWFISH: 16 char salt
++ */
++ char salt[PASSWORD_SALT_BUF_LEN];
++ int password_format;
++
++ /* get password format from auxprop configuration */
++ if (_sasl_getcallback(conn, SASL_CB_GETOPT, &getopt, &context) == SASL_OK) {
++ getopt(context, NULL, "password_format", &p, NULL);
++ }
++
++ /* set password format */
++ if (p) {
++ /*
++ memset(pass_format_str, '\0', PASSWORD_FORMAT_STR_LEN);
++ strncpy(pass_format_str, p, (PASSWORD_FORMAT_STR_LEN - 1));
++ */
++ /* modern, modular crypt(3) */
++ if (strncmp(p, "crypt", 11) == 0)
++ password_format = PASSWORD_FORMAT_CRYPT;
++ /* traditional crypt(3) */
++ else if (strncmp(p, "crypt_trad", 11) == 0)
++ password_format = PASSWORD_FORMAT_CRYPTTRAD;
++ /* cleartext password */
++ else
++ password_format = PASSWORD_FORMAT_CLEARTEXT;
++ } else {
++ /* cleartext password */
++ password_format = PASSWORD_FORMAT_CLEARTEXT;
++ }
++
++ /******************************
++ * crypt(3) patch stop *
++ * for password format check *
++ ******************************/
++
+ if (!conn || !userstr)
+ return SASL_BADPARAM;
+
+@@ -180,14 +241,31 @@
+ goto done;
+ }
+
+- /* At the point this has been called, the username has been canonified
+- * and we've done the auxprop lookup. This should be easy. */
+- if(auxprop_values[0].name
+- && auxprop_values[0].values
+- && auxprop_values[0].values[0]
+- && !strcmp(auxprop_values[0].values[0], passwd)) {
+- /* We have a plaintext version and it matched! */
+- return SASL_OK;
++
++ /******************************
++ * crypt(3) patch start *
++ ******************************/
++
++ /* get salt */
++ _sasl_get_salt(salt, (char *) auxprop_values[0].values[0], password_format);
++
++ /* crypt(3)-ed password? */
++ if (password_format != PASSWORD_FORMAT_CLEARTEXT) {
++ /* compare password */
++ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(crypt(passwd, salt), auxprop_values[0].values[0]) == 0)
++ return SASL_OK;
++ else
++ ret = SASL_BADAUTH;
++ }
++ else if (password_format == PASSWORD_FORMAT_CLEARTEXT) {
++ /* compare passwords */
++ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(auxprop_values[0].values[0], passwd) == 0)
++ return SASL_OK;
++ else
++ ret = SASL_BADAUTH;
++ /******************************
++ * crypt(3) patch stop *
++ ******************************/
+ } else if(auxprop_values[1].name
+ && auxprop_values[1].values
+ && auxprop_values[1].values[0]) {
+@@ -975,3 +1053,37 @@
+ #endif
+ { NULL, NULL }
+ };
++
++/* weeds out crypt(3) password's salt */
++int _sasl_get_salt (char *dest, char *src, int format) {
++ int num; /* how many characters is salt long? */
++ switch (format) {
++ case PASSWORD_FORMAT_CRYPT:
++ /* md5 crypt */
++ if (src[1] == '1')
++ num = 12;
++ /* blowfish crypt */
++ else if (src[1] == '2')
++ num = (src[1] == '2' && src[2] == 'a') ? 17 : 16;
++ /* traditional crypt */
++ else
++ num = 2;
++ break;
++
++ case PASSWORD_FORMAT_CRYPTTRAD:
++ num = 2;
++ break;
++
++ default:
++ return 1;
++ }
++
++ /* destroy destination */
++ memset(dest, '\0', (num + 1));
++
++ /* copy salt to destination */
++ strncpy(dest, src, num);
++
++ return 1;
++}
++
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-keytab.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-keytab.patch
new file mode 100644
index 000000000000..2bbacaa64b6b
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-keytab.patch
@@ -0,0 +1,39 @@
+diff -u -r cyrus-sasl-2.1.21-orig/cmulocal/sasl2.m4 cyrus-sasl-2.1.21/cmulocal/sasl2.m4
+--- cyrus-sasl-2.1.21-orig/cmulocal/sasl2.m4 2006-08-01 08:29:59.000000000 +0200
++++ cyrus-sasl-2.1.21/cmulocal/sasl2.m4 2006-08-01 08:31:32.000000000 +0200
+@@ -257,7 +257,21 @@
+
+ cmu_save_LIBS="$LIBS"
+ LIBS="$LIBS $GSSAPIBASE_LIBS"
+- AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
++ dnl AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
++ AC_CHECK_HEADER(gssapi/gssapi_krb5.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_KRB5_H,,[Define if you have the gssapi/gssapi_krb5.h header file]))
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
++#ifdef HAVE_GSSAPI_H
++#include <gssapi.h>
++#else
++#include <gssapi/gssapi.h>
++#endif
++#ifdef HAVE_GSSAPI_GSSAPI_KRB5_H
++#include <gssapi/gssapi_krb5.h>
++#endif
++]],[[gsskrb5_register_acceptor_identity("");]])
++],[AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY,,
++ [Define if your GSSAPI implimentation defines GSSKRB5_REGISTER_ACCEPTOR_IDENTITY])
++])
+ LIBS="$cmu_save_LIBS"
+ else
+ AC_MSG_RESULT([disabled])
+diff -u -r cyrus-sasl-2.1.21-orig/plugins/gssapi.c cyrus-sasl-2.1.21/plugins/gssapi.c
+--- cyrus-sasl-2.1.21-orig/plugins/gssapi.c 2004-07-21 16:39:06.000000000 +0200
++++ cyrus-sasl-2.1.21/plugins/gssapi.c 2006-08-01 08:30:26.000000000 +0200
+@@ -50,6 +50,9 @@
+ #else
+ #include <gssapi/gssapi.h>
+ #endif
++#ifdef HAVE_GSSAPI_GSSAPI_KRB5_H
++#include <gssapi/gssapi_krb5.h>
++#endif
+
+ #ifdef WIN32
+ # include <winsock2.h>
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch
new file mode 100644
index 000000000000..1294cb507783
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch
@@ -0,0 +1,11 @@
+--- saslauthd/configure.in.orig 2006-05-23 15:53:17.000000000 -0700
++++ saslauthd/configure.in 2006-05-23 15:53:33.000000000 -0700
+@@ -77,7 +77,7 @@
+ AC_DEFINE(AUTH_SASLDB,[],[Include SASLdb Support])
+ SASL_DB_PATH_CHECK()
+ SASL_DB_CHECK()
+- SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.al"
++ SASL_DB_LIB="../sasldb/.libs/libsasldb.a $SASL_DB_LIB"
+ fi
+
+ AC_ARG_ENABLE(httpform, [ --enable-httpform enable HTTP form authentication [[no]] ],
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-crypt.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-crypt.patch
new file mode 100644
index 000000000000..fd356327b4f2
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-crypt.patch
@@ -0,0 +1,71 @@
+http://bugs.gentoo.org/152544
+
+--- cyrus-sasl-2.1.22/lib/Makefile.am
++++ cyrus-sasl-2.1.22/lib/Makefile.am
+@@ -45,6 +45,7 @@ sasl_version = 2:22:0
+
+ INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
+
++AM_CFLAGS = -fPIC
+ EXTRA_DIST = windlopen.c staticopen.h NTMakefile
+ EXTRA_LIBRARIES = libsasl2.a
+ noinst_LIBRARIES = @SASL_STATIC_LIBS@
+--- cyrus-sasl-2.1.22/plugins/Makefile.am
++++ cyrus-sasl-2.1.22/plugins/Makefile.am
+@@ -63,6 +63,7 @@ srp_version = 2:22:0
+
+ INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
+ AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
++AM_CFLAGS = -fPIC
+
+ COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
+
+--- cyrus-sasl-2.1.22/sasldb/Makefile.am
++++ cyrus-sasl-2.1.22/sasldb/Makefile.am
+@@ -48,6 +48,7 @@ INCLUDES=-I$(top_srcdir)/include -I$(top
+
+ extra_common_sources = db_none.c db_ndbm.c db_gdbm.c db_berkeley.c
+
++AM_CFLAGS = -fPIC
+ EXTRA_DIST = NTMakefile
+
+ noinst_LTLIBRARIES = libsasldb.la
+--- cyrus-sasl-2.1.22/utils/Makefile.am
++++ cyrus-sasl-2.1.22/utils/Makefile.am
+@@ -42,7 +42,7 @@
+ #
+ ################################################################
+
+-all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET)
++all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) $(LIB_CRYPT)
+ all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE)
+
+ sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer
+--- cyrus-sasl-2.1.22/sample/Makefile.am
++++ cyrus-sasl-2.1.22/sample/Makefile.am
+@@ -54,10 +54,10 @@ sample_server_SOURCES = sample-server.c
+ server_SOURCES = server.c common.c common.h
+ client_SOURCES = client.c common.c common.h
+
+-server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
+-client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
++server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
++client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
+
+-sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
+-sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
++sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
++sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
+
+ EXTRA_DIST = NTMakefile
+--- cyrus-sasl-2.1.22/lib/Makefile.am
++++ cyrus-sasl-2.1.22/lib/Makefile.am
+@@ -63,7 +63,7 @@ lib_LTLIBRARIES = libsasl2.la
+ libsasl2_la_SOURCES = $(common_sources) $(common_headers)
+ libsasl2_la_LDFLAGS = -version-info $(sasl_version)
+ libsasl2_la_DEPENDENCIES = $(LTLIBOBJS)
+-libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR)
++libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT)
+
+ if MACOSX
+ framedir = /Library/Frameworks/SASL2.framework
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-gcc44.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-gcc44.patch
new file mode 100644
index 000000000000..e2621278ba12
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-gcc44.patch
@@ -0,0 +1,24 @@
+fix warnings with gcc-4.4
+
+http://bugs.gentoo.org/248738
+
+--- cyrus-sasl-2.1.22/plugins/digestmd5.c
++++ cyrus-sasl-2.1.22/plugins/digestmd5.c
+@@ -2715,7 +2715,7 @@ static sasl_server_plug_t digestmd5_serv
+ "DIGEST-MD5", /* mech_name */
+ #ifdef WITH_RC4
+ 128, /* max_ssf */
+-#elif WITH_DES
++#elif defined(WITH_DES)
+ 112,
+ #else
+ 1,
+@@ -4034,7 +4034,7 @@ static sasl_client_plug_t digestmd5_clie
+ "DIGEST-MD5",
+ #ifdef WITH_RC4 /* mech_name */
+ 128, /* max ssf */
+-#elif WITH_DES
++#elif defined(WITH_DES)
+ 112,
+ #else
+ 1,
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch
new file mode 100644
index 000000000000..4f7b04f135a7
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch
@@ -0,0 +1,22 @@
+fix missing prototype warnings
+
+--- cyrus-sasl-2.1.22/lib/auxprop.c
++++ cyrus-sasl-2.1.22/lib/auxprop.c
+@@ -43,6 +43,7 @@
+ */
+
+ #include <config.h>
++#include <stdio.h>
+ #include <sasl.h>
+ #include <prop.h>
+ #include <ctype.h>
+--- cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c
++++ cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c
+@@ -24,6 +24,7 @@ OF OR IN CONNECTION WITH THE USE OR PERF
+ ******************************************************************/
+
+ #include <shadow.h>
++#include <string.h>
+
+ extern char *crypt();
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23+db-5.0.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23+db-5.0.patch
new file mode 100644
index 000000000000..10be0202ee86
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23+db-5.0.patch
@@ -0,0 +1,23 @@
+--- sasldb/db_berkeley.c.orig 2010-10-04 21:11:15.044010468 -0400
++++ sasldb/db_berkeley.c 2010-10-04 21:12:18.921998718 -0400
+@@ -100,7 +100,7 @@
+ ret = db_create(mbdb, NULL, 0);
+ if (ret == 0 && *mbdb != NULL)
+ {
+-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5
+ ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
+ #else
+ ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
+
+--- utils/dbconverter-2.c.orig 2010-10-04 21:23:39.778000256 -0400
++++ utils/dbconverter-2.c 2010-10-04 21:24:50.384999893 -0400
+@@ -214,7 +214,7 @@
+ ret = db_create(mbdb, NULL, 0);
+ if (ret == 0 && *mbdb != NULL)
+ {
+-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5
+ ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
+ #else
+ ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-CVE-2013-4122.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-CVE-2013-4122.patch
new file mode 100644
index 000000000000..460953bf01e4
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-CVE-2013-4122.patch
@@ -0,0 +1,104 @@
+From 0626e86d2e1d0be63a56918371a15d98cfad19d1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Tue, 9 Jul 2013
+Subject: Handle NULL returns from glibc 2.17+ crypt().
+
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+When using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+---
+ pwcheck/pwcheck_getpwnam.c | 3 ++-
+ pwcheck/pwcheck_getspnam.c | 3 ++-
+ saslauthd/auth_getpwent.c | 3 ++-
+ saslauthd/auth_shadow.c | 7 ++-----
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/pwcheck/pwcheck_getpwnam.c
++++ b/pwcheck/pwcheck_getpwnam.c
+@@ -32,6 +32,7 @@ extern char *crypt();
+ char *password;
+ {
+ char* r;
++ char* crpt_passwd;
+ struct passwd *pwd;
+
+ pwd = getpwnam(userid);
+@@ -41,7 +42,7 @@ char *password;
+ else if (pwd->pw_passwd[0] == '*') {
+ r = "Account disabled";
+ }
+- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
++ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
+ r = "Incorrect password";
+ }
+ else {
+--- a/saslauthd/auth_getpwent.c
++++ b/saslauthd/auth_getpwent.c
+@@ -70,6 +70,7 @@ auth_getpwent (
+ {
+ /* VARIABLES */
+ struct passwd *pw; /* pointer to passwd file entry */
++ char *crpt_passwd; /* encrypted password */
+ /* END VARIABLES */
+
+ pw = getpwnam(login);
+@@ -79,7 +80,7 @@ auth_getpwent (
+ RETURN("NO");
+ }
+
+- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
++ if (!(crpt_passwd = crypt(password, pw->pw_passwd)) || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
+ RETURN("NO");
+ }
+
+--- a/saslauthd/auth_shadow.c
++++ b/saslauthd/auth_shadow.c
+@@ -180,16 +180,13 @@ auth_shadow (
+ * not returning any information about a login until we have validated
+ * the password.
+ */
+- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
+- if (strcmp(sp->sp_pwdp, cpw)) {
++ if (!(cpw = crypt(password, sp->sp_pwdp)) || strcmp(sp->sp_pwdp, (const char *)cpw)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
+ sp->sp_pwdp, cpw);
+ }
+- free(cpw);
+ RETURN("NO");
+ }
+- free(cpw);
+
+ /*
+ * The following fields will be set to -1 if:
+@@ -251,7 +250,7 @@ auth_shadow (
+ RETURN("NO");
+ }
+
+- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
++ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
+ password, upw->upw_passwd);
+--- a/pwcheck/pwcheck_getspnam.c 2013-07-14 08:05:00.000000000 +0000
++++ b/pwcheck/pwcheck_getspnam.c 2013-07-14 08:06:10.958815179 +0000
+@@ -32,13 +33,14 @@
+ char *password;
+ {
+ struct spwd *pwd;
++ char *crpt_passwd;
+
+ pwd = getspnam(userid);
+ if (!pwd) {
+ return "Userid not found";
+ }
+
+- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
++ if (!(crpt_passwd = crypt(password, pwd->sp_pwdp)) || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
+ return "Incorrect password";
+ }
+ else {
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-authd-fix.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-authd-fix.patch
new file mode 100644
index 000000000000..f5f372d171ee
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-authd-fix.patch
@@ -0,0 +1,28 @@
+fix warnings:
+
+auth_sasldb.c: In function ‘auth_sasldb’:
+auth_sasldb.c:144: warning: implicit declaration of function ‘gethostname’
+
+auth_sasldb.c:153: warning: passing argument 8 of ‘_sasldb_getdata’ from incompatible pointer type
+../sasldb/sasldb.h:60: note: expected ‘size_t *’ but argument is of type ‘int *’
+
+--- saslauthd/auth_sasldb.c
++++ saslauthd/auth_sasldb.c
+@@ -41,6 +41,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <pwd.h>
++#include <unistd.h>
+ /* END PUBLIC DEPENDENCIES */
+
+ #define RETURN(x) return strdup(x)
+@@ -131,7 +132,8 @@
+ /* VARIABLES */
+ char pw[1024]; /* pointer to passwd file entry */
+ sasl_utils_t utils;
+- int ret, outsize;
++ int ret;
++ size_t outsize;
+ const char *use_realm;
+ char realm_buf[MAXHOSTNAMELEN];
+ /* END VARIABLES */
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch
new file mode 100644
index 000000000000..9eeab1b42ff9
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch
@@ -0,0 +1,16 @@
+Gentoo bug #389349
+--- cmulocal/sasl2.m4 2009-04-28 17:09:13.000000000 +0200
++++ cmulocal/sasl2.m4 2011-11-02 17:55:24.000000000 +0100
+@@ -217,7 +217,11 @@
+ [AC_WARN([Cybersafe define not found])])
+
+ elif test "$ac_cv_header_gssapi_h" = "yes"; then
+- AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h,
++ AC_EGREP_CPP(hostbased_service_gss_nt_yes, gssapi.h,
++ [#include <gssapi.h>
++ #ifdef GSS_C_NT_HOSTBASED_SERVICE
++ hostbased_service_gss_nt_yes
++ #endif],
+ [AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE,,
+ [Define if your GSSAPI implimentation defines GSS_C_NT_HOSTBASED_SERVICE])])
+ elif test "$ac_cv_header_gssapi_gssapi_h"; then
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-rimap-loop.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-rimap-loop.patch
new file mode 100644
index 000000000000..5574072d0e0d
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-rimap-loop.patch
@@ -0,0 +1,28 @@
+--- a/saslauthd/auth_rimap.c 2011-09-01 14:19:54.754622284 +0100
++++ b/saslauthd/auth_rimap.c 2011-09-01 14:19:59.410561033 +0100
+@@ -162,6 +162,7 @@
+ num_quotes = 0;
+ p1 = s;
+ while ((p1 = strchr(p1, '"')) != NULL) {
++ p1++;
+ num_quotes++;
+ }
+
+@@ -438,7 +439,7 @@
+ syslog(LOG_WARNING, "auth_rimap: writev: %m");
+ memset(qlogin, 0, strlen(qlogin));
+ free(qlogin);
+- memset(qpass, 0, strlen(qlogin));
++ memset(qpass, 0, strlen(qpass));
+ free(qpass);
+ (void)close(s);
+ return strdup(RESP_IERROR);
+@@ -447,7 +448,7 @@
+ /* don't need these any longer */
+ memset(qlogin, 0, strlen(qlogin));
+ free(qlogin);
+- memset(qpass, 0, strlen(qlogin));
++ memset(qpass, 0, strlen(qpass));
+ free(qpass);
+
+ /* read and parse the LOGIN response */
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch
new file mode 100644
index 000000000000..67b48b4a4993
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch
@@ -0,0 +1,27 @@
+Author: Matthias Klose <doko@ubuntu.com>
+Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use
+it.
+--- a/saslauthd/Makefile.am
++++ b/saslauthd/Makefile.am
+@@ -16,7 +16,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c
+ saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@
+ saslauthd_LDADD = @SASL_KRB_LIB@ \
+ @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
+- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
++ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
+
+ testsaslauthd_SOURCES = testsaslauthd.c utils.c
+ testsaslauthd_LDADD = @LIB_SOCKET@
+--- a/sasldb/Makefile.am
++++ b/sasldb/Makefile.am
+@@ -55,8 +55,8 @@ noinst_LIBRARIES = libsasldb.a
+
+ libsasldb_la_SOURCES = allockey.c sasldb.h
+ EXTRA_libsasldb_la_SOURCES = $(extra_common_sources)
+-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND)
+-libsasldb_la_LIBADD = $(SASL_DB_BACKEND)
++libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
++libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
+
+ # Prevent make dist stupidity
+ libsasldb_a_SOURCES =
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch
new file mode 100644
index 000000000000..5837921d4f7f
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch
@@ -0,0 +1,114 @@
+--- a/configure.in
++++ b/configure.in
+@@ -44,6 +44,8 @@ dnl
+ AC_INIT(lib/saslint.h)
+ AC_PREREQ([2.54])
+
++AC_CONFIG_MACRO_DIR([cmulocal] [config])
++
+ dnl use ./config.cache as the default cache file.
+ dnl we require a cache file to successfully configure our build.
+ if test $cache_file = "/dev/null"; then
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -43,6 +43,8 @@ AUTOMAKE_OPTIONS = 1.7
+ #
+ ################################################################
+
++ACLOCAL_AMFLAGS = -I cmulocal -I config
++
+ if SASLAUTHD
+ SAD = saslauthd
+ else
+--- a/saslauthd/configure.in
++++ b/saslauthd/configure.in
+@@ -1,7 +1,8 @@
+ AC_INIT(mechanisms.h)
+ AC_PREREQ([2.54])
+
+-AC_CONFIG_AUX_DIR(config)
++AC_CONFIG_MACRO_DIR([../cmulocal] [../config])
++AC_CONFIG_AUX_DIR([config])
+ AC_CANONICAL_HOST
+
+ dnl Should we enable SASLAUTHd at all?
+@@ -164,30 +165,30 @@ AC_SUBST(LTLIBOBJS)
+
+ dnl Checks for which function macros exist
+ AC_MSG_CHECKING(whether $CC implements __func__)
+-AC_CACHE_VAL(have_func,
++AC_CACHE_VAL(_cv_have_func,
+ [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __func__);],
+-have_func=yes,
+-have_func=no)])
+-AC_MSG_RESULT($have_func)
+-if test "$have_func" = yes; then
++_cv_have_func=yes,
++_cv_have_func=no)])
++AC_MSG_RESULT($_cv_have_func)
++if test "$_cv_have_func" = yes; then
+ AC_DEFINE(HAVE_FUNC,[],[Does the compiler understand __func__])
+ else
+ AC_MSG_CHECKING(whether $CC implements __PRETTY_FUNCTION__)
+- AC_CACHE_VAL(have_pretty_function,
++ AC_CACHE_VAL(_cv_have_pretty_function,
+ [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __PRETTY_FUNCTION__);],
+- have_pretty_function=yes,
+- have_pretty_function=no)])
+- AC_MSG_RESULT($have_pretty_function)
+- if test "$have_pretty_function" = yes; then
++ _cv_have_pretty_function=yes,
++ _cv_have_pretty_function=no)])
++ AC_MSG_RESULT($_cv_have_pretty_function)
++ if test "$_cv_have_pretty_function" = yes; then
+ AC_DEFINE(HAVE_PRETTY_FUNCTION,[],[Does compiler understand __PRETTY_FUNCTION__])
+ else
+ AC_MSG_CHECKING(whether $CC implements __FUNCTION__)
+- AC_CACHE_VAL(have_function,
++ AC_CACHE_VAL(_cv_have_function,
+ [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __FUNCTION__);],
+- have_function=yes,
+- have_function=no)])
+- AC_MSG_RESULT($have_function)
+- if test "$have_function" = yes; then
++ _cv_have_function=yes,
++ _cv_have_function=no)])
++ AC_MSG_RESULT($_cv_have_function)
++ if test "$_cv_have_function" = yes; then
+ AC_DEFINE(HAVE_FUNCTION,[],[Does compiler understand __FUNCTION__])
+ fi
+ fi
+--- a/saslauthd/Makefile.am
++++ b/saslauthd/Makefile.am
+@@ -1,4 +1,6 @@
+ AUTOMAKE_OPTIONS = 1.7
++ACLOCAL_AMFLAGS = -I ../cmulocal -I ../config
++
+ sbin_PROGRAMS = saslauthd testsaslauthd
+ EXTRA_PROGRAMS = saslcache
+
+--- a/config/kerberos_v4.m4
++++ b/config/kerberos_v4.m4
+@@ -89,18 +89,18 @@ AC_DEFUN([SASL_KERBEROS_V4_CHK], [
+ dnl if we were ambitious, we would look more aggressively for the
+ dnl krb4 install
+ if test -d ${krb4}; then
+- AC_CACHE_CHECK(for Kerberos includes, cyrus_krbinclude, [
++ AC_CACHE_CHECK(for Kerberos includes, cyrus_cv_krbinclude, [
+ for krbhloc in include/kerberosIV include/kerberos include
+ do
+ if test -f ${krb4}/${krbhloc}/krb.h ; then
+- cyrus_krbinclude=${krb4}/${krbhloc}
++ cyrus_cv_krbinclude=${krb4}/${krbhloc}
+ break
+ fi
+ done
+ ])
+
+- if test -n "${cyrus_krbinclude}"; then
+- CPPFLAGS="$CPPFLAGS -I${cyrus_krbinclude}"
++ if test -n "${cyrus_cv_krbinclude}"; then
++ CPPFLAGS="$CPPFLAGS -I${cyrus_cv_krbinclude}"
+ fi
+ LDFLAGS="$LDFLAGS -L$krb4/lib"
+ fi
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
new file mode 100644
index 000000000000..a9dd1476d2e6
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
@@ -0,0 +1,16 @@
+https://bugzilla.cyrusimap.org/show_bug.cgi?id=3590
+https://bugs.gentoo.org/show_bug.cgi?id=392761
+
+--- cyrus-sasl-2.1.25/lib/auxprop.c~ 2011-10-20 17:33:46.423015318 +0200
++++ cyrus-sasl-2.1.25/lib/auxprop.c 2011-10-20 17:48:49.336348654 +0200
+@@ -971,6 +971,10 @@
+ }
+
+ if(!found) {
++ /* compatibility with <= 2.1.23, ignore the lack of auxrop plugin */
++ if (!plist)
++ result = SASL_OK;
++ else
+ _sasl_log(sparams->utils->conn, SASL_LOG_DEBUG,
+ "could not find auxprop plugin, was searching for '%s'",
+ plist ? plist : "[all]");
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch
new file mode 100644
index 000000000000..2e5b1750d00d
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch
@@ -0,0 +1,27 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: This patch makes sure the non-PIC version of libsasldb.a, which
+is created out of non-PIC objects, is not going to overwrite the PIC version,
+which is created out of PIC objects. The PIC version is placed in .libs, and
+the non-PIC version in the current directory. This ensures that both non-PIC
+and PIC versions are available in the correct locations.
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -78,7 +78,7 @@ endif
+
+ libsasl2.a: libsasl2.la $(SASL_STATIC_OBJS)
+ @echo adding static plugins and dependencies
+- $(AR) cru .libs/$@ $(SASL_STATIC_OBJS)
++ $(AR) cru $@ $(SASL_STATIC_OBJS)
+ @for i in ./libsasl2.la ../sasldb/libsasldb.la ../plugins/lib*.la; do \
+ if test ! -f $$i; then continue; fi; . $$i; \
+ for j in $$dependency_libs foo; do \
+--- a/sasldb/Makefile.am
++++ b/sasldb/Makefile.am
+@@ -63,6 +63,6 @@ libsasldb_a_SOURCES =
+ EXTRA_libsasldb_a_SOURCES =
+
+ libsasldb.a: libsasldb.la $(SASL_DB_BACKEND_STATIC)
+- $(AR) cru .libs/$@ $(SASL_DB_BACKEND_STATIC)
++ $(AR) cru $@ $(SASL_DB_BACKEND_STATIC)
+
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch
new file mode 100644
index 000000000000..abf0df2568c6
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch
@@ -0,0 +1,27 @@
+Fix compiling against heimdal
+
+--- sample/server.c 2010-12-01 14:52:55.000000000 +0000
++++ sample/server.c 2011-11-30 14:54:42.000000000 +0000
+@@ -85,8 +85,10 @@
+
+ #ifdef HAVE_GSS_GET_NAME_ATTRIBUTE
+ #include <gssapi/gssapi.h>
++#ifndef KRB5_HEIMDAL
+ #include <gssapi/gssapi_ext.h>
+ #endif
++#endif
+
+ #include "common.h"
+
+--- plugins/gssapi.c 2011-05-11 19:25:55.000000000 +0000
++++ plugins/gssapi.c 2011-11-30 14:54:33.000000000 +0000
+@@ -50,6 +50,9 @@
+ #else
+ #include <gssapi/gssapi.h>
+ #endif
++#ifdef KRB5_HEIMDAL
++#include <gssapi/gssapi_krb5.h>
++#endif
+
+ #ifdef WIN32
+ # include <winsock2.h>
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch
new file mode 100644
index 000000000000..597d45a76795
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch
@@ -0,0 +1,10 @@
+--- pwcheck/pwcheck_getspnam.c 1999-08-26 19:22:44.000000000 +0300
++++ pwcheck/pwcheck_getspnam.c 2011-11-30 13:22:24.601023316 +0200
+@@ -24,6 +24,7 @@
+ ******************************************************************/
+
+ #include <shadow.h>
++#include <string.h>
+
+ extern char *crypt();
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch
new file mode 100644
index 000000000000..da1a49f1dd66
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch
@@ -0,0 +1,12 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Enable libtool use.
+--- a/saslauthd/configure.in
++++ b/saslauthd/configure.in
+@@ -25,6 +25,7 @@ AC_PROG_AWK
+ AC_PROG_MAKE_SET
+ AC_PROG_LN_S
+ AC_PROG_INSTALL
++AC_PROG_LIBTOOL
+
+ dnl Checks for build foo
+ CMU_C___ATTRIBUTE__
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch
new file mode 100644
index 000000000000..8eff5a8bdd12
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch
@@ -0,0 +1,14 @@
+Author: Fabian Fagerholm <fabbe@debian.org>
+Description: Fix linking with libsasldb.a when saslauthd is built with sasldb
+support.
+--- a/saslauthd/configure.in
++++ b/saslauthd/configure.in
+@@ -77,7 +77,7 @@ if test "$authsasldb" != no; then
+ AC_DEFINE(AUTH_SASLDB,[],[Include SASLdb Support])
+ SASL_DB_PATH_CHECK()
+ SASL_DB_CHECK()
+- SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.al"
++ SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.a"
+ fi
+
+ AC_ARG_ENABLE(httpform, [ --enable-httpform enable HTTP form authentication [[no]] ],
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch
new file mode 100644
index 000000000000..117e8eb88802
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch
@@ -0,0 +1,27 @@
+Bug #445932
+--- cmulocal/sasl2.m4 2011-09-02 12:58:00.000000000 +0000
++++ cmulocal/sasl2.m4 2012-12-05 08:37:16.425811319 +0000
+@@ -268,7 +268,11 @@
+
+ cmu_save_LIBS="$LIBS"
+ LIBS="$LIBS $GSSAPIBASE_LIBS"
+- AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
++ AC_CHECK_FUNCS([gsskrb5_register_acceptor_identity], [],
++ [AC_CHECK_FUNCS([krb5_gss_register_acceptor_identity],
++ [AC_CHECK_HEADERS([gssapi/gssapi_krb5.h],
++ [AC_DEFINE([HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY], [1])]
++ )])])
+ AC_CHECK_FUNCS(gss_decapsulate_token)
+ AC_CHECK_FUNCS(gss_encapsulate_token)
+ AC_CHECK_FUNCS(gss_oid_equal)
+--- plugins/gssapi.c 2012-12-05 09:03:31.000220161 +0000
++++ plugins/gssapi.c 2012-12-05 09:01:55.043380204 +0000
+@@ -50,7 +50,7 @@
+ #else
+ #include <gssapi/gssapi.h>
+ #endif
+-#ifdef KRB5_HEIMDAL
++#if defined (KRB5_HEIMDAL) || defined (HAVE_GSSAPI_GSSAPI_KRB5_H)
+ #include <gssapi/gssapi_krb5.h>
+ #endif
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch
new file mode 100644
index 000000000000..09c9ce86c9ac
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch
@@ -0,0 +1,116 @@
+From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Thu, 11 Jul 2013 09:08:07 +0000
+Subject: Handle NULL returns from glibc 2.17+ crypt()
+
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+When using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+
+Patch by mancha1@hush.com.
+---
+diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c
+index 4b34222..400289c 100644
+--- a/pwcheck/pwcheck_getpwnam.c
++++ b/pwcheck/pwcheck_getpwnam.c
+@@ -32,6 +32,7 @@ char *userid;
+ char *password;
+ {
+ char* r;
++ char* crpt_passwd;
+ struct passwd *pwd;
+
+ pwd = getpwnam(userid);
+@@ -41,7 +42,7 @@ char *password;
+ else if (pwd->pw_passwd[0] == '*') {
+ r = "Account disabled";
+ }
+- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
++ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
+ r = "Incorrect password";
+ }
+ else {
+diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c
+index 2b11286..6d607bb 100644
+--- a/pwcheck/pwcheck_getspnam.c
++++ b/pwcheck/pwcheck_getspnam.c
+@@ -32,13 +32,15 @@ char *userid;
+ char *password;
+ {
+ struct spwd *pwd;
++ char *crpt_passwd;
+
+ pwd = getspnam(userid);
+ if (!pwd) {
+ return "Userid not found";
+ }
+
+- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
++ crpt_passwd = crypt(password, pwd->sp_pwdp);
++ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
+ return "Incorrect password";
+ }
+ else {
+diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c
+index fc8029d..d4ebe54 100644
+--- a/saslauthd/auth_getpwent.c
++++ b/saslauthd/auth_getpwent.c
+@@ -77,6 +77,7 @@ auth_getpwent (
+ {
+ /* VARIABLES */
+ struct passwd *pw; /* pointer to passwd file entry */
++ char *crpt_passwd; /* encrypted password */
+ int errnum;
+ /* END VARIABLES */
+
+@@ -105,7 +106,8 @@ auth_getpwent (
+ }
+ }
+
+- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
++ crpt_passwd = crypt(password, pw->pw_passwd);
++ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login);
+ }
+diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c
+index 677131b..1988afd 100644
+--- a/saslauthd/auth_shadow.c
++++ b/saslauthd/auth_shadow.c
+@@ -210,8 +210,8 @@ auth_shadow (
+ RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)");
+ }
+
+- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
+- if (strcmp(sp->sp_pwdp, cpw)) {
++ cpw = crypt(password, sp->sp_pwdp);
++ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) {
+ if (flags & VERBOSE) {
+ /*
+ * This _should_ reveal the SHADOW_PW_LOCKED prefix to an
+@@ -221,10 +221,8 @@ auth_shadow (
+ syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
+ sp->sp_pwdp, cpw);
+ }
+- free(cpw);
+ RETURN("NO Incorrect password");
+ }
+- free(cpw);
+
+ /*
+ * The following fields will be set to -1 if:
+@@ -286,7 +284,7 @@ auth_shadow (
+ RETURN("NO Invalid username");
+ }
+
+- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
++ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
+ password, upw->upw_passwd);
+--
+cgit v0.9.0.2
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
new file mode 100644
index 000000000000..af382181e046
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
@@ -0,0 +1,10 @@
+--- cyrus-sasl2.orig/plugins/ldapdb.c
++++ cyrus-sasl2/plugins/ldapdb.c
+@@ -406,6 +406,7 @@ ldapdb_canon_server(void *glob_context,
+ if ( len > out_max )
+ len = out_max;
+ memcpy(out, bvals[0]->bv_val, len);
++ out[len] = '\0';
+ *out_ulen = len;
+ ber_bvecfree(bvals);
+ }
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
new file mode 100644
index 000000000000..46bbdd1ca1a0
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
@@ -0,0 +1,90 @@
+Bug #510320
+--- saslauthd/auth_rimap.c 2012-10-12 14:05:48.000000000 +0000
++++ saslauthd/auth_rimap.c 2014-05-15 05:23:02.000000000 +0000
+@@ -371,7 +371,7 @@
+ if ( rc>0 ) {
+ /* check if there is more to read */
+ fd_set perm;
+- int fds, ret;
++ int fds, ret, loopc;
+ struct timeval timeout;
+
+ FD_ZERO(&perm);
+@@ -380,6 +380,7 @@
+
+ timeout.tv_sec = 1;
+ timeout.tv_usec = 0;
++ loopc = 0;
+ while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
+ if ( FD_ISSET(s, &perm) ) {
+ ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
+@@ -387,6 +388,14 @@
+ rc = ret;
+ break;
+ } else {
++ if (ret == 0) {
++ loopc += 1;
++ } else {
++ loopc = 0;
++ }
++ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
++ break;
++ }
+ rc += ret;
+ }
+ }
+@@ -484,7 +493,7 @@
+ if ( rc>0 ) {
+ /* check if there is more to read */
+ fd_set perm;
+- int fds, ret;
++ int fds, ret, loopc;
+ struct timeval timeout;
+
+ FD_ZERO(&perm);
+@@ -493,6 +502,7 @@
+
+ timeout.tv_sec = 1;
+ timeout.tv_usec = 0;
++ loopc = 0;
+ while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
+ if ( FD_ISSET(s, &perm) ) {
+ ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
+@@ -500,6 +510,14 @@
+ rc = ret;
+ break;
+ } else {
++ if (ret == 0) {
++ loopc += 1;
++ } else {
++ loopc = 0;
++ }
++ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
++ break;
++ }
+ rc += ret;
+ }
+ }
+--- lib/checkpw.c 2012-01-27 23:31:36.000000000 +0000
++++ lib/checkpw.c 2014-05-15 05:19:35.000000000 +0000
+@@ -587,16 +587,14 @@
+ /* Timeout. */
+ errno = ETIMEDOUT;
+ return -1;
+- case +1:
+- if (FD_ISSET(fd, &rfds)) {
+- /* Success, file descriptor is readable. */
+- return 0;
+- }
+- return -1;
+ case -1:
+ if (errno == EINTR || errno == EAGAIN)
+ continue;
+ default:
++ if (FD_ISSET(fd, &rfds)) {
++ /* Success, file descriptor is readable. */
++ return 0;
++ }
+ /* Error catch-all. */
+ return -1;
+ }
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
new file mode 100644
index 000000000000..42f20fb8096b
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
@@ -0,0 +1,13 @@
+Gentoo bug #458790
+--- include/sasl.h 2012-10-12 17:05:48.000000000 +0300
++++ include/sasl.h 2013-02-23 16:56:44.648786268 +0200
+@@ -121,6 +121,9 @@
+ #ifndef SASL_H
+ #define SASL_H 1
+
++/* stddef.h to get size_t defined */
++#include <stddef.h>
++
+ /* Keep in sync with win32/common.mak */
+ #define SASL_VERSION_MAJOR 2
+ #define SASL_VERSION_MINOR 1
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch
new file mode 100644
index 000000000000..d8b4b6efc3f8
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch
@@ -0,0 +1,48 @@
+--- cyrus-sasl2.orig/saslauthd/auth_rimap.c
++++ cyrus-sasl2/saslauthd/auth_rimap.c
+@@ -90,6 +90,7 @@ static struct addrinfo *ai = NULL; /* re
+ service we connect to. */
+ #define TAG "saslauthd" /* IMAP command tag */
+ #define LOGIN_CMD (TAG " LOGIN ") /* IMAP login command (with tag) */
++#define LOGOUT_CMD (TAG " LOGOUT ") /* IMAP logout command (with tag)*/
+ #define NETWORK_IO_TIMEOUT 30 /* network I/O timeout (seconds) */
+ #define RESP_LEN 1000 /* size of read response buffer */
+
+@@ -307,10 +308,12 @@ auth_rimap (
+ int s=-1; /* socket to remote auth host */
+ struct addrinfo *r; /* remote socket address info */
+ struct iovec iov[5]; /* for sending LOGIN command */
++ struct iovec iov2[2]; /* for sending LOGOUT command */
+ char *qlogin; /* pointer to "quoted" login */
+ char *qpass; /* pointer to "quoted" password */
+ char *c; /* scratch pointer */
+ int rc; /* return code scratch area */
++ int rcl; /* return code scratch area */
+ char rbuf[RESP_LEN]; /* response read buffer */
+ char hbuf[NI_MAXHOST], pbuf[NI_MAXSERV];
+ int saved_errno;
+@@ -505,6 +508,24 @@ auth_rimap (
+ }
+ }
+ }
++
++ /* close remote imap */
++ iov2[0].iov_base = LOGOUT_CMD;
++ iov2[0].iov_len = sizeof(LOGOUT_CMD) - 1;
++ iov2[1].iov_base = "\r\n";
++ iov2[1].iov_len = sizeof("\r\n") - 1;
++
++ if (flags & VERBOSE) {
++ syslog(LOG_DEBUG, "auth_rimap: sending %s%s %s",
++ LOGOUT_CMD, qlogin, qpass);
++ }
++ alarm(NETWORK_IO_TIMEOUT);
++ rcl = retry_writev(s, iov2, 2);
++ alarm(0);
++ if (rcl == -1) {
++ syslog(LOG_WARNING, "auth_rimap: writev logout: %m");
++ }
++
+ (void) close(s); /* we're done with the remote */
+ if (rc == -1) {
+ syslog(LOG_WARNING, "auth_rimap: read (response): %m");
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl.conf b/dev-libs/cyrus-sasl/files/cyrus-sasl.conf
new file mode 100644
index 000000000000..d4809f73c8e9
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl.conf
@@ -0,0 +1 @@
+d /run/saslauthd 0755 root root -
diff --git a/dev-libs/cyrus-sasl/files/java.README.gentoo b/dev-libs/cyrus-sasl/files/java.README.gentoo
new file mode 100644
index 000000000000..fb73204ecab1
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/java.README.gentoo
@@ -0,0 +1,39 @@
+4-Nov-2000
+
+Note: this file has been modified to adapt to Gentoo specific.
+
+class files are installed in
+
+`java-config -p cyrus-sasl-2`
+
+to compile programs using it, do:
+
+javac -classpath $JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2` <file>.java
+
+(make sure to substitute your JDK for $JAVA_HOME/lib/tools.jar)
+
+to run, do
+
+java -classpath <same path as above> <YourProgram>
+
+----------------------------
+This is a java version of the SASL libraries. It supports all the
+mechanisms in the C version and conforms to the internet draft in the
+doc/ directory. JNI is used.
+
+Sample applications exist in the Test/ directory.
+
+They generally can be run with something like:
+
+java -debug -classpath
+../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. jimtest -p 2143 -m
+KERBEROS_V4 cyrus-dev
+
+and
+
+java -debug -classpath
+../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. testserver
+
+
+Any feedback is welcome.
+
diff --git a/dev-libs/cyrus-sasl/files/pwcheck.rc6 b/dev-libs/cyrus-sasl/files/pwcheck.rc6
new file mode 100644
index 000000000000..4530daf12976
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/pwcheck.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+ use logger
+}
+
+start() {
+ ebegin "Starting sasl pwcheck daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/pwcheck
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping sasl pwcheck daemon"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/pwcheck
+ eend $?
+}
diff --git a/dev-libs/cyrus-sasl/files/pwcheck.service b/dev-libs/cyrus-sasl/files/pwcheck.service
new file mode 100644
index 000000000000..74ff4859abf7
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/pwcheck.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=SASL pwcheck daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/pwcheck
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-libs/cyrus-sasl/files/saslauthd-2.1.21.conf b/dev-libs/cyrus-sasl/files/saslauthd-2.1.21.conf
new file mode 100644
index 000000000000..1bbe44d76553
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd-2.1.21.conf
@@ -0,0 +1,25 @@
+# $Id$
+
+# Config file for /etc/init.d/saslauthd
+
+# Initial (empty) options.
+SASLAUTHD_OPTS=""
+
+# Specify the authentications mechanism.
+# **NOTE** For a list see: saslauthd -v
+# Since 2.1.19, add "-r" to options for old behavior,
+# ie. reassemble user and realm to user@realm form.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -a pam -r"
+SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -a pam"
+
+# Specify the hostname for remote IMAP server.
+# **NOTE** Only needed if rimap auth mechanism is used.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost"
+
+# Specify the number of worker processes to create.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -n 5"
+
+# Enable credential cache, set cache size and timeout.
+# **NOTE** Size is measured in kilobytes.
+# Timeout is measured in seconds.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -c -s 128 -t 30"
diff --git a/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf b/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf
new file mode 100644
index 000000000000..2b60bc03c974
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf
@@ -0,0 +1,21 @@
+# $Id$
+
+# Config file for /etc/init.d/saslauthd and systemd unit
+
+# PLEASE READ THIS IF YOU ARE USING SYSTEMD
+# Please note that systemd does not expand shell variables
+# thus, something like FOO="${FOO} bar" won't work.
+
+# Specify the authentications mechanism.
+# **NOTE** For a list see: saslauthd -v
+# Since 2.1.19, add "-r" to options for old behavior,
+# ie. reassemble user and realm to user@realm form.
+#
+# Specify the hostname for remote IMAP server using:
+# "-O localhost".
+# Specify the number of worker processes to create using:
+# "-n <N>".
+# Enable credential cache, set cache size and timeout using:
+# "-c -s <cache size, like 128> -t <timeout seconds>".
+#
+SASLAUTHD_OPTS="-a pam"
diff --git a/dev-libs/cyrus-sasl/files/saslauthd.pam-include b/dev-libs/cyrus-sasl/files/saslauthd.pam-include
new file mode 100644
index 000000000000..d50a84946a78
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd.pam-include
@@ -0,0 +1,8 @@
+#%PAM-1.0
+
+auth required pam_nologin.so
+auth include system-auth
+
+account include system-auth
+
+session include system-auth
diff --git a/dev-libs/cyrus-sasl/files/saslauthd.service b/dev-libs/cyrus-sasl/files/saslauthd.service
new file mode 100644
index 000000000000..1609a651e4e0
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=SASL Authentication Daemon
+
+[Service]
+Type=forking
+PIDFile=/run/saslauthd/saslauthd.pid
+EnvironmentFile=/etc/conf.d/saslauthd
+ExecStart=/usr/sbin/saslauthd $SASLAUTHD_OPTS
+ExecStop=/bin/kill -15 $MAINPID
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-libs/cyrus-sasl/files/saslauthd2.rc6 b/dev-libs/cyrus-sasl/files/saslauthd2.rc6
new file mode 100644
index 000000000000..b1cc1c3b333e
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd2.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting saslauthd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/saslauthd \
+ -- ${SASLAUTHD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping saslauthd"
+ start-stop-daemon --stop --quiet --pidfile /var/lib/sasl2/saslauthd.pid
+ eend $?
+}
diff --git a/dev-libs/cyrus-sasl/files/saslauthd2.rc7 b/dev-libs/cyrus-sasl/files/saslauthd2.rc7
new file mode 100644
index 000000000000..23504f60f517
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd2.rc7
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting saslauthd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/saslauthd \
+ -- ${SASLAUTHD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping saslauthd"
+ start-stop-daemon --stop --quiet --pidfile /run/saslauthd/saslauthd.pid
+ eend $?
+}
diff --git a/dev-libs/cyrus-sasl/metadata.xml b/dev-libs/cyrus-sasl/metadata.xml
new file mode 100644
index 000000000000..69c8e0ae267b
--- /dev/null
+++ b/dev-libs/cyrus-sasl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-mail</herd>
+<use>
+ <flag name='authdaemond'>Add Courier-IMAP authdaemond unix socket
+ support (<pkg>net-mail/courier-imap</pkg>, <pkg>mail-mta/courier</pkg>)
+ </flag>
+ <flag name='openldap'>Add ldap support for saslauthd</flag>
+ <flag name='ldapdb'>Enable ldapdb plugin</flag>
+ <flag name='sample'>Enable sample client and server</flag>
+ <flag name='srp'>Enable SRP authentication</flag>
+ <flag name='urandom'>Use /dev/urandom instead of /dev/random</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/d0_blind_id/Manifest b/dev-libs/d0_blind_id/Manifest
new file mode 100644
index 000000000000..1a09cb497a26
--- /dev/null
+++ b/dev-libs/d0_blind_id/Manifest
@@ -0,0 +1 @@
+DIST d0_blind_id-0.5.tar.gz 344460 SHA256 9a223609df9c5d92c63047fc320ae64034ccd8815624da84806e0916c9f4ac75 SHA512 0a7735269a41108f191c4143b52eff2179889d94239be5be0c2406c6ed789b68e2d545250f9964e97f8c86a0653296bacdbe9b8d9db89a79ca6922d7c1a90162 WHIRLPOOL f87a624283df549d852c2a859f60e9cfd51ef85fa6233d254dd3f6c4bef95ffb9e2aff95584791ff4bad01fb3b557903aa223654607e61ab742d5fb1ae217594
diff --git a/dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild b/dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild
new file mode 100644
index 000000000000..4d3465c29a27
--- /dev/null
+++ b/dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="Blind-ID library for user identification using RSA blind signatures"
+HOMEPAGE="http://git.xonotic.org/?p=xonotic/d0_blind_id.git;a=summary"
+SRC_URI="mirror://github/divVerent/d0_blind_id/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/gmp:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( d0_blind_id.txt )
+
+src_prepare() {
+ # fix out-of-source build
+ sed -i \
+ -e 's, d0_rijndael.c, "$srcdir/d0_rijndael.c",' \
+ configure.ac || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-rijndael
+ --without-openssl
+ --without-tommath
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/d0_blind_id/metadata.xml b/dev-libs/d0_blind_id/metadata.xml
new file mode 100644
index 000000000000..d3c2cc926f0b
--- /dev/null
+++ b/dev-libs/d0_blind_id/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/dev-libs/darts/Manifest b/dev-libs/darts/Manifest
new file mode 100644
index 000000000000..69f04918ca44
--- /dev/null
+++ b/dev-libs/darts/Manifest
@@ -0,0 +1 @@
+DIST darts-0.32.tar.gz 234001 SHA256 0dfc0b82f0a05d93b92acf849368e54bf93f1de8ffb31ba0a21e45ab9e269285 SHA512 b9af8ce60688f5858dac2cac35a8666848dba6729f9f4364786123a1c0484e56c8b981ec04e59653afbcf20cce3b326a49243095213efb525b5669472ac7358e WHIRLPOOL 7fa9f2bf4186d1dd2e759206f2d58bc4bee672c7c0f68683a06e7afadf5d342a8578f5fc02aa0d813ef70731a2ad7ccf02e7d6d4264983de0b27521529ed257d
diff --git a/dev-libs/darts/darts-0.32.ebuild b/dev-libs/darts/darts-0.32.ebuild
new file mode 100644
index 000000000000..f30dd5481286
--- /dev/null
+++ b/dev-libs/darts/darts-0.32.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A C++ template library that implements Double-Array"
+HOMEPAGE="http://chasen.org/~taku/software/darts/"
+SRC_URI="http://chasen.org/~taku/software/darts/src/${P}.tar.gz"
+
+LICENSE="|| ( BSD LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="zlib"
+DEPEND="zlib? ( sys-libs/zlib )"
+
+src_compile() {
+ econf `use_with zlib` || die
+ emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README || die
+ dohtml doc/* || die
+}
diff --git a/dev-libs/darts/metadata.xml b/dev-libs/darts/metadata.xml
new file mode 100644
index 000000000000..2b9413a4279f
--- /dev/null
+++ b/dev-libs/darts/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/dbus-c++/Manifest b/dev-libs/dbus-c++/Manifest
new file mode 100644
index 000000000000..39e2adbc325a
--- /dev/null
+++ b/dev-libs/dbus-c++/Manifest
@@ -0,0 +1 @@
+DIST libdbus-c++-0.9.0.tar.gz 466362 SHA256 bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61 SHA512 7acebbb4254b2886cc0f05c5ddeeeac0b5863c5552d32249463b89380b0b95b8225c80bd98b8c7fcaada42ab770b5eff41b15390cd0d78bf1ee322ac6c2de319 WHIRLPOOL 71df5476368591aa289ee35e5b5eacf6f9322bc5fb6c0180f18ff4deac28700d4903b54ac8a0208600062e147f7ae50c0865f7c1cb71a0b2219377120f73ffab
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild
new file mode 100644
index 000000000000..eddd15187029
--- /dev/null
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules"
+
+inherit autotools-multilib
+
+DESCRIPTION="Provides a C++ API for D-BUS"
+HOMEPAGE="http://sourceforge.net/projects/dbus-cplusplus/ http://sourceforge.net/apps/mediawiki/dbus-cplusplus/index.php?title=Main_Page"
+SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="doc ecore glib static-libs test"
+
+RDEPEND="sys-apps/dbus[${MULTILIB_USEDEP}]
+ ecore? ( dev-libs/ecore )
+ glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ dev-util/cppunit[${MULTILIB_USEDEP}]
+ virtual/pkgconfig"
+
+S=${WORKDIR}/lib${P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+)
+
+multilib_src_configure() {
+ # not just using autotools-multilib_src_configure because of multilib_native... logic
+
+ # TODO : add ecore multilib support if/when it is multilibified
+ ECONF_SOURCE="${S}" econf \
+ --disable-examples \
+ $(multilib_native_use_enable doc doxygen-docs) \
+ $(multilib_native_use_enable ecore) \
+ $(use_enable glib) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests) \
+ PTHREAD_LIBS=-lpthread
+ # ACX_PTHREAD sets PTHREAD_CFLAGS but not PTHREAD_LIBS for some reason...
+
+ if multilib_is_native_abi; then
+ # docs don't like out-of-source builds
+ local d
+ for d in img html; do
+ ln -s "${S}"/doc/${d} "${BUILD_DIR}"/doc/${d} || die
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use doc; then
+ dohtml -r "${S}"/doc/html/*
+ fi
+}
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch
new file mode 100644
index 000000000000..2d5771717248
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch
@@ -0,0 +1,38 @@
+sniped from ChromiumOS
+
+https://bugs.gentoo.org/424707
+
+From 154f7861d19a2bd5c79c488f9989610971db451b Mon Sep 17 00:00:00 2001
+From: Han Shen <shenhan@google.com>
+Date: Thu, 31 May 2012 16:49:35 -0700
+Subject: [PATCH] Fixed dbus-c++ gcc 4.7 building problem.
+
+Just add "unistd.h" inclusion to eventloop-integration.h.
+
+BUG=None
+TEST=Manually built using gcc 4.7.
+
+Change-Id: I87bd1f90db6a4c974a5ed8134044e8be2034aff2
+Reviewed-on: https://gerrit.chromium.org/gerrit/24260
+Tested-by: Han Shen <shenhan@google.com>
+Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
+Commit-Ready: Han Shen <shenhan@chromium.org>
+---
+ include/dbus-c++/eventloop-integration.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h
+index 5108340..1b56ab5 100644
+--- a/include/dbus-c++/eventloop-integration.h
++++ b/include/dbus-c++/eventloop-integration.h
+@@ -27,6 +27,7 @@
+
+ #include <cstring>
+ #include <errno.h>
++#include <unistd.h>
+ #include "api.h"
+ #include "dispatcher.h"
+ #include "util.h"
+--
+1.7.9.7
+
diff --git a/dev-libs/dbus-c++/metadata.xml b/dev-libs/dbus-c++/metadata.xml
new file mode 100644
index 000000000000..783d17f1efcc
--- /dev/null
+++ b/dev-libs/dbus-c++/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ dbus-c++ attempts to provide a C++ API for D-BUS.
+ </longdescription>
+ <use>
+ <flag name="ecore">Use Ecore integration</flag>
+ <flag name="glib">Use glib integration</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">dbus-cplusplus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/dbus-glib/Manifest b/dev-libs/dbus-glib/Manifest
new file mode 100644
index 000000000000..4ed0e3716eb9
--- /dev/null
+++ b/dev-libs/dbus-glib/Manifest
@@ -0,0 +1,2 @@
+DIST dbus-glib-0.102.tar.gz 783792 SHA256 6964ed585bb8149a14ab744b5ded5e77cf71ec5446e6dcc5fcf5eebcc52df29c SHA512 9bf4b33dd264eaed9ade0e35f0ad47986c31bd5e3de4d3e2fcee66a9be87000b6121bc810b9a5a24eca53190d98323b871dc78f341df8e05bd0247b096cf778f WHIRLPOOL b83f12877118dca1797c935f57a6ae664fbfc70c4d2fb2d95d2cf11abb7c326a098f336225ffb9030fac00a33d988a30038e2734721fc1ddbb5297f864e01bcf
+DIST dbus-glib-0.104.tar.gz 793417 SHA256 bfc1f1a82bfc3ec3ecafe04d0e87bab7e999f50dce4f4a34d0b89caf6bd821f6 SHA512 eff599f169976055545b51459d77845002d8bc7e8dcd056cec2bf83836d07c66b03baed2023bc87a6d7c021d35c744987830f8ed6f9c3391a49ee199db85134b WHIRLPOOL 6e757dee52ea11a7e43cc22a090243cd77ae0b38439fead755c78a6e8b7d6e7e2b1bb1218e23396513e33ef555e35b556f3b333a190077fd9472288e3e96ce91
diff --git a/dev-libs/dbus-glib/dbus-glib-0.102.ebuild b/dev-libs/dbus-glib/dbus-glib-0.102.ebuild
new file mode 100644
index 000000000000..8678e12e9a3f
--- /dev/null
+++ b/dev-libs/dbus-glib/dbus-glib-0.102.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit bash-completion-r1 eutils multilib-minimal
+
+DESCRIPTION="D-Bus bindings for glib"
+HOMEPAGE="http://dbus.freedesktop.org/"
+SRC_URI="http://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 AFL-2.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="debug doc static-libs test"
+
+CDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}]"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1.4 )"
+RDEPEND="${CDEPEND}
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-baselibs-20131008-r8
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README )
+
+set_TBD() {
+ # out of sources build dir for make check
+ export TBD="${BUILD_DIR}-tests"
+}
+
+src_prepare() {
+ epatch_user
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}"/var
+ --enable-bash-completion
+ $(use_enable debug asserts)
+ $(use_enable static-libs static)
+ $(multilib_native_use_enable doc gtk-doc)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ use doc || ln -s "${S}"/doc/reference/html doc/reference/html #460042
+
+ if use test; then
+ set_TBD
+ mkdir "${TBD}"
+ cd "${TBD}"
+ einfo "Running configure in ${TBD}"
+ ECONF_SOURCE="${S}" econf \
+ "${myconf[@]}" \
+ $(use_enable test checks) \
+ $(use_enable test tests) \
+ $(use_enable test asserts) \
+ $(use_with test test-socket-dir "${T}"/dbus-test-socket)
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use test; then
+ set_TBD
+ cd "${TBD}"
+ einfo "Running make in ${TBD}"
+ emake
+ fi
+}
+
+multilib_src_test() {
+ set_TBD
+ cd "${TBD}"
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send
+ rm -rf "${ED}"/etc/bash_completion.d || die
+
+ prune_libtool_files
+}
diff --git a/dev-libs/dbus-glib/dbus-glib-0.104.ebuild b/dev-libs/dbus-glib/dbus-glib-0.104.ebuild
new file mode 100644
index 000000000000..4a51eee415eb
--- /dev/null
+++ b/dev-libs/dbus-glib/dbus-glib-0.104.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit bash-completion-r1 eutils multilib-minimal
+
+DESCRIPTION="D-Bus bindings for glib"
+HOMEPAGE="http://dbus.freedesktop.org/"
+SRC_URI="http://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 AFL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="debug static-libs test"
+
+CDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=sys-apps/dbus-1.8[${MULTILIB_USEDEP}]
+"
+DEPEND="${CDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ virtual/pkgconfig
+"
+RDEPEND="${CDEPEND}
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-baselibs-20131008-r8
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README )
+
+set_TBD() {
+ # out of sources build dir for make check
+ export TBD="${BUILD_DIR}-tests"
+}
+
+src_prepare() {
+ epatch_user
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}"/var
+ --enable-bash-completion
+ --disable-gtk-doc
+ $(use_enable debug asserts)
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ ln -s "${S}"/doc/reference/html doc/reference/html #460042
+
+ if use test; then
+ set_TBD
+ mkdir "${TBD}"
+ cd "${TBD}"
+ einfo "Running configure in ${TBD}"
+ ECONF_SOURCE="${S}" econf \
+ "${myconf[@]}" \
+ $(use_enable test checks) \
+ $(use_enable test tests) \
+ $(use_enable test asserts) \
+ $(use_with test test-socket-dir "${T}"/dbus-test-socket)
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use test; then
+ set_TBD
+ cd "${TBD}"
+ einfo "Running make in ${TBD}"
+ emake
+ fi
+}
+
+multilib_src_test() {
+ set_TBD
+ cd "${TBD}"
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send
+ rm -rf "${ED}"/etc/bash_completion.d || die
+
+ prune_libtool_files
+}
diff --git a/dev-libs/dbus-glib/metadata.xml b/dev-libs/dbus-glib/metadata.xml
new file mode 100644
index 000000000000..1e26d76c79f5
--- /dev/null
+++ b/dev-libs/dbus-glib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:freedesktop:dbus-glib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/dbxml/Manifest b/dev-libs/dbxml/Manifest
new file mode 100644
index 000000000000..80a294db9a34
--- /dev/null
+++ b/dev-libs/dbxml/Manifest
@@ -0,0 +1 @@
+DIST dbxml-2.5.16.tar.gz 52819154 SHA256 f2423be3805811a9cca71d6877c0b1bdc1941cd76c3f26d6eb011a5724a3edd2 SHA512 71c7db8dccd8dda64aafc2c8399129f94cb2c5b0b75176b96e3f6c57b5cd9d040418de2fdce9322f0b7f00bcd88a21aca1e2b886cf18aba942c582236d7bdc7b WHIRLPOOL 85a67e577948aebba7dcfb833aa90ab14c0d04a66e003bf878bd5655c62a26e54e7f90279d29f29c77726cb37452e9cbe13b82fe06ce92cb061fdbb119aa7670
diff --git a/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild b/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild
new file mode 100644
index 000000000000..a816963b238d
--- /dev/null
+++ b/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_DEPEND="python? 2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit autotools distutils flag-o-matic perl-app eutils versionator libtool multilib java-pkg-opt-2
+
+MY_PV="$(get_version_component_range 1-3)"
+MY_P="${PN}-${MY_PV}"
+PATCH_V="$(get_version_component_range 4)"
+PATCH_V="${PATCH_V:-0}"
+DB_VER="4.8"
+
+DESCRIPTION="BerkeleyDB XML, a native XML database from the BerkeleyDB team"
+HOMEPAGE="http://www.oracle.com/technetwork/database/berkeleydb/index-083851.html
+ http://download.oracle.com/otndocs/products/berkeleydb/html/$(get_version_component_range 1-2).html"
+SRC_URI="http://download-east.oracle.com/berkeley-db/${MY_P}.tar.gz
+ http://download-west.oracle.com/berkeley-db/${MY_P}.tar.gz
+ http://download-uk.oracle.com/berkeley-db/${MY_P}.tar.gz"
+
+LICENSE="Sleepycat Apache-1.1 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples java perl python tcl"
+
+RDEPEND="sys-libs/db:${DB_VER}[cxx,java?]
+ >=dev-libs/xerces-c-3
+ =dev-libs/xqilla-2.2*
+ sys-libs/zlib
+ perl? ( dev-lang/perl )
+ python? (
+ >=dev-python/bsddb3-4.8.0 )
+ tcl? ( dev-lang/tcl:0= )
+ java? ( >=virtual/jre-1.5 )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ java? ( >=virtual/jdk-1.5 )"
+
+# return a list of patches calculated using the micro-version
+get_patches() {
+ local patches=""
+ for (( patch_v=1 ; patch_v <= ${PATCH_V} ; patch_v++ )) ; do
+ patches="${patches} patch.${MY_PV}.${patch_v}"
+ done
+ echo ${patches}
+}
+MYPATCHES="$(get_patches)"
+
+for patch in ${MYPATCHES} ; do
+ SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/xml/update/${MY_PV}/${patch}"
+done
+
+S="${WORKDIR}/${MY_P}/dbxml"
+
+src_unpack() {
+ tar xzpf "${DISTDIR}/${MY_P}.tar.gz" ${MY_P}/dbxml || die "unpacking package failed"
+ for patch in ${MYPATCHES} ; do
+ cp "${DISTDIR}/${patch}" "${WORKDIR}" || die "copying patch ${patch} failed"
+ done
+}
+
+src_prepare() {
+ for patch in ${MYPATCHES} ; do
+ edos2unix "${WORKDIR}/${patch}"
+ epatch "${WORKDIR}/${patch}"
+ done
+
+ epatch "${FILESDIR}/${PV}-respect-ldflags-no-rpath.patch"
+
+ # sys-libs/db is slotted on Gentoo
+ sed -i \
+ -e "s:db_version=.*:db_version=${DB_VER}:" \
+ dist/aclocal/options.ac configure || die "sed failed"
+
+ if use java ; then
+ sed -i \
+ -e "s|\$with_berkeleydb/lib/db.jar|$(java-pkg_getjars db-${DB_VER})|" \
+ dist/aclocal/options.ac configure || die "sed failed"
+ fi
+
+ # * Fix libraries to link
+ # * Strip "../../build_unix/.libs" from LIBPATH or it'll
+ # show up in the RPATH entry
+ sed -i \
+ -e "s|dbxml-2|dbxml-$(get_version_component_range 1-2)|" \
+ -e "s|db-4|db-${DB_VER}|" \
+ -e 's|dbxml_home = .*|dbxml_home = "../.."|' \
+ -e 's|"../../build_unix/.libs",||' \
+ src/python/setup.py.in || die "sed failed"
+
+ sed -i \
+ -e "s|dbxml-2|dbxml-$(get_version_component_range 1-2)|" \
+ -e "s|db_cxx-4|db_cxx-${DB_VER}|" \
+ -e "s|@DB_DIR@/lib|/usr/$(get_libdir)|" \
+ -e "s|@DB_DIR@/include|/usr/include/db${DB_VER}|" \
+ -e "s|@XERCES_DIR@/lib|/usr/$(get_libdir)|" \
+ -e "s|@XQILLA_DIR@/lib|/usr/$(get_libdir)|" \
+ src/perl/config.in || die "sed failed"
+
+ # avoid the automake/autoconf run in src_{configure,compile}
+ eautoreconf
+}
+
+src_configure() {
+ cd "${S}/build_unix"
+
+ #Needed despite db_version stuff above
+ append-flags -I"${EPREFIX}"/usr/include/db${DB_VER}
+
+ local myconf=""
+
+ # use_enable doesn't work here due to a different syntax
+ use java && myconf="${myconf} --enable-java"
+ use tcl && myconf="${myconf} --enable-tcl --with-tcl=${EPREFIX}/usr/$(get_libdir)"
+
+ export ac_cv_prog_path_strip="missing_strip"
+ ECONF_SOURCE="../" \
+ JAVAPREFIX="${JAVA_HOME}" \
+ econf \
+ --with-berkeleydb="${EPREFIX}"/usr \
+ --with-xqilla="${EPREFIX}"/usr \
+ --with-xerces="${EPREFIX}"/usr \
+ ${myconf}
+}
+
+src_compile() {
+ cd "${S}/build_unix"
+
+ default
+
+ if use python ; then
+ einfo "Compiling python extension"
+ cd "${S}/src/python"
+ append-cflags "-I../../include"
+ append-ldflags "-L../../build_unix/.libs"
+ distutils_src_compile
+ fi
+
+ if use perl ; then
+ cd "${S}/src/perl"
+ perl-app_src_prep
+ perl-app_src_compile
+ fi
+}
+
+src_install() {
+ cd "${S}/build_unix"
+
+ # somewhat broken build system
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ use doc && dohtml -A pdf -r "${ED}"/usr/docs/*
+ rm -rf "${ED}/usr/docs"
+
+ if use java ; then
+ java-pkg_dojar "${ED}/usr/$(get_libdir)/dbxml.jar"
+ rm "${ED}/usr/$(get_libdir)/dbxml.jar"
+ fi
+
+ if use python ; then
+ cd "${S}/src/python"
+ distutils_src_install
+ fi
+
+ if use perl ; then
+ cd "${S}/src/perl"
+ emake DESTDIR="${D}" install || die "emake install perl module failed"
+ perl_delete_localpod
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r "${S}/examples"
+ fi
+
+}
+
+pkg_preinst() {
+ perl_set_version
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ if use python ; then
+ python_mod_optimize dbxml.py
+ fi
+}
+
+pkg_postrm() {
+ if use python ; then
+ python_mod_cleanup dbxml.py
+ fi
+}
diff --git a/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch b/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch
new file mode 100644
index 000000000000..d752941ab530
--- /dev/null
+++ b/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch
@@ -0,0 +1,18 @@
+diff --git a/Makefile.am b/Makefile.am
+index 567aaf9..281c782 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -60,10 +60,10 @@ endif
+ # Global flags
+ ##################################################
+
+-CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/src/dbxml -I$(top_srcdir)/src/common \
++CPPFLAGS += -I$(top_srcdir)/include/ -I$(top_srcdir)/src/dbxml -I$(top_srcdir)/src/common \
+ $(berkeleydb_include) $(xqilla_include) $(xerces_include) $(zlib_include)
+-LDFLAGS = -L$(berkeleydb_lib) -R$(berkeleydb_lib) -L$(xqilla_lib) -R$(xqilla_lib) \
+- -L$(xerces_lib) -R$(xerces_lib) $(zlib_lib) -l$(berkeleydb_library) -lxqilla -lxerces-c $(zlib_library)
++LDFLAGS += -L$(berkeleydb_lib) -L$(xqilla_lib) \
++ -L$(xerces_lib) $(zlib_lib) -l$(berkeleydb_library) -lxqilla -lxerces-c $(zlib_library)
+ LDADD = libdbxml.la
+
+ ##################################################
diff --git a/dev-libs/dbxml/metadata.xml b/dev-libs/dbxml/metadata.xml
new file mode 100644
index 000000000000..31c8b99f54a1
--- /dev/null
+++ b/dev-libs/dbxml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/dclog/Manifest b/dev-libs/dclog/Manifest
new file mode 100644
index 000000000000..5a6d378fc1a4
--- /dev/null
+++ b/dev-libs/dclog/Manifest
@@ -0,0 +1 @@
+DIST dclog-1.1.1.tar.bz2 34470 SHA256 052ea50db2d6bbbf4924a96b4643c69adc3d561cec3bc4f8bf382285cb725a0a SHA512 87d2801262ee9abd994178910607729df9d082f7d562b5affa2cc34d567705aa0bacf8a6f24660d4411892856a3042fb192913e32ab57caab4b927647c296703 WHIRLPOOL 8d31b395f0f8718e688cab9303ee98229c941be96bb23c6407328646f9e35d2065cf297eb6749a5c26dceac4d09d3ba9a890b353c2a6f7af225949495aa89b17
diff --git a/dev-libs/dclog/dclog-1.1.1-r1.ebuild b/dev-libs/dclog/dclog-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..eadccbc05a7d
--- /dev/null
+++ b/dev-libs/dclog/dclog-1.1.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A logging library for C/C++ programs"
+HOMEPAGE="http://sourceforge.net/projects/dclog/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+src_prepare() {
+ sed -i Makefile -e '/ -o /s|${CFLAGS}|& ${LDFLAGS}|g' || die "sed Makefile"
+}
+
+src_compile() {
+ emake CC=$(tc-getCC) all || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install || die "install failed"
+ dodoc VERSION
+ dohtml docs/html/*
+}
diff --git a/dev-libs/dclog/metadata.xml b/dev-libs/dclog/metadata.xml
new file mode 100644
index 000000000000..5fd3ffb2471e
--- /dev/null
+++ b/dev-libs/dclog/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ dclog is a C logging library. It supports the concept of log levels,
+ configurable logfile timestamps, and a configurable prefix to log
+ messages.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">dclog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/dee/Manifest b/dev-libs/dee/Manifest
new file mode 100644
index 000000000000..9398a6ac1ac3
--- /dev/null
+++ b/dev-libs/dee/Manifest
@@ -0,0 +1 @@
+DIST dee-1.2.7.tar.gz 712167 SHA256 1bf0336ce684aa0f48d6eae2469628c1a9b43695a77443bc31a5790aa673bf8a SHA512 32e25a2164cf052a76cf021006e1cdeca9b25081d19b5e7f1700308ddc21f65b4b5230fef0197fdda1739281b96af39fbf9d1df50d79c812cea8a6f60fbb7248 WHIRLPOOL 95d471be45a338200f5f88be45e8d7f333e34912c55f9b07863e903d86d1936ccfd013b68a6b22931c80f60a59e8447e11472c61e4de975a8731317924c8970d
diff --git a/dev-libs/dee/dee-1.2.7.ebuild b/dev-libs/dee/dee-1.2.7.ebuild
new file mode 100644
index 000000000000..bc156e906901
--- /dev/null
+++ b/dev-libs/dee/dee-1.2.7.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+AUTOTOOLS_AUTORECONF=y
+
+inherit autotools-utils vala python-r1
+
+DESCRIPTION="Provide objects allowing to create Model-View-Controller type programs across DBus"
+HOMEPAGE="https://launchpad.net/dee/"
+SRC_URI="https://launchpad.net/dee/1.0/${PV}/+download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
+IUSE="doc debug examples +icu introspection static-libs test"
+
+REQUIRED_USE="introspection? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/icu:=
+ introspection? (
+ ${PYTHON_DEPS}
+ dev-libs/gobject-introspection
+ )"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ doc? ( dev-util/gtk-doc )
+ test? (
+ dev-libs/gtx
+ dev-util/dbus-test-runner
+ )"
+
+src_prepare() {
+ sed \
+ -e '/GCC_FLAGS/s:-g::' \
+ -e 's:vapigen:${VAPIGEN}:g' \
+ -i configure.ac || die
+
+ sed \
+ -e 's:bindings::g' \
+ -i Makefile.am || die
+
+ vala_src_prepare
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-silent-rules
+ $(use_enable debug trace-log)
+ $(use_enable doc gtk-doc)
+ $(use_enable icu)
+ $(use_enable test tests)
+# $(use_enable test extended-tests)
+ )
+ autotools-utils_src_configure
+ use introspection && python_copy_sources
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ compilation() {
+ cd bindings || die
+ emake \
+ pyexecdir="$(python_get_sitedir)"
+ }
+ use introspection && python_foreach_impl run_in_build_dir compilation
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PN}/
+ doins -r examples
+ fi
+
+ installation() {
+ cd bindings || die
+ emake \
+ PYGI_OVERRIDES_DIR="$(python_get_sitedir)"/gi/overrides \
+ DESTDIR="${D}" \
+ install
+ }
+ use introspection && python_foreach_impl run_in_build_dir installation
+}
diff --git a/dev-libs/dee/files/dee-1.0.10-gcc-4.5.patch b/dev-libs/dee/files/dee-1.0.10-gcc-4.5.patch
new file mode 100644
index 000000000000..11854a96e3b2
--- /dev/null
+++ b/dev-libs/dee/files/dee-1.0.10-gcc-4.5.patch
@@ -0,0 +1,30 @@
+ src/dee-filter.h | 2 +-
+ src/dee-model-reader.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/dee-filter.h b/src/dee-filter.h
+index de8d252..327f512 100644
+--- a/src/dee-filter.h
++++ b/src/dee-filter.h
+@@ -30,7 +30,7 @@
+
+ G_BEGIN_DECLS
+
+-typedef struct _DeeFilter DeeFilter;
++//typedef struct _DeeFilter DeeFilter;
+
+ /**
+ * DeeFilterMapFunc:
+diff --git a/src/dee-model-reader.h b/src/dee-model-reader.h
+index a249149..dd23de6 100644
+--- a/src/dee-model-reader.h
++++ b/src/dee-model-reader.h
+@@ -30,7 +30,7 @@
+
+ G_BEGIN_DECLS
+
+-typedef struct _DeeFilter DeeFilter;
++//typedef struct _DeeFilter DeeFilter;
+
+ /**
+ * DeeModelReaderFunc:
diff --git a/dev-libs/dee/files/dee-1.0.10-vapigen.patch b/dev-libs/dee/files/dee-1.0.10-vapigen.patch
new file mode 100644
index 000000000000..25fb7a97406a
--- /dev/null
+++ b/dev-libs/dee/files/dee-1.0.10-vapigen.patch
@@ -0,0 +1,16 @@
+ vapi/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/vapi/Makefile.am b/vapi/Makefile.am
+index c384ecd..413a96a 100644
+--- a/vapi/Makefile.am
++++ b/vapi/Makefile.am
+@@ -6,7 +6,7 @@ if HAVE_INTROSPECTION
+ if HAVE_VAPIGEN
+
+ dee-1.0.vapi: $(top_builddir)/src/Dee-$(DEE_MAJOR_VERSION).$(DEE_MINOR_VERSION).gir $(srcdir)/Dee-1.0-custom.vala $(srcdir)/Dee-1.0.metadata
+- $(AM_V_GEN)$(VALA_API_GEN) --library dee-1.0 --metadatadir=$(srcdir) $(filter %.gir %.vala,$^)
++ $(AM_V_GEN)$(VALA_API_GEN) --library dee-1.0 --metadatadir=$(srcdir) $(filter %.gir %.vala,$^) --pkg gtk+-3.0
+ @touch $@
+
+ endif
diff --git a/dev-libs/dee/metadata.xml b/dev-libs/dee/metadata.xml
new file mode 100644
index 000000000000..d626400f272d
--- /dev/null
+++ b/dev-libs/dee/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">dee</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/dietlibc/Manifest b/dev-libs/dietlibc/Manifest
new file mode 100644
index 000000000000..2f471903e102
--- /dev/null
+++ b/dev-libs/dietlibc/Manifest
@@ -0,0 +1,4 @@
+DIST dietlibc-0.30.tar.bz2 567046 SHA256 2c8733825d364d374f0179a403a57e4a382fbb9852431228ef19062a5de183b5 SHA512 dfd2ea0de3db3aa7f9781353bfd3fe85e1925099afa05429e15714f7c73633f1e33a017e85f592b71d2649fc14484650b3fb88e2e92833e8aa7550cf687040bd WHIRLPOOL d46fbf8a9b471c6d3e55b5d5dff81c65649fe1c4d8362acf2f5a440541f4340e0cdf2349cf5e6567a0e0094cd8e0e598649200db64091661614fb1ac899dc118
+DIST dietlibc-0.33_pre20110403.tar.gz 743758 SHA256 6505ed424a5b53850ae1dcbc75fbf92f3b7e4038dd1104d114b366221cc48eea SHA512 32f9d752a77bcca5703a388ba64dcb53de75999043c1b2fabe973eba05fce4e9f48a6bdb71e061939eee339ca723234d33d2acb3677a8030accaccba31a5932e WHIRLPOOL 5756b1e42637d89fd17f1a79fe602f9e009b9d5dcca0fbe3540ad2af21ad96b32d0b4773f882cccfd97d6308cd3c9ad79d06cc7ca79e28a4d60fd00379eaef70
+DIST dietlibc-0.34_pre20140729.tar.bz2 670195 SHA256 d6693610c756dbfc070c0ffed5a75e1ddab8d119394962ca1ed4d42f34b57318 SHA512 a0bb5465f7fc985fd074dfcc4039003ec26b6b5fde5f2ccc53322067bd1a6459e742c9debeffda0b5146e287baa8e49f74f4a8ffafdf1daacacec4768d13db36 WHIRLPOOL 566e505a65e3f81c5507fc494324b4f48e5af27683d69c443cf7d2380599a24bbc984d7d430acb25bc0d28baa924565ee513c8217dd2eb6a960c70d6d2a7e1b7
+DIST dietlibc-patches-0.30-r2.tar.bz2 31582 SHA256 03a3ea9bba39fb78511a59e80bcbdafdc82a0859b31b6af925854052a79f06fe SHA512 f2d2a805b7c900ed174ca4460a68943dc16468a61dd2016fa329d5d20d547698d1a30a3f1f38b78c314b0ddaea8cdc3a4b0455c77b3a688ba4ffdc1bc88c65fe WHIRLPOOL a551a1c666fb43e291975e2b2acd03c2bf719e85c12256873048fab62e48401ecdbedfd8db7f6f6b273c75821931c3e87ed71f8ce811683f1b09740528056159
diff --git a/dev-libs/dietlibc/dietlibc-0.30-r2.ebuild b/dev-libs/dietlibc/dietlibc-0.30-r2.ebuild
new file mode 100644
index 000000000000..893191a9d860
--- /dev/null
+++ b/dev-libs/dietlibc/dietlibc-0.30-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="A minimal libc"
+HOMEPAGE="http://www.fefe.de/dietlibc/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+ http://dev.gentoo.org/~phreak/distfiles/${PN}-patches-${PVR}.tar.bz2
+ http://dev.gentoo.org/~hollow/distfiles/${PN}-patches-${PVR}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~mips sparc x86"
+IUSE="debug"
+
+DEPEND=""
+
+pkg_setup() {
+ # Replace sparc64 related C[XX]FLAGS (see bug #45716)
+ use sparc && replace-sparc64-flags
+
+ # gcc-hppa suffers support for SSP, compilation will fail
+ # (do we still need this? SSP is disabled, see below)
+ use hppa && strip-unsupported-flags
+
+ # we use dietlibs STACKGAP in favor of the broken SSP implementation
+ filter-flags -fstack-protector -fstack-protector-all
+
+ # debug flags
+ use debug && append-flags -g
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${WORKDIR}"/patches/*.patch
+}
+
+src_compile() {
+ # parallel make is b0rked
+ emake -j1 CFLAGS="${CFLAGS}" || die "make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dobin "${D}"/usr/diet/bin/* || die "dobin failed"
+ doman "${D}"/usr/diet/man/*/* || die "doman failed"
+ rm -r "${D}"/usr/diet/{man,bin}
+ dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
+}
diff --git a/dev-libs/dietlibc/dietlibc-0.33_pre20110403.ebuild b/dev-libs/dietlibc/dietlibc-0.33_pre20110403.ebuild
new file mode 100644
index 000000000000..f90d08626382
--- /dev/null
+++ b/dev-libs/dietlibc/dietlibc-0.33_pre20110403.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+GITHUB_AUTHOR="hollow"
+GITHUB_PROJECT="dietlibc"
+GITHUB_COMMIT="4e86d5e"
+
+DESCRIPTION="A libc optimized for small size"
+HOMEPAGE="http://www.fefe.de/dietlibc/"
+SRC_URI="http://nodeload.github.com/${GITHUB_AUTHOR}/${GITHUB_PROJECT}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ia64 ~mips sparc x86 ~amd64-linux ~x86-linux"
+IUSE="debug"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}"/${GITHUB_AUTHOR}-${GITHUB_PROJECT}-${GITHUB_COMMIT}
+
+DIETHOME=/usr/diet
+
+pkg_setup() {
+ # Replace sparc64 related C[XX]FLAGS (see bug #45716)
+ use sparc && replace-sparc64-flags
+
+ # gcc-hppa suffers support for SSP, compilation will fail
+ use hppa && strip-unsupported-flags
+
+ # debug flags
+ use debug && append-flags -g
+
+ # Makefile does not append CFLAGS
+ append-flags -nostdinc -W -Wall -Wextra -Wchar-subscripts \
+ -Wmissing-prototypes -Wmissing-declarations -Wno-switch \
+ -Wno-unused -Wredundant-decls -fno-strict-aliasing
+
+ # only use -nopie on archs that support it
+ gcc-specs-pie && append-flags -nopie
+}
+
+src_compile() {
+ emake prefix="${EPREFIX}"${DIETHOME} \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ STRIP=":" \
+ || die "make failed"
+}
+
+src_install() {
+ emake prefix="${EPREFIX}"${DIETHOME} \
+ DESTDIR="${D}" \
+ install-bin \
+ install-headers \
+ || die "make install failed"
+
+ dobin "${ED}"${DIETHOME}/bin/* || die "dobin failed"
+ doman "${ED}"${DIETHOME}/man/*/* || die "doman failed"
+ rm -r "${ED}"${DIETHOME}/{man,bin}
+
+ dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
+}
diff --git a/dev-libs/dietlibc/dietlibc-0.34_pre20140729.ebuild b/dev-libs/dietlibc/dietlibc-0.34_pre20140729.ebuild
new file mode 100644
index 000000000000..43ec4b93320f
--- /dev/null
+++ b/dev-libs/dietlibc/dietlibc-0.34_pre20140729.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="A libc optimized for small size"
+HOMEPAGE="http://www.fefe.de/dietlibc/"
+SRC_URI="http://dev.gentoo.org/~patrick/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=" ~alpha ~amd64 ~arm ~ia64 ~mips ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DIETHOME=/usr/diet
+
+S=${WORKDIR}/dietlibc
+
+src_prepare() {
+ # Replace sparc64 related C[XX]FLAGS (see bug #45716)
+ use sparc && replace-sparc64-flags
+
+ # gcc-hppa suffers support for SSP, compilation will fail
+ use hppa && strip-unsupported-flags
+
+ # Makefile does not append CFLAGS
+ append-flags -nostdinc -W -Wall -Wextra -Wchar-subscripts \
+ -Wmissing-prototypes -Wmissing-declarations -Wno-switch \
+ -Wno-unused -Wredundant-decls -fno-strict-aliasing
+
+ # Disable ssp for we default to it on >=gcc-4.8.3
+ append-flags $(test-flags -fno-stack-protector)
+
+ # only use -nopie on archs that support it
+ gcc-specs-pie && append-flags -nopie
+
+ sed -i -e 's:strip::' Makefile || die
+ append-flags -Wa,--noexecstack
+}
+
+src_compile() {
+ emake -j1 prefix="${EPREFIX}"${DIETHOME} \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ STRIP=":"
+}
+
+src_install() {
+ emake -j1 prefix="${EPREFIX}"${DIETHOME} \
+ DESTDIR="${D}" \
+ install-bin \
+ install-headers \
+ install-profiling
+
+ dobin "${ED}"${DIETHOME}/bin/*
+ doman "${ED}"${DIETHOME}/man/*/*
+ rm -r "${ED}"${DIETHOME}/{man,bin} || die
+
+ dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
+}
diff --git a/dev-libs/dietlibc/metadata.xml b/dev-libs/dietlibc/metadata.xml
new file mode 100644
index 000000000000..965014493b69
--- /dev/null
+++ b/dev-libs/dietlibc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ The diet libc is a libc that is optimized for small size. It can be
+ used to create small statically linked binaries for Linux on alpha, arm,
+ hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/ding-libs/Manifest b/dev-libs/ding-libs/Manifest
new file mode 100644
index 000000000000..fa857fe2ff98
--- /dev/null
+++ b/dev-libs/ding-libs/Manifest
@@ -0,0 +1 @@
+DIST ding-libs-0.4.0.tar.gz 827058 SHA256 bdeb90b07ceaa9145e6784ce40a71b69a37fffc7373c51fee258ffffd5390457 SHA512 e062e104f4ad75eea0b59bb113b7a6a4044a42230d96b9b9dda611535835cd0809635b1da1408ae58e97f9ff9a9f4fd48f751365901f9b066b465df3523730a0 WHIRLPOOL 41733ac92c3c7fcaa19f19843a2464a0644632cc345b77fc033910974fa449f91780725302fafadd233c6ef4379174261bbab45e49830e8673a46d9ee3d6f652
diff --git a/dev-libs/ding-libs/ding-libs-0.4.0.ebuild b/dev-libs/ding-libs/ding-libs-0.4.0.ebuild
new file mode 100644
index 000000000000..48143ce82940
--- /dev/null
+++ b/dev-libs/ding-libs/ding-libs-0.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-multilib
+
+DESCRIPTION="Library set needed for build sssd"
+HOMEPAGE="https://fedorahosted.org/sssd"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+
+KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86 ~amd64-linux"
+IUSE="test static-libs"
+
+RDEPEND=""
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-libs/check )
+ "
diff --git a/dev-libs/ding-libs/metadata.xml b/dev-libs/ding-libs/metadata.xml
new file mode 100644
index 000000000000..eff24b2d008e
--- /dev/null
+++ b/dev-libs/ding-libs/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ <name>Andreis Vinogradovs</name>
+ <description>Maintainer. Assign bugs to him</description>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ <description>Proxy maintainer. CC him on bugs</description>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/distorm64/Manifest b/dev-libs/distorm64/Manifest
new file mode 100644
index 000000000000..56c8c10a44ca
--- /dev/null
+++ b/dev-libs/distorm64/Manifest
@@ -0,0 +1,3 @@
+DIST distorm3-1.0.zip 137505 SHA256 f381d0ddabed04ee9161633d3eb3c0bdb87100accd9b669385d4d72b36931f69 SHA512 56e9640b8f140ab9cf9cbacd205b7caf21a84ad698c1b1b3cf93194c986e4de107e056929742301ee7491c5e9bf75784d712740a2fadec084952ca5382fb7e24 WHIRLPOOL 95d4b4fa4a31c6f7fa101fd2f807c89eb87ff6d1a5cb150e14198e655c54acb77caf13a7ad12ba0abea59e0be17f6ca6d04bd0a70c572bd807d436013c4bbaf3
+DIST distorm3-3-sdist.zip 143096 SHA256 a4794af34bc71b1efebf155ff046b236af6b218c11c01127e63bdca340d43abe SHA512 a00a24af997d22c905ba7a311c7f7a4345458888163225266bf3f7f8449b12fa7089ad9154cbfa65ed2f9ffe1002b4475de812778792250bd714cb69c41f5eb9 WHIRLPOOL bd2226394ed25fac93876ae5c7a0f5a073fccb056aa4e9b9bcdd06b2f9414954a0e4c5b94ca254637f648177282fe928f54f16368fd28dab644fe27c1c9f87e7
+DIST distorm64-pkg1.7.30.tar.bz2 91976 SHA256 bc2fc90e2111dfbba7fa397725ed6ae8b70477a3f7c60995e73d44a778a751be SHA512 d5890a3c295a81d6b59eabc14bbf2cdb8686f7675bae993ab2ec7a4d6957ab3a700776c75e58443db78c6cb29b9aaa287d4eac6c35bec68d444d3dbd5fba03c8 WHIRLPOOL 1f8c0f4bcf54ad1cb0b5460c11e031711d6c1d3db60b3c003d2d2ace1dae3c2b92f4e93ca20d119ffc34a41f6c902b1970229038b4e2518e20f18d980cc29082
diff --git a/dev-libs/distorm64/distorm64-1.7.30-r1.ebuild b/dev-libs/distorm64/distorm64-1.7.30-r1.ebuild
new file mode 100644
index 000000000000..b64a51de726c
--- /dev/null
+++ b/dev-libs/distorm64/distorm64-1.7.30-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils flag-o-matic python toolchain-funcs
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+SRC_URI="http://ragestorm.net/distorm/${PN}-pkg${PV}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+python"
+
+DEPEND="python? ( >=dev-lang/python-2.4 )"
+RDEPEND="${DEPEND}"
+RESTRICT_PYTHON_ABIS="3.*"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python.patch"
+ epatch "${FILESDIR}/${P}-respect_flags.patch"
+}
+
+src_compile() {
+ cd "${WORKDIR}/${PN}/build/linux"
+ emake CC="$(tc-getCC)" clib || die "emake clib failed"
+
+ if use python; then
+ building() {
+ # Build ../../src/pydistorm.o separately with each enabled version of Python.
+ rm -f ../../src/pydistorm.o
+
+ # Additional CFLAGS retrieved from build/linux/Makefile.
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -I$(python_get_includedir) -Wall -fPIC -DSUPPORT_64BIT_OFFSET -D_DLL" TARGET="distorm.so-${PYTHON_ABI}" py
+ }
+ python_execute_function building
+ fi
+
+ cd "${WORKDIR}/${PN}/linuxproj"
+ emake CC="$(tc-getCC)" disasm || die "emake disasm failed"
+
+}
+
+src_install() {
+ cd "${WORKDIR}/${PN}/build/linux"
+
+ dolib.so libdistorm64.so
+
+ if use python; then
+ installation() {
+ dodir "$(python_get_sitedir)"
+ install distorm.so-${PYTHON_ABI} "${D}$(python_get_sitedir)/distorm.so"
+ }
+ python_execute_function -q installation
+ fi
+
+ cd "${WORKDIR}/${PN}"
+ newlib.a distorm64.a libdistorm64.a
+
+ dobin linuxproj/disasm
+
+ dodir "/usr/include"
+ install distorm.h "${D}usr/include/" || die "Unable to install distorm.h"
+}
diff --git a/dev-libs/distorm64/distorm64-3.1.ebuild b/dev-libs/distorm64/distorm64-3.1.ebuild
new file mode 100644
index 000000000000..3c89fcfb6e8c
--- /dev/null
+++ b/dev-libs/distorm64/distorm64-3.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.5"
+
+inherit eutils distutils python
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+
+# This is not nice - hardcoding is bad
+SRC_URI="http://distorm.googlecode.com/files/distorm3-1.0.zip"
+S="${WORKDIR}/distorm3-1.0"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+pkg_setup() {
+ python_pkg_setup
+}
+
+src_compile() {
+ distutils_src_compile
+}
diff --git a/dev-libs/distorm64/distorm64-3.3-r1.ebuild b/dev-libs/distorm64/distorm64-3.3-r1.ebuild
new file mode 100644
index 000000000000..e4ed572c7e3c
--- /dev/null
+++ b/dev-libs/distorm64/distorm64-3.3-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+
+MY_PN=distorm
+MY_PV=$(replace_all_version_separators '-')
+MY_P=${MY_PN}${MY_PV}
+
+SRC_URI="http://distorm.googlecode.com/files/${MY_P}-sdist.zip"
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-libs/distorm64/distorm64-3.3.ebuild b/dev-libs/distorm64/distorm64-3.3.ebuild
new file mode 100644
index 000000000000..61bd7aa8bf76
--- /dev/null
+++ b/dev-libs/distorm64/distorm64-3.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.5"
+
+inherit eutils distutils python versionator
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+
+MY_PN=distorm
+MY_PV=$(replace_all_version_separators '-')
+MY_P=${MY_PN}${MY_PV}
+
+SRC_URI="http://distorm.googlecode.com/files/${MY_P}-sdist.zip"
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+pkg_setup() {
+ python_pkg_setup
+}
+
+src_compile() {
+ distutils_src_compile
+}
diff --git a/dev-libs/distorm64/files/distorm64-1.7.30-python.patch b/dev-libs/distorm64/files/distorm64-1.7.30-python.patch
new file mode 100644
index 000000000000..15d82f2215d7
--- /dev/null
+++ b/dev-libs/distorm64/files/distorm64-1.7.30-python.patch
@@ -0,0 +1,11 @@
+--- src/pydistorm.h
++++ src/pydistorm.h
+@@ -22,7 +22,7 @@
+ #include "decoder.h"
+
+ #ifdef __GNUC__
+- #include <python2.5/Python.h>
++ #include <Python.h>
+ #elif _MSC_VER
+ #include <python.h>
+ #endif
diff --git a/dev-libs/distorm64/files/distorm64-1.7.30-respect_flags.patch b/dev-libs/distorm64/files/distorm64-1.7.30-respect_flags.patch
new file mode 100644
index 000000000000..0af2da2f7a9b
--- /dev/null
+++ b/dev-libs/distorm64/files/distorm64-1.7.30-respect_flags.patch
@@ -0,0 +1,42 @@
+--- build/linux/Makefile
++++ build/linux/Makefile
+@@ -6,7 +6,7 @@
+ COBJS = ../../src/x86defs.o ../../src/wstring.o ../../src/textdefs.o ../../src/prefix.o ../../src/operands.o ../../src/insts.o ../../src/instructions.o ../../src/distorm.o ../../src/decoder.o
+ PYOBJS = ../../src/x86defs.o ../../src/wstring.o ../../src/textdefs.o ../../src/pydistorm.o ../../src/prefix.o ../../src/operands.o ../../src/insts.o ../../src/instructions.o ../../src/decoder.o
+ CC = gcc
+-CFLAGS = -O2 -Wall -fPIC -DSUPPORT_64BIT_OFFSET -D_DLL
++CFLAGS += -Wall -fPIC -DSUPPORT_64BIT_OFFSET -D_DLL
+
+ all: clib py
+
+@@ -14,11 +14,11 @@
+ /bin/rm -rf ../../src/*.o ${TARGET} ../../distorm64.a
+
+ clib: ${COBJS}
+- ${CC} ${CFLAGS} ${VERSION} ${COBJS} -fPIC -shared -o ${TARGET}
++ ${CC} ${LDFLAGS} ${VERSION} ${COBJS} -fPIC -shared -o ${TARGET}
+ ar rs ../../distorm64.a ${COBJS}
+
+ py: ${PYOBJS}
+- ${CC} ${CFLAGS} ${VERSION} ${PYOBJS} -fPIC -shared -o ${TARGET}
++ ${CC} ${LDFLAGS} ${VERSION} ${PYOBJS} -fPIC -shared -o ${TARGET}
+
+ install: libdistorm64.so
+ install -s ${TARGET} /usr/local/lib
+--- linuxproj/Makefile
++++ linuxproj/Makefile
+@@ -4,12 +4,12 @@
+
+ TARGET = disasm
+ CC = gcc
+-CFLAGS = -Wall -O2 -I. -o
++CFLAGS += -Wall -I.
+
+ all: disasm
+
+ disasm:
+- ${CC} ${CFLAGS} ${TARGET} main.c ../distorm64.a
++ ${CC} ${CFLAGS} ${LDFLAGS} -o ${TARGET} main.c ../distorm64.a
+
+ clean:
+ /bin/rm -rf *.o ${TARGET}
diff --git a/dev-libs/distorm64/metadata.xml b/dev-libs/distorm64/metadata.xml
new file mode 100644
index 000000000000..c1b4579d865e
--- /dev/null
+++ b/dev-libs/distorm64/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ <description>Maintainer</description>
+ </maintainer>
+ <maintainer>
+ <email>ikelos@gentoo.org</email>
+ <name>Mike Auty</name>
+ <description>Maintainer</description>
+ </maintainer>
+ <maintainer>
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">distorm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/djb/Manifest b/dev-libs/djb/Manifest
new file mode 100644
index 000000000000..9bb8b28c9b11
--- /dev/null
+++ b/dev-libs/djb/Manifest
@@ -0,0 +1 @@
+DIST djb-0.5.2.tar.bz2 51048 SHA256 96ab53512aa85878b282a7607ebbaaf9bd2f20ca734aac76851bf608ec7321b4 SHA512 9c3f5d9e61e2e9ed11dddfd5edbaac9a35cca94ed7ced7cbfdaf0ed9dd311b16b2cd11259757d17bfa711ccbf0998a10e9a45ae8db643b21138b630cc665cef8 WHIRLPOOL c39bda737bb4ec767dc2f8b6e936bf1c5d313ca987878ffb447724502e7970792be2e2911cd0942b3a4a31aa6c8aba2d9400ef9c68f0ae38c8777c1aaf384cbb
diff --git a/dev-libs/djb/djb-0.5.2.ebuild b/dev-libs/djb/djb-0.5.2.ebuild
new file mode 100644
index 000000000000..f5aae997590a
--- /dev/null
+++ b/dev-libs/djb/djb-0.5.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs fixheadtails
+
+DESCRIPTION="Library created from code by Dan Bernstein"
+HOMEPAGE="http://www.fefe.de/djb/"
+SRC_URI="http://www.fefe.de/djb/djb-${PV}.tar.bz2"
+
+LICENSE="all-rights-reserved public-domain"
+SLOT="0"
+KEYWORDS="~x86 ~ppc"
+RESTRICT="mirror bindist"
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ ht_fix_file */Makefile.static
+ for cc in */conf-cc ; do echo "$(tc-getCC) ${CFLAGS}" > ${cc} ; done
+ for ld in */conf-ld ; do echo "$(tc-getCC) ${LDFLAGS}" > ${ld} ; done
+}
+
+src_compile() {
+ emake || die
+}
+
+src_install() {
+ for lib in */*.a ; do
+ newlib.a ${lib} libdjb-$(basename ${lib}) || die "newlib failed"
+ done
+ for man in */*.3 ; do
+ newman ${man} ${PN}-$(basename ${man})
+ done
+ exeinto /usr/lib/${PN}
+ doexe *.pl || die "doexe .pl failed"
+ dodoc CHANGES TODO
+}
diff --git a/dev-libs/djb/metadata.xml b/dev-libs/djb/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/djb/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/dmalloc/Manifest b/dev-libs/dmalloc/Manifest
new file mode 100644
index 000000000000..0d051c237635
--- /dev/null
+++ b/dev-libs/dmalloc/Manifest
@@ -0,0 +1 @@
+DIST dmalloc-5.5.2.tgz 666608 SHA256 d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a SHA512 96bb94aeb2bc3220f652b5294bdf8592b984cb2a53e5f02b2b8d52450c3396d18651f334644cdfff9c85a8c0d0cedc7f6a18b9d70497b2c6b5f85dbd1e827b93 WHIRLPOOL 4427dfb595b82bf4b7a3edd6a0a61da54fd7b7abf84a238dee3cef6ab3e0b9a27a34c7219ae938155da9908762c217cca52e9ac6710543bb37ca8dcf72749a73
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
new file mode 100644
index 000000000000..ff2c947d085a
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils multilib
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="http://dmalloc.com"
+SRC_URI="http://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs threads"
+
+DEPEND="sys-apps/texinfo"
+RDEPEND=""
+
+DOCS=( NEWS README docs/NOTES docs/TODO )
+
+src_prepare() {
+ # - Build objects twice, once -fPIC for shared.
+ # - Use DESTDIR.
+ # - Fix SONAME and NEEDED.
+ epatch "${FILESDIR}"/${P}-Makefile.in.patch
+ # - Broken test, always returns false.
+ epatch "${FILESDIR}"/${P}-cxx.patch
+ # - Add threads support.
+ use threads && epatch "${FILESDIR}"/${P}-threads.patch
+ # Respect CFLAGS/LDFLAGS. #337429
+ sed -i Makefile.in \
+ -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
+ || die "sed Makefile.in"
+ # - Run autoconf for -cxx.patch.
+ eautoconf
+}
+
+src_configure() {
+ econf --enable-cxx --enable-shlib $(use_enable threads)
+}
+
+src_compile() {
+ default
+
+ cd docs
+ makeinfo dmalloc.texi || die
+}
+
+src_test() {
+ emake heavy
+}
+
+src_install() {
+ default
+
+ newdoc ChangeLog.1 ChangeLog
+ insinto /usr/share/doc/${PF}
+ doins docs/dmalloc.pdf
+ dohtml RELEASE.html docs/dmalloc.html
+ doinfo docs/dmalloc.info
+
+ # add missing symlinks, lazy
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
+
+ for lib in cxx th thcxx; do
+ dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
+ dosym lib${PN}${lib}.so.${PV} \
+ /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
+ done
+
+ if ! use static-libs; then
+ rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
+ fi
+}
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
new file mode 100644
index 000000000000..a1e97e35d496
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="http://dmalloc.com"
+SRC_URI="http://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs threads"
+
+DEPEND="sys-apps/texinfo"
+RDEPEND=""
+
+DOCS=( NEWS README docs/NOTES docs/TODO )
+
+src_prepare() {
+ # - Build objects twice, once -fPIC for shared.
+ # - Use DESTDIR.
+ # - Fix SONAME and NEEDED.
+ epatch "${FILESDIR}"/${P}-Makefile.in.patch
+
+ # - Broken test, always returns false.
+ epatch "${FILESDIR}"/${P}-cxx.patch
+ epatch "${FILESDIR}"/${P}-ar.patch
+
+ # - Add threads support.
+ use threads && epatch "${FILESDIR}"/${P}-threads.patch
+
+ # strdup() strndup() macros
+ epatch "${FILESDIR}"/${P}-string-macros.patch
+
+ # Respect CFLAGS/LDFLAGS. #337429
+ sed -i \
+ -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
+ -e 's|ar cr|$(AR) cr|g' \
+ Makefile.in || die
+
+ # Run autoconf for -cxx.patch.
+ eautoconf
+}
+
+src_configure() {
+ tc-export AR
+ econf --enable-cxx --enable-shlib $(use_enable threads)
+}
+
+src_compile() {
+ default
+
+ cd docs
+ makeinfo dmalloc.texi || die
+}
+
+src_test() {
+ emake heavy
+}
+
+src_install() {
+ default
+
+ newdoc ChangeLog.1 ChangeLog
+ insinto /usr/share/doc/${PF}
+ doins docs/dmalloc.pdf
+ dohtml RELEASE.html docs/dmalloc.html
+ doinfo docs/dmalloc.info
+
+ # add missing symlinks, lazy
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
+
+ for lib in cxx th thcxx; do
+ dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
+ dosym lib${PN}${lib}.so.${PV} \
+ /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
+ done
+
+ if ! use static-libs; then
+ rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
+ fi
+}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch
new file mode 100644
index 000000000000..92b232eb58e9
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch
@@ -0,0 +1,343 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -41,7 +41,7 @@
+
+ # thread version of the library
+ LIB_TH = lib$(MODULE)th.a
+-LIB_TH_SL = lib$(MODULE)th.@shlibext@
++LIB_TH_SL = lib$(MODULE)th.@shlibext@.5.5.2
+ @TH_ON@BUILD_ALL_1 = threads
+ @TH_ON@INSTALL_LIB_1 = installth
+ @SL_ON@BUILD_THREADS_1 = $(LIB_TH_SL)
+@@ -50,8 +50,8 @@
+ @TH_ON@@SL_ON@INSTALL_LIB_2 = installthsl
+
+ # C++ version of the library
+-LIB_CXX = lib$(MODULE)xx.a
+-LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
++LIB_CXX = lib$(MODULE)cxx.a
++LIB_CXX_SL = lib$(MODULE)cxx.@shlibext@.5.5.2
+ @CXX_ON@BUILD_ALL_3 = $(LIB_CXX)
+ @CXX_ON@INSTALL_LIB_3 = installcxx
+ @SL_ON@BUILD_CXX_3 = $(LIB_CXX_SL)
+@@ -61,7 +61,7 @@
+
+ # threads + C++
+ LIB_TH_CXX = lib$(MODULE)thcxx.a
+-LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
++LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@.5.5.2
+ @TH_ON@@CXX_ON@BUILD_ALL_5 = $(LIB_TH_CXX)
+ @TH_ON@@CXX_ON@INSTALL_LIB_5 = installthcxx
+ @TH_ON@BUILD_CXX_5 = $(LIB_TH_CXX)
+@@ -76,7 +76,7 @@
+ @CXX_ON@@SL_ON@INSTALL_THREADS_6 = installthcxxsl
+
+ # shared versions of the libraries
+-LIB_SL = lib$(MODULE).@shlibext@
++LIB_SL = lib$(MODULE).@shlibext@.5.5.2
+ @SL_ON@BUILD_ALL_7 = $(LIB_SL)
+ @SL_ON@INSTALL_LIB_7 = installsl
+ @SL_ON@BUILD_TH_CXX_7 = $(LIB_TH_CXX_SL)
+@@ -145,9 +145,13 @@
+
+ HFLS = dmalloc.h
+ OBJS = arg_check.o compat.o dmalloc_rand.o dmalloc_tab.o env.o heap.o
++OBJS_SL = arg_check_sl.o compat_sl.o dmalloc_rand_sl.o dmalloc_tab_sl.o env_sl.o heap_sl.o
+ NORMAL_OBJS = chunk.o error.o malloc.o
++NORMAL_OBJS_SL = chunk_sl.o error_sl.o malloc_sl.o
+ THREAD_OBJS = chunk_th.o error_th.o malloc_th.o
++THREAD_OBJS_SL = chunk_th_sl.o error_th_sl.o malloc_th_sl.o
+ CXX_OBJS = dmallocc.o
++CXX_OBJS_SL = dmallocc_sl.o
+
+ CFLAGS = $(CCFLAGS)
+ TEST = $(MODULE)_t
+@@ -160,9 +164,9 @@
+
+ clean :
+ rm -f $(A_OUT) core *.o *.t
+- rm -f $(LIBRARY) $(LIB_TH) $(LIB_CXX) $(LIB_TH_CXX) $(TEST) $(TEST_FC)
+- rm -f $(LIB_TH_SL) $(LIB_CXX_SL) $(LIB_TH_CXX_SL) $(LIB_SL)
++ rm -f $(TEST) $(TEST_FC)
+ rm -f $(UTIL) dmalloc.h
++ rm -f lib$(MODULE)*.*
+
+ realclean : clean
+
+@@ -174,65 +178,65 @@
+ # rm -f configure
+
+ installdirs :
+- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
+
+ installincs : $(HFLS)
+- $(srcdir)/mkinstalldirs $(includedir)
+- $(INSTALL_DATA) $(HFLS) $(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
++ $(INSTALL_DATA) $(HFLS) $(DESTDIR)$(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL) $(LIB_TH_SL) $(DESTDIR)$(shlibdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(LIB_TH) $(DESTDIR)$(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL) $(LIB_TH_CXX_SL) $(DESTDIR)$(libdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(LIB_TH_CXX) $(DESTDIR)$(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL) $(LIB_CXX_SL) $(DESTDIR)$(shlibdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(LIB_CXX) $(DESTDIR)$(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL) $(LIB_SL) $(DESTDIR)$(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
+- @RANLIB@ $(libdir)/$(LIBRARY)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
++ @RANLIB@ $(DESTDIR)$(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+ @TH_OFF@ @echo "Enter 'make installth' to install thread library"
+
+ installdocs : $(srcdir)/docs/$(HTMLFILE) $(srcdir)/docs/$(TEXIFILE) \
+ $(srcdir)/docs/$(PDFFILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(DESTDIR)$(docdir)
+
+ install : installincs installlib $(UTIL)
+- $(srcdir)/mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)$(bindir)
+ @echo "Enter 'make installdocs' to install $(DOCFILES) in $(docdir)"
+
+ dmalloc.h.2 : $(srcdir)/configure
+@@ -255,10 +259,8 @@
+ # NOTE: you may have to edit the configure.ac script to get this to
+ # work on your operating system. Please send feedback to the author
+ # via: http://256.com/gray/email.html
+-$(LIB_SL) : $(LIBRARY)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
+- mv $@.t $@
++$(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+ ar cr $@ $?
+@@ -268,32 +270,26 @@
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_TH_SL) : $(LIB_TH)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
+- mv $@.t $@
++$(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_CXX_SL) : $(LIB_CXX)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- mv $@.t $@
++$(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- mv $@.t $@
++$(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
+
+-threadssl : $(LIB_TH_SL)
++threadssl : $(LIB_TH_SL)$(ver)
+
+-threadscxxsl : $(LIB_TH_CXX_SL)
++threadscxxsl : $(LIB_TH_CXX_SL)$(ver)
+
+ threadscxx : $(BUILD_TH_CXX)
+ @SL_OFF@ @echo "Enter 'make threadscxxsl' to build the threaded C++ shared-library"
+@@ -302,7 +298,7 @@
+ @CXX_OFF@ @echo "Enter 'make threadscxx' to build the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make threadssl' to build the threaded shared library"
+
+-cxxsl : $(LIB_CXX_SL)
++cxxsl : $(LIB_CXX_SL)$(ver)
+
+ cxx : $(BUILD_CXX)
+ @SL_OFF@ @echo "Enter 'make cxxsl' to build the cxx shared library"
+@@ -371,6 +367,11 @@
+ $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
+ -o ./$@
+
++dmallocc_sl.o : $(srcdir)/dmallocc.cc
++ rm -f $@
++ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
++ -o ./$@
++
+ #
+ # auto configure settings - uncomment if you are doing configure
+ # development on the library
+@@ -395,38 +396,109 @@
+
+ arg_check.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
+ dmalloc_loc.h error.h arg_check.h
++arg_check_sl.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
++ dmalloc_loc.h error.h arg_check.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ chunk.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
+ error_val.h heap.h
++chunk_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
++ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
++compat_sl.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
++dmalloc_sl.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_argv.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
+ dmalloc_argv_loc.h compat.h
++dmalloc_argv_sl.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
++ dmalloc_argv_loc.h compat.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
+ dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
++dmalloc_fc_t_sl.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
++ dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_rand.o: dmalloc_rand.c dmalloc_rand.h
++dmalloc_rand_sl.o: dmalloc_rand.c dmalloc_rand.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_t.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
+ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
+ error_val.h heap.h
++dmalloc_t_sl.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
++ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_tab.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
+ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
++dmalloc_tab_sl.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
++ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ env.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
+ debug_tok.h env.h error.h
++env_sl.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
++ debug_tok.h env.h error.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ error.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h env.h error.h error_val.h version.h
++error_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h env.h error.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ heap.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h error.h error_val.h heap.h
++heap_sl.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h error.h error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ malloc.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
+ malloc_funcs.h return.h
++malloc_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
++ malloc_funcs.h return.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ protect.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
+ heap.h protect.h
++protect_sl.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
++ heap.h protect.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ chunk_th.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
+ error_val.h heap.h
++chunk_th_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
++ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ error_th.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h env.h error.h error_val.h version.h
++error_th_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h env.h error.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ malloc_th.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
+ malloc_funcs.h return.h
++malloc_th_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
++ malloc_funcs.h return.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch
new file mode 100644
index 000000000000..56be2fa3ef4e
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -131,7 +132,7 @@
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([ int foo(int val) { return val + 1; } ],[
+ # so now we try to create an archive from the compiled .o file
+- (ar cr conftest.a conftest.o) 2>&5
++ ($AR cr conftest.a conftest.o) 2>&5
+ # see which shared-library ld commands work
+ #
+ # Darwin/Mac OS X - Terry Teague
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch
new file mode 100644
index 000000000000..0fa01e105c53
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch
@@ -0,0 +1,19 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,11 +55,12 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+
++# fixme. always returns false.
+ # see if we actually have a CXX program
+-if test "$ac_cv_prog_CXX" = "" -o ! -x "$ac_cv_prog_CXX"; then
+- AC_MSG_WARN(could not find C++ compiler $ac_cv_prog_CXX)
+- enable_cxx=no
+-fi
++#if test "$ac_cv_prog_CXX" = "" -o ! -x "$ac_cv_prog_CXX"; then
++# AC_MSG_WARN(could not find C++ compiler $ac_cv_prog_CXX)
++# enable_cxx=no
++#fi
+
+ # hopefully we have a stdc c-compiler
+ if test "$ac_cv_prog_cc_stdc" = "no" ; then
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch
new file mode 100644
index 000000000000..e3d4eb78fe52
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch
@@ -0,0 +1,18 @@
+--- a/dmalloc.h.3
++++ b/dmalloc.h.3
+@@ -405,6 +405,7 @@
+ *
+ * string -> String we are duplicating.
+ */
++#undef strdup
+ extern
+ char *strdup(const char *string);
+ #endif /* ifndef DMALLOC_STRDUP_MACRO */
+@@ -429,6 +430,7 @@
+ *
+ * len -> Length of the string to duplicate.
+ */
++#undef strndup
+ extern
+ char *strndup(const char *string, const DMALLOC_SIZE len);
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch
new file mode 100644
index 000000000000..c3cbd90aa9f5
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch
@@ -0,0 +1,11 @@
+--- a/settings.dist
++++ b/settings.dist
+@@ -409,7 +409,7 @@
+ */
+
+ #ifndef LOCK_THREADS
+-#define LOCK_THREADS 0
++#define LOCK_THREADS 1
+ #endif
+
+ #if LOCK_THREADS
diff --git a/dev-libs/dmalloc/metadata.xml b/dev-libs/dmalloc/metadata.xml
new file mode 100644
index 000000000000..52363bff0cba
--- /dev/null
+++ b/dev-libs/dmalloc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/dotconf/Manifest b/dev-libs/dotconf/Manifest
new file mode 100644
index 000000000000..12e00309e6d8
--- /dev/null
+++ b/dev-libs/dotconf/Manifest
@@ -0,0 +1 @@
+DIST dotconf-1.3.tar.gz 333301 SHA256 b0bccd7251df50b68b82888c5f9fa7932bd68ee3b9e880bce9456e692bf13e8e SHA512 ced0e66f70d11a309e77add1bfac1da8e85dcbe193633bd4bd1ae4bfd043b66880406e93ec18327b8c5d3de8d4bfc5278db6e5cb39b030ee1dabfa1ce267a98e WHIRLPOOL 431a55f3efd786d448597c8cdb0498092420050cf51c4ea278b02505645807fca7951c85710f51c7b5ccbbe9e891fde318a143499e3b74eef2864da7b4490475
diff --git a/dev-libs/dotconf/dotconf-1.3.ebuild b/dev-libs/dotconf/dotconf-1.3.ebuild
new file mode 100644
index 000000000000..6705ed1e747f
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-1.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="http://www.github.com/williamh/dotconf"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+DEPEND=">=sys-devel/autoconf-2.58"
+RDEPEND=""
+
+src_compile() {
+ emake CC=$(tc-getCC) || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+}
+
+pkg_postinst() {
+ ewarn 'This version requires that you run revdep-rebuild after'
+ ewarn 'the upgrade.'
+}
diff --git a/dev-libs/dotconf/metadata.xml b/dev-libs/dotconf/metadata.xml
new file mode 100644
index 000000000000..2f0bbe44021a
--- /dev/null
+++ b/dev-libs/dotconf/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+<herd>accessibility</herd>
+<maintainer>
+ <email>williamh@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/double-conversion/Manifest b/dev-libs/double-conversion/Manifest
new file mode 100644
index 000000000000..2f1155bc3e50
--- /dev/null
+++ b/dev-libs/double-conversion/Manifest
@@ -0,0 +1 @@
+DIST double-conversion-2.0.1.tar.gz 7014061 SHA256 671f0439b4531c7344ace5b2ddaab4bdd860e80cee586efcfebf37b4eedd7cf0 SHA512 ab9e63ef97664d470cdd8b2a5d3b8f9d0b8558980f463d30369577c4e54804ee210321a979f4550ea2299cc0a2a0360f780de63458db942ba0ac34793b8f98ec WHIRLPOOL 559a0d2f165000abab87d77f0483dcac1503fa090382fead605e05a30ecea0c8afa1730caf51cdcba10a48d0c0b58fa855a9193b28fc5061dcf86d6505f02f85
diff --git a/dev-libs/double-conversion/double-conversion-2.0.1.ebuild b/dev-libs/double-conversion/double-conversion-2.0.1.ebuild
new file mode 100644
index 000000000000..ce247e789da3
--- /dev/null
+++ b/dev-libs/double-conversion/double-conversion-2.0.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit scons-utils eutils
+
+DESCRIPTION="Binary-decimal and decimal-binary routines forIEEE doubles"
+HOMEPAGE="http://code.google.com/p/double-conversion/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+LIBNAME=lib${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-scons.patch
+}
+
+src_compile() {
+ escons ${LIBNAME}.so.1
+ use static-libs && escons ${LIBNAME}.a
+}
+
+src_test() {
+ escons run_tests
+ export LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}"
+ ./run_tests --list | tr -d '<' | xargs ./run_tests || die
+}
+
+src_install() {
+ dolib.so ${LIBNAME}.so*
+ use static-libs && dolib.a ${LIBNAME}.a
+ insinto /usr/include/double-conversion
+ doins src/{double-conversion,utils}.h
+ dodoc README Changelog AUTHORS
+}
diff --git a/dev-libs/double-conversion/files/double-conversion-2.0.1-scons.patch b/dev-libs/double-conversion/files/double-conversion-2.0.1-scons.patch
new file mode 100644
index 000000000000..da7f2f9cb3a6
--- /dev/null
+++ b/dev-libs/double-conversion/files/double-conversion-2.0.1-scons.patch
@@ -0,0 +1,12 @@
+--- SConstruct.orig 2014-03-31 12:40:22.186757814 -0700
++++ SConstruct 2014-03-31 12:46:21.726024868 -0700
+@@ -18,7 +18,8 @@
+ # for shared lib, requires scons 2.3.0
+ env['SHLIBVERSION'] = '1.0.0'
+
+-CCFLAGS = []
++CCFLAGS = [os.environ['CXXFLAGS']]
++
+ if int(debug):
+ CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Werror'))
+ if int(optimize):
diff --git a/dev-libs/double-conversion/metadata.xml b/dev-libs/double-conversion/metadata.xml
new file mode 100644
index 000000000000..e74139346bfc
--- /dev/null
+++ b/dev-libs/double-conversion/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang='en'>
+ This library consists of efficient conversion routines that have
+ been extracted from the V8 JavaScript engine. The code has been
+ refactored and improved so that it can be used more easily in other
+ projects.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/e_dbus/Manifest b/dev-libs/e_dbus/Manifest
new file mode 100644
index 000000000000..624a29c76a05
--- /dev/null
+++ b/dev-libs/e_dbus/Manifest
@@ -0,0 +1 @@
+DIST e_dbus-1.7.10.tar.bz2 439191 SHA256 b93f778a4bf50ce044b4798e08a03f62e9b890c47305f9d5839989481f38ddd4 SHA512 db3e3106cd3f66699dd59433beb8592115a8970982c7dc49f04458bc162acbbece5c6ec08bea994cc7eca04fe786ad45961bb555d2dfd364d07d3673d144b3c4 WHIRLPOOL 2f351946be4e47722fb6c027641d0054aed5fcd1523a02d20758763423100086e4c5bcf129f448c764a39ce8b4748c62b58c5e8dc9d3e676077866879b219f04
diff --git a/dev-libs/e_dbus/e_dbus-1.7.10.ebuild b/dev-libs/e_dbus/e_dbus-1.7.10.ebuild
new file mode 100644
index 000000000000..91402e20abdd
--- /dev/null
+++ b/dev-libs/e_dbus/e_dbus-1.7.10.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's (Ecore) integration to DBus"
+SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+KEYWORDS="amd64 ~arm x86"
+IUSE="bluetooth +connman +libnotify ofono static-libs test-binaries +udev"
+
+RDEPEND=">=dev-libs/efl-1.8.4
+ sys-apps/dbus
+ connman? ( >=net-misc/connman-0.75 )
+ udev? ( || ( sys-power/upower sys-power/upower-pm-utils ) sys-fs/udisks:0 )
+"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}-${PV%%_*}
+
+src_configure() {
+ E_ECONF+=(
+ $(use_enable bluetooth ebluez)
+ $(use_enable connman econnman0_7x)
+ $(use_enable doc)
+ --disable-ehal
+ $(use_enable libnotify enotify)
+ $(use_enable ofono eofono)
+ $(use_enable test-binaries edbus-test)
+ $(use_enable test-binaries edbus-test-client)
+ $(use_enable udev eukit)
+ )
+ if use test-binaries ; then
+ E_ECONF+=(
+ $(use_enable bluetooth edbus-bluez-test)
+ $(use_enable connman edbus-connman0_7x-test)
+ $(use_enable libnotify edbus-notification-daemon-test)
+ $(use_enable libnotify edbus-notify-test)
+ $(use_enable ofono edbus-ofono-test)
+ $(use_enable udev edbus-ukit-test)
+ )
+ else
+ E_ECONF+=(
+ --disable-edbus-bluez-test
+ --disable-edbus-connman0_7x-test
+ --disable-edbus-notification-daemon-test
+ --disable-edbus-notify-test
+ --disable-edbus-ofono-test
+ --disable-edbus-ukit-test
+ --disable-edbus-async-test
+ --disable-edbus-performance-test
+ )
+ fi
+ enlightenment_src_configure
+}
diff --git a/dev-libs/e_dbus/e_dbus-9999.ebuild b/dev-libs/e_dbus/e_dbus-9999.ebuild
new file mode 100644
index 000000000000..a8f1961b40d3
--- /dev/null
+++ b/dev-libs/e_dbus/e_dbus-9999.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's (Ecore) integration to DBus"
+
+LICENSE="BSD-2"
+IUSE="bluetooth +connman +libnotify ofono static-libs test-binaries +udev"
+
+RDEPEND=">=dev-libs/efl-1.8.4
+ sys-apps/dbus
+ connman? ( >=net-misc/connman-0.75 )
+ udev? ( || ( sys-power/upower sys-power/upower-pm-utils ) sys-fs/udisks:0 )
+"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}-${PV%%_*}
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable bluetooth ebluez)
+ $(use_enable connman econnman0_7x)
+ $(use_enable doc)
+ --disable-ehal
+ $(use_enable libnotify enotify)
+ $(use_enable ofono eofono)
+ $(use_enable test-binaries edbus-test)
+ $(use_enable test-binaries edbus-test-client)
+ $(use_enable udev eukit)
+ )
+ if use test-binaries ; then
+ E_ECONF+=(
+ $(use_enable bluetooth edbus-bluez-test)
+ $(use_enable connman edbus-connman0_7x-test)
+ $(use_enable libnotify edbus-notification-daemon-test)
+ $(use_enable libnotify edbus-notify-test)
+ $(use_enable ofono edbus-ofono-test)
+ $(use_enable udev edbus-ukit-test)
+ )
+ else
+ E_ECONF+=(
+ --disable-edbus-bluez-test
+ --disable-edbus-connman0_7x-test
+ --disable-edbus-notification-daemon-test
+ --disable-edbus-notify-test
+ --disable-edbus-ofono-test
+ --disable-edbus-ukit-test
+ --disable-edbus-async-test
+ --disable-edbus-performance-test
+ )
+ fi
+ enlightenment_src_configure
+}
diff --git a/dev-libs/e_dbus/metadata.xml b/dev-libs/e_dbus/metadata.xml
new file mode 100644
index 000000000000..cbc5ba0dda2f
--- /dev/null
+++ b/dev-libs/e_dbus/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<use>
+ <flag name="bluetooth">Enable interfacing with <pkg>net-wireless/bluez</pkg> DBus API.</flag>
+ <flag name="ofono">Enable interfacing with <pkg>net-misc/ofono</pkg> DBus API.</flag>
+ <flag name="test-binaries">Enable building of test binaries for enabled features</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/eb/Manifest b/dev-libs/eb/Manifest
new file mode 100644
index 000000000000..14c050d16e7e
--- /dev/null
+++ b/dev-libs/eb/Manifest
@@ -0,0 +1 @@
+DIST eb-4.4.1.tar.lzma 438852 SHA256 e6c11f6809026158f2ff765d46513bf00ee69fa545f7b4d110f0a54c07416d39 SHA512 c65ffae78d4f3beb9b6bdffde2b265fdb3a7c9b4c7626ddb0ca279e4193d48cad5e9748793f3ead3786e8c7d340134edf4ff1b9d835542ff12639581793b80c6 WHIRLPOOL eab59b14d28c368ee0310a198ff6776fb2635f47fdf063257f143c11be972c74a1f026f19701d492102413ac130f7d100c8712276bf24323bff8190025e1f572
diff --git a/dev-libs/eb/eb-4.4.1-r1.ebuild b/dev-libs/eb/eb-4.4.1-r1.ebuild
new file mode 100644
index 000000000000..a7d1c5dec509
--- /dev/null
+++ b/dev-libs/eb/eb-4.4.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="EB is a C library and utilities for accessing CD-ROM books"
+HOMEPAGE="http://www.sra.co.jp/people/m-kasahr/eb/"
+SRC_URI="ftp://ftp.sra.co.jp/pub/misc/eb/${P}.tar.lzma"
+LICENSE="BSD"
+
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="ipv6 linguas_ja threads"
+
+RDEPEND="
+ sys-libs/zlib
+ linguas_ja? ( virtual/libintl )
+"
+DEPEND="
+ ${RDEPEND}
+ linguas_ja? ( sys-devel/gettext )
+"
+
+DOCS=( AUTHORS ChangeLog{,.0,.1,.2} NEWS README )
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable linguas_ja nls) \
+ $(use_enable threads pthread) \
+ --with-pkgdocdir=/usr/share/doc/${PF}/html
+}
diff --git a/dev-libs/eb/metadata.xml b/dev-libs/eb/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/eb/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ecore/Manifest b/dev-libs/ecore/Manifest
new file mode 100644
index 000000000000..c94ec78a030b
--- /dev/null
+++ b/dev-libs/ecore/Manifest
@@ -0,0 +1 @@
+DIST ecore-1.7.10.tar.bz2 3455136 SHA256 c3f27ab18517b85b286871c6c7ccf8e22347f0661502db0fbf401537fa5a4bb6 SHA512 24fbe064913c566f885a2e51185b1f1d37c62c0d03ba0d549e9715ba516fb6b3f630ad331f89f66e91de1401b06b01b16916650448dda11d5e1efa24e52eaf39 WHIRLPOOL 93c187d8e8481f016aef07cefc99621eed136f43055387d31936c1745ac7929f71443f40cd26873b0cca891342dbff818e31b709cfb28385414dc78c890edcae
diff --git a/dev-libs/ecore/ecore-1.7.10.ebuild b/dev-libs/ecore/ecore-1.7.10.ebuild
new file mode 100644
index 000000000000..37a00d0e05bb
--- /dev/null
+++ b/dev-libs/ecore/ecore-1.7.10.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+# virtualx is required for tests, which are currently broken
+#inherit virtualx
+inherit enlightenment eutils
+
+DESCRIPTION="Enlightenment's core event abstraction layer and OS abstraction layer"
+
+LICENSE="BSD-2"
+IUSE="ares curl directfb +evas examples fbcon gles glib gnutls +inotify ipv6 opengl sdl ssl static-libs +threads tslib wayland +X xcb xinerama xprint xscreensaver"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ ares? ( net-dns/c-ares )
+ glib? ( dev-libs/glib )
+ curl? ( net-misc/curl )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )
+ evas? (
+ >=media-libs/evas-${PV}[directfb?,fbcon?,opengl?,X?,xcb?]
+ opengl? ( virtual/opengl )
+ wayland? (
+ >=media-libs/evas-${PV}[directfb?,fbcon?,gles?,opengl?,wayland?,X?,xcb?]
+ )
+ )
+ directfb? ( >=dev-libs/DirectFB-0.9.16 )
+ tslib? ( x11-libs/tslib )
+ sdl? ( media-libs/libsdl )
+ wayland? ( dev-libs/wayland )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama x11-libs/libXrandr )
+ xprint? ( x11-libs/libXp )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ )
+ !X? ( xcb? (
+ x11-libs/pixman
+ x11-libs/xcb-util
+ ) )"
+DEPEND="${RDEPEND}"
+
+# tests depend on temp data from eina WORKDIR.
+RESTRICT="test"
+
+src_configure() {
+ local ssl_flags=() evas_flags=() x_flags=()
+
+ if use gnutls && use ssl; then
+ einfo "You have enabled both 'ssl' and 'gnutls', so we will use"
+ einfo "gnutls and not openssl for ecore-con support."
+ fi
+ ssl_flags=(
+ $(usex gnutls "--disable-openssl" "$(use_enable ssl openssl)")
+ $(use_enable gnutls)
+ )
+
+ local x_or_xcb=$(usex X "X" "$(usev xcb)")
+
+ if use evas; then
+ if use opengl && [[ -z ${x_or_xcb} ]]; then
+ ewarn "Ecore/Evas usage of OpenGL requires X11."
+ ewarn "Compile dev-libs/ecore with USE=X or xcb."
+ ewarn "Compiling without opengl support."
+ evas_flags=(
+ --disable-ecore-evas-software-x11
+ --disable-ecore-evas-software-16-x11
+ )
+ else
+ evas_flags=(
+ --enable-ecore-evas-software-x11
+ --enable-ecore-evas-software-16-x11
+ )
+ fi
+ evas_flags+=(
+ $(use_enable directfb ecore-evas-directfb)
+ $(use_enable fbcon ecore-evas-fb)
+ $(use_enable opengl ecore-evas-opengl-x11)
+ $(use_enable wayland ecore-evas-wayland-shm)
+ $(usex wayland "--disable-ecore-evas-wayland-egl" "$(use_enable gles ecore-evas-wayland-egl)")
+ )
+ else
+ evas_flags=(
+ --disable-ecore-evas-directfb
+ --disable-ecore-evas-fb
+ --disable-ecore-evas-software-x11
+ --disable-ecore-evas-software-16-x11
+ --disable-ecore-evas-opengl-x11
+ --disable-ecore-evas-wayland-shm
+ --disable-ecore-evas-wayland-egl
+ )
+ if use opengl; then
+ ewarn "Ecore usage of OpenGL is dependent on media-libs/evas."
+ ewarn "Compile dev-libs/ecore with USE=evas."
+ fi
+ fi
+
+ if use X; then
+ if use xcb; then
+ ewarn "You have enabled both 'X' and 'xcb', so we will use"
+ ewarn "X as it's considered the most stable for ecore-x."
+ fi
+ x_flags=(
+ --enable-ecore-x
+ --disable-ecore-x-xcb
+ )
+ elif use xcb; then
+ x_flags=(
+ --enable-ecore-x
+ --enable-ecore-x-xcb
+ )
+ else
+ x_flags=(
+ --disable-ecore-x
+ --disable-ecore-x-xcb
+ )
+ fi
+
+ if [[ -n ${x_or_xcb} ]]; then
+ x_flags+=(
+ $(use_enable xinerama ecore-x-xinerama)
+ $(use_enable xprint ecore-x-xprint)
+ $(use_enable xscreensaver ecore-x-screensaver)
+ )
+ else
+ x_flags+=(
+ --disable-ecore-x-xinerama
+ --disable-ecore-x-xprint
+ --disable-ecore-x-screensaver
+ )
+ fi
+
+ if use tslib && ! use fbcon; then
+ ewarn "Ecore just uses tslib for framebuffer input."
+ ewarn "Compile dev-libs/ecore with USE=fbcon."
+ fi
+
+ E_ECONF=(
+ --enable-ecore-con
+ --enable-ecore-ipc
+ --enable-ecore-file
+ --enable-ecore-imf
+ --enable-ecore-input
+ --disable-ecore-win32
+ --disable-ecore-wince
+ --disable-ecore-evas-software-gdi
+ --disable-ecore-evas-software-ddraw
+ --disable-ecore-evas-direct3d
+ --disable-ecore-evas-opengl-glew
+ --disable-ecore-evas-software-16-ddraw
+ --disable-ecore-evas-software-16-wince
+ --disable-ecore_imf_scim
+ $(use_enable ares cares)
+ $(use_enable curl)
+ $(use_enable directfb ecore-directfb)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable evas ecore-evas)
+ $(use_enable evas ecore-input-evas)
+ $(use_enable evas ecore-imf-evas)
+ $(use_enable evas ecore-evas-software-buffer)
+ $(use_enable fbcon ecore-fb)
+ $(use_enable glib)
+ $(use_enable inotify)
+ $(use_enable ipv6)
+ $(use_enable sdl ecore-sdl)
+ $(use_enable test tests)
+ $(use_enable threads posix-threads)
+ $(use_enable tslib)
+ $(use_enable wayland ecore-wayland)
+ $(use_enable X xim)
+ "${ssl_flags[@]}"
+ "${evas_flags[@]}"
+ "${x_flags[@]}"
+ )
+ enlightenment_src_configure
+}
+
+src_test() {
+ Xemake check
+}
diff --git a/dev-libs/ecore/ecore-9999.ebuild b/dev-libs/ecore/ecore-9999.ebuild
new file mode 100644
index 000000000000..37a00d0e05bb
--- /dev/null
+++ b/dev-libs/ecore/ecore-9999.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+# virtualx is required for tests, which are currently broken
+#inherit virtualx
+inherit enlightenment eutils
+
+DESCRIPTION="Enlightenment's core event abstraction layer and OS abstraction layer"
+
+LICENSE="BSD-2"
+IUSE="ares curl directfb +evas examples fbcon gles glib gnutls +inotify ipv6 opengl sdl ssl static-libs +threads tslib wayland +X xcb xinerama xprint xscreensaver"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ ares? ( net-dns/c-ares )
+ glib? ( dev-libs/glib )
+ curl? ( net-misc/curl )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )
+ evas? (
+ >=media-libs/evas-${PV}[directfb?,fbcon?,opengl?,X?,xcb?]
+ opengl? ( virtual/opengl )
+ wayland? (
+ >=media-libs/evas-${PV}[directfb?,fbcon?,gles?,opengl?,wayland?,X?,xcb?]
+ )
+ )
+ directfb? ( >=dev-libs/DirectFB-0.9.16 )
+ tslib? ( x11-libs/tslib )
+ sdl? ( media-libs/libsdl )
+ wayland? ( dev-libs/wayland )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama x11-libs/libXrandr )
+ xprint? ( x11-libs/libXp )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ )
+ !X? ( xcb? (
+ x11-libs/pixman
+ x11-libs/xcb-util
+ ) )"
+DEPEND="${RDEPEND}"
+
+# tests depend on temp data from eina WORKDIR.
+RESTRICT="test"
+
+src_configure() {
+ local ssl_flags=() evas_flags=() x_flags=()
+
+ if use gnutls && use ssl; then
+ einfo "You have enabled both 'ssl' and 'gnutls', so we will use"
+ einfo "gnutls and not openssl for ecore-con support."
+ fi
+ ssl_flags=(
+ $(usex gnutls "--disable-openssl" "$(use_enable ssl openssl)")
+ $(use_enable gnutls)
+ )
+
+ local x_or_xcb=$(usex X "X" "$(usev xcb)")
+
+ if use evas; then
+ if use opengl && [[ -z ${x_or_xcb} ]]; then
+ ewarn "Ecore/Evas usage of OpenGL requires X11."
+ ewarn "Compile dev-libs/ecore with USE=X or xcb."
+ ewarn "Compiling without opengl support."
+ evas_flags=(
+ --disable-ecore-evas-software-x11
+ --disable-ecore-evas-software-16-x11
+ )
+ else
+ evas_flags=(
+ --enable-ecore-evas-software-x11
+ --enable-ecore-evas-software-16-x11
+ )
+ fi
+ evas_flags+=(
+ $(use_enable directfb ecore-evas-directfb)
+ $(use_enable fbcon ecore-evas-fb)
+ $(use_enable opengl ecore-evas-opengl-x11)
+ $(use_enable wayland ecore-evas-wayland-shm)
+ $(usex wayland "--disable-ecore-evas-wayland-egl" "$(use_enable gles ecore-evas-wayland-egl)")
+ )
+ else
+ evas_flags=(
+ --disable-ecore-evas-directfb
+ --disable-ecore-evas-fb
+ --disable-ecore-evas-software-x11
+ --disable-ecore-evas-software-16-x11
+ --disable-ecore-evas-opengl-x11
+ --disable-ecore-evas-wayland-shm
+ --disable-ecore-evas-wayland-egl
+ )
+ if use opengl; then
+ ewarn "Ecore usage of OpenGL is dependent on media-libs/evas."
+ ewarn "Compile dev-libs/ecore with USE=evas."
+ fi
+ fi
+
+ if use X; then
+ if use xcb; then
+ ewarn "You have enabled both 'X' and 'xcb', so we will use"
+ ewarn "X as it's considered the most stable for ecore-x."
+ fi
+ x_flags=(
+ --enable-ecore-x
+ --disable-ecore-x-xcb
+ )
+ elif use xcb; then
+ x_flags=(
+ --enable-ecore-x
+ --enable-ecore-x-xcb
+ )
+ else
+ x_flags=(
+ --disable-ecore-x
+ --disable-ecore-x-xcb
+ )
+ fi
+
+ if [[ -n ${x_or_xcb} ]]; then
+ x_flags+=(
+ $(use_enable xinerama ecore-x-xinerama)
+ $(use_enable xprint ecore-x-xprint)
+ $(use_enable xscreensaver ecore-x-screensaver)
+ )
+ else
+ x_flags+=(
+ --disable-ecore-x-xinerama
+ --disable-ecore-x-xprint
+ --disable-ecore-x-screensaver
+ )
+ fi
+
+ if use tslib && ! use fbcon; then
+ ewarn "Ecore just uses tslib for framebuffer input."
+ ewarn "Compile dev-libs/ecore with USE=fbcon."
+ fi
+
+ E_ECONF=(
+ --enable-ecore-con
+ --enable-ecore-ipc
+ --enable-ecore-file
+ --enable-ecore-imf
+ --enable-ecore-input
+ --disable-ecore-win32
+ --disable-ecore-wince
+ --disable-ecore-evas-software-gdi
+ --disable-ecore-evas-software-ddraw
+ --disable-ecore-evas-direct3d
+ --disable-ecore-evas-opengl-glew
+ --disable-ecore-evas-software-16-ddraw
+ --disable-ecore-evas-software-16-wince
+ --disable-ecore_imf_scim
+ $(use_enable ares cares)
+ $(use_enable curl)
+ $(use_enable directfb ecore-directfb)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable evas ecore-evas)
+ $(use_enable evas ecore-input-evas)
+ $(use_enable evas ecore-imf-evas)
+ $(use_enable evas ecore-evas-software-buffer)
+ $(use_enable fbcon ecore-fb)
+ $(use_enable glib)
+ $(use_enable inotify)
+ $(use_enable ipv6)
+ $(use_enable sdl ecore-sdl)
+ $(use_enable test tests)
+ $(use_enable threads posix-threads)
+ $(use_enable tslib)
+ $(use_enable wayland ecore-wayland)
+ $(use_enable X xim)
+ "${ssl_flags[@]}"
+ "${evas_flags[@]}"
+ "${x_flags[@]}"
+ )
+ enlightenment_src_configure
+}
+
+src_test() {
+ Xemake check
+}
diff --git a/dev-libs/ecore/metadata.xml b/dev-libs/ecore/metadata.xml
new file mode 100644
index 000000000000..0d3f182ac50c
--- /dev/null
+++ b/dev-libs/ecore/metadata.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<use>
+ <flag name="ares">Enables support for asynchronous DNS using the <pkg>net-dns/c-ares</pkg> library</flag>
+ <flag name="gles">Add gles support to the ecore-evas-wayland module</flag>
+ <flag name="glib">Enable <pkg>dev-libs/glib</pkg> eventloop support</flag>
+ <flag name="xprint">Enable X11 Xprint support</flag>
+ <flag name="inotify">Enable support for inotify</flag>
+ <flag name="evas">Provides easy to use canvas by gluing <pkg>media-libs/evas</pkg> and various input/output systems.</flag>
+ <flag name="tslib">Build with tslib support for touchscreen devices.</flag>
+ <flag name="wayland">Add support for <pkg>dev-libs/wayland</pkg></flag>
+</use>
+<longdescription>
+Ecore is a clean and tiny event loop library with many modules to do
+lots of convenient things for a programmer, to save time and effort.
+
+It's small and lean, designed to work on embedded systems all the way
+to large and powerful multi-cpu workstations. It serialises all system
+signals, events etc. into a single event queue, that is easily
+processed without needing to worry about concurrency. A properly
+written, event-driven program using this kind of programming doesn't
+need threads, nor has to worry about concurrency. It turns a program
+into a state machine, and makes it very robust and easy to follow.
+
+Ecore gives you other handy primitives, such as timers to tick over
+for you and call specified functions at particular times so the
+programmer can use this to do things, like animate, or time out on
+connections or tasks that take too long etc.
+
+Idle handlers are provided too, as well as calls on entering an idle
+state (often a very good time to update the state of the program). All
+events that enter the system are passed to specific callback functions
+that the program sets up to handle those events. Handling them is
+simple and other Ecore modules produce more events on the queue,
+coming from other sources such as file descriptors etc.
+
+Ecore also lets you have functions called when file descriptors become
+active for reading or writing, allowing for streamlined, non-blocking
+IO.
+
+Ecore may provide (if enabled) the following libraries:
+
+ * ecore: main loop, signals, and base;
+
+ * ecore_con: http/ftp (curl) access;
+
+ * ecore_file: easy file manipulation (copy, move, symlink, remove),
+ monitoring and directory (mkdir, mkdir -p, rm -fr);
+
+ * ecore_txt: text charset conversion (iconv wrapper);
+
+ * ecore_evas: integrates <pkg>media-libs/evas</pkg> into different
+ input and output systems, providing easy to use canvas;
+
+ * ecore_x, ecore_sdl, ecore_quartz, ecore_directfb, ecore_win32,
+ ecore_wince, ecore_fb: access to different input/output systems,
+ mapping them to ecore main loop and events;
+
+ * ecore_imf, ecore_imf_evas: input-method framework used to integrate
+ with different input methods such as virtual keyboards;
+
+ * ecore_input, ecore_input_evas: abstraction of input events.
+
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/eet/Manifest b/dev-libs/eet/Manifest
new file mode 100644
index 000000000000..6f40057ab699
--- /dev/null
+++ b/dev-libs/eet/Manifest
@@ -0,0 +1,3 @@
+DIST eet-1.7.10.tar.bz2 573420 SHA256 c3de7be3b0f72f154e40fb2ef794e26541722b9d9d93d5a356dc76c42f5d7c13 SHA512 4e4cee77ed8ece65f482ab2535ffc033d06837e8e9f8d109c9ea90eeeaa07f2cac0519a563bd715c7442837b703d55b18222535bd06d9a1c0319dfec2966e1f8 WHIRLPOOL dfa22424945c53014c1ca347a2cd87457a0b3b43a74139899493df519f8d83a8ed951f32ca08481f63a914ca29ce92713e71c32136a65743b8d61e2a22f94899
+DIST eet-1.7.8.tar.bz2 573161 SHA256 fd075dcd083d814e81d0ad7888de13ffc6f4a5453fedf905e650ab40369c773b SHA512 d5d781b32313f77310fd2273d79955004c985eacef3324ca8ad56c22be235a657a1366cb2f53ee93c16bd19fbc895e8db3b5d4563f7645f552360cb0e06720b1 WHIRLPOOL 60e66cd9641bcdf8ccb1904766612fef563550c9df0492bd1d70dc41085d84e55d21a235ded67430a47b09ebf6c7a0f8dd466a2b9dc0e16a89c94dcc64f5897f
+DIST eet-1.7.9.tar.bz2 572885 SHA256 5d8a6e2becfc4bf77d02b823e145568f7a76ada24486486443602126f1710682 SHA512 4d06f6defff1938ecf3ce1bb911736d305b1fea46132c241e2fdd84ff027b52afbddcafe83f45a932c727006f70118eac18a08a7e386df3373a2ce64ae1280a3 WHIRLPOOL f892a13c233cc48af496c8f868fcdd005eaab444744c4fd4077af38bb339e74720872e8af25a5aec98bbcfa4667d9b6d85f515d33e042372af673fd7429768f9
diff --git a/dev-libs/eet/eet-1.7.10.ebuild b/dev-libs/eet/eet-1.7.10.ebuild
new file mode 100644
index 000000000000..1663c0e82fcb
--- /dev/null
+++ b/dev-libs/eet/eet-1.7.10.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="E file chunk reading/writing library"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eet"
+
+LICENSE="BSD-2"
+IUSE="debug examples gnutls ssl static-libs test"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ virtual/jpeg
+ sys-libs/zlib
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-libs/check
+ dev-util/lcov
+ )"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable debug assert)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable test tests)
+ )
+
+ if use gnutls; then
+ if use ssl; then
+ ewarn "You have enabled both 'ssl' and 'gnutls', so we will use"
+ ewarn "gnutls and not openssl for cipher and signature support"
+ fi
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --disable-openssl
+ --enable-gnutls
+ )
+ elif use ssl; then
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --enable-openssl
+ --disable-gnutls
+ )
+ else
+ E_ECONF+=(
+ --disable-cipher
+ --disable-signature
+ --disable-openssl
+ --disable-gnutls
+ )
+ fi
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eet/eet-1.7.8.ebuild b/dev-libs/eet/eet-1.7.8.ebuild
new file mode 100644
index 000000000000..305388f76a7e
--- /dev/null
+++ b/dev-libs/eet/eet-1.7.8.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="E file chunk reading/writing library"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eet"
+
+LICENSE="BSD-2"
+IUSE="debug examples gnutls ssl static-libs test"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ virtual/jpeg
+ sys-libs/zlib
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-libs/check
+ dev-util/lcov
+ )"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable debug assert)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable test tests)
+ )
+
+ if use gnutls; then
+ if use ssl; then
+ ewarn "You have enabled both 'ssl' and 'gnutls', so we will use"
+ ewarn "gnutls and not openssl for cipher and signature support"
+ fi
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --disable-openssl
+ --enable-gnutls
+ )
+ elif use ssl; then
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --enable-openssl
+ --disable-gnutls
+ )
+ else
+ E_ECONF+=(
+ --disable-cipher
+ --disable-signature
+ --disable-openssl
+ --disable-gnutls
+ )
+ fi
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eet/eet-1.7.9.ebuild b/dev-libs/eet/eet-1.7.9.ebuild
new file mode 100644
index 000000000000..305388f76a7e
--- /dev/null
+++ b/dev-libs/eet/eet-1.7.9.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="E file chunk reading/writing library"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eet"
+
+LICENSE="BSD-2"
+IUSE="debug examples gnutls ssl static-libs test"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ virtual/jpeg
+ sys-libs/zlib
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-libs/check
+ dev-util/lcov
+ )"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable debug assert)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable test tests)
+ )
+
+ if use gnutls; then
+ if use ssl; then
+ ewarn "You have enabled both 'ssl' and 'gnutls', so we will use"
+ ewarn "gnutls and not openssl for cipher and signature support"
+ fi
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --disable-openssl
+ --enable-gnutls
+ )
+ elif use ssl; then
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --enable-openssl
+ --disable-gnutls
+ )
+ else
+ E_ECONF+=(
+ --disable-cipher
+ --disable-signature
+ --disable-openssl
+ --disable-gnutls
+ )
+ fi
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eet/eet-9999.ebuild b/dev-libs/eet/eet-9999.ebuild
new file mode 100644
index 000000000000..305388f76a7e
--- /dev/null
+++ b/dev-libs/eet/eet-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="E file chunk reading/writing library"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eet"
+
+LICENSE="BSD-2"
+IUSE="debug examples gnutls ssl static-libs test"
+
+RDEPEND=">=dev-libs/eina-${PV}
+ virtual/jpeg
+ sys-libs/zlib
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-libs/check
+ dev-util/lcov
+ )"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable debug assert)
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ $(use_enable test tests)
+ )
+
+ if use gnutls; then
+ if use ssl; then
+ ewarn "You have enabled both 'ssl' and 'gnutls', so we will use"
+ ewarn "gnutls and not openssl for cipher and signature support"
+ fi
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --disable-openssl
+ --enable-gnutls
+ )
+ elif use ssl; then
+ E_ECONF+=(
+ --enable-cipher
+ --enable-signature
+ --enable-openssl
+ --disable-gnutls
+ )
+ else
+ E_ECONF+=(
+ --disable-cipher
+ --disable-signature
+ --disable-openssl
+ --disable-gnutls
+ )
+ fi
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eet/metadata.xml b/dev-libs/eet/metadata.xml
new file mode 100644
index 000000000000..74563a36db2a
--- /dev/null
+++ b/dev-libs/eet/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<longdescription>
+EET is a tiny library designed to write an arbitary set of chunks of data to a file
+and optionally compress each chunk (very much like a zip file) and allow fast
+random-access reading of the file later on. It does not do zip as a zip itself has
+more complexity than is needed, and it was much simpler to impliment this once here.
+
+Eet is extremely fast, small and simple. Eet files can be very small and highly
+compressed, making them very optimal for just sending across the internet without
+having to archive, compress or decompress and install them. They allow for
+lightning-fast random-acess reads once created, making them perfect for storing data
+that is written once (or rarely) and read many times, but the program does not want
+to have to read it all in at once.
+
+It also can encode and decode data structures in memory, as well as image data for
+saving to Eet files or sending across the network to other machines, or just writing
+to arbitary files on the system. All data is encoded in a platform independant way
+and can be written and read by any architecture.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/eeze/Manifest b/dev-libs/eeze/Manifest
new file mode 100644
index 000000000000..58b2669ece97
--- /dev/null
+++ b/dev-libs/eeze/Manifest
@@ -0,0 +1,3 @@
+DIST eeze-1.7.10.tar.bz2 549350 SHA256 15cbf89969dfdab3359766d2721c3ebf013fe1df759ff0e03f8e195d9356e8e5 SHA512 5a46264a5958eec047aed89d8913513769cd396eeb91f5e8c259fbf327aab11b2c70fdd6f5357190bf199ce494b569518762a72b7510b8cf3122bec0a70fc04a WHIRLPOOL ec1fcb641b171fed7c58799605ba87e8293403ff152acb21d20d8974a7d764434a60e44fc04f6d0cb1f00642eecff012ac671e7c255a46bc0dde6a37cd88ac7d
+DIST eeze-1.7.8.tar.bz2 549545 SHA256 2b1d2f55e0d3c42c9114995850249a8dfe8849560569268dc05a7d383617fff6 SHA512 97be58257c9f7b69f0e3c555e6a02e00a09247802ddc6ad27a9914e71831dc704d5ab6ea4cff4082733c21b82d516678457d7cfbab5f2acf1b3d7a37d07adc11 WHIRLPOOL a1e9fbf62d26e98d6b5ba6c664a613a3a0f05e640a736fb95bcfec30b98670f4002e84ec35251c63ea5771d68092e0ba63b02e2d0c77e4b7ab1cdcb2b6682718
+DIST eeze-1.7.9.tar.bz2 549643 SHA256 f0d5985663cf1e3b95355f0ef868de629585625539b2d4aec7ea5d789a4d2b87 SHA512 a704bd07f3ea24bbef517881f622b669333287c74d68285ba874de30ef05ba5cd8fe2a6180ceef4267428811178ac8cbd3deb7284ebe886ccefac6d433a31e2f WHIRLPOOL 34f4e7d251727b6fb2ade65636b6e4c342a324c203a1f1fd6270a3075af8f54626fe72c1416957b0ae6d6ead3fa3f6aa6c33507f78401d62fbbb72afd62272c5
diff --git a/dev-libs/eeze/eeze-1.7.10.ebuild b/dev-libs/eeze/eeze-1.7.10.ebuild
new file mode 100644
index 000000000000..2bc9039a3e6b
--- /dev/null
+++ b/dev-libs/eeze/eeze-1.7.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="library to simplify the use of devices"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eeze"
+
+LICENSE="BSD-2"
+IUSE="static-libs utilities"
+
+DEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eina-${PV}
+ >=dev-libs/eet-${PV}
+ virtual/udev"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ $(use_enable doc)
+ $(use_enable utilities eeze-disk-ls)
+ $(use_enable utilities eeze-mount)
+ $(use_enable utilities eeze-umount)
+ $(use_enable utilities eeze-udev-test)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eeze/eeze-1.7.8.ebuild b/dev-libs/eeze/eeze-1.7.8.ebuild
new file mode 100644
index 000000000000..97f930636551
--- /dev/null
+++ b/dev-libs/eeze/eeze-1.7.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit enlightenment
+
+DESCRIPTION="library to simplify the use of devices"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eeze"
+SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="static-libs utilities"
+
+DEPEND=">=dev-libs/ecore-1.7.8
+ >=dev-libs/eina-1.7.8
+ >=dev-libs/eet-1.7.8
+ virtual/udev"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ $(use_enable doc)
+ $(use_enable utilities eeze-disk-ls)
+ $(use_enable utilities eeze-mount)
+ $(use_enable utilities eeze-umount)
+ $(use_enable utilities eeze-udev-test)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eeze/eeze-1.7.9.ebuild b/dev-libs/eeze/eeze-1.7.9.ebuild
new file mode 100644
index 000000000000..0c63afcdd3c1
--- /dev/null
+++ b/dev-libs/eeze/eeze-1.7.9.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit enlightenment
+
+DESCRIPTION="library to simplify the use of devices"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eeze"
+SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="static-libs utilities"
+
+DEPEND=">=dev-libs/ecore-1.7.9
+ >=dev-libs/eina-1.7.9
+ >=dev-libs/eet-1.7.9
+ virtual/udev"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ $(use_enable doc)
+ $(use_enable utilities eeze-disk-ls)
+ $(use_enable utilities eeze-mount)
+ $(use_enable utilities eeze-umount)
+ $(use_enable utilities eeze-udev-test)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eeze/eeze-9999.ebuild b/dev-libs/eeze/eeze-9999.ebuild
new file mode 100644
index 000000000000..2bc9039a3e6b
--- /dev/null
+++ b/dev-libs/eeze/eeze-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="library to simplify the use of devices"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/Eeze"
+
+LICENSE="BSD-2"
+IUSE="static-libs utilities"
+
+DEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eina-${PV}
+ >=dev-libs/eet-${PV}
+ virtual/udev"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ $(use_enable doc)
+ $(use_enable utilities eeze-disk-ls)
+ $(use_enable utilities eeze-mount)
+ $(use_enable utilities eeze-umount)
+ $(use_enable utilities eeze-udev-test)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eeze/metadata.xml b/dev-libs/eeze/metadata.xml
new file mode 100644
index 000000000000..a637b6c96b25
--- /dev/null
+++ b/dev-libs/eeze/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<use>
+ <flag name="utilities">Install some test utilities for mount/umount support in eeze</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/efl/Manifest b/dev-libs/efl/Manifest
new file mode 100644
index 000000000000..6a24b55a8b0a
--- /dev/null
+++ b/dev-libs/efl/Manifest
@@ -0,0 +1,4 @@
+DIST efl-1.12.2-lauch_via_logind_or_root_privilege.patch.xz 6276 SHA256 9af4e2cc5df96d25fb70f7d21381444ce988dd8f71f1a544bdc357115040897c SHA512 2011619b6382358e291ee185426716836c136e85d7fd337b73f909acd7b2ba82d65bba3e5328eac0909a55af04aa47f5e0778f6f22fb47a914c146b68ba17733 WHIRLPOOL c4085c8f3d59566c09e8a7428df6a0a2cb634f5f15f2fbf75bd98d85e6136a8469ef1ec1a692e485e1d7afc9c3c35cfe0ac428d2843eabbbcb8e516910a97ba9
+DIST efl-1.12.2.tar.bz2 46808743 SHA256 aa1a6b95de3d92dda819e1245254e3d9c0d68f77d27d89afb1ae3f2244c0bf0c SHA512 8d137a4cd7a11f102b949bfc7047b3be870df6d7ede72765b005914729bf291f59d1f70b69ab7fbbd3328975068aa5ded2f10e556a7d4f7c31aedfcd0d7340e9 WHIRLPOOL 531f81000dafbd88dacd24588a3832a7c2afccf466d070d78d86641b8c0e3e64854c4f9d8dfe46ab0fb84fd6890ac6eb3e8e63d02ef58bedf88c265412f3ddf7
+DIST efl-1.13.1.tar.xz 40332672 SHA256 7e06e11678063fd74522f8fc56eb3d0235e9d7f889639e2ecff4bb663a2568d6 SHA512 29324acdeffa287f4ef9c72938cfc18ab4f8ae40a0b2ddbdeccb323361bfe10da43b65a419561e04a7c2c148b1a9bc820a71ad735fbf2988940e982b73e2b2f5 WHIRLPOOL 10639471666c7aae6283f4ff442b10fea7e5159f36207a676030a9a6961e86faee72026b1bdd4c512f0831db7a945dbf53e2e3da67defb4527d3adc72ee52756
+DIST efl-1.15.0.tar.xz 43130156 SHA256 5d9580e9ba961fc64222d54a73849c730477c209dde89cc123dde14f22d532bc SHA512 59f28ddee01b4b5f1d7117a9e4c051e7074fbd5712dae7d9f99f0a4d09d41963cc411eeec664f3e1c57e84ad6ebde9c58ddcc9931eef0468817a90fe96a1dfdd WHIRLPOOL 113a0da4c0f2a7b22bcfd12b2f83a85a999979ec97a423cd53310e9ef9d15d8f1d0db5dd035bc931116d4a79b435144366c1930ffe3f11d48fd439ca37124e36
diff --git a/dev-libs/efl/efl-1.12.2.ebuild b/dev-libs/efl/efl-1.12.2.ebuild
new file mode 100644
index 000000000000..1ec73bd66685
--- /dev/null
+++ b/dev-libs/efl/efl-1.12.2.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P=${P/_/-}
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_SUB_PROJECT="core"
+ EGIT_URI_APPEND="${PN}"
+elif [[ *"${PV}" == *"_pre"* ]] ; then
+ MY_P=${P%%_*}
+ SRC_URI="http://download.enlightenment.org/pre-releases/${MY_P}.tar.bz2"
+ EKEY_STATE="snap"
+else
+ SRC_URI="http://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+SRC_URI="${SRC_URI} mirror://gentoo/efl-1.12.2-lauch_via_logind_or_root_privilege.patch.xz"
+
+inherit autotools enlightenment
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+KEYWORDS="amd64 arm x86"
+IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l2 wayland webp X xim xine xpm"
+
+REQUIRED_USE="
+ pulseaudio? ( sound )
+ opengl? ( || ( X sdl wayland ) )
+ gles? ( || ( X wayland ) )
+ gles? ( !sdl )
+ gles? ( egl )
+ sdl? ( opengl )
+ wayland? ( egl !opengl gles )
+ xim? ( X )
+"
+
+RDEPEND="
+ debug? ( dev-util/valgrind )
+ drm? ( >=x11-libs/libxkbcommon-0.3.0 )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ gif? ( media-libs/giflib )
+ glib? ( dev-libs/glib )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl ) )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ !oldlua? ( >=dev-lang/luajit-2.0.0 )
+ oldlua? ( dev-lang/lua )
+ physics? ( >=sci-physics/bullet-2.80 )
+ pixman? ( x11-libs/pixman )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-sound/pulseaudio )
+ scim? ( app-i18n/scim )
+ sdl? (
+ media-libs/libsdl2
+ virtual/opengl
+ )
+ sound? ( media-libs/libsndfile )
+ systemd? ( sys-apps/systemd )
+ tiff? ( media-libs/tiff )
+ tslib? ( x11-libs/tslib )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ >=x11-libs/libxkbcommon-0.3.1
+ media-libs/mesa[gles2,wayland]
+ )
+ webp? ( media-libs/libwebp )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXp
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+
+ opengl? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+
+ gles? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+ )
+ xine? ( >=media-libs/xine-lib-1.1.1 )
+ xpm? ( x11-libs/libXpm )
+
+ sys-apps/dbus
+ >=sys-apps/util-linux-2.20.0
+ sys-libs/zlib
+ virtual/jpeg
+
+ !dev-libs/ecore
+ !dev-libs/edbus
+ !dev-libs/eet
+ !dev-libs/eeze
+ !dev-libs/efreet
+ !dev-libs/eina
+ !dev-libs/eio
+ !dev-libs/embryo
+ !dev-libs/eobj
+ !dev-libs/ephysics
+ !media-libs/edje
+ !media-libs/emotion
+ !media-libs/ethumb
+ !media-libs/evas
+"
+#external lz4 support currently broken because of unstable ABI/API
+# app-arch/lz4
+
+#soft blockers added above for binpkg users
+#hard blocks are needed for building
+CORE_EFL_CONFLICTS="
+ !!dev-libs/ecore
+ !!dev-libs/edbus
+ !!dev-libs/eet
+ !!dev-libs/eeze
+ !!dev-libs/efreet
+ !!dev-libs/eina
+ !!dev-libs/eio
+ !!dev-libs/embryo
+ !!dev-libs/eobj
+ !!dev-libs/ephysics
+ !!media-libs/edje
+ !!media-libs/emotion
+ !!media-libs/ethumb
+ !!media-libs/evas
+"
+
+DEPEND="
+ ${CORE_EFL_CONFLICTS}
+
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${WORKDIR}"/${P}-lauch_via_logind_or_root_privilege.patch
+ eautoreconf
+ enlightenment_src_prepare
+}
+
+src_configure() {
+ use ssl && use gnutls && {
+ einfo "You enabled both USEssl and USE=gnutls, but only one can be used"
+ einfo "gnutls has been selected for you"
+ }
+ use opengl && use gles && {
+ einfo "You enabled both USE=opengl and USE=gles, but only one can be used"
+ einfo "opengl has been selected for you"
+ }
+
+ local profile="release"
+
+ use debug && profile="debug"
+
+ local crypto="none"
+
+ use gnutls && crypto="gnutls"
+ use ssl && crypto="openssl"
+
+ local x11="none"
+ local enable_graphics=""
+
+ use X && x11="xlib"
+
+ local MY_ECONF
+ use X && MY_ECONF+=" --with-x"
+
+ local opengl="none"
+
+ use gles && opengl="es"
+ use opengl && opengl="full"
+
+ local glib="no"
+
+ use glib && glib="yes"
+
+ MY_ECONF+="
+ --with-profile=${profile}
+ --with-crypto=${crypto}
+ --with-x11=${x11}
+ --with-opengl=${opengl}
+ --with-glib=${glib}
+ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba
+
+ $(use_enable bmp image-loader-bmp)
+ $(use_enable bmp image-loader-wbmp)
+ $(use_enable drm)
+ $(use_enable doc)
+ $(use_enable eet image-loader-eet)
+ $(use_enable egl)
+ $(use_enable fbcon fb)
+ $(use_enable fontconfig)
+ $(use_enable fribidi)
+ $(use_enable gif image-loader-gif)
+ $(use_enable gstreamer gstreamer1)
+ $(use_enable harfbuzz)
+ $(use_enable ico image-loader-ico)
+ $(use_enable ibus)
+ $(use_enable jpeg2k image-loader-jp2k)
+ $(use_enable neon)
+ $(use_enable nls)
+ $(use_enable oldlua lua-old)
+ $(use_enable physics)
+ $(use_enable pixman)
+ $(use_enable pixman pixman-font)
+ $(use_enable pixman pixman-rect)
+ $(use_enable pixman pixman-line)
+ $(use_enable pixman pixman-poly)
+ $(use_enable pixman pixman-image)
+ $(use_enable pixman pixman-image-scale-sample)
+ $(use_enable png image-loader-png)
+ $(use_enable ppm image-loader-pmaps)
+ $(use_enable psd image-loader-psd)
+ $(use_enable pulseaudio)
+ $(use_enable scim)
+ $(use_enable sdl)
+ $(use_enable sound audio)
+ $(use_enable systemd)
+ $(use_enable tga image-loader-tga)
+ $(use_enable tiff image-loader-tiff)
+ $(use_enable tslib)
+ $(use_enable v4l2)
+ $(use_enable wayland)
+ $(use_enable webp image-loader-webp)
+ $(use_enable xim)
+ $(use_enable xine)
+ $(use_enable xpm image-loader-xpm)
+ --enable-cserve
+ --enable-gui
+ --enable-image-loader-generic
+ --enable-image-loader-jpeg
+
+ --disable-tizen
+ --disable-gesture
+ --disable-gstreamer
+ --enable-xinput2
+ --disable-xinput22
+ --disable-multisense
+ --enable-libmount
+ "
+# external lz4 support currently broken because of unstable ABI/API
+# --enable-liblz4
+
+ enlightenment_src_configure
+}
+
+src_compile() {
+ ewarn "If the following compile phase fails with a message including"
+ ewarn "lib/edje/.libs/libedje.so: undefined reference to 'eet_mmap'"
+ ewarn "then most likely the @preserved-rebuild feature of portage"
+ ewarn "preserved the 1.7 libraries, which cause the build failure."
+ ewarn "As a workaround, either remove those libs manually or"
+ ewarn "uninstall all packages still using those old libs with"
+ ewarn "emerge -aC @preserved-rebuild"
+
+ enlightenment_src_compile
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+
+ enlightenment_src_install
+}
diff --git a/dev-libs/efl/efl-1.13.1.ebuild b/dev-libs/efl/efl-1.13.1.ebuild
new file mode 100644
index 000000000000..f15fd8118192
--- /dev/null
+++ b/dev-libs/efl/efl-1.13.1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P=${P/_/-}
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_SUB_PROJECT="core"
+ EGIT_URI_APPEND="${PN}"
+elif [[ *"${PV}" == *"_pre"* ]] ; then
+ MY_P=${P%%_*}
+ SRC_URI="http://download.enlightenment.org/pre-releases/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+else
+ SRC_URI="http://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l2 valgrind wayland webp X xim xine xpm"
+
+REQUIRED_USE="
+ pulseaudio? ( sound )
+ opengl? ( || ( X sdl wayland ) )
+ gles? ( || ( X wayland ) )
+ gles? ( !sdl )
+ gles? ( egl )
+ sdl? ( opengl )
+ wayland? ( egl !opengl gles )
+ xim? ( X )
+"
+
+RDEPEND="
+ drm? (
+ >=dev-libs/libinput-0.8
+ media-libs/mesa[gbm]
+ >=x11-libs/libdrm-2.4
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ gif? ( media-libs/giflib )
+ glib? ( dev-libs/glib:2 )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl:0 ) )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ !oldlua? ( >=dev-lang/luajit-2.0.0 )
+ oldlua? ( dev-lang/lua )
+ physics? ( >=sci-physics/bullet-2.80 )
+ pixman? ( x11-libs/pixman )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-sound/pulseaudio )
+ scim? ( app-i18n/scim )
+ sdl? (
+ media-libs/libsdl2
+ virtual/opengl
+ )
+ sound? ( media-libs/libsndfile )
+ systemd? ( sys-apps/systemd )
+ tiff? ( media-libs/tiff:0 )
+ tslib? ( x11-libs/tslib )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ >=x11-libs/libxkbcommon-0.3.1
+ media-libs/mesa[gles2,wayland]
+ )
+ webp? ( media-libs/libwebp )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXp
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+
+ opengl? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+
+ gles? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+ )
+ xine? ( >=media-libs/xine-lib-1.1.1 )
+ xpm? ( x11-libs/libXpm )
+
+ sys-apps/dbus
+ >=sys-apps/util-linux-2.20.0
+ sys-libs/zlib
+ virtual/jpeg
+
+ !dev-libs/ecore
+ !dev-libs/edbus
+ !dev-libs/eet
+ !dev-libs/eeze
+ !dev-libs/efreet
+ !dev-libs/eina
+ !dev-libs/eio
+ !dev-libs/embryo
+ !dev-libs/eobj
+ !dev-libs/ephysics
+ !media-libs/edje
+ !media-libs/emotion
+ !media-libs/ethumb
+ !media-libs/evas
+"
+#external lz4 support currently broken because of unstable ABI/API
+# app-arch/lz4
+
+#soft blockers added above for binpkg users
+#hard blocks are needed for building
+CORE_EFL_CONFLICTS="
+ !!dev-libs/ecore
+ !!dev-libs/edbus
+ !!dev-libs/eet
+ !!dev-libs/eeze
+ !!dev-libs/efreet
+ !!dev-libs/eina
+ !!dev-libs/eio
+ !!dev-libs/embryo
+ !!dev-libs/eobj
+ !!dev-libs/ephysics
+ !!media-libs/edje
+ !!media-libs/emotion
+ !!media-libs/ethumb
+ !!media-libs/evas
+"
+
+DEPEND="
+ ${CORE_EFL_CONFLICTS}
+
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ if use ssl && use gnutls ; then
+ einfo "You enabled both USEssl and USE=gnutls, but only one can be used;"
+ einfo "gnutls has been selected for you."
+ fi
+ if use opengl && use gles ; then
+ einfo "You enabled both USE=opengl and USE=gles, but only one can be used;"
+ einfo "opengl has been selected for you."
+ fi
+
+ E_ECONF=(
+ --with-profile=$(usex debug debug release)
+ --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
+ --with-x11=$(usex X xlib none)
+ $(use_with X x)
+ --with-opengl=$(usex opengl full $(usex gles es none))
+ --with-glib=$(usex glib)
+ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba
+
+ $(use_enable bmp image-loader-bmp)
+ $(use_enable bmp image-loader-wbmp)
+ $(use_enable drm)
+ $(use_enable doc)
+ $(use_enable eet image-loader-eet)
+ $(use_enable egl)
+ $(use_enable fbcon fb)
+ $(use_enable fontconfig)
+ $(use_enable fribidi)
+ $(use_enable gif image-loader-gif)
+ $(use_enable gstreamer gstreamer1)
+ $(use_enable harfbuzz)
+ $(use_enable ico image-loader-ico)
+ $(use_enable ibus)
+ $(use_enable jpeg2k image-loader-jp2k)
+ $(use_enable neon)
+ $(use_enable nls)
+ $(use_enable oldlua lua-old)
+ $(use_enable physics)
+ $(use_enable pixman)
+ $(use_enable pixman pixman-font)
+ $(use_enable pixman pixman-rect)
+ $(use_enable pixman pixman-line)
+ $(use_enable pixman pixman-poly)
+ $(use_enable pixman pixman-image)
+ $(use_enable pixman pixman-image-scale-sample)
+ $(use_enable png image-loader-png)
+ $(use_enable ppm image-loader-pmaps)
+ $(use_enable psd image-loader-psd)
+ $(use_enable pulseaudio)
+ $(use_enable scim)
+ $(use_enable sdl)
+ $(use_enable sound audio)
+ $(use_enable systemd)
+ $(use_enable tga image-loader-tga)
+ $(use_enable tiff image-loader-tiff)
+ $(use_enable tslib)
+ $(use_enable v4l2)
+ $(use_enable valgrind)
+ $(use_enable wayland)
+ $(use_enable webp image-loader-webp)
+ $(use_enable xim)
+ $(use_enable xine)
+ $(use_enable xpm image-loader-xpm)
+ --enable-cserve
+ --enable-gui
+ --enable-image-loader-generic
+ --enable-image-loader-jpeg
+
+ --disable-tizen
+ --disable-gesture
+ --disable-gstreamer
+ --enable-xinput2
+ --disable-xinput22
+ --disable-multisense
+ --enable-libmount
+
+ # external lz4 support currently broken because of unstable ABI/API
+ #--enable-liblz4
+ )
+
+ enlightenment_src_configure
+}
+
+src_compile() {
+ ewarn "If the following compile phase fails with a message including"
+ ewarn "lib/edje/.libs/libedje.so: undefined reference to 'eet_mmap'"
+ ewarn "then most likely the @preserved-rebuild feature of portage"
+ ewarn "preserved the 1.7 libraries, which cause the build failure."
+ ewarn "As a workaround, either remove those libs manually or"
+ ewarn "uninstall all packages still using those old libs with"
+ ewarn "emerge -aC @preserved-rebuild"
+
+ enlightenment_src_compile
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+
+ enlightenment_src_install
+}
diff --git a/dev-libs/efl/efl-1.15.0.ebuild b/dev-libs/efl/efl-1.15.0.ebuild
new file mode 100644
index 000000000000..cb15054225be
--- /dev/null
+++ b/dev-libs/efl/efl-1.15.0.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P=${P/_/-}
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_SUB_PROJECT="core"
+ EGIT_URI_APPEND="${PN}"
+elif [[ *"${PV}" == *"_pre"* ]] ; then
+ MY_P=${P%%_*}
+ SRC_URI="http://download.enlightenment.org/pre-releases/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+else
+ SRC_URI="http://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l2 valgrind wayland webp X xim xine xpm"
+
+REQUIRED_USE="
+ pulseaudio? ( sound )
+ opengl? ( || ( X sdl wayland ) )
+ gles? ( || ( X wayland ) )
+ gles? ( !sdl )
+ gles? ( egl )
+ sdl? ( opengl )
+ wayland? ( egl !opengl gles )
+ xim? ( X )
+"
+
+RDEPEND="
+ drm? (
+ >=dev-libs/libinput-0.8
+ media-libs/mesa[gbm]
+ >=x11-libs/libdrm-2.4
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ gif? ( media-libs/giflib )
+ glib? ( dev-libs/glib:2 )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl:0 ) )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ !oldlua? ( >=dev-lang/luajit-2.0.0 )
+ oldlua? ( dev-lang/lua )
+ physics? ( >=sci-physics/bullet-2.80 )
+ pixman? ( x11-libs/pixman )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-sound/pulseaudio )
+ scim? ( app-i18n/scim )
+ sdl? (
+ media-libs/libsdl2
+ virtual/opengl
+ )
+ sound? ( media-libs/libsndfile )
+ systemd? ( sys-apps/systemd )
+ tiff? ( media-libs/tiff:0 )
+ tslib? ( x11-libs/tslib )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ >=x11-libs/libxkbcommon-0.3.1
+ media-libs/mesa[gles2,wayland]
+ )
+ webp? ( media-libs/libwebp )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXp
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+
+ opengl? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+
+ gles? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+ )
+ xine? ( >=media-libs/xine-lib-1.1.1 )
+ xpm? ( x11-libs/libXpm )
+
+ sys-apps/dbus
+ >=sys-apps/util-linux-2.20.0
+ sys-libs/zlib
+ virtual/jpeg
+
+ !dev-libs/ecore
+ !dev-libs/edbus
+ !dev-libs/eet
+ !dev-libs/eeze
+ !dev-libs/efreet
+ !dev-libs/eina
+ !dev-libs/eio
+ !dev-libs/embryo
+ !dev-libs/eobj
+ !dev-libs/ephysics
+ !media-libs/edje
+ !media-libs/emotion
+ !media-libs/ethumb
+ !media-libs/evas
+"
+#external lz4 support currently broken because of unstable ABI/API
+# app-arch/lz4
+
+#soft blockers added above for binpkg users
+#hard blocks are needed for building
+CORE_EFL_CONFLICTS="
+ !!dev-libs/ecore
+ !!dev-libs/edbus
+ !!dev-libs/eet
+ !!dev-libs/eeze
+ !!dev-libs/efreet
+ !!dev-libs/eina
+ !!dev-libs/eio
+ !!dev-libs/embryo
+ !!dev-libs/eobj
+ !!dev-libs/ephysics
+ !!media-libs/edje
+ !!media-libs/emotion
+ !!media-libs/ethumb
+ !!media-libs/evas
+"
+
+DEPEND="
+ ${CORE_EFL_CONFLICTS}
+
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # This is a hack of the upstream fix. Drop with next release. #551882
+ sed -i \
+ -e 's:SDL/:SDL2/:g' \
+ configure \
+ src/modules/evas/engines/gl_common/evas_gl_common.h \
+ src/modules/evas/engines/gl_sdl/Evas_Engine_GL_SDL.h || die
+
+ enlightenment_src_prepare
+}
+
+src_configure() {
+ if use ssl && use gnutls ; then
+ einfo "You enabled both USE=ssl and USE=gnutls, but only one can be used;"
+ einfo "gnutls has been selected for you."
+ fi
+ if use opengl && use gles ; then
+ einfo "You enabled both USE=opengl and USE=gles, but only one can be used;"
+ einfo "opengl has been selected for you."
+ fi
+
+ E_ECONF=(
+ --with-profile=$(usex debug debug release)
+ --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
+ --with-x11=$(usex X xlib none)
+ $(use_with X x)
+ --with-opengl=$(usex opengl full $(usex gles es none))
+ --with-glib=$(usex glib)
+ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba
+
+ $(use_enable bmp image-loader-bmp)
+ $(use_enable bmp image-loader-wbmp)
+ $(use_enable drm)
+ $(use_enable doc)
+ $(use_enable eet image-loader-eet)
+ $(use_enable egl)
+ $(use_enable fbcon fb)
+ $(use_enable fontconfig)
+ $(use_enable fribidi)
+ $(use_enable gif image-loader-gif)
+ $(use_enable gstreamer gstreamer1)
+ $(use_enable harfbuzz)
+ $(use_enable ico image-loader-ico)
+ $(use_enable ibus)
+ $(use_enable jpeg2k image-loader-jp2k)
+ $(use_enable neon)
+ $(use_enable nls)
+ $(use_enable oldlua lua-old)
+ $(use_enable physics)
+ $(use_enable pixman)
+ $(use_enable pixman pixman-font)
+ $(use_enable pixman pixman-rect)
+ $(use_enable pixman pixman-line)
+ $(use_enable pixman pixman-poly)
+ $(use_enable pixman pixman-image)
+ $(use_enable pixman pixman-image-scale-sample)
+ $(use_enable png image-loader-png)
+ $(use_enable ppm image-loader-pmaps)
+ $(use_enable psd image-loader-psd)
+ $(use_enable pulseaudio)
+ $(use_enable scim)
+ $(use_enable sdl)
+ $(use_enable sound audio)
+ $(use_enable systemd)
+ $(use_enable tga image-loader-tga)
+ $(use_enable tiff image-loader-tiff)
+ $(use_enable tslib)
+ $(use_enable v4l2)
+ $(use_enable valgrind)
+ $(use_enable wayland)
+ $(use_enable webp image-loader-webp)
+ $(use_enable xim)
+ $(use_enable xine)
+ $(use_enable xpm image-loader-xpm)
+ --enable-cserve
+ --enable-image-loader-generic
+ --enable-image-loader-jpeg
+
+ --disable-tizen
+ --disable-gesture
+ --disable-gstreamer
+ --enable-xinput2
+ --disable-xinput22
+ --disable-multisense
+ --enable-libmount
+
+ # external lz4 support currently broken because of unstable ABI/API
+ #--enable-liblz4
+ )
+
+ enlightenment_src_configure
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+
+ enlightenment_src_install
+}
diff --git a/dev-libs/efl/efl-9999.ebuild b/dev-libs/efl/efl-9999.ebuild
new file mode 100644
index 000000000000..f69b54dc4e62
--- /dev/null
+++ b/dev-libs/efl/efl-9999.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P=${P/_/-}
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_SUB_PROJECT="core"
+ EGIT_URI_APPEND="${PN}"
+elif [[ *"${PV}" == *"_pre"* ]] ; then
+ MY_P=${P%%_*}
+ SRC_URI="http://download.enlightenment.org/pre-releases/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+else
+ SRC_URI="http://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l2 valgrind wayland webp X xim xine xpm"
+
+REQUIRED_USE="
+ pulseaudio? ( sound )
+ opengl? ( || ( X sdl wayland ) )
+ gles? ( || ( X wayland ) )
+ gles? ( !sdl )
+ gles? ( egl )
+ sdl? ( opengl )
+ wayland? ( egl !opengl gles )
+ xim? ( X )
+"
+
+RDEPEND="
+ drm? (
+ >=dev-libs/libinput-0.8
+ media-libs/mesa[gbm]
+ >=x11-libs/libdrm-2.4
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ gif? ( media-libs/giflib )
+ glib? ( dev-libs/glib:2 )
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( ssl? ( dev-libs/openssl:0 ) )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ !oldlua? ( >=dev-lang/luajit-2.0.0 )
+ oldlua? ( dev-lang/lua )
+ physics? ( >=sci-physics/bullet-2.80 )
+ pixman? ( x11-libs/pixman )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-sound/pulseaudio )
+ scim? ( app-i18n/scim )
+ sdl? (
+ media-libs/libsdl2
+ virtual/opengl
+ )
+ sound? ( media-libs/libsndfile )
+ systemd? ( sys-apps/systemd )
+ tiff? ( media-libs/tiff:0 )
+ tslib? ( x11-libs/tslib )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ >=x11-libs/libxkbcommon-0.3.1
+ media-libs/mesa[gles2,wayland]
+ )
+ webp? ( media-libs/libwebp )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXp
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+
+ opengl? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+
+ gles? (
+ x11-libs/libX11
+ x11-libs/libXrender
+ virtual/opengl
+ )
+ )
+ xine? ( >=media-libs/xine-lib-1.1.1 )
+ xpm? ( x11-libs/libXpm )
+
+ sys-apps/dbus
+ >=sys-apps/util-linux-2.20.0
+ sys-libs/zlib
+ virtual/jpeg
+
+ !dev-libs/ecore
+ !dev-libs/edbus
+ !dev-libs/eet
+ !dev-libs/eeze
+ !dev-libs/efreet
+ !dev-libs/eina
+ !dev-libs/eio
+ !dev-libs/embryo
+ !dev-libs/eobj
+ !dev-libs/ephysics
+ !media-libs/edje
+ !media-libs/emotion
+ !media-libs/ethumb
+ !media-libs/evas
+"
+#external lz4 support currently broken because of unstable ABI/API
+# app-arch/lz4
+
+#soft blockers added above for binpkg users
+#hard blocks are needed for building
+CORE_EFL_CONFLICTS="
+ !!dev-libs/ecore
+ !!dev-libs/edbus
+ !!dev-libs/eet
+ !!dev-libs/eeze
+ !!dev-libs/efreet
+ !!dev-libs/eina
+ !!dev-libs/eio
+ !!dev-libs/embryo
+ !!dev-libs/eobj
+ !!dev-libs/ephysics
+ !!media-libs/edje
+ !!media-libs/emotion
+ !!media-libs/ethumb
+ !!media-libs/evas
+"
+
+DEPEND="
+ ${CORE_EFL_CONFLICTS}
+
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ if use ssl && use gnutls ; then
+ einfo "You enabled both USE=ssl and USE=gnutls, but only one can be used;"
+ einfo "gnutls has been selected for you."
+ fi
+ if use opengl && use gles ; then
+ einfo "You enabled both USE=opengl and USE=gles, but only one can be used;"
+ einfo "opengl has been selected for you."
+ fi
+
+ E_ECONF=(
+ --with-profile=$(usex debug debug release)
+ --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
+ --with-x11=$(usex X xlib none)
+ $(use_with X x)
+ --with-opengl=$(usex opengl full $(usex gles es none))
+ --with-glib=$(usex glib)
+ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba
+
+ $(use_enable bmp image-loader-bmp)
+ $(use_enable bmp image-loader-wbmp)
+ $(use_enable drm)
+ $(use_enable doc)
+ $(use_enable eet image-loader-eet)
+ $(use_enable egl)
+ $(use_enable fbcon fb)
+ $(use_enable fontconfig)
+ $(use_enable fribidi)
+ $(use_enable gif image-loader-gif)
+ $(use_enable gstreamer gstreamer1)
+ $(use_enable harfbuzz)
+ $(use_enable ico image-loader-ico)
+ $(use_enable ibus)
+ $(use_enable jpeg2k image-loader-jp2k)
+ $(use_enable neon)
+ $(use_enable nls)
+ $(use_enable oldlua lua-old)
+ $(use_enable physics)
+ $(use_enable pixman)
+ $(use_enable pixman pixman-font)
+ $(use_enable pixman pixman-rect)
+ $(use_enable pixman pixman-line)
+ $(use_enable pixman pixman-poly)
+ $(use_enable pixman pixman-image)
+ $(use_enable pixman pixman-image-scale-sample)
+ $(use_enable png image-loader-png)
+ $(use_enable ppm image-loader-pmaps)
+ $(use_enable psd image-loader-psd)
+ $(use_enable pulseaudio)
+ $(use_enable scim)
+ $(use_enable sdl)
+ $(use_enable sound audio)
+ $(use_enable systemd)
+ $(use_enable tga image-loader-tga)
+ $(use_enable tiff image-loader-tiff)
+ $(use_enable tslib)
+ $(use_enable v4l2)
+ $(use_enable valgrind)
+ $(use_enable wayland)
+ $(use_enable webp image-loader-webp)
+ $(use_enable xim)
+ $(use_enable xine)
+ $(use_enable xpm image-loader-xpm)
+ --enable-cserve
+ --enable-image-loader-generic
+ --enable-image-loader-jpeg
+
+ --disable-tizen
+ --disable-gesture
+ --disable-gstreamer
+ --enable-xinput2
+ --disable-xinput22
+ --disable-multisense
+ --enable-libmount
+
+ # external lz4 support currently broken because of unstable ABI/API
+ #--enable-liblz4
+ )
+
+ enlightenment_src_configure
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+
+ enlightenment_src_install
+}
diff --git a/dev-libs/efl/metadata.xml b/dev-libs/efl/metadata.xml
new file mode 100644
index 000000000000..43ec42a551ee
--- /dev/null
+++ b/dev-libs/efl/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<use>
+ <flag name="bmp">Enable WBMP image loader.</flag>
+ <flag name="drm">Enable DRM engine.</flag>
+ <flag name="eet">Enable Eet image loader.</flag>
+ <flag name="egl">Enable EGL rendering.</flag>
+ <flag name="fribidi">Enable bidirectional text support.</flag>
+ <flag name="gles">Enable the OpenGL ES GL implementation.</flag>
+ <flag name="glib">Enable <pkg>dev-libs/glib</pkg> support.</flag>
+ <flag name="harfbuzz">Enable complex text shaping and layout support.</flag>
+ <flag name="ibus">Enable Intelligent Input Bus.</flag>
+ <flag name="ico">Enable Ico image loader.</flag>
+ <flag name="oldlua">USE <pkg>dev-lang/lua</pkg> instead of <pkg>dev-lang/luajit</pkg></flag>
+ <flag name="physics">Enable Bullet physics effects and support.</flag>
+ <flag name="pixman">Enable PixMan for software rendering.</flag>
+ <flag name="ppm">Enable PMAPS image loader.</flag>
+ <flag name="psd">Enable PSD image loader.</flag>
+ <flag name="scim">Enable Smart Common Input Method.</flag>
+ <flag name="tga">Enable Tga image loader.</flag>
+ <flag name="tslib">Enable <pkg>x11-libs/tslib</pkg> for touchscreen events.</flag>
+ <flag name="v4l2">Enable Video4Linux2 support.</flag>
+ <flag name='valgrind'>Enable usage of <pkg>dev-util/valgrind</pkg> in debug</flag>
+ <flag name="webp">Enable WebP image loader.</flag>
+ <flag name="xim">Enable X Input Method.</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/efreet/Manifest b/dev-libs/efreet/Manifest
new file mode 100644
index 000000000000..b91788924c19
--- /dev/null
+++ b/dev-libs/efreet/Manifest
@@ -0,0 +1 @@
+DIST efreet-1.7.10.tar.bz2 450761 SHA256 1d818fae5ff3ce040842dddf49376ebdf056222b8e1835f5b6871ea1ce18400e SHA512 2bfc79de3c6f4d61cd4dfab567bfecc207afd413248d1a1edd7cc21378ec670420d4ffef20ae7ba5e33c72e49da0ad3c810d0086431fb3c9909c361a12586698 WHIRLPOOL aa207eafdf7dd73986926d04bf6b8542e55f3018e4030823f2e8ca0a0f266692e7926c8f0a22f48407f72d18e4cc3fe2de6efcfbc0533bdb39d70a9ed63ccd57
diff --git a/dev-libs/efreet/efreet-1.7.10.ebuild b/dev-libs/efreet/efreet-1.7.10.ebuild
new file mode 100644
index 000000000000..59f5065c6327
--- /dev/null
+++ b/dev-libs/efreet/efreet-1.7.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="library for handling of freedesktop.org specs (desktop/icon/theme/etc...)"
+
+LICENSE="BSD-2"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eet-${PV}
+ >=dev-libs/eina-${PV}
+ x11-misc/xdg-utils"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable doc)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/efreet/efreet-9999.ebuild b/dev-libs/efreet/efreet-9999.ebuild
new file mode 100644
index 000000000000..59f5065c6327
--- /dev/null
+++ b/dev-libs/efreet/efreet-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="library for handling of freedesktop.org specs (desktop/icon/theme/etc...)"
+
+LICENSE="BSD-2"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eet-${PV}
+ >=dev-libs/eina-${PV}
+ x11-misc/xdg-utils"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF=(
+ $(use_enable doc)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/efreet/metadata.xml b/dev-libs/efreet/metadata.xml
new file mode 100644
index 000000000000..99165add909f
--- /dev/null
+++ b/dev-libs/efreet/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+</pkgmetadata>
diff --git a/dev-libs/eina/Manifest b/dev-libs/eina/Manifest
new file mode 100644
index 000000000000..d0b0930e5e81
--- /dev/null
+++ b/dev-libs/eina/Manifest
@@ -0,0 +1,2 @@
+DIST eina-1.7.10.tar.bz2 9703289 SHA256 6378168bfb5ccc5338b39bbc4465cb96c5751f70cdf05766fbbddaf94fb0f81a SHA512 c1195ec9f2cd79777912ba3c8b6e69a206d035c9a7f2c38762c18e3c86ec43d52f020e4dd8d0ea0c9b580aff9707cede909412260ac6d23796ddbd78eb8e280e WHIRLPOOL 0110c7cb19741be9194c80284543f0790a2b7d4e073f7a8e2bfa1a44920207ebd83aad831ea9623401ecf3a6ea1b33ef35b1fb344abc3c935ac009d9f646dcd4
+DIST eina-1.7.9.tar.bz2 9704705 SHA256 b032dd390b4d9f0f0db4b63890cdfc4a5d515b8dfef87f94073e477ff31adf76 SHA512 4f19ee5910595e7e907a2f99ce3adbd18faa7bf462ae4c44d13297a7e1f32bdd24e9b33aa8df33c166e9c3d321eed655b908100695f7eeffe42f24163faba378 WHIRLPOOL 9309779e851156388a801fb262226e737f6704162bed0cd1a0f1850a2d0d20c863db560dbd8af642aafb9982ab5f16e63b3bda7291182004e5cb86ef3c4c9458
diff --git a/dev-libs/eina/eina-1.7.10.ebuild b/dev-libs/eina/eina-1.7.10.ebuild
new file mode 100644
index 000000000000..1ab08927b396
--- /dev/null
+++ b/dev-libs/eina/eina-1.7.10.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's data types library (list, hash, etc) in C"
+
+LICENSE="LGPL-2.1"
+IUSE="altivec debug default-mempool cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 static-libs test valgrind"
+
+MEMPOOLS=(
+ @buddy
+ +@chained-pool
+ # Looks like ememoa is a dead project?
+ #@ememoa-fixed
+ #@ememoa-unknown
+ @fixed-bitmap
+ +@one-big
+ @pass-through
+)
+IUSE_MEMPOOLS=${MEMPOOLS[@]/@/mempool-}
+IUSE+=" ${IUSE_MEMPOOLS}"
+
+RDEPEND="valgrind? ( dev-util/valgrind )"
+# mempool-ememoa-fixed? ( sys-libs/ememoa )
+# mempool-ememoa-unknown? ( sys-libs/ememoa )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-libs/check
+ dev-libs/glib
+ dev-util/lcov
+ )"
+
+src_configure() {
+ # Evas benchmark is broken!
+ E_ECONF=(
+ $(use_enable altivec cpu-altivec)
+ $(use_enable !debug amalgamation)
+ $(use_enable debug stringshare-usage)
+ $(use_enable debug assert)
+ $(use debug || echo " --with-internal-maximum-log-level=2")
+ $(use_enable default-mempool)
+ $(use_enable doc)
+ $(use_enable cpu_flags_x86_mmx cpu-mmx)
+ $(use_enable cpu_flags_x86_sse cpu-sse)
+ $(use_enable cpu_flags_x86_sse2 cpu-sse2)
+ $(use test && echo " --disable-amalgamation")
+ $(use_enable test e17)
+ $(use_enable test tests)
+ $(use_enable test benchmark)
+ $(use test && echo " --with-internal-maximum-log-level=6")
+ $(use_enable valgrind)
+ --enable-magic-debug
+ --enable-safety-checks
+ )
+
+ #if use mempool-ememoa-fixed || use mempool-ememoa-unknown ; then
+ # E_ECONF+=( --enable-ememoa )
+ #else
+ E_ECONF+=( --disable-ememoa )
+ #fi
+
+ local m mempool_arg='static'
+ if use debug ; then
+ mempool_arg='yes'
+ fi
+ for m in ${IUSE_MEMPOOLS//+} ; do
+ E_ECONF+=( $(use_enable ${m} ${m} ${mempool_argT}) )
+ done
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eina/eina-1.7.9.ebuild b/dev-libs/eina/eina-1.7.9.ebuild
new file mode 100644
index 000000000000..1ab08927b396
--- /dev/null
+++ b/dev-libs/eina/eina-1.7.9.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's data types library (list, hash, etc) in C"
+
+LICENSE="LGPL-2.1"
+IUSE="altivec debug default-mempool cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 static-libs test valgrind"
+
+MEMPOOLS=(
+ @buddy
+ +@chained-pool
+ # Looks like ememoa is a dead project?
+ #@ememoa-fixed
+ #@ememoa-unknown
+ @fixed-bitmap
+ +@one-big
+ @pass-through
+)
+IUSE_MEMPOOLS=${MEMPOOLS[@]/@/mempool-}
+IUSE+=" ${IUSE_MEMPOOLS}"
+
+RDEPEND="valgrind? ( dev-util/valgrind )"
+# mempool-ememoa-fixed? ( sys-libs/ememoa )
+# mempool-ememoa-unknown? ( sys-libs/ememoa )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-libs/check
+ dev-libs/glib
+ dev-util/lcov
+ )"
+
+src_configure() {
+ # Evas benchmark is broken!
+ E_ECONF=(
+ $(use_enable altivec cpu-altivec)
+ $(use_enable !debug amalgamation)
+ $(use_enable debug stringshare-usage)
+ $(use_enable debug assert)
+ $(use debug || echo " --with-internal-maximum-log-level=2")
+ $(use_enable default-mempool)
+ $(use_enable doc)
+ $(use_enable cpu_flags_x86_mmx cpu-mmx)
+ $(use_enable cpu_flags_x86_sse cpu-sse)
+ $(use_enable cpu_flags_x86_sse2 cpu-sse2)
+ $(use test && echo " --disable-amalgamation")
+ $(use_enable test e17)
+ $(use_enable test tests)
+ $(use_enable test benchmark)
+ $(use test && echo " --with-internal-maximum-log-level=6")
+ $(use_enable valgrind)
+ --enable-magic-debug
+ --enable-safety-checks
+ )
+
+ #if use mempool-ememoa-fixed || use mempool-ememoa-unknown ; then
+ # E_ECONF+=( --enable-ememoa )
+ #else
+ E_ECONF+=( --disable-ememoa )
+ #fi
+
+ local m mempool_arg='static'
+ if use debug ; then
+ mempool_arg='yes'
+ fi
+ for m in ${IUSE_MEMPOOLS//+} ; do
+ E_ECONF+=( $(use_enable ${m} ${m} ${mempool_argT}) )
+ done
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eina/eina-9999.ebuild b/dev-libs/eina/eina-9999.ebuild
new file mode 100644
index 000000000000..1ab08927b396
--- /dev/null
+++ b/dev-libs/eina/eina-9999.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's data types library (list, hash, etc) in C"
+
+LICENSE="LGPL-2.1"
+IUSE="altivec debug default-mempool cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 static-libs test valgrind"
+
+MEMPOOLS=(
+ @buddy
+ +@chained-pool
+ # Looks like ememoa is a dead project?
+ #@ememoa-fixed
+ #@ememoa-unknown
+ @fixed-bitmap
+ +@one-big
+ @pass-through
+)
+IUSE_MEMPOOLS=${MEMPOOLS[@]/@/mempool-}
+IUSE+=" ${IUSE_MEMPOOLS}"
+
+RDEPEND="valgrind? ( dev-util/valgrind )"
+# mempool-ememoa-fixed? ( sys-libs/ememoa )
+# mempool-ememoa-unknown? ( sys-libs/ememoa )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-libs/check
+ dev-libs/glib
+ dev-util/lcov
+ )"
+
+src_configure() {
+ # Evas benchmark is broken!
+ E_ECONF=(
+ $(use_enable altivec cpu-altivec)
+ $(use_enable !debug amalgamation)
+ $(use_enable debug stringshare-usage)
+ $(use_enable debug assert)
+ $(use debug || echo " --with-internal-maximum-log-level=2")
+ $(use_enable default-mempool)
+ $(use_enable doc)
+ $(use_enable cpu_flags_x86_mmx cpu-mmx)
+ $(use_enable cpu_flags_x86_sse cpu-sse)
+ $(use_enable cpu_flags_x86_sse2 cpu-sse2)
+ $(use test && echo " --disable-amalgamation")
+ $(use_enable test e17)
+ $(use_enable test tests)
+ $(use_enable test benchmark)
+ $(use test && echo " --with-internal-maximum-log-level=6")
+ $(use_enable valgrind)
+ --enable-magic-debug
+ --enable-safety-checks
+ )
+
+ #if use mempool-ememoa-fixed || use mempool-ememoa-unknown ; then
+ # E_ECONF+=( --enable-ememoa )
+ #else
+ E_ECONF+=( --disable-ememoa )
+ #fi
+
+ local m mempool_arg='static'
+ if use debug ; then
+ mempool_arg='yes'
+ fi
+ for m in ${IUSE_MEMPOOLS//+} ; do
+ E_ECONF+=( $(use_enable ${m} ${m} ${mempool_argT}) )
+ done
+
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eina/metadata.xml b/dev-libs/eina/metadata.xml
new file mode 100644
index 000000000000..76fbac87e982
--- /dev/null
+++ b/dev-libs/eina/metadata.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<use>
+ <flag name="mempool-buddy">Compile "buddy" memory pool allocation.</flag>
+ <flag name="mempool-chained-pool">Compile "chained-pool" memory pool allocation.</flag>
+ <flag name="mempool-fixed-bitmap">Compile "fixed-bitmap" memory pool allocation.</flag>
+ <flag name="mempool-one-big">Compile "one-big" memory pool allocation.</flag>
+ <flag name="mempool-pass-through">Compile "pass-through" (system's malloc) memory pool allocation.</flag>
+ <flag name="default-mempool">By default use system's allocator (pass-through) instead of custom choice for Eina's own data structures.</flag>
+ <flag name="valgrind">Compile in valgrind hints for smoother integration.</flag>
+</use>
+<longdescription>
+Eina is a multi-platform library that provides optimized data types
+and useful tools for projects.
+
+Among its data types, Eina provides efficient implementation of:
+
+ * double linked list with O(1) append and count;
+
+ * double linked inlist (node is built in the data) with O(1) append;
+
+ * stringshare, a pool of read-only strings that are shared in order
+ to save memory (no copies!), fast referencing and
+ pointer-comparison;
+
+ * hash table with extensible key support, ships by default with
+ string, stringshare, pointer and integer hashes by default;
+
+ * array of pointers, with O(1) count and append, configurable step
+ growing;
+
+ * red-black tree;
+
+ * sparse matrix;
+
+
+As for tools, it provides couple of convenience:
+
+ * generic and extensible logging system;
+
+ * easy to use dynamic module loading (on top of dlopen()) that makes
+ it easy to change to static/built-in modules;
+
+ * generic safety-checks system covering NULL pointers and other
+ incorrect conditions with logging;
+
+ * "magic" type checking that check and logs if expected magic number
+ is incorrect;
+
+ * easy to use and extensible memory allocators (mempools);
+
+ * fixed-point arithmetic;
+
+ * tile splitter and simplifier (merges);
+
+ * generic iterator pattern (how to walk in one direction), just
+ implement the given API;
+
+ * generic accessor pattern (how to randomly access items), just
+ implement the given API;
+
+ * benchmark helpers.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/eio/Manifest b/dev-libs/eio/Manifest
new file mode 100644
index 000000000000..c43ae0abfd5a
--- /dev/null
+++ b/dev-libs/eio/Manifest
@@ -0,0 +1,3 @@
+DIST eio-1.7.10.tar.bz2 361892 SHA256 2859c984cb34c65707834d77da8d1ec106d378ef5bf7f9a10662c464a656b6cc SHA512 08edec460a27d7db039c9128fed13bef0ff2855047fbd367b0a4bd7efbd6496395eb949f4a46435fd142a4ccc0db22b59d39f71080cf21453d95b6cb3ea5864e WHIRLPOOL b0035536df200e53facafd45dbc507d50193254e7ea564de2b46dc02553631cb4eaf7b22aa3a2f70899fcee85c611c701ebe46198475b628e335ab87a129bb9f
+DIST eio-1.7.8.tar.bz2 362049 SHA256 8e26055e052b01f74b175ec98941ce9947a485db84a10c35855da54297a3363b SHA512 7aae70da2737230d76dfedc164f96fb8c51fa031d857c70f0b59f2593682264792e8d4fd764e4696e8bf9d485e7bd0efcf75a6be6a9e6ec7de1d904942d7515b WHIRLPOOL cfa447f2bab3cf62854149aab594e59afc28779a5dcd796a41e7c0ffccce987891cb52b9561a872cc036466378e2382597e71a7c292b19e093b94c446c1d2509
+DIST eio-1.7.9.tar.bz2 362141 SHA256 dbd62331c40e82609a8e6ed3c9de53c6e8a1349c54a9797250566c65049f6e8a SHA512 4003094ed83d127a2a088b964fe4069c699e35c0ef5ee224b8eac3a06b5ed5b302a41a42b189ad280f01fcd259b1fb1af4192b414ada1494159220d8e4050ddf WHIRLPOOL b3c6f8533f03dd96d965c602ba4e6babd9d3473169ad0b62165b28f29171199510b2e60d5cbb7888887e0930c776b43feb8649b0375036380fae6d12c6aff97a
diff --git a/dev-libs/eio/eio-1.7.10.ebuild b/dev-libs/eio/eio-1.7.10.ebuild
new file mode 100644
index 000000000000..bdb8bc9ffe74
--- /dev/null
+++ b/dev-libs/eio/eio-1.7.10.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's integration to IO"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/EIO"
+
+LICENSE="LGPL-2"
+IUSE="examples static-libs"
+
+RDEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eet-${PV}"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF=(
+ --enable-posix-threads
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eio/eio-1.7.8.ebuild b/dev-libs/eio/eio-1.7.8.ebuild
new file mode 100644
index 000000000000..2d631b529a37
--- /dev/null
+++ b/dev-libs/eio/eio-1.7.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's integration to IO"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/EIO"
+SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="examples static-libs"
+
+RDEPEND=">=dev-libs/ecore-1.7.8
+ >=dev-libs/eet-1.7.8"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ --enable-posix-threads
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eio/eio-1.7.9.ebuild b/dev-libs/eio/eio-1.7.9.ebuild
new file mode 100644
index 000000000000..7990fa9207f9
--- /dev/null
+++ b/dev-libs/eio/eio-1.7.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's integration to IO"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/EIO"
+SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="examples static-libs"
+
+RDEPEND=">=dev-libs/ecore-1.7.9
+ >=dev-libs/eet-1.7.9"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF+=(
+ --enable-posix-threads
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eio/eio-9999.ebuild b/dev-libs/eio/eio-9999.ebuild
new file mode 100644
index 000000000000..bdb8bc9ffe74
--- /dev/null
+++ b/dev-libs/eio/eio-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="Enlightenment's integration to IO"
+HOMEPAGE="http://trac.enlightenment.org/e/wiki/EIO"
+
+LICENSE="LGPL-2"
+IUSE="examples static-libs"
+
+RDEPEND=">=dev-libs/ecore-${PV}
+ >=dev-libs/eet-${PV}"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ E_ECONF=(
+ --enable-posix-threads
+ $(use_enable doc)
+ $(use_enable examples build-examples)
+ $(use_enable examples install-examples)
+ )
+ enlightenment_src_configure
+}
diff --git a/dev-libs/eio/metadata.xml b/dev-libs/eio/metadata.xml
new file mode 100644
index 000000000000..99165add909f
--- /dev/null
+++ b/dev-libs/eio/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+</pkgmetadata>
diff --git a/dev-libs/elfio/Manifest b/dev-libs/elfio/Manifest
new file mode 100644
index 000000000000..e489dde8ccd7
--- /dev/null
+++ b/dev-libs/elfio/Manifest
@@ -0,0 +1 @@
+DIST ELFIO-1.0.3.tar.gz 308560 SHA256 e8cdd3895c4f6e5ed2422a2151e7940f9085a1c10d1f0508ed03b1c4860bcada SHA512 eb0194ccc9e5194b7ac4ee7dfed06269e5235e72dd72631b63dcc3b0b44c76d44aa30df1332e7424e08ab905d2b243af6e2c183be87766536d588fa6ff719f19 WHIRLPOOL 2c57c0e945daa980324e9d30d67944f4a954e006a6db39a813bf3420fcb9e2d904feea98bbaee1f32c73ebcfdca1e25f569c9c5cfc470eda656752181e4d6d25
diff --git a/dev-libs/elfio/elfio-1.0.3.ebuild b/dev-libs/elfio/elfio-1.0.3.ebuild
new file mode 100644
index 000000000000..042658c341e8
--- /dev/null
+++ b/dev-libs/elfio/elfio-1.0.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+MY_P=ELFIO-${PV}
+DESCRIPTION="ELF (Executable and Linkable Format) reader and producer implemented as a C++ library"
+HOMEPAGE="http://elfio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/elfio/${MY_P}.tar.gz"
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-shared.patch
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+ dodoc AUTHORS NEWS README
+}
diff --git a/dev-libs/elfio/files/elfio-1.0.3-shared.patch b/dev-libs/elfio/files/elfio-1.0.3-shared.patch
new file mode 100644
index 000000000000..01e67dfe98bc
--- /dev/null
+++ b/dev-libs/elfio/files/elfio-1.0.3-shared.patch
@@ -0,0 +1,83 @@
+diff -ur ELFIO-1.0.3.orig/configure.in ELFIO-1.0.3/configure.in
+--- ELFIO-1.0.3.orig/configure.in 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/configure.in 2007-03-06 16:37:08.000000000 +0100
+@@ -7,6 +7,7 @@
+ AC_PROG_CXX
+ AC_PROG_RANLIB
+ AC_PROG_INSTALL
++AC_PROG_LIBTOOL
+
+ dnl Checks for libraries.
+
+diff -ur ELFIO-1.0.3.orig/ELFIO/Makefile.am ELFIO-1.0.3/ELFIO/Makefile.am
+--- ELFIO-1.0.3.orig/ELFIO/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/ELFIO/Makefile.am 2007-03-06 16:36:45.000000000 +0100
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libELFIO.a
++lib_LTLIBRARIES = libELFIO.la
+
+-libELFIO_a_SOURCES = ELFIDynamic.cpp ELFIImpl.cpp ELFINote.cpp ELFIO.cpp \
++libELFIO_la_SOURCES = ELFIDynamic.cpp ELFIImpl.cpp ELFINote.cpp ELFIO.cpp \
+ ELFIOUtils.cpp ELFIRelocation.cpp ELFISection.cpp \
+ ELFISegment.cpp ELFIStrings.cpp ELFISymbols.cpp \
+ ELFODynamic.cpp ELFOImpl.cpp ELFONote.cpp \
+@@ -10,4 +10,4 @@
+ include_HEADERS = ELFI.h ELFIO.h ELFO.h ELFTypes.h
+ noinst_HEADERS = ELFIImpl.h ELFOImpl.h ELFIOUtils.h
+
+-EXTRA_DIST = ELFIO.dsp ELFIO.dsw ELFIO.mcp
+\ No newline at end of file
++EXTRA_DIST = ELFIO.dsp ELFIO.dsw ELFIO.mcp
+diff -ur ELFIO-1.0.3.orig/Examples/ELFDump/Makefile.am ELFIO-1.0.3/Examples/ELFDump/Makefile.am
+--- ELFIO-1.0.3.orig/Examples/ELFDump/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/Examples/ELFDump/Makefile.am 2007-03-06 16:37:51.000000000 +0100
+@@ -3,6 +3,6 @@
+ bin_PROGRAMS = ELFDump
+
+ ELFDump_SOURCES = ELFDump.cpp
+-ELFDump_LDADD = ../../ELFIO/libELFIO.a
++ELFDump_LDADD = ../../ELFIO/libELFIO.la
+
+ EXTRA_DIST = ELFDump.dsp ELFDump.dsw ELFDump.mcp
+diff -ur ELFIO-1.0.3.orig/Examples/RelocationTable/Makefile.am ELFIO-1.0.3/Examples/RelocationTable/Makefile.am
+--- ELFIO-1.0.3.orig/Examples/RelocationTable/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/Examples/RelocationTable/Makefile.am 2007-03-06 16:38:53.000000000 +0100
+@@ -3,6 +3,6 @@
+ noinst_PROGRAMS = RelocationTable
+
+ RelocationTable_SOURCES = RelocationTable.cpp
+-RelocationTable_LDADD = ../../ELFIO/libELFIO.a
++RelocationTable_LDADD = ../../ELFIO/libELFIO.la
+
+ EXTRA_DIST = RelocationTable.mcp
+diff -ur ELFIO-1.0.3.orig/Examples/WriteObj/Makefile.am ELFIO-1.0.3/Examples/WriteObj/Makefile.am
+--- ELFIO-1.0.3.orig/Examples/WriteObj/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/Examples/WriteObj/Makefile.am 2007-03-06 16:39:28.000000000 +0100
+@@ -3,6 +3,6 @@
+ noinst_PROGRAMS = WriteObj
+
+ WriteObj_SOURCES = WriteObj.cpp
+-WriteObj_LDADD = ../../ELFIO/libELFIO.a
++WriteObj_LDADD = ../../ELFIO/libELFIO.la
+
+ EXTRA_DIST = WriteObj.dsp WriteObj.dsw WriteObj.mcp
+diff -ur ELFIO-1.0.3.orig/Examples/WriteObj2/Makefile.am ELFIO-1.0.3/Examples/WriteObj2/Makefile.am
+--- ELFIO-1.0.3.orig/Examples/WriteObj2/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/Examples/WriteObj2/Makefile.am 2007-03-06 16:39:40.000000000 +0100
+@@ -3,4 +3,4 @@
+ noinst_PROGRAMS = WriteObj2
+
+ WriteObj2_SOURCES = WriteObj2.cpp
+-WriteObj2_LDADD = ../../ELFIO/libELFIO.a
++WriteObj2_LDADD = ../../ELFIO/libELFIO.la
+diff -ur ELFIO-1.0.3.orig/Examples/Writer/Makefile.am ELFIO-1.0.3/Examples/Writer/Makefile.am
+--- ELFIO-1.0.3.orig/Examples/Writer/Makefile.am 2007-03-06 16:36:26.000000000 +0100
++++ ELFIO-1.0.3/Examples/Writer/Makefile.am 2007-03-06 16:39:10.000000000 +0100
+@@ -3,6 +3,6 @@
+ noinst_PROGRAMS = Writer
+
+ Writer_SOURCES = Write.cpp
+-Writer_LDADD = ../../ELFIO/libELFIO.a
++Writer_LDADD = ../../ELFIO/libELFIO.la
+
+ EXTRA_DIST = Writer.dsp Writer.dsw Writer.mcp
diff --git a/dev-libs/elfio/metadata.xml b/dev-libs/elfio/metadata.xml
new file mode 100644
index 000000000000..ff3b504a3356
--- /dev/null
+++ b/dev-libs/elfio/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">elfio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
new file mode 100644
index 000000000000..b88a8b7f8797
--- /dev/null
+++ b/dev-libs/elfutils/Manifest
@@ -0,0 +1,13 @@
+DIST elfutils-0.158-portability.patch 61898 SHA256 edc5e367b90dc3b179439c1c56ac28b04e810b09952d76c51b2df7a2a3f44e78 SHA512 3710f5b9e43a7ae230d8f3b7058addc667e34841fcbb85e3e6e289851b5daf1d82d8f6e592cfa62be127588ae1e274f5b04499156dec3e9c5922f1a06a0e845b WHIRLPOOL 7bc95985ed12c8b356fb6a8d7f92fd0d6aa2d5a8aedb157f85b894199ebb0ae63b2d7baebe759489895bb9db2b552a84647add04f0c02168d9ebfd598ab8fd69
+DIST elfutils-0.158-robustify.patch 62790 SHA256 dde94387e6565803d7c8d5b4351e4224e0fdeccfb9ef4a2080f15fabf43fe8bf SHA512 cdafe50d93ca74a38e62728f52965a48b37ef6dc05ca949893381c917549e498a2b007580ceb5de81c7292d86fbb11fd62315001216c12baffc243e2e6fd1015 WHIRLPOOL b3d0440230e23d66fc4862083ca9a9b2f3d58619c8789d086e6c9933af5c27b9b1c55dd8fa714acd708757bdee0707041cf6c8b09b804d7c6a4932f77a2648e4
+DIST elfutils-0.158.tar.bz2 4931570 SHA256 be27af5c21352f53e010342bf1c68e0b9e18232dbf3adec7e2f9b41f6bbe397d SHA512 6f27c07ad2b146d2ff857ad596f0d9150b0a041b4667f9174880a7766250ba2e52103bed9c4295e005255b683346d33d82efcda8f18f66c343df2722ca5d2ca2 WHIRLPOOL ff0c2224f9a514b83995c6f5a628e1331887e3906d3678c237c551d5572371b5a4c8bcf705f8e1389bff02bdab257460b26d8cfd3b3de2cbbc84e3f5a55445ac
+DIST elfutils-0.159-portability.patch 63319 SHA256 aaaa91cc9101962cdef221b2901346921945bf6e8b7806dbf99c5c2d76dc3ae0 SHA512 043ef48ea0f2cec718d952d7137e16f34c47420b7d1788a9e1685b3543576f8d4a9f8565069709ab87a1b65d32204db01da4e0f08be51c5d8a5890c548369568 WHIRLPOOL e690f510ebe97562dbee233b146481b56fb589c7ed7e99eafd121c3990f084d6adb58fc4db0824518a84cd609a0a10a65f125697f51819b18dfcd3e691c1abd9
+DIST elfutils-0.159.tar.bz2 5469000 SHA256 fffaad1ba0c4ac5c8cee56dc195746e1f1e7197ba3eba7052ad5a3635ac1242e SHA512 c58d95c90685fb0b37f728c83e9d462be2fabe1dfb7b271b3adcde5f10c532a90b07bcc1c51dd81bf768f0cd3d22fa231fafb74fb5e79098d94a566e139408ff WHIRLPOOL 71cc156658af3ea8461c4cebcf27331a3844af470e337c18a7532fd795ea91eca035ecdc74fa71e92100bf2354b9e724490eae6305cd3ab418202938a4818684
+DIST elfutils-0.160-portability.patch 63302 SHA256 feb307acf472598ea7af4e4b439251613a8f5d81e804b4abf9aeca195a5d4254 SHA512 a408596fe114392034c7c6f42c4ef2e7a6bdeae346ad07c733eebe29c30d644984d775756b0395ab360c6107eab7d526cdcd0d4955eb8431cccf9ca8a278bca1 WHIRLPOOL cd415d959c8fdf16ea656de84c7e328bb98de1f9b98ba36bdafffca80a008c3673787843b876f6ddd37e1bc0d13283ed85548b5407c90120de164971cee6ae44
+DIST elfutils-0.160.tar.bz2 5391252 SHA256 741b556863c069ceab2d81eb54aeda8c34f46728859704eaf9baef8503e9a9d1 SHA512 2df392739ae05e1a9ad333a02cc13e088f39370e3d14482072384b0b5285d5ba73e35562cc6c99211272f36744e657081d6d18e16e8c8519e49a51ece9151330 WHIRLPOOL afafd0c2fd2672c7b0e9cb4cdd4fc710fa38c819b7f117673e99cace7931594f03a46085a87fb4e819243572abc52f695d37cc03522bb46cdc6498be9f209582
+DIST elfutils-0.161-portability.patch 63317 SHA256 bf0363d03e1e4668778eb4e7ddd10e405a22f753b3ad813a537fc01164d1e3fe SHA512 78a8a46b5eaf0326916b79f2502d8e66dabd2783c5661248482572b1528173c5e47f84868693ba58bbf015dfeb3f9897bfe72a778d22aa1b396e7da81b2512b5 WHIRLPOOL bdaa682d3c4113f0d54409afe4d22a0e56f0b28d8f1e69e2c0c16cd31cf12341df56259d3ab38e70b840dd449b2686e7823d4961b282b76de5dde8c458f4e97a
+DIST elfutils-0.161.tar.bz2 5524766 SHA256 570c91a1783fa5386aaa2dfdd08dda1de777c2b63bf3b9c1437d635ffdd7a070 SHA512 c5061faa01cb6f211c326574f10bd5eb4fe8437afb2581f26cf34e88053d7bd91dc47bae1c8bdd143c35cad055bf48eab1e03acf4069a8e8843643ecf2a198df WHIRLPOOL adf14b937b38fff1de0e0cd18a6866d4080ed6ee80fab73a45c1b94ffe546fe4c1662b090f6802a522c5103fb7826fac46c5e4ccfc8441f09025285722d08ede
+DIST elfutils-0.162-portability.patch 70906 SHA256 71cd52c43af31a9e445ed14e2f51e4aee32a00c1ffb251390c1a247cfc503d23 SHA512 8bd5647a169b9201dfc93f98a6580ebae34433180941b481248cb644f4991cb670f073d7ca63b203821a398ddd96558b069461aef83b8dd1a60aa154f15dccd1 WHIRLPOOL c31586f846e6cff511996c97015b479d0bc4b80577fb69df140f9cbae817a17ddcaca58a1a0e16ded6efc7f9ae3f570e74b87888a32b524ab9d7c5d3a02f7419
+DIST elfutils-0.162.tar.bz2 6021217 SHA256 526106bc6be898b3b3281a66b83d64993aa0ef1b55b0416766868ad53d0a1951 SHA512 5d62a84b509f638cb62175b332fdeaa68e04677893d5647fd944e5b5928fa4f0daf8f161dc64f7762dc736f74471c8d617cbc54464cf2e1f79141e937d3db4a9 WHIRLPOOL 2e8bee400f0209206373d716199835729f4d4da97116a4ec76a2dfe977e8a431601208655d576d66e6f1e4eb630dab004eedebabd58a03e4938b745f71daf35d
+DIST elfutils-0.163-portability.patch 72818 SHA256 e4e82315dad2efaa4e4476503e7537e01b7c1b1f98a96de4ca1c7fa85f4f1045 SHA512 c657da2c4a37e8dac6fe4b399ef72ff60b6780000721f0617fb1dc0a6d962cb1e609b8e72fa0dc5b2d50db8dd68dcd58096bf2e475f7c5461f1765a4ee4c0d2e WHIRLPOOL 0ff248e4767778351f46c91fd5f189d7d2cfee59ac2afdfd5fee659151b72e33d310440273da0ed6f5611f76f9ec651ff51acffcc0557a0ec111c50b819db091
+DIST elfutils-0.163.tar.bz2 6029307 SHA256 7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23 SHA512 80cb37b965e85f6c6b51247f0cb07cde9d9071e7cdde4c028479a609e12dfb196e428fa8743586ce8a46d49dac74073b55bcb812ea6118471c0de07b3dd7f772 WHIRLPOOL 5e2b7881ec96438e0ecb583b77202ccdad6ae7b46f2dcc0b2869119642173bc5da5f26d51bf4464fc9c5c1951f14a4a11bf8dfc6906e6dfd551782c4c9f28cd8
diff --git a/dev-libs/elfutils/elfutils-0.158.ebuild b/dev-libs/elfutils/elfutils-0.158.ebuild
new file mode 100644
index 000000000000..b27769d9147e
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.158.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability.patch -> ${P}-portability.patch
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-robustify.patch -> ${P}-robustify.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-{portability,robustify}.patch
+ epatch "${FILESDIR}"/${PN}-0.158-tests-backtrace-native-core.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/elfutils-0.159.ebuild b/dev-libs/elfutils/elfutils-0.159.ebuild
new file mode 100644
index 000000000000..6ac8a28cab2a
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.159.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability.patch -> ${P}-portability.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-portability.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/elfutils-0.160.ebuild b/dev-libs/elfutils/elfutils-0.160.ebuild
new file mode 100644
index 000000000000..6ac8a28cab2a
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.160.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability.patch -> ${P}-portability.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-portability.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/elfutils-0.161.ebuild b/dev-libs/elfutils/elfutils-0.161.ebuild
new file mode 100644
index 000000000000..0b70488ecdad
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.161.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability-${PV}.patch -> ${P}-portability.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-portability.patch
+ epatch "${FILESDIR}"/${P}-libelf-dir-traversal.patch #534000
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/elfutils-0.162.ebuild b/dev-libs/elfutils/elfutils-0.162.ebuild
new file mode 100644
index 000000000000..a2ae40f23fad
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.162.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability-${PV}.patch -> ${P}-portability.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-portability.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/elfutils-0.163.ebuild b/dev-libs/elfutils/elfutils-0.163.ebuild
new file mode 100644
index 000000000000..a2ae40f23fad
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.163.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2
+ https://fedorahosted.org/releases/e/l/${PN}/${PV}/${PN}-portability-${PV}.patch -> ${P}-portability.patch"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils zlib"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ epatch "${DISTDIR}"/${P}-portability.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ $(use_with zlib) \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}
diff --git a/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch b/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch
new file mode 100644
index 000000000000..083f32ff8553
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch
@@ -0,0 +1,26 @@
+Add support for PaX ELF markings
+
+Patch by Kevin F. Quinn <kevquinn@gentoo.org>
+
+http://bugs.gentoo.org/115100
+
+--- libelf/elf.h
++++ libelf/elf.h
+@@ -568,6 +568,7 @@
+ #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
+ #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
+ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
++#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
+ #define PT_LOSUNW 0x6ffffffa
+ #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
+ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
+--- src/elflint.c
++++ src/elflint.c
+@@ -3187,6 +3187,7 @@
+
+ if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
+ && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
++ && phdr->p_type != PT_PAX_FLAGS
+ /* Check for a known machine-specific type. */
+ && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
+ ERROR (gettext ("\
diff --git a/dev-libs/elfutils/files/elfutils-0.143-configure.patch b/dev-libs/elfutils/files/elfutils-0.143-configure.patch
new file mode 100644
index 000000000000..4c00cd88d8ec
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.143-configure.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/287130
+
+--- elfutils-0.143/configure
++++ elfutils-0.143/configure
+@@ -5460,7 +5460,7 @@
+
+ # 1.234<whatever> -> 1234<whatever>
+ case "$PACKAGE_VERSION" in
+-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
++[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
+ *) { { $as_echo "$as_me:$LINENO: error: confused by version number '$PACKAGE_VERSION'" >&5
+ $as_echo "$as_me: error: confused by version number '$PACKAGE_VERSION'" >&2;}
+ { (exit 1); exit 1; }; } ;;
+@@ -5495,7 +5495,7 @@
+ esac
+
+ # Round up to the next release API (x.y) version.
+-eu_version=$[($eu_version + 999) / 1000]
++eu_version=`expr \( $eu_version + 999 \) / 1000`
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
diff --git a/dev-libs/elfutils/files/elfutils-0.148-bashifications.patch b/dev-libs/elfutils/files/elfutils-0.148-bashifications.patch
new file mode 100644
index 000000000000..5cdf34fa3a4b
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.148-bashifications.patch
@@ -0,0 +1,23 @@
+Remove bashifications
+https://bugs.gentoo.org/287130
+
+--- a/configure
++++ b/configure
+@@ -4874,7 +4874,7 @@ ac_config_files="$ac_config_files version.h:config/version.h.in"
+
+ # 1.234<whatever> -> 1234<whatever>
+ case "$PACKAGE_VERSION" in
+-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
++[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
+ *) as_fn_error "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
+ esac
+ case "$eu_version" in
+@@ -4903,7 +4903,7 @@ case "$eu_version" in
+ esac
+
+ # Round up to the next release API (x.y) version.
+-eu_version=$[($eu_version + 999) / 1000]
++eu_version=`expr \( $eu_version + 999 \) / 1000`
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
diff --git a/dev-libs/elfutils/files/elfutils-0.150-bashifications.patch b/dev-libs/elfutils/files/elfutils-0.150-bashifications.patch
new file mode 100644
index 000000000000..a2f2b858574d
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.150-bashifications.patch
@@ -0,0 +1,23 @@
+Remove bashifications
+https://bugs.gentoo.org/287130
+
+--- a/configure
++++ b/configure
+@@ -4880,7 +4880,7 @@ ac_config_files="$ac_config_files version.h:config/version.h.in"
+
+ # 1.234<whatever> -> 1234<whatever>
+ case "$PACKAGE_VERSION" in
+-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
++[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
+ *) as_fn_error $? "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
+ esac
+ case "$eu_version" in
+@@ -4909,7 +4909,7 @@ case "$eu_version" in
+ esac
+
+ # Round up to the next release API (x.y) version.
+-eu_version=$[($eu_version + 999) / 1000]
++eu_version=`expr \( $eu_version + 999 \) / 1000`
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
diff --git a/dev-libs/elfutils/files/elfutils-0.158-tests-backtrace-native-core.patch b/dev-libs/elfutils/files/elfutils-0.158-tests-backtrace-native-core.patch
new file mode 100644
index 000000000000..213b06b7a1fb
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.158-tests-backtrace-native-core.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/497566
+
+From 435808a681cc375f0907f2066c4cc062173a6c7e Mon Sep 17 00:00:00 2001
+From: Jan Kratochvil <jan.kratochvil@redhat.com>
+Date: Sat, 18 Jan 2014 21:56:13 +0100
+Subject: [PATCH] Fix false FAILs on testsuite with ulimit -c unlimited.
+
+Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
+---
+ tests/ChangeLog | 6 ++++++
+ tests/backtrace-child.c | 8 +++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+2014-01-18 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix false FAILs on testsuite with ulimit -c unlimited.
+ * backtrace-child.c (sigusr2): Call pthread_exit.
+ (main): Return, do not call abort.
+
+diff --git a/tests/backtrace-child.c b/tests/backtrace-child.c
+index 0db1258..512aa23 100644
+--- a/tests/backtrace-child.c
++++ b/tests/backtrace-child.c
+@@ -100,7 +100,10 @@ sigusr2 (int signo)
+ if (! gencore)
+ {
+ raise (SIGUSR1);
+- /* It should not be reached. */
++ /* Do not return as stack may be invalid due to ptrace-patched PC to the
++ jmp function. */
++ pthread_exit (NULL);
++ /* Not reached. */
+ abort ();
+ }
+ /* Here we dump the core for --gencore. */
+@@ -218,6 +221,5 @@ main (int argc UNUSED, char **argv)
+ pthread_join (thread, NULL);
+ else
+ raise (SIGUSR2);
+- /* Not reached. */
+- abort ();
++ return 0;
+ }
+--
+1.8.5.3
+
diff --git a/dev-libs/elfutils/files/elfutils-0.161-libelf-dir-traversal.patch b/dev-libs/elfutils/files/elfutils-0.161-libelf-dir-traversal.patch
new file mode 100644
index 000000000000..84a28c71d234
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.161-libelf-dir-traversal.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/534000
+
+From 147018e729e7c22eeabf15b82d26e4bf68a0d18e Mon Sep 17 00:00:00 2001
+From: Alexander Cherepanov <cherepan@mccme.ru>
+Date: Sun, 28 Dec 2014 19:57:19 +0300
+Subject: [PATCH] libelf: Fix dir traversal vuln in ar extraction.
+
+read_long_names terminates names at the first '/' found but then skips
+one character without checking (it's supposed to be '\n'). Hence the
+next name could start with any character including '/'. This leads to
+a directory traversal vulnerability at the time the contents of the
+archive is extracted.
+
+The danger is mitigated by the fact that only one '/' is possible in a
+resulting filename and only in the leading position. Hence only files
+in the root directory can be written via this vuln and only when ar is
+executed as root.
+
+The fix for the vuln is to not skip any characters while looking
+for '/'.
+
+Signed-off-by: Alexander Cherepanov <cherepan@mccme.ru>
+---
+ libelf/ChangeLog | 5 +++++
+ libelf/elf_begin.c | 5 +----
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+2014-12-28 Alexander Cherepanov <cherepan@mccme.ru>
+
+ * elf_begin.c (read_long_names): Don't miss '/' right after
+ another '/'. Fixes a dir traversal vuln in ar extraction.
+
+diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
+index 30abe0b..cd3756c 100644
+--- a/libelf/elf_begin.c
++++ b/libelf/elf_begin.c
+@@ -749,10 +749,7 @@ read_long_names (Elf *elf)
+ }
+
+ /* NUL-terminate the string. */
+- *runp = '\0';
+-
+- /* Skip the NUL byte and the \012. */
+- runp += 2;
++ *runp++ = '\0';
+
+ /* A sanity check. Somebody might have generated invalid
+ archive. */
+--
+2.2.1
+
diff --git a/dev-libs/elfutils/metadata.xml b/dev-libs/elfutils/metadata.xml
new file mode 100644
index 000000000000..6d5bc382fd7a
--- /dev/null
+++ b/dev-libs/elfutils/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+ <use>
+ <flag name="lzma">Support automatic decompression of LZMA-compressed files and kernel images</flag>
+ <flag name="threads">Build the libraries with thread safe support</flag>
+ <flag name="utils">Install command-line utilities (all the eu-* programs)</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/embryo/Manifest b/dev-libs/embryo/Manifest
new file mode 100644
index 000000000000..fea9e2fbc76c
--- /dev/null
+++ b/dev-libs/embryo/Manifest
@@ -0,0 +1 @@
+DIST embryo-1.7.10.tar.bz2 456473 SHA256 ed98018f6ef394eda29fe5f0abc040a4fea191b60ea05b50ef09e21fcb5b65c2 SHA512 7be2171b9035d560a21aa232027d2afc46db44293e0d0ab0fdc6d3451a8a750956f09043edf851823ecc9de8c03c554205d84eddabd52f4fbe5938f5fd94d254 WHIRLPOOL 93a0f6a9084fa4869a03bf35e9fd0655820a618b43654a215e0b62c334581c49caa2222b6735335fb5fe4b18e876bca2fcbc0c69596c438450e650a680c848d9
diff --git a/dev-libs/embryo/embryo-1.7.10.ebuild b/dev-libs/embryo/embryo-1.7.10.ebuild
new file mode 100644
index 000000000000..d83379f555ca
--- /dev/null
+++ b/dev-libs/embryo/embryo-1.7.10.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="load and control programs compiled in embryo language (small/pawn variant)"
+
+LICENSE="BSD-2 ZLIB"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/eina-${PV}"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/embryo/embryo-9999.ebuild b/dev-libs/embryo/embryo-9999.ebuild
new file mode 100644
index 000000000000..d83379f555ca
--- /dev/null
+++ b/dev-libs/embryo/embryo-9999.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_SUB_PROJECT="legacy"
+ EGIT_URI_APPEND=${PN}
+ EGIT_BRANCH=${PN}-1.7
+else
+ SRC_URI="http://download.enlightenment.org/releases/${P}.tar.bz2"
+ EKEY_STATE="snap"
+fi
+
+inherit enlightenment
+
+DESCRIPTION="load and control programs compiled in embryo language (small/pawn variant)"
+
+LICENSE="BSD-2 ZLIB"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/eina-${PV}"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/embryo/metadata.xml b/dev-libs/embryo/metadata.xml
new file mode 100644
index 000000000000..d75dabcf86ba
--- /dev/null
+++ b/dev-libs/embryo/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>enlightenment</herd>
+<longdescription>
+Embryo is primarily a shared library that gives you an API to load and control
+interpredted programs compiled into the abstract machine bytecode that it
+understands. This abstrac (or virtual) machine is imilar to a real machine
+with a CPU, but it is emulated in software. The architecture is simple and is
+the same as the abstract machine (AMX) in the
+SMALL (http://www.compuphase.com/small.htm) language as it is based
+on exactly the same code. Embryo has modified the code for the AMX extensively
+and has made it smaller and more portable. It is VERY small. The total size
+of the virtual machine code AND header files is less than 2500 lines of code.
+It includes the floating point library support by default as well. This makes
+it one of the smallest interpreting engines around, and thus makes is very
+efficient to use in code.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/engine_pkcs11/Manifest b/dev-libs/engine_pkcs11/Manifest
new file mode 100644
index 000000000000..962a2e0d6aea
--- /dev/null
+++ b/dev-libs/engine_pkcs11/Manifest
@@ -0,0 +1 @@
+DIST engine_pkcs11-0.1.8.tar.gz 320799 SHA256 de7d7e41e7c42deef40c53e10ccc3f88d2c036d6656ecee7e82e8be07b06a2e5 SHA512 00fa7cf1e44544267248b17669f69a3d91b8e3008da8a8d70004d8ed87543eb75b06c4a9f028f9aee157f54110acadf40d2c6ff3835eae4cf0c29ac819557dc2 WHIRLPOOL c2121466980c9fb425e1f6ca53dde2b055fa833c3f42494dc2fc6f7a0468aa84d14cacc1ff2bd8319f54eb336ae79b3b442f33406ff275074162e1b274beff7a
diff --git a/dev-libs/engine_pkcs11/engine_pkcs11-0.1.8.ebuild b/dev-libs/engine_pkcs11/engine_pkcs11-0.1.8.ebuild
new file mode 100644
index 000000000000..46b1e8218963
--- /dev/null
+++ b/dev-libs/engine_pkcs11/engine_pkcs11-0.1.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit autotools subversion
+ ESVN_REPO_URI="http://www.opensc-project.org/svn/${PN}/trunk"
+else
+ SRC_URI="http://www.opensc-project.org/files/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="engine_pkcs11 is an implementation of an engine for OpenSSL"
+HOMEPAGE="http://www.opensc-project.org/engine_pkcs11"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/libp11-0.2.5
+ >=dev-libs/openssl-0.9.7d:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+if [[ "${PV}" = "9999" ]]; then
+ DEPEND="${DEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+ src_prepare() {
+ eautoreconf
+ }
+fi
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir="/usr/share/doc/${PF}/html" \
+ --disable-static --enable-shared \
+ --enable-doc
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+}
diff --git a/dev-libs/engine_pkcs11/metadata.xml b/dev-libs/engine_pkcs11/metadata.xml
new file mode 100644
index 000000000000..9682e47bb258
--- /dev/null
+++ b/dev-libs/engine_pkcs11/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <longdescription>
+ engine_pkcs11 is an implementation of an engine for OpenSSL.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/eventlog/Manifest b/dev-libs/eventlog/Manifest
new file mode 100644
index 000000000000..84a9f161b2c2
--- /dev/null
+++ b/dev-libs/eventlog/Manifest
@@ -0,0 +1 @@
+DIST eventlog_0.2.12.tar.gz 303925 SHA256 494dac8e01dc5ce323df2ad554d94874938dab51aa025987677b2bc6906a9c66 SHA512 a681ab2961f5bf38e106a5b0b4492e74098808e2bf1a100f545736902649c705db124c0847796a47485faa8b0befe691a789d752f313c5b65ad50ed2763d2cce WHIRLPOOL eb064beb7ec0e2c1dc48470aa74e9982d8b413c4382dfd636bfae206af77478dc8f4dd5614e5e8415a171cd465b18e696162a445a35489e46256650dcc1ca989
diff --git a/dev-libs/eventlog/eventlog-0.2.12.ebuild b/dev-libs/eventlog/eventlog-0.2.12.ebuild
new file mode 100644
index 000000000000..a7ccbdcaf5e9
--- /dev/null
+++ b/dev-libs/eventlog/eventlog-0.2.12.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit libtool eutils
+
+DESCRIPTION="Support library for syslog-ng"
+HOMEPAGE="http://www.balabit.com/products/syslog_ng/"
+SRC_URI="http://www.balabit.com/downloads/files/eventlog/0.2//eventlog_${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~m68k-mint"
+IUSE="static-libs"
+
+DEPEND=""
+
+src_prepare() {
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ DOCS="AUTHORS CREDITS ChangeLog NEWS PORTS README" \
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/eventlog/metadata.xml b/dev-libs/eventlog/metadata.xml
new file mode 100644
index 000000000000..1adaac8c1ecc
--- /dev/null
+++ b/dev-libs/eventlog/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>mr_bones_@gentoo.org</email>
+ <name>Michael Sterrett</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
new file mode 100644
index 000000000000..7a4c52ffd942
--- /dev/null
+++ b/dev-libs/expat/Manifest
@@ -0,0 +1 @@
+DIST expat-2.1.0.tar.gz 562616 SHA256 823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86 SHA512 2a9ad2b44b87b84087979fe4114d661838df3b03dbdcb74d590cb74096bf35ce9d5a86617b0941a2655ea441a94537bcbcd78252da92342238823be36de2d09d WHIRLPOOL 147eb383fdb79116e2215982e9741939f80249a0bb690e93b00218fa335d483d88f82d9256632b458b13592252aeb100ec4ef830c72bb8eb5df7675cd15f41e1
diff --git a/dev-libs/expat/expat-2.1.0-r4.ebuild b/dev-libs/expat/expat-2.1.0-r4.ebuild
new file mode 100644
index 000000000000..aab4f14cc667
--- /dev/null
+++ b/dev-libs/expat/expat-2.1.0-r4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib toolchain-funcs multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="http://expat.sourceforge.net/"
+SRC_URI="mirror://sourceforge/expat/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="elibc_FreeBSD examples static-libs unicode"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r6
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-xmlwfargs.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myconf="$(use_enable static-libs static)"
+
+ mkdir -p "${BUILD_DIR}"{u,w} || die
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}" econf ${myconf}
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE_WCHAR_T" ECONF_SOURCE="${S}" econf ${myconf}
+ popd >/dev/null
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ emake buildlib LIBRARY=libexpatu.la
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake buildlib LIBRARY=libexpatw.la
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ emake installlib DESTDIR="${D}" LIBRARY=libexpatu.la
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake installlib DESTDIR="${D}" LIBRARY=libexpatw.la
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatu.pc
+ sed -i -e '/^Libs/s:-lexpat:&u:' expatu.pc || die
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+
+ if multilib_is_native_abi ; then
+ # libgeom in /lib and ifconfig in /sbin require libexpat on FreeBSD since
+ # we stripped the libbsdxml copy starting from freebsd-lib-8.2-r1
+ use elibc_FreeBSD && gen_usr_ldscript -a expat
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changes README
+ dohtml doc/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/expat/expat-2.1.0-r5.ebuild b/dev-libs/expat/expat-2.1.0-r5.ebuild
new file mode 100644
index 000000000000..894980b0c903
--- /dev/null
+++ b/dev-libs/expat/expat-2.1.0-r5.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib toolchain-funcs multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="http://expat.sourceforge.net/"
+SRC_URI="mirror://sourceforge/expat/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ~ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="elibc_FreeBSD examples static-libs unicode"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r6
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-xmlwfargs.patch
+ epatch "${FILESDIR}"/${P}-mozilla-sanity-check-size.patch #555642
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myconf="$(use_enable static-libs static)"
+
+ mkdir -p "${BUILD_DIR}"{u,w} || die
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}" econf ${myconf}
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE_WCHAR_T" ECONF_SOURCE="${S}" econf ${myconf}
+ popd >/dev/null
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ emake buildlib LIBRARY=libexpatu.la
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake buildlib LIBRARY=libexpatw.la
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"u >/dev/null
+ emake installlib DESTDIR="${D}" LIBRARY=libexpatu.la
+ popd >/dev/null
+
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake installlib DESTDIR="${D}" LIBRARY=libexpatw.la
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatu.pc
+ sed -i -e '/^Libs/s:-lexpat:&u:' expatu.pc || die
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+
+ if multilib_is_native_abi ; then
+ # libgeom in /lib and ifconfig in /sbin require libexpat on FreeBSD since
+ # we stripped the libbsdxml copy starting from freebsd-lib-8.2-r1
+ use elibc_FreeBSD && gen_usr_ldscript -a expat
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changes README
+ dohtml doc/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/expat/files/expat-2.1.0-mozilla-sanity-check-size.patch b/dev-libs/expat/files/expat-2.1.0-mozilla-sanity-check-size.patch
new file mode 100644
index 000000000000..366bd4f32b54
--- /dev/null
+++ b/dev-libs/expat/files/expat-2.1.0-mozilla-sanity-check-size.patch
@@ -0,0 +1,81 @@
+
+# HG changeset patch
+# User Eric Rahm <erahm@mozilla.com>
+# Date 1428706223 25200
+# Node ID 438d9e2a991ab82381a1a1442a470b2565c80c13
+# Parent 1c0861d7a6457f461cccccb2e0895a9f9d34c8d4
+Bug 1140537 - Sanity check size calculations. r=peterv
+
+diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c
+--- a/parser/expat/lib/xmlparse.c
++++ b/parser/expat/lib/xmlparse.c
+@@ -1648,29 +1648,40 @@ XML_ParseBuffer(XML_Parser parser, int l
+ XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
+ positionPtr = bufferPtr;
+ return result;
+ }
+
+ void * XMLCALL
+ XML_GetBuffer(XML_Parser parser, int len)
+ {
++/* BEGIN MOZILLA CHANGE (sanity check len) */
++ if (len < 0) {
++ errorCode = XML_ERROR_NO_MEMORY;
++ return NULL;
++ }
++/* END MOZILLA CHANGE */
+ switch (ps_parsing) {
+ case XML_SUSPENDED:
+ errorCode = XML_ERROR_SUSPENDED;
+ return NULL;
+ case XML_FINISHED:
+ errorCode = XML_ERROR_FINISHED;
+ return NULL;
+ default: ;
+ }
+
+ if (len > bufferLim - bufferEnd) {
+- /* FIXME avoid integer overflow */
+ int neededSize = len + (int)(bufferEnd - bufferPtr);
++/* BEGIN MOZILLA CHANGE (sanity check neededSize) */
++ if (neededSize < 0) {
++ errorCode = XML_ERROR_NO_MEMORY;
++ return NULL;
++ }
++/* END MOZILLA CHANGE */
+ #ifdef XML_CONTEXT_BYTES
+ int keep = (int)(bufferPtr - buffer);
+
+ if (keep > XML_CONTEXT_BYTES)
+ keep = XML_CONTEXT_BYTES;
+ neededSize += keep;
+ #endif /* defined XML_CONTEXT_BYTES */
+ if (neededSize <= bufferLim - buffer) {
+@@ -1689,17 +1700,25 @@ XML_GetBuffer(XML_Parser parser, int len
+ }
+ else {
+ char *newBuf;
+ int bufferSize = (int)(bufferLim - bufferPtr);
+ if (bufferSize == 0)
+ bufferSize = INIT_BUFFER_SIZE;
+ do {
+ bufferSize *= 2;
+- } while (bufferSize < neededSize);
++/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */
++ } while (bufferSize < neededSize && bufferSize > 0);
++/* END MOZILLA CHANGE */
++/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */
++ if (bufferSize <= 0) {
++ errorCode = XML_ERROR_NO_MEMORY;
++ return NULL;
++ }
++/* END MOZILLA CHANGE */
+ newBuf = (char *)MALLOC(bufferSize);
+ if (newBuf == 0) {
+ errorCode = XML_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ bufferLim = newBuf + bufferSize;
+ #ifdef XML_CONTEXT_BYTES
+ if (bufferPtr) {
+
diff --git a/dev-libs/expat/files/expat-2.1.0-xmlwfargs.patch b/dev-libs/expat/files/expat-2.1.0-xmlwfargs.patch
new file mode 100644
index 000000000000..5ac5d54eba18
--- /dev/null
+++ b/dev-libs/expat/files/expat-2.1.0-xmlwfargs.patch
@@ -0,0 +1,15 @@
+Fix "xmlwf -h" output
+
+Patch is from: http://pkgs.fedoraproject.org/cgit/expat.git/plain/expat-2.1.0-xmlwfargs.patch
+
+--- xmlwf/xmlwf.c
++++ xmlwf/xmlwf.c
+@@ -634,7 +634,7 @@ static void
+ usage(const XML_Char *prog, int rc)
+ {
+ ftprintf(stderr,
+- T("usage: %s [-n] [-p] [-r] [-s] [-w] [-x] [-d output-dir] "
++ T("usage: %s [-s] [-n] [-p] [-x] [-w] [-d output-dir] [-c] [-m] [-r] [-t] [-v] "
+ "[-e encoding] file ...\n"), prog);
+ exit(rc);
+ }
diff --git a/dev-libs/expat/metadata.xml b/dev-libs/expat/metadata.xml
new file mode 100644
index 000000000000..38f9001688cf
--- /dev/null
+++ b/dev-libs/expat/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:libexpat:expat</remote-id>
+ <remote-id type="sourceforge">expat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/fampp2/Manifest b/dev-libs/fampp2/Manifest
new file mode 100644
index 000000000000..9ba494d20929
--- /dev/null
+++ b/dev-libs/fampp2/Manifest
@@ -0,0 +1,2 @@
+DIST fampp2-6.0.1.tar.bz2 282852 SHA256 8f54e0226cac5ab94f80aff1c11104d305a63183a88267e259b86059c93d58c0 SHA512 f61ff11596c22bdbca21d280a19500110b0df1caaec33abee7ac304b046f301222dfa5908de1137e4fd84cbb69de297fa313acb333c3a5f54f5788d5ff5c11c0 WHIRLPOOL af51b86054c5589ae3312980112e0244666460bf394f48319b3b1c8d84901156c7b913b3706fdc89ed3ba8189ea1abd748227a909b53a276fd22804748e5de99
+DIST fampp2-7.0.1.tar.bz2 288073 SHA256 2bfcc28755dbec832b395bad63b8cf40896b0d4bfbca02c57477a164ca2f0244 SHA512 317a5cfd383418265cafea0840af8b7c714a04b34265ebfba73230ff2492df8f7884797529916693ab489bdbc94799ca83e015cf0bcfffaea6b28b3a7f9ccbd0 WHIRLPOOL 513b6c9f42f9fdacb089079420212d5f79394aec339061d5edd0e7faa34e0b20f33ae98258771a9d60f958683f8bdb6cedae4cd1067f76266f7ee79053b0d9a7
diff --git a/dev-libs/fampp2/fampp2-6.0.1.ebuild b/dev-libs/fampp2/fampp2-6.0.1.ebuild
new file mode 100644
index 000000000000..ad02d1830eb1
--- /dev/null
+++ b/dev-libs/fampp2/fampp2-6.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+DESCRIPTION="C++ wrapper for fam"
+HOMEPAGE="https://sourceforge.net/projects/fampp/"
+SRC_URI="mirror://sourceforge/fampp/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="virtual/fam
+ dev-libs/STLport
+ dev-libs/ferrisloki
+ >=dev-libs/libsigc++-2.0.0
+ =dev-libs/glib-2*
+ =x11-libs/gtk+-2*"
+
+src_prepare() {
+ sed -ri \
+ -e '/^C(XX)?FLAGS/s:-O0 -g::' \
+ -e '/^LDFLAGS/s:-Wl,-O1 -Wl,--hash-style=both::' \
+ configure
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/fampp2/fampp2-7.0.1.ebuild b/dev-libs/fampp2/fampp2-7.0.1.ebuild
new file mode 100644
index 000000000000..ddc05a83891d
--- /dev/null
+++ b/dev-libs/fampp2/fampp2-7.0.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="C++ wrapper for fam"
+HOMEPAGE="https://sourceforge.net/projects/fampp/"
+SRC_URI="mirror://sourceforge/fampp/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples stlport"
+
+RDEPEND="virtual/fam
+ stlport? ( dev-libs/STLport )
+ >=dev-libs/ferrisloki-2.0.3[stlport?]
+ dev-libs/libsigc++:2
+ dev-libs/glib:2
+ x11-libs/gtk+:2"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -ri \
+ -e '/^C(XX)?FLAGS/s:-O0 -g::' \
+ -e '/^LDFLAGS/s:-Wl,-O1 -Wl,--hash-style=both::' \
+ configure || die "sed failed"
+}
+
+src_configure() {
+ # glib and gtk+ are only required for some examples
+ econf \
+ --disable-glibtest \
+ --disable-gtktest \
+ --with-stlport=/usr/include/stlport \
+ $(use_enable stlport)
+
+ if ! use examples ; then
+ sed -i -e '/^SUBDIRS/ s/examples//' Makefile.in || die "sed failed"
+ fi
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/fampp2/metadata.xml b/dev-libs/fampp2/metadata.xml
new file mode 100644
index 000000000000..4cacf085b0a3
--- /dev/null
+++ b/dev-libs/fampp2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <use>
+ <flag name='stlport'>Include support for <pkg>dev-libs/STLport</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type='sourceforge'>fampp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/faxpp/Manifest b/dev-libs/faxpp/Manifest
new file mode 100644
index 000000000000..72f272c016e5
--- /dev/null
+++ b/dev-libs/faxpp/Manifest
@@ -0,0 +1 @@
+DIST faxpp-0.4.tar.gz 512740 SHA256 21767548e74442529d5761c71f5fe5dfbd98730e73a739ef47c5b60098b0906a SHA512 25b871a6419b70d9ee85817cda267dfff7ed8aa99a031493a6ccaf1faed80e113ceb7407df1629958d7841c73ba3bee760af9f595dd71648d853561e8c8f33d8 WHIRLPOOL acb9c601945bd5ab23f74ed1e6497211aa8f80d44d812d236e1acd88b6a9f9ef5bbc9aaa2c0a5b34f4d68780555ce4f7e4935cea5e18297841ee8a448670b324
diff --git a/dev-libs/faxpp/faxpp-0.4.ebuild b/dev-libs/faxpp/faxpp-0.4.ebuild
new file mode 100644
index 000000000000..654d92636024
--- /dev/null
+++ b/dev-libs/faxpp/faxpp-0.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Small, fast and conformant XML pull parser written in C with an API that can return UTF-8 or UTF-16 strings"
+HOMEPAGE="http://faxpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc ChangeLog TODO
+
+ use doc && dohtml docs/api/*
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-libs/faxpp/metadata.xml b/dev-libs/faxpp/metadata.xml
new file mode 100644
index 000000000000..caf163d0ca6a
--- /dev/null
+++ b/dev-libs/faxpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">faxpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/fcgi/Manifest b/dev-libs/fcgi/Manifest
new file mode 100644
index 000000000000..cc357b17fdab
--- /dev/null
+++ b/dev-libs/fcgi/Manifest
@@ -0,0 +1 @@
+DIST fcgi-2.4.1-SNAP-0910052249.tar.gz 614929 SHA256 829dc89a0a372c7b0b172303ec9b42e9d20615d6d0e9fc81570fdac6c41a0f30 SHA512 7ae7542ef0934f44d8c7a120366a5cd92639d0bc283a16be320c9218a73a0302c961cc004074e3915209690f1e2b67fc234c9ba55d35af11e31566d79f081c87 WHIRLPOOL ce454ec8bc549cc4b9e1c86fe145f1cc863160415cab0a7e2fc6b88e8aadb996a612e358789e8a15a898cdfcf79e34e77686160a26f84e052f4e5826dbef2f5d
diff --git a/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
new file mode 100644
index 000000000000..0ddb26a91edc
--- /dev/null
+++ b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils autotools multilib
+
+DESCRIPTION="FastCGI Developer's Kit"
+HOMEPAGE="http://www.fastcgi.com/"
+SRC_URI="http://www.fastcgi.com/dist/fcgi-2.4.1-SNAP-0910052249.tar.gz"
+
+LICENSE="FastCGI"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="html"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/fcgi-2.4.1-SNAP-0910052249"
+
+src_prepare() {
+ epatch "${FILESDIR}/fcgi-2.4.0-Makefile.patch"
+ epatch "${FILESDIR}/fcgi-2.4.0-clientdata-pointer.patch"
+ epatch "${FILESDIR}/fcgi-2.4.0-html-updates.patch"
+ epatch "${FILESDIR}"/fcgi-2.4.1_pre0311112127-gcc44.patch
+ epatch "${FILESDIR}"/${P}-link.patch
+ epatch "${FILESDIR}"/${P}-poll.patch
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install LIBRARY_PATH="${ED}/usr/$(get_libdir)"
+
+ dodoc README
+
+ # install the manpages into the right place
+ doman doc/*.[13]
+
+ # Only install the html documentation if USE=html
+ if use html ; then
+ dohtml "${S}"/doc/*/*
+ insinto /usr/share/doc/${PF}/html
+ doins -r "${S}/images"
+ fi
+
+ # install examples in the right place
+ insinto /usr/share/doc/${PF}/examples
+ doins "${S}/examples/"*.c
+}
diff --git a/dev-libs/fcgi/files/fcgi-2.4.0-Makefile.patch b/dev-libs/fcgi/files/fcgi-2.4.0-Makefile.patch
new file mode 100644
index 000000000000..dad4cd6e02dd
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.0-Makefile.patch
@@ -0,0 +1,24 @@
+Index: fcgi-2.4.0/cgi-fcgi/Makefile.am
+===================================================================
+--- fcgi-2.4.0.orig/cgi-fcgi/Makefile.am
++++ fcgi-2.4.0/cgi-fcgi/Makefile.am
+@@ -11,5 +11,5 @@ INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.
+ LIBDIR = ../libfcgi
+ LIBFCGI = $(LIBDIR)/libfcgi.la
+
+-LDADD = $(LIBFCGI)
++LDADD = $(LIBFCGI) -lm
+ cgi_fcgi_SOURCES = $(INCLUDE_FILES) cgi-fcgi.c
+Index: fcgi-2.4.0/examples/Makefile.am
+===================================================================
+--- fcgi-2.4.0.orig/examples/Makefile.am
++++ fcgi-2.4.0/examples/Makefile.am
+@@ -21,7 +21,7 @@ INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.
+ LIBDIR = ../libfcgi
+ LIBFCGI = $(LIBDIR)/libfcgi.la
+
+-LDADD = $(LIBFCGI)
++LDADD = $(LIBFCGI) -lm
+
+ echo_SOURCES = $(INCLUDE_FILES) echo.c
+ echo_x_SOURCES = $(INCLUDE_FILES) echo-x.c
diff --git a/dev-libs/fcgi/files/fcgi-2.4.0-clientdata-pointer.patch b/dev-libs/fcgi/files/fcgi-2.4.0-clientdata-pointer.patch
new file mode 100644
index 000000000000..ba4793765d5e
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.0-clientdata-pointer.patch
@@ -0,0 +1,96 @@
+Index: fcgi-2.4.0/cgi-fcgi/cgi-fcgi.c
+===================================================================
+--- fcgi-2.4.0.orig/cgi-fcgi/cgi-fcgi.c
++++ fcgi-2.4.0/cgi-fcgi/cgi-fcgi.c
+@@ -21,6 +21,7 @@ static const char rcsid[] = "$Id: cgi-fc
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/types.h>
+
+ #include "fcgi_config.h"
+
+@@ -145,7 +146,7 @@ static FCGI_BeginRequestBody MakeBeginRe
+
+
+ static int bytesToRead; /* number of bytes to read from Web Server */
+-static int appServerSock = -1; /* Socket connected to FastCGI application,
++static size_t appServerSock = -1; /* Socket connected to FastCGI application,
+ * used by AppServerReadHandler and
+ * AppServerWriteHandler. */
+ static Buffer fromAS; /* Bytes read from the FCGI application server. */
+@@ -640,7 +641,7 @@ static int ParseArgs(int argc, char *arg
+ }
+ if((av[ac] = (char *)malloc(strlen(tp1)+1)) == NULL) {
+ fprintf(stderr, "Cannot allocate %d bytes\n",
+- strlen(tp1)+1);
++ (int)strlen(tp1)+1);
+ exit(-1);
+ }
+ strcpy(av[ac++], tp1);
+Index: fcgi-2.4.0/examples/threaded.c
+===================================================================
+--- fcgi-2.4.0.orig/examples/threaded.c
++++ fcgi-2.4.0/examples/threaded.c
+@@ -24,7 +24,7 @@ static int counts[THREAD_COUNT];
+
+ static void *doit(void *a)
+ {
+- int rc, i, thread_id = (int)a;
++ size_t rc, i, thread_id = (size_t)a;
+ pid_t pid = getpid();
+ FCGX_Request request;
+ char *server_name;
+@@ -53,7 +53,7 @@ static void *doit(void *a)
+ "<h1>FastCGI Hello! (multi-threaded C, fcgiapp library)</h1>"
+ "Thread %d, Process %ld<p>"
+ "Request counts for %d threads running on host <i>%s</i><p><code>",
+- thread_id, pid, THREAD_COUNT, server_name ? server_name : "?");
++ (int)thread_id, pid, THREAD_COUNT, server_name ? server_name : "?");
+
+ sleep(2);
+
+@@ -71,7 +71,7 @@ static void *doit(void *a)
+
+ int main(void)
+ {
+- int i;
++ size_t i;
+ pthread_t id[THREAD_COUNT];
+
+ FCGX_Init();
+Index: fcgi-2.4.0/include/fcgios.h
+===================================================================
+--- fcgi-2.4.0.orig/include/fcgios.h
++++ fcgi-2.4.0/include/fcgios.h
+@@ -93,7 +93,7 @@ extern "C" {
+ # if defined(__STDC__) || defined(__cplusplus)
+ typedef void *ClientData;
+ # else
+- typedef int *ClientData;
++ typedef size_t *ClientData;
+ # endif /* __STDC__ */
+ #define _CLIENTDATA
+ #endif
+Index: fcgi-2.4.0/libfcgi/os_unix.c
+===================================================================
+--- fcgi-2.4.0.orig/libfcgi/os_unix.c
++++ fcgi-2.4.0/libfcgi/os_unix.c
+@@ -1155,7 +1155,7 @@ int OS_Accept(int listen_sock, int fail_
+
+ for (;;) {
+ do {
+-#ifdef HAVE_SOCKLEN
++#ifdef HAVE_SYS_SOCKET_H
+ socklen_t len = sizeof(sa);
+ #else
+ int len = sizeof(sa);
+@@ -1255,7 +1255,7 @@ int OS_IsFcgi(int sock)
+ struct sockaddr_in in;
+ struct sockaddr_un un;
+ } sa;
+-#ifdef HAVE_SOCKLEN
++#ifdef HAVE_SYS_SOCKET_H
+ socklen_t len = sizeof(sa);
+ #else
+ int len = sizeof(sa);
diff --git a/dev-libs/fcgi/files/fcgi-2.4.0-html-updates.patch b/dev-libs/fcgi/files/fcgi-2.4.0-html-updates.patch
new file mode 100644
index 000000000000..ca10a6a6039b
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.0-html-updates.patch
@@ -0,0 +1,65 @@
+Index: fcgi-2.4.0/doc/fcgi-devel-kit.htm
+===================================================================
+--- fcgi-2.4.0.orig/doc/fcgi-devel-kit.htm
++++ fcgi-2.4.0/doc/fcgi-devel-kit.htm
+@@ -19,7 +19,7 @@
+ </HEAD>
+ <BODY>
+ <P CLASS="c1">
+- <IMG BORDER="0" SRC="../images/fcgi-hd.gif" ALT="[[FastCGI]]"><BR CLEAR="all">
++ <IMG BORDER="0" SRC="images/fcgi-hd.gif" ALT="[[FastCGI]]"><BR CLEAR="all">
+ </P>
+ <H3 CLASS="c2">
+ FastCGI Developer&#39;s Kit
+Index: fcgi-2.4.0/doc/fcgi-java.htm
+===================================================================
+--- fcgi-2.4.0.orig/doc/fcgi-java.htm
++++ fcgi-2.4.0/doc/fcgi-java.htm
+@@ -20,7 +20,7 @@
+ </HEAD>
+ <BODY>
+ <DIV CLASS="c1">
+- <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="../images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
++ <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
+ </DIV>
+ <BR CLEAR="all">
+ <DIV CLASS="c1">
+Index: fcgi-2.4.0/doc/fcgi-perf.htm
+===================================================================
+--- fcgi-2.4.0.orig/doc/fcgi-perf.htm
++++ fcgi-2.4.0/doc/fcgi-perf.htm
+@@ -19,7 +19,7 @@
+ </HEAD>
+ <BODY>
+ <DIV CLASS="c1">
+- <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="../images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
++ <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
+ </DIV>
+ <BR CLEAR="all">
+ <DIV CLASS="c1">
+Index: fcgi-2.4.0/doc/fcgi-perl.htm
+===================================================================
+--- fcgi-2.4.0.orig/doc/fcgi-perl.htm
++++ fcgi-2.4.0/doc/fcgi-perl.htm
+@@ -19,7 +19,7 @@
+ </HEAD>
+ <BODY>
+ <DIV CLASS="c1">
+- <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="../images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
++ <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
+ </DIV>
+ <BR CLEAR="all">
+
+Index: fcgi-2.4.0/doc/fcgi-tcl.htm
+===================================================================
+--- fcgi-2.4.0.orig/doc/fcgi-tcl.htm
++++ fcgi-2.4.0/doc/fcgi-tcl.htm
+@@ -19,7 +19,7 @@
+ </HEAD>
+ <BODY>
+ <DIV CLASS="c1">
+- <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="../images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
++ <A HREF="http://fastcgi.com"><IMG BORDER="0" SRC="images/fcgi-hd.gif" ALT="[[FastCGI]]"></A>
+ </DIV>
+ <BR CLEAR="all">
+ <DIV CLASS="c1">
diff --git a/dev-libs/fcgi/files/fcgi-2.4.1_pre0311112127-gcc44.patch b/dev-libs/fcgi/files/fcgi-2.4.1_pre0311112127-gcc44.patch
new file mode 100644
index 000000000000..a0b59f766a89
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.1_pre0311112127-gcc44.patch
@@ -0,0 +1,10 @@
+--- fcgi-2.4.1-SNAP-0311112127-orig/include/fcgio.h
++++ fcgi-2.4.1-SNAP-0311112127/include/fcgio.h
+@@ -31,6 +31,7 @@
+ #define FCGIO_H
+
+ #include <iostream>
++#include <cstdio>
+
+ #include "fcgiapp.h"
+
diff --git a/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-link.patch b/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-link.patch
new file mode 100644
index 000000000000..e53c7e9d550b
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-link.patch
@@ -0,0 +1,21 @@
+Index: fcgi-2.4.1-SNAP-0910052249/libfcgi/Makefile.am
+===================================================================
+--- fcgi-2.4.1-SNAP-0910052249.orig/libfcgi/Makefile.am
++++ fcgi-2.4.1-SNAP-0910052249/libfcgi/Makefile.am
+@@ -9,8 +9,7 @@ INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h
+ $(INCLUDEDIR)/fcgi_stdio.h \
+ $(INCLUDEDIR)/fcgios.h
+
+-lib_LTLIBRARIES = libfcgi.la @LIBFCGIXX@
+-EXTRA_LTLIBRARIES = libfcgi++.la
++lib_LTLIBRARIES = libfcgi.la libfcgi++.la
+
+ libfcgi_la_SOURCES = $(INCLUDE_FILES) \
+ fcgiapp.c \
+@@ -23,5 +22,5 @@ libfcgi___la_SOURCES = $(INCLUDE_FILES)
+ $(INCLUDEDIR)/fcgio.h \
+ fcgio.cpp
+ libfcgi___la_CFLAGS = @PTHREAD_CFLAGS@
+-libfcgi___la_LDFLAGS = -lfcgi -rpath @libdir@
++libfcgi___la_LIBADD = libfcgi.la
+
diff --git a/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-poll.patch b/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-poll.patch
new file mode 100644
index 000000000000..82b9f15a846c
--- /dev/null
+++ b/dev-libs/fcgi/files/fcgi-2.4.1_pre0910052249-poll.patch
@@ -0,0 +1,80 @@
+diff -uNr fcgi-2.4.1-SNAP-0910052249.orig/libfcgi/os_unix.c fcgi-2.4.1-SNAP-0910052249/libfcgi/os_unix.c
+--- fcgi-2.4.1-SNAP-0910052249.orig/libfcgi/os_unix.c 2015-02-06 21:49:40.677082591 -0200
++++ fcgi-2.4.1-SNAP-0910052249/libfcgi/os_unix.c 2015-02-06 21:54:23.147097903 -0200
+@@ -42,6 +42,7 @@
+ #include <sys/time.h>
+ #include <sys/un.h>
+ #include <signal.h>
++#include <poll.h>
+
+ #ifdef HAVE_NETDB_H
+ #include <netdb.h>
+@@ -103,6 +104,9 @@
+ static int shutdownPending = FALSE;
+ static int shutdownNow = FALSE;
+
++static int libfcgiOsClosePollTimeout = 2000;
++static int libfcgiIsAfUnixKeeperPollTimeout = 2000;
++
+ void OS_ShutdownPending()
+ {
+ shutdownPending = TRUE;
+@@ -169,6 +173,16 @@
+ if(libInitialized)
+ return 0;
+
++ char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" );
++ if(libfcgiOsClosePollTimeoutStr) {
++ libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr);
++ }
++
++ char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" );
++ if(libfcgiIsAfUnixKeeperPollTimeoutStr) {
++ libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr);
++ }
++
+ asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo));
+ if(asyncIoTable == NULL) {
+ errno = ENOMEM;
+@@ -780,19 +794,16 @@
+ {
+ if (shutdown(fd, 1) == 0)
+ {
+- struct timeval tv;
+- fd_set rfds;
++ struct pollfd pfd;
+ int rv;
+ char trash[1024];
+
+- FD_ZERO(&rfds);
++ pfd.fd = fd;
++ pfd.events = POLLIN;
+
+ do
+ {
+- FD_SET(fd, &rfds);
+- tv.tv_sec = 2;
+- tv.tv_usec = 0;
+- rv = select(fd + 1, &rfds, NULL, NULL, &tv);
++ rv = poll(&pfd, 1, libfcgiOsClosePollTimeout);
+ }
+ while (rv > 0 && read(fd, trash, sizeof(trash)) > 0);
+ }
+@@ -1142,13 +1153,11 @@
+ */
+ static int is_af_unix_keeper(const int fd)
+ {
+- struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
+- fd_set read_fds;
+-
+- FD_ZERO(&read_fds);
+- FD_SET(fd, &read_fds);
++ struct pollfd pfd;
++ pfd.fd = fd;
++ pfd.events = POLLIN;
+
+- return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds);
++ return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN);
+ }
+
+ /*
diff --git a/dev-libs/fcgi/metadata.xml b/dev-libs/fcgi/metadata.xml
new file mode 100644
index 000000000000..9b5105a62230
--- /dev/null
+++ b/dev-libs/fcgi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+</maintainer>
+<use>
+ <flag name='html'>Install HTML documentation</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/fddl/Manifest b/dev-libs/fddl/Manifest
new file mode 100644
index 000000000000..c769d045cf48
--- /dev/null
+++ b/dev-libs/fddl/Manifest
@@ -0,0 +1 @@
+DIST fddl-20111124.tar.gz 29608 SHA256 14e0493b1be6bf7381e20eb8c727d7f75ca3c04c68784a54450f438876f2d06a SHA512 d9c4f3f4e10b92ffc158a8cd24726ac6f95050256178a17b6d11aefd4b5786452b17ee96e4d4f4762d07c372c248aba1f22cbe2c03cd6b0f709aeeb4d15a0266 WHIRLPOOL ad8ef11313a0613ba012684412abd0e20a3bb40dd20078d6dd592df3e1449d532d816413a08e66e6e13c925d100697c6cc730a91718d580fdc1805afb4f63fae
diff --git a/dev-libs/fddl/fddl-20111124.ebuild b/dev-libs/fddl/fddl-20111124.ebuild
new file mode 100644
index 000000000000..44d86ea8f49b
--- /dev/null
+++ b/dev-libs/fddl/fddl-20111124.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils multilib vcs-snapshot
+
+DESCRIPTION="Free Decision Diagram Library"
+HOMEPAGE="http://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
+SRC_URI="http://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DOCS=( AUTHORS ChangeLog INSTALL RELEASE )
+
+src_prepare() {
+ # Remove references to files that were not shipped,
+ # prefer dynamic linking
+ sed -i \
+ -e 's|unaryoperation.cpp||g' \
+ -e 's|unaryoperation.h||g' \
+ -e 's|binaryoperation.cpp||g' \
+ -e 's|binaryoperation.h||g' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e "/^install/s:DESTINATION lib:DESTINATION $(get_libdir):" \
+ src/CMakeLists.txt || die
+ # Do not build tests that depend on above files
+ sed -i \
+ {,tests/}CMakeLists.txt \
+ -e '/test_unaryop/d' \
+ -e '/test_binaryop/d' \
+ || die
+}
diff --git a/dev-libs/fddl/metadata.xml b/dev-libs/fddl/metadata.xml
new file mode 100644
index 000000000000..ecd1b88184a1
--- /dev/null
+++ b/dev-libs/fddl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+ </maintainer>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">atomopawn/FDDL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/ferrisloki/Manifest b/dev-libs/ferrisloki/Manifest
new file mode 100644
index 000000000000..d698b3ee104c
--- /dev/null
+++ b/dev-libs/ferrisloki/Manifest
@@ -0,0 +1 @@
+DIST ferrisloki-3.0.13.tar.bz2 350509 SHA256 a39f8e93882e802563fa724cc1b392c31f25aec7c71beb0a60c20670b93be38a SHA512 1ccf8118c05babd8e4856dd40d60a1340d5db40b27aa8527343dabfeec74e8cbf99a713a19028f68e6a36369670a69f769b20a80f7aad27d2ccbbda32b393d40 WHIRLPOOL f4bdc97a177f45c092ce0f494c627c3a4016b4f2257479788fc8037f23f24b6cc388fa462a562c3c221427363593190cc4724dbd44d3f6679454135bddd941a3
diff --git a/dev-libs/ferrisloki/ferrisloki-3.0.13.ebuild b/dev-libs/ferrisloki/ferrisloki-3.0.13.ebuild
new file mode 100644
index 000000000000..837d8140f0c4
--- /dev/null
+++ b/dev-libs/ferrisloki/ferrisloki-3.0.13.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib
+
+DESCRIPTION="Loki C++ library from Modern C++ Design"
+HOMEPAGE="http://www.libferris.com/"
+SRC_URI="mirror://sourceforge/witme/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs stlport"
+
+RDEPEND="stlport? ( >=dev-libs/STLport-5 )
+ dev-libs/libsigc++:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # derice this damn configure script
+ sed -i \
+ -e '/^CFLAGS/{s: -O3 : :g;s:-Wl,-O1 -Wl,--hash-style=both::;}' \
+ -e 's:-lstlport_gcc:-lstlport:' \
+ configure || die
+
+ epatch_user
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-stlport="${EPREFIX}/usr/include/stlport" \
+ $(use_enable stlport) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/ferrisloki/metadata.xml b/dev-libs/ferrisloki/metadata.xml
new file mode 100644
index 000000000000..0323b7006323
--- /dev/null
+++ b/dev-libs/ferrisloki/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+<use>
+ <flag name='stlport'>Include support for <pkg>dev-libs/STLport</pkg></flag>
+</use>
+<upstream>
+ <remote-id type="sourceforge">witme</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-libs/ffcall/Manifest b/dev-libs/ffcall/Manifest
new file mode 100644
index 000000000000..efd1fbe85f4b
--- /dev/null
+++ b/dev-libs/ffcall/Manifest
@@ -0,0 +1,2 @@
+DIST clisp-2.41.tar.bz2 8319471 SHA256 1e5f8d9b04024ae072536ae3271075c1a422c02d3997a729a6b00912ed2ae323 SHA512 638417834cc8b81a893ea98801d8ec3f6e591062bf799a1462fc36ceb3fa0107eb1c55e335cd32e1f9d931692e806d0c59c7557cfaf3af9cb00349b715111489 WHIRLPOOL aaa8a42627621ffc19e527634f0a0f769ffb804132ab29cbe4ca592db03cc10621b968f279f5ba2a92018e16c617f34ddf2ddfbb9993e30b54c8bce643af307a
+DIST ffcall-1.10.tar.gz 914870 SHA256 6f1b5b8fc84b2c0051637fb1e4e4f8b975f5f98bff8fe053c1992347baa4983d SHA512 dceb620907adae5bbbb52cf2d0b0c829242ad22adceb3186b7a887b7ba49e28b607c30179de6b5a0c46a90bd52f9963ce503ca0c69bc3ecf41e3556df094ddca WHIRLPOOL 8f90c8415197ff6d0176b3e95fe8455c0f242264666749ca8228c83df5275fb8c2404a218d0b5170386ad022bc729014cb81b11570e29855305a9efdbfb769d3
diff --git a/dev-libs/ffcall/ffcall-1.10-r2.ebuild b/dev-libs/ffcall/ffcall-1.10-r2.ebuild
new file mode 100644
index 000000000000..48b5104698e8
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-1.10-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils flag-o-matic
+
+# CLISP maintains ffcall now
+CLISP_PACKAGE="clisp-2.41"
+
+DESCRIPTION="foreign function call libraries"
+HOMEPAGE="http://www.haible.de/bruno/packages-ffcall.html"
+SRC_URI="mirror://sourceforge/clisp/${CLISP_PACKAGE}.tar.bz2"
+
+# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
+# or in derivate works of GNUstep, the included parts of ffcall are
+# under GNU LGPL." -ffcall author
+LICENSE="|| ( GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ia64 ~ppc ~ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+S=${WORKDIR}/${CLISP_PACKAGE}/${PN}
+
+DEPEND=""
+RDEPEND=""
+
+src_compile() {
+ # Because CHOST is set to (for example)
+ # alphaev67-unknown-linux-gnu, CPU gets set to alphaev67 which
+ # doesn't work in the Makefile (29 Jan 2004 agriffis)
+ local cpu_setting
+ [[ "${ARCH}" == "alpha" ]] && cpu_setting='CPU=alpha'
+
+ append-flags -fPIC
+
+ # Doc goes in datadir
+ econf \
+ --datadir=/usr/share/doc/${PF} \
+ --enable-shared \
+ || die "./configure failed"
+ # bug #298348
+ emake -j1 ${cpu_setting} || die
+}
+
+src_install() {
+ dodoc NEWS README
+ dodir /usr/share/man
+ emake DESTDIR=${D} install || die "Install failed"
+}
diff --git a/dev-libs/ffcall/ffcall-1.10-r5.ebuild b/dev-libs/ffcall/ffcall-1.10-r5.ebuild
new file mode 100644
index 000000000000..92e18c92721a
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-1.10-r5.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+# CLISP maintains ffcall now
+CLISP_PACKAGE="clisp-2.41"
+
+DESCRIPTION="foreign function call libraries"
+HOMEPAGE="http://www.haible.de/bruno/packages-ffcall.html"
+SRC_URI="mirror://sourceforge/clisp/${CLISP_PACKAGE}.tar.bz2"
+
+# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
+# or in derivate works of GNUstep, the included parts of ffcall are
+# under GNU LGPL." -ffcall author
+LICENSE="|| ( GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/${CLISP_PACKAGE}/${PN}
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-make-jN.patch
+
+ # The build system is a strange mix of autogenerated
+ # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
+ # We are adding them consistently here and a bit over the top:
+ # bugs: #334581
+
+ for mfi in {,*/,*/*/,}Makefile.in
+ do
+ elog "Patching '${mfi}'"
+ # usually uses only assembler here, but -march=
+ # and -Wa, are a must to pass here.
+ sed -e 's/$(CC) /&$(CFLAGS) /g' \
+ -i "${mfi}" || die
+
+ # usually uses '$(CC) ... -o something' for linking
+ sed -e 's/\($(CC) .* \)-o /\1 $(LDFLAGS) -o /g' \
+ -i "${mfi}" || die
+ done
+}
+
+src_configure() {
+ append-flags -fPIC
+ append-flags $(test-flags-CC -Wa,--noexecstack) #253963
+
+ # Doc goes in datadir
+ econf \
+ --datadir="${EPREFIX}"/usr/share/doc/${PF} \
+ --enable-shared \
+ --disable-static
+}
+
+src_compile() {
+ # Because CHOST is set to (for example)
+ # alphaev67-unknown-linux-gnu, CPU gets set to alphaev67 which
+ # doesn't work in the Makefile (29 Jan 2004 agriffis)
+ local cpu_setting
+ [[ "${ARCH}" == "alpha" ]] && cpu_setting='CPU=alpha'
+
+ emake ${cpu_setting}
+}
+
+src_install() {
+ dodoc NEWS README
+ dodir /usr/share/man
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/ffcall/ffcall-1.10.ebuild b/dev-libs/ffcall/ffcall-1.10.ebuild
new file mode 100644
index 000000000000..75e803d80b66
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-1.10.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="foreign function call libraries"
+HOMEPAGE="http://www.haible.de/bruno/packages-ffcall.html"
+SRC_URI="ftp://ftp.santafe.edu/pub/gnu/${P}.tar.gz"
+
+# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
+# or in derivate works of GNUstep, the included parts of ffcall are
+# under GNU LGPL." -ffcall author
+LICENSE="|| ( GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ppc sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_compile() {
+ # Because CHOST is set to (for example)
+ # alphaev67-unknown-linux-gnu, CPU gets set to alphaev67 which
+ # doesn't work in the Makefile (29 Jan 2004 agriffis)
+ local cpu_setting
+ [[ "${ARCH}" == "alpha" ]] && cpu_setting='CPU=alpha'
+
+ append-flags -fPIC
+
+ econf || die "./configure failed"
+ make ${cpu_setting} || die
+}
+
+src_install() {
+ dodoc NEWS README
+ dohtml avcall/avcall.html \
+ callback/callback.html \
+ callback/trampoline_r/trampoline_r.html \
+ trampoline/trampoline.html \
+ vacall/vacall.html
+ doman avcall/avcall.3 \
+ callback/callback.3 \
+ callback/trampoline_r/trampoline_r.3 \
+ trampoline/trampoline.3 \
+ vacall/vacall.3
+ dolib.a avcall/.libs/libavcall.a \
+ avcall/.libs/libavcall.la \
+ vacall/libvacall.a \
+ callback/.libs/libcallback.a \
+ callback/.libs/libcallback.la \
+ trampoline/libtrampoline.a
+ insinto /usr/include
+ doins avcall/avcall.h \
+ callback/callback.h \
+ trampoline/trampoline.h \
+ callback/trampoline_r/trampoline_r.h \
+ vacall/vacall.h \
+ callback/vacall_r.h
+}
diff --git a/dev-libs/ffcall/files/ffcall-make-jN.patch b/dev-libs/ffcall/files/ffcall-make-jN.patch
new file mode 100644
index 000000000000..98f4c497504e
--- /dev/null
+++ b/dev-libs/ffcall/files/ffcall-make-jN.patch
@@ -0,0 +1,13 @@
+--- ffcall-1.10/callback/Makefile.in~ 2003-10-01 21:46:19.000000000 +0200
++++ ffcall-1.10/callback/Makefile.in 2007-12-18 21:10:51.302118000 +0100
+@@ -51,6 +51,10 @@
+ all-subdirs : force
+ cd @subdir@; $(MAKE) all
+
++vacall_r/libvacall.la: all-subdirs
++
++trampoline_r/libtrampoline.la: all-subdirs
++
+ callback.h :
+ $(LN_S) $(srcdir)/callback.h.in callback.h
+
diff --git a/dev-libs/ffcall/metadata.xml b/dev-libs/ffcall/metadata.xml
new file mode 100644
index 000000000000..74075a222c65
--- /dev/null
+++ b/dev-libs/ffcall/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ffcall - foreign function call libraries
+This is a collection of four libraries which can be used to build foreign
+function call interfaces in embedded interpreters.
+
+The four packages are:
+
+avcall
+- calling C functions with variable arguments
+
+vacall
+- C functions accepting variable argument prototypes
+
+trampoline
+- closures as first-class C functions
+
+callback
+- closures with variable arguments as first-class C functions (a reentrant combination of vacall and trampoline)
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">clisp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/folks/Manifest b/dev-libs/folks/Manifest
new file mode 100644
index 000000000000..635064646609
--- /dev/null
+++ b/dev-libs/folks/Manifest
@@ -0,0 +1,2 @@
+DIST folks-0.10.1.tar.xz 1879032 SHA256 0d53a6197a5734cc03477d8fa83c1d9ee510f3dc0c6f3aa7b8bb734d6027caa9 SHA512 12ef1ea9220a3a0936c4846e5d7b756a0d6edc3c4ae66e419d8483df71eb83d639e4b9d8068c527546fdb3d9c2a51b300bb940acf35c1f123e9d7369a130109b WHIRLPOOL 412d657027de277c32eb2f389cf1e134448b5504f908a852b9a3a879f9d6abaec559b4aec2bc69056542ca66a473aed20c42b7b6fea4274dd82394abae3469c0
+DIST folks-0.11.1.tar.xz 1979720 SHA256 6740d9074be911959904b40e7264d298bb5622995098ddfa1751dcd2bc4c917d SHA512 8ec7a46e1d114f499dc80e9d1a664c3fb9b969a79c96fb22f519d531e8a5fa332b41414c153569f06d193cff8cbda0ca170f35b6a614758ceb43e7c1d6fc2d1c WHIRLPOOL c5c36c84a599b379e6932e724fb68a08972d4bf1438f4213acd3f450a4a2d55dc7e7e44dd2fb1b29900bdda2d9b4a09c4cac3ec98e8d0e2601088e86dbeb931f
diff --git a/dev-libs/folks/folks-0.10.1-r1.ebuild b/dev-libs/folks/folks-0.10.1-r1.ebuild
new file mode 100644
index 000000000000..e0b49a5b8c41
--- /dev/null
+++ b/dev-libs/folks/folks-0.10.1-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+VALA_MIN_API_VERSION="0.22"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala virtualx
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/25" # subslot = libfolks soname version
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
+
+# TODO: --enable-profiling
+# Vala isn't really optional, https://bugzilla.gnome.org/show_bug.cgi?id=701099
+IUSE="bluetooth eds +telepathy test tracker utils zeitgeist"
+REQUIRED_USE="bluetooth? ( eds )"
+
+COMMON_DEPEND="
+ $(vala_depend)
+ >=dev-libs/glib-2.38.2:2
+ dev-libs/dbus-glib
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ dev-libs/libxml2
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+
+ bluetooth? ( >=net-wireless/bluez-5 )
+ eds? ( >=gnome-extra/evolution-data-server-3.8:=[vala] )
+ telepathy? ( >=net-libs/telepathy-glib-0.19[vala] )
+ tracker? ( >=app-misc/tracker-1:0= )
+ zeitgeist? ( >=gnome-extra/zeitgeist-0.9.14 )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${COMMON_DEPEND}
+ net-im/telepathy-mission-control
+"
+# folks socialweb backend requires that libsocialweb be built with USE=vala,
+# even when building folks with --disable-vala.
+#
+# FIXME:
+# test? ( bluetooth? ( dbusmock is missing in the tree ) )
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/gobject-introspection-1.30
+ >=dev-util/intltool-0.50.0
+ sys-devel/gettext
+ virtual/pkgconfig
+
+ test? ( sys-apps/dbus
+ bluetooth? (
+ >=gnome-extra/evolution-data-server-3.9.1
+ >=dev-libs/glib-2.39.2:2 ) )
+ !<dev-lang/vala-0.22.1:0.22
+"
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # Rebuilding docs needs valadoc, which has no release
+ gnome2_src_configure \
+ $(use_enable bluetooth bluez-backend) \
+ $(use_enable eds eds-backend) \
+ $(use_enable eds ofono-backend) \
+ $(use_enable telepathy telepathy-backend) \
+ $(use_enable tracker tracker-backend) \
+ $(use_enable utils inspect-tool) \
+ $(use_enable test tests) \
+ $(use_enable zeitgeist) \
+ --enable-vala \
+ --enable-import-tool \
+ --disable-docs \
+ --disable-fatal-warnings \
+ --disable-libsocialweb-backend
+}
+
+src_test() {
+ dbus-launch Xemake check
+}
diff --git a/dev-libs/folks/folks-0.11.1.ebuild b/dev-libs/folks/folks-0.11.1.ebuild
new file mode 100644
index 000000000000..a35bef3efa9e
--- /dev/null
+++ b/dev-libs/folks/folks-0.11.1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+VALA_MIN_API_VERSION="0.22"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala virtualx
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/25" # subslot = libfolks soname version
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-linux"
+
+# TODO: --enable-profiling
+# Vala isn't really optional, https://bugzilla.gnome.org/show_bug.cgi?id=701099
+IUSE="bluetooth eds +telepathy test tracker utils zeitgeist"
+REQUIRED_USE="bluetooth? ( eds )"
+
+COMMON_DEPEND="
+ $(vala_depend)
+ >=dev-libs/glib-2.40:2
+ dev-libs/dbus-glib
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ dev-libs/libxml2
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+
+ bluetooth? ( >=net-wireless/bluez-5 )
+ eds? ( >=gnome-extra/evolution-data-server-3.13.90:=[vala] )
+ telepathy? ( >=net-libs/telepathy-glib-0.19.9[vala] )
+ tracker? ( >=app-misc/tracker-1:0= )
+ zeitgeist? ( >=gnome-extra/zeitgeist-0.9.14 )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${COMMON_DEPEND}
+ net-im/telepathy-mission-control
+"
+# folks socialweb backend requires that libsocialweb be built with USE=vala,
+# even when building folks with --disable-vala.
+#
+# FIXME:
+# test? ( bluetooth? ( dbusmock is missing in the tree ) )
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/gobject-introspection-1.30
+ >=dev-util/intltool-0.50.0
+ sys-devel/gettext
+ virtual/pkgconfig
+
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ >=gnome-extra/evolution-data-server-3.9.1
+ >=dev-libs/glib-2.40 ) )
+ !<dev-lang/vala-0.22.1:0.22
+"
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # Rebuilding docs needs valadoc, which has no release
+ gnome2_src_configure \
+ $(use_enable bluetooth bluez-backend) \
+ $(use_enable eds eds-backend) \
+ $(use_enable eds ofono-backend) \
+ $(use_enable telepathy telepathy-backend) \
+ $(use_enable tracker tracker-backend) \
+ $(use_enable utils inspect-tool) \
+ $(use_enable test modular-tests) \
+ $(use_enable zeitgeist) \
+ --enable-vala \
+ --enable-import-tool \
+ --disable-docs \
+ --disable-fatal-warnings \
+ --disable-libsocialweb-backend
+}
+
+src_test() {
+ dbus-launch Xemake check
+}
diff --git a/dev-libs/folks/metadata.xml b/dev-libs/folks/metadata.xml
new file mode 100644
index 000000000000..682c32415814
--- /dev/null
+++ b/dev-libs/folks/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<use>
+ <flag name="tracker">Load contacts from <pkg>app-misc/tracker</pkg> index</flag>
+ <flag name="telepathy">Load contacts from the Telepathy framework</flag>
+ <flag name="utils">Build the folks-inspect utility</flag>
+ <flag name="zeitgeist">Add support for Zeitgeist event tracking system</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/freexl/Manifest b/dev-libs/freexl/Manifest
new file mode 100644
index 000000000000..73fc3a2bc6aa
--- /dev/null
+++ b/dev-libs/freexl/Manifest
@@ -0,0 +1 @@
+DIST freexl-1.0.0e.tar.gz 921094 SHA256 ab07ebd7efa8779e11252752e5bc119accd57a610408a0e198151f4fcc969bfa SHA512 09191cc1b959f50dff28d8a8c4f28c559935e999918bc1273e8b7ee1cd8d7902d25d591bfd570b18fc4ee4e5b3b8c57e8979c43783d8411244bc6148c6ede7ed WHIRLPOOL da93b2ecdda3a0dfe5b3936460b376fdbe27658ac277b3bcb6eb48c2e7b11eca25ea1139a47936b05b7a4603139f1b299dc281b1b56880b62edc618c6b0ddab5
diff --git a/dev-libs/freexl/freexl-1.0.0e.ebuild b/dev-libs/freexl/freexl-1.0.0e.ebuild
new file mode 100644
index 000000000000..ba87a0d8adbe
--- /dev/null
+++ b/dev-libs/freexl/freexl-1.0.0e.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Simple XLS data extraction library"
+HOMEPAGE="http://www.gaia-gis.it/gaia-sins/"
+SRC_URI="http://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86"
+IUSE="static-libs"
+
+DEPEND="virtual/libiconv"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/freexl/metadata.xml b/dev-libs/freexl/metadata.xml
new file mode 100644
index 000000000000..3190fbf9c377
--- /dev/null
+++ b/dev-libs/freexl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+</pkgmetadata>
diff --git a/dev-libs/fribidi/Manifest b/dev-libs/fribidi/Manifest
new file mode 100644
index 000000000000..71f161d1a110
--- /dev/null
+++ b/dev-libs/fribidi/Manifest
@@ -0,0 +1,2 @@
+DIST fribidi-0.19.5.tar.bz2 625034 SHA256 501231e4260f83fccedae1cafe983a7de87082e3f5387e0b283d016f7f4cb428 SHA512 0a1216d3ff23f76dd90a1fa5b1eadd1276cfedc07bd636e345df23911d2e23bc3780a5ba2e32f2025b517f7137135fb3de6d337f872932466efe480ece364e43 WHIRLPOOL 5241696a5477f9cd1931213b14a27a21647ccabbaaaa0d2f8112a51efeeb7557b3b614bbb30500cd1ebf17fd4332007c22c42c1667e738dc2a2e94e1c182211a
+DIST fribidi-0.19.6.tar.bz2 639022 SHA256 cba8b7423c817e5adf50d28ec9079d14eafcec9127b9e8c8f1960c5ad585e17d SHA512 0661cf8e0985edfd5bf02c8de32432bf2faacadcaf35aef4e039a28f802a0468288e76b60231ebe7b54f909bd4d3ecc31a1fc94e83d434ae16dd21de6089629e WHIRLPOOL 71a1d1b44a4d58e6e4567f21a7e9f72a925f648a817d1c59d3815c8070e48656889c91afe2c842ca56e2bd8f33c783a4bbf16864514106614a12b8394c03e674
diff --git a/dev-libs/fribidi/files/fribidi-0.19.2-nodoc.patch b/dev-libs/fribidi/files/fribidi-0.19.2-nodoc.patch
new file mode 100644
index 000000000000..8649db285528
--- /dev/null
+++ b/dev-libs/fribidi/files/fribidi-0.19.2-nodoc.patch
@@ -0,0 +1,11 @@
+--- Makefile.am
++++ Makefile.am
+@@ -9,7 +9,7 @@
+ ##############################################################################
+
+ ## The order of subdirs is important, don't change without a reason.
+-SUBDIRS = gen.tab charset lib bin doc test
++SUBDIRS = gen.tab charset lib bin test
+
+ EXTRA_DIST = bootstrap ChangeLog.old
+
diff --git a/dev-libs/fribidi/files/fribidi-0.19.5-signedwarning.patch b/dev-libs/fribidi/files/fribidi-0.19.5-signedwarning.patch
new file mode 100644
index 000000000000..2619bf375510
--- /dev/null
+++ b/dev-libs/fribidi/files/fribidi-0.19.5-signedwarning.patch
@@ -0,0 +1,22 @@
+From 78dc3af68ed0e1aafe54c176b28dadee66eb306c Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu, 06 Dec 2012 17:17:53 +0000
+Subject: Fix theoretically possible overflow
+
+https://bugzilla.redhat.com/show_bug.cgi?id=884000
+---
+diff --git a/bin/fribidi-main.c b/bin/fribidi-main.c
+index ac9e2ff..dd27f0d 100644
+--- a/bin/fribidi-main.c
++++ b/bin/fribidi-main.c
+@@ -519,7 +519,7 @@ main (
+ idx++;
+ }
+ #endif /* !FRIBIDI_MAIN_USE_ICONV_H */
+- if (wid < 0 && idx > st + 1)
++ if (wid < 0 && idx - st > 1)
+ idx--;
+ inlen = idx - st;
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/dev-libs/fribidi/files/fribidi-0.19.6-page-size-header.patch b/dev-libs/fribidi/files/fribidi-0.19.6-page-size-header.patch
new file mode 100644
index 000000000000..c2b39155eea2
--- /dev/null
+++ b/dev-libs/fribidi/files/fribidi-0.19.6-page-size-header.patch
@@ -0,0 +1,20 @@
+diff -ur fribidi-0.19.6.old/lib/common.h fribidi-0.19.6/lib/common.h
+--- fribidi-0.19.6.old/lib/common.h 2012-12-30 00:12:59.000000000 +0000
++++ fribidi-0.19.6/lib/common.h 2014-05-03 11:04:19.969727962 +0100
+@@ -130,14 +130,8 @@
+ /* FRIBIDI_CHUNK_SIZE is the number of bytes in each chunk of memory being
+ * allocated for data structure pools. */
+ #ifndef FRIBIDI_CHUNK_SIZE
+-# if HAVE_ASM_PAGE_H
+-# ifndef __FRIBIDI_DOC
+-# include <asm/page.h>
+-# endif /* __FRIBIDI_DOC */
+-# define FRIBIDI_CHUNK_SIZE (PAGE_SIZE - 16)
+-# else /* !HAVE_ASM_PAGE_H */
+-# define FRIBIDI_CHUNK_SIZE (4096 - 16)
+-# endif /* !HAVE_ASM_PAGE_H */
++# include <unistd.h>
++# define FRIBIDI_CHUNK_SIZE (sysconf(_SC_PAGESIZE) - 16)
+ #else /* FRIBIDI_CHUNK_SIZE */
+ # if FRIBIDI_CHUNK_SIZE < 256
+ # error FRIBIDI_CHUNK_SIZE now should define the size of a chunk in bytes.
diff --git a/dev-libs/fribidi/fribidi-0.19.5-r1.ebuild b/dev-libs/fribidi/fribidi-0.19.5-r1.ebuild
new file mode 100644
index 000000000000..a8ed5808ef98
--- /dev/null
+++ b/dev-libs/fribidi/fribidi-0.19.5-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
+HOMEPAGE="http://fribidi.org/"
+SRC_URI="http://fribidi.org/download/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RESTRICT="test" #397347
+
+RDEPEND=">=dev-libs/glib-2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS NEWS README ChangeLog THANKS TODO"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.19.2-nodoc.patch \
+ "${FILESDIR}"/${P}-signedwarning.patch
+
+ # Fix compability with dev-libs/glib >= 2.31
+ sed -i \
+ -e '/include/s:<glib/gstrfuncs.h>:<glib.h>:' \
+ -e '/include/s:<glib/gmem.h>:<glib.h>:' \
+ charset/fribidi-char-sets.c lib/mem.h || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # --with-glib=yes is required for #345621 to ensure "Requires: glib-2.0" is
+ # present in /usr/lib/pkgconfig/fribidi.pc
+ econf \
+ $(use_enable static-libs static) \
+ --with-glib=yes
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/fribidi/fribidi-0.19.6.ebuild b/dev-libs/fribidi/fribidi-0.19.6.ebuild
new file mode 100644
index 000000000000..08e9f689ede6
--- /dev/null
+++ b/dev-libs/fribidi/fribidi-0.19.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools eutils autotools-multilib
+
+DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
+HOMEPAGE="http://fribidi.org/"
+SRC_URI="http://fribidi.org/download/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RESTRICT="test" #397347
+
+RDEPEND=">=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r10
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS NEWS README ChangeLog THANKS TODO )
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.19.2-nodoc.patch \
+ "${FILESDIR}"/${P}-page-size-header.patch
+
+ # Fix compability with dev-libs/glib >= 2.31
+ sed -i \
+ -e '/include/s:<glib/gstrfuncs.h>:<glib.h>:' \
+ -e '/include/s:<glib/gmem.h>:<glib.h>:' \
+ charset/fribidi-char-sets.c lib/mem.h || die
+
+ autotools-multilib_src_prepare
+}
+
+src_configure() {
+ # --with-glib=yes is required for #345621 to ensure "Requires: glib-2.0" is
+ # present in /usr/lib/pkgconfig/fribidi.pc
+ local myeconfargs=( --with-glib=yes )
+ autotools-multilib_src_configure
+}
diff --git a/dev-libs/fribidi/metadata.xml b/dev-libs/fribidi/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/fribidi/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/fstrm/Manifest b/dev-libs/fstrm/Manifest
new file mode 100644
index 000000000000..e88758c5fcaa
--- /dev/null
+++ b/dev-libs/fstrm/Manifest
@@ -0,0 +1 @@
+DIST fstrm-0.2.0.tar.gz 434627 SHA256 ad5d39957a4b334a6c7fcc94f308dc7ac75e1997cc642e9bb91a18fc0f42a98a SHA512 4425c3aa57f7c87dfa2a5cc6e3c9b7f8e293086c2092b57b5d227b13dba3ec23cb8460abbfaf153b2f3a27c6a613e31e7a805948cbc5d567707880f353453f42 WHIRLPOOL 25360591002a366bff79a626f6f1514155445eca9608163378e4be1278652c7581f9b893465e0f7bf1653ac140215104174c16e24ebbfeff033e9b0e079192b9
diff --git a/dev-libs/fstrm/fstrm-0.2.0-r1.ebuild b/dev-libs/fstrm/fstrm-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..3846dc8a5b21
--- /dev/null
+++ b/dev-libs/fstrm/fstrm-0.2.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools-multilib
+
+DESCRIPTION="Frame Streams implementation in C"
+HOMEPAGE="https://github.com/farsightsec/fstrm"
+SRC_URI="https://github.com/farsightsec/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86"
+IUSE="static-libs utils"
+
+RDEPEND="utils? ( dev-libs/libevent[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable utils programs)
+ )
+ autotools-multilib_src_configure
+}
diff --git a/dev-libs/fstrm/metadata.xml b/dev-libs/fstrm/metadata.xml
new file mode 100644
index 000000000000..8059cf279db2
--- /dev/null
+++ b/dev-libs/fstrm/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">farsightsec/fstrm</remote-id>
+ </upstream>
+ <use>
+ <flag name="utils">Build fstrm utility programs</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/g-wrap/Manifest b/dev-libs/g-wrap/Manifest
new file mode 100644
index 000000000000..84ac4e77b0d4
--- /dev/null
+++ b/dev-libs/g-wrap/Manifest
@@ -0,0 +1,3 @@
+DIST g-wrap-1.9.11.tar.gz 625359 SHA256 b6a9442692f29a9bd353cb5bc4e46824fbde47275f05917dfc0d644d23641fc9 SHA512 3574658d4c5b52ddf350e499fdf009baa48a8cefaccb20c705eb7b2bda556db8f662fe75c78d76e927b0a0dc5757eec2af8b72f315d3655a35f7f7766ff89e65 WHIRLPOOL 7c3fd806cb7745d0dbfe62dafdf84bf19b095d1a27d75b0e262b0c6c14e96987dee88dc4b4d58ee7a971e0e0c3b7edc02a2e1fd2fb9530824793bf46b471e15b
+DIST g-wrap-1.9.13.tar.gz 613577 SHA256 3b69adeb1c4dd82423641cbacd48a79081addd0f6a5b1ca9874a7e4e3f398839 SHA512 56001aa877f706eda5f40ac2d06f7214b52aa3d46a1c5cc64c1d195d3e3d619a0d8dac50dabc5b73453784351512e1e35ed53bc44151a61c4b8a9f6e851f6264 WHIRLPOOL a49e87be15e3b5e31e203b5efdef05bc1a3afdd995747e4a2651eba955ba091ad919c6880e667adf419d06c960fc88950e1304daa635d7f8b8dc8ec0edfcf5a1
+DIST g-wrap-1.9.14.tar.gz 655812 SHA256 06abe8f8d2758f4d8e51f39b5cee3917ea70ec84410d4294214e43f843348d27 SHA512 681d85caf24335db9f266e8350488d36c2b20a5ec02346189c866c7c1de9bcd4a942f092827cbf5fc30474dff70064abe8139069752a6d82657e51542000194b WHIRLPOOL e1623d2b6b2f55ba1e9e5cbe36c44b040f65bb8b34ca3e339e81f0b4c81a3d4b10d01e80e56133a9deb47cfd5e1771ecbce523aeabb2d1f40d4c46e7309e69da
diff --git a/dev-libs/g-wrap/files/1.9.8-fix-ffi-build-issue.patch b/dev-libs/g-wrap/files/1.9.8-fix-ffi-build-issue.patch
new file mode 100644
index 000000000000..c9ba466e9016
--- /dev/null
+++ b/dev-libs/g-wrap/files/1.9.8-fix-ffi-build-issue.patch
@@ -0,0 +1,15 @@
+diff -urN g-wrap-1.9.8.orig/guile/examples/Makefile.am g-wrap-1.9.8/guile/examples/Makefile.am
+--- g-wrap-1.9.8.orig/guile/examples/Makefile.am 2007-05-31 15:07:17.000000000 -0700
++++ g-wrap-1.9.8/guile/examples/Makefile.am 2007-06-01 10:07:32.000000000 -0700
+@@ -5,7 +5,10 @@
+
+ lib_LTLIBRARIES += libgw-guile-miscutils.la
+ libgw_guile_miscutils_la_SOURCES = miscutils-guile.c miscutils-guile.h gw-miscutils.c
+-libgw_guile_miscutils_la_CFLAGS = -I$(top_srcdir) -I$(top_srcdir)/guile
++libgw_guile_miscutils_la_CFLAGS = \
++ -I$(top_srcdir) \
++ -I$(top_srcdir)/guile \
++ $(LIBFFI_CFLAGS)
+ libgw_guile_miscutils_la_LDFLAGS = -module
+ libgw_guile_miscutils_la_LIBADD = libmiscutils.la \
+ $(top_builddir)/guile/g-wrap/libgwrap-guile-runtime.la \
diff --git a/dev-libs/g-wrap/files/1.9.8-fix-gcc-4.2.0-libffi.patch b/dev-libs/g-wrap/files/1.9.8-fix-gcc-4.2.0-libffi.patch
new file mode 100644
index 000000000000..e2a2abc645d6
--- /dev/null
+++ b/dev-libs/g-wrap/files/1.9.8-fix-gcc-4.2.0-libffi.patch
@@ -0,0 +1,21 @@
+diff -urN g-wrap-1.9.8.orig/libffi/configure.ac g-wrap-1.9.8/libffi/configure.ac
+--- g-wrap-1.9.8.orig/libffi/configure.ac 2007-06-03 21:50:15.000000000 -0700
++++ g-wrap-1.9.8/libffi/configure.ac 2007-06-03 21:50:31.000000000 -0700
+@@ -5,7 +5,7 @@
+ AC_INIT([libffi], [2.1], [http://gcc.gnu.org/bugs.html])
+ AC_CONFIG_HEADERS([fficonfig.h])
+
+-AM_ENABLE_MULTILIB(, ..)
++#AM_ENABLE_MULTILIB(, ..)
+
+ AC_CANONICAL_SYSTEM
+ target_alias=${target_alias-$host_alias}
+diff -urN g-wrap-1.9.8.orig/libffi/include/Makefile.am g-wrap-1.9.8/libffi/include/Makefile.am
+--- g-wrap-1.9.8.orig/libffi/include/Makefile.am 2007-06-03 21:50:15.000000000 -0700
++++ g-wrap-1.9.8/libffi/include/Makefile.am 2007-06-03 21:50:47.000000000 -0700
+@@ -9,4 +9,4 @@
+ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+ toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+
+-toollibffi_HEADERS = ffi.h ffitarget.h
++include_HEADERS = ffi.h ffitarget.h
diff --git a/dev-libs/g-wrap/files/g-wrap-1.3.4-direntry.patch b/dev-libs/g-wrap/files/g-wrap-1.3.4-direntry.patch
new file mode 100644
index 000000000000..dd040741a3d7
--- /dev/null
+++ b/dev-libs/g-wrap/files/g-wrap-1.3.4-direntry.patch
@@ -0,0 +1,57 @@
+diff -u g-wrap-1.3.4-vanilla/doc/g-wrap.info g-wrap-1.3.4/doc/g-wrap.info
+--- g-wrap-1.3.4-vanilla/doc/g-wrap.info 2004-04-19 13:16:18.584411000 -0700
++++ g-wrap-1.3.4/doc/g-wrap.info 2004-04-19 13:17:49.384608248 -0700
+@@ -1,5 +1,10 @@
+ This is g-wrap.info, produced by makeinfo version 4.2 from g-wrap.texi.
+
++INFO-DIR-SECTION The Algorithmic Language Scheme
++START-INFO-DIR-ENTRY
++* G-wrap: (g-wrap). Export C libraries into Scheme.
++END-INFO-DIR-ENTRY
++
+ 
+ Indirect:
+ g-wrap.info-1: 73
+diff -u g-wrap-1.3.4-vanilla/doc/g-wrap.info-1 g-wrap-1.3.4/doc/g-wrap.info-1
+--- g-wrap-1.3.4-vanilla/doc/g-wrap.info-1 2004-04-19 13:16:28.147958000 -0700
++++ g-wrap-1.3.4/doc/g-wrap.info-1 2004-04-19 13:17:52.254172008 -0700
+@@ -1,5 +1,10 @@
+ This is g-wrap.info, produced by makeinfo version 4.2 from g-wrap.texi.
+
++INFO-DIR-SECTION The Algorithmic Language Scheme
++START-INFO-DIR-ENTRY
++* G-wrap: (g-wrap). Export C libraries into Scheme.
++END-INFO-DIR-ENTRY
++
+ 
+ File: g-wrap.info, Node: Top, Next: Copying, Prev: (dir), Up: (dir)
+
+diff -u g-wrap-1.3.4-vanilla/doc/g-wrap.info-2 g-wrap-1.3.4/doc/g-wrap.info-2
+--- g-wrap-1.3.4-vanilla/doc/g-wrap.info-2 2004-04-19 13:16:33.402159000 -0700
++++ g-wrap-1.3.4/doc/g-wrap.info-2 2004-04-19 13:17:55.048747168 -0700
+@@ -1,5 +1,10 @@
+ This is g-wrap.info, produced by makeinfo version 4.2 from g-wrap.texi.
+
++INFO-DIR-SECTION The Algorithmic Language Scheme
++START-INFO-DIR-ENTRY
++* G-wrap: (g-wrap). Export C libraries into Scheme.
++END-INFO-DIR-ENTRY
++
+ 
+ File: g-wrap.info, Node: Accessing the wrapped API from the target language, Next: Coping With Old Guile Versions, Prev: Generating the glue code, Up: Generating and using the glue code
+
+diff -r -u g-wrap-1.3.4-vanilla/doc/g-wrap.texi g-wrap-1.3.4/doc/g-wrap.texi
+--- g-wrap-1.3.4-vanilla/doc/g-wrap.texi 2002-11-07 09:23:43.000000000 -0800
++++ g-wrap-1.3.4/doc/g-wrap.texi 2004-04-19 13:30:50.391877096 -0700
+@@ -7,6 +7,11 @@
+ @paragraphindent 0
+ @c %**end of header
+
++@dircategory The Algorithmic Language Scheme
++@direntry
++* G-wrap: (g-wrap). Export C libraries into Scheme.
++@end direntry
++
+ @iftex
+ @finalout
+ @c DL: lose the egregious vertical whitespace, esp. around examples
diff --git a/dev-libs/g-wrap/files/g-wrap-1.3.4-m4.patch b/dev-libs/g-wrap/files/g-wrap-1.3.4-m4.patch
new file mode 100644
index 000000000000..b1a3861f4c35
--- /dev/null
+++ b/dev-libs/g-wrap/files/g-wrap-1.3.4-m4.patch
@@ -0,0 +1,20 @@
+--- g-wrap.m4.orig 2004-07-10 13:26:07.000000000 -0500
++++ g-wrap.m4 2005-05-10 13:45:31.000000000 -0500
+@@ -4,7 +4,7 @@
+
+ dnl check whether we use the old or new guile smobs
+
+-AC_DEFUN(AC_GWRAP_CHECK_GUILE,
++AC_DEFUN([AC_GWRAP_CHECK_GUILE],
+ [if test x$GUILE = x ; then
+ AC_PATH_PROG(GUILE, guile, no)
+ fi
+@@ -20,7 +20,7 @@
+ dnl tests for minimum version of g-wrap.
+ dnl sets G_WRAP_CONFIG and GWRAP_OLD_GUILE_SMOB if needed.
+
+-AC_DEFUN(AM_PATH_GWRAP,
++AC_DEFUN([AM_PATH_GWRAP],
+ [dnl
+ dnl
+ dnl
diff --git a/dev-libs/g-wrap/files/g-wrap-1.9.6_glib_automagic.patch b/dev-libs/g-wrap/files/g-wrap-1.9.6_glib_automagic.patch
new file mode 100644
index 000000000000..cf4f4b36c139
--- /dev/null
+++ b/dev-libs/g-wrap/files/g-wrap-1.9.6_glib_automagic.patch
@@ -0,0 +1,13 @@
+--- configure.ac.old 2007-01-20 10:54:27.000000000 +0100
++++ configure.ac 2007-01-20 10:55:49.000000000 +0100
+@@ -95,7 +95,9 @@
+ AM_CONDITIONAL(HAVE_SRFI_35, test "$HAVE_SRFI_35" = yes)
+
+ dnl Check for optional libraries
+-PKG_CHECK_MODULES(GLIB, glib, [have_glib=yes], [have_glib=no])
++if test "x$with_glib" != "xno"; then
++ PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])
++fi
+ AM_CONDITIONAL(HAVE_GLIB, test "$have_glib" = yes)
+
+ dnl Check for compiler flags and warnings. This should be last, since
diff --git a/dev-libs/g-wrap/files/g-wrap-1.9.7_glib_automagic.patch b/dev-libs/g-wrap/files/g-wrap-1.9.7_glib_automagic.patch
new file mode 100644
index 000000000000..676fb4a589b4
--- /dev/null
+++ b/dev-libs/g-wrap/files/g-wrap-1.9.7_glib_automagic.patch
@@ -0,0 +1,16 @@
+--- configure.ac.old 2007-01-18 17:54:08.000000000 +0100
++++ configure.ac 2007-01-18 17:57:38.000000000 +0100
+@@ -119,11 +119,8 @@
+ AC_SUBST(GW_LANGUAGES)
+
+ dnl Check for optional libraries
+-AC_CHECK_PROG(have_glib, glib-config, yes, no)
+-if test "$have_glib" = yes; then
+- PKG_CHECK_MODULES(GLIB, glib, [echo building GLib 1.2 support])
+-else
+- echo Not building Glib 1.2 support
++if test "x$with_glib" != "xno"; then
++ PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])
+ fi
+ AM_CONDITIONAL(HAVE_GLIB, test "$have_glib" = yes)
+
diff --git a/dev-libs/g-wrap/files/glib_automagic.patch b/dev-libs/g-wrap/files/glib_automagic.patch
new file mode 100644
index 000000000000..676fb4a589b4
--- /dev/null
+++ b/dev-libs/g-wrap/files/glib_automagic.patch
@@ -0,0 +1,16 @@
+--- configure.ac.old 2007-01-18 17:54:08.000000000 +0100
++++ configure.ac 2007-01-18 17:57:38.000000000 +0100
+@@ -119,11 +119,8 @@
+ AC_SUBST(GW_LANGUAGES)
+
+ dnl Check for optional libraries
+-AC_CHECK_PROG(have_glib, glib-config, yes, no)
+-if test "$have_glib" = yes; then
+- PKG_CHECK_MODULES(GLIB, glib, [echo building GLib 1.2 support])
+-else
+- echo Not building Glib 1.2 support
++if test "x$with_glib" != "xno"; then
++ PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])
+ fi
+ AM_CONDITIONAL(HAVE_GLIB, test "$have_glib" = yes)
+
diff --git a/dev-libs/g-wrap/files/libffi_automagic.patch b/dev-libs/g-wrap/files/libffi_automagic.patch
new file mode 100644
index 000000000000..1cb6b1535225
--- /dev/null
+++ b/dev-libs/g-wrap/files/libffi_automagic.patch
@@ -0,0 +1,11 @@
+--- configure.ac.old 2007-03-02 15:20:54.000000000 +0100
++++ configure.ac 2007-03-02 15:21:08.000000000 +0100
+@@ -55,7 +55,7 @@
+ dnl
+
+ dnl libffi
+-ar_WITH_LIB_LIBFFI([have_libffi=yes], [have_libffi=no])
++ar_WITH_LIB_LIBFFI([have_libffi=no], [have_libffi=no])
+ LIBFFI_CFLAGS_INSTALLED="$LIBFFI_CFLAGS"
+ LIBFFI_LIBS_INSTALLED="$LIBFFI_LIBS"
+ if test "$have_libffi" = no; then
diff --git a/dev-libs/g-wrap/g-wrap-1.9.11.ebuild b/dev-libs/g-wrap/g-wrap-1.9.11.ebuild
new file mode 100644
index 000000000000..3b271c3d14ac
--- /dev/null
+++ b/dev-libs/g-wrap/g-wrap-1.9.11.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="A tool for exporting C libraries into Scheme"
+HOMEPAGE="http://www.nongnu.org/g-wrap/"
+SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/${P}.tar.gz"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+# guile-lib for srfi-34, srfi-35
+RDEPEND="
+ dev-libs/glib:2
+ dev-scheme/guile-lib
+ dev-scheme/guile[deprecated]
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+# cp guile/g-wrap-2.0-guile.pc.in guile/g-wrap-2.0-guile.pc.in.old
+
+ sed "s:@LIBFFI_CFLAGS_INSTALLED@:@LIBFFI_CFLAGS@:g" -i guile/g-wrap-2.0-guile.pc.in || die
+ sed "s:@LIBFFI_LIBS_INSTALLED@:@LIBFFI_LIBS@:g" -i guile/g-wrap-2.0-guile.pc.in || die
+
+# diff -u guile/g-wrap-2.0-guile.pc.in.old guile/g-wrap-2.0-guile.pc.in
+}
+
+src_configure() {
+ econf --with-glib --disable-Werror
+}
diff --git a/dev-libs/g-wrap/g-wrap-1.9.13.ebuild b/dev-libs/g-wrap/g-wrap-1.9.13.ebuild
new file mode 100644
index 000000000000..ab8d519622f3
--- /dev/null
+++ b/dev-libs/g-wrap/g-wrap-1.9.13.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="A tool for exporting C libraries into Scheme"
+HOMEPAGE="http://www.nongnu.org/g-wrap/"
+SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/${P}.tar.gz"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+# guile-lib for srfi-34, srfi-35
+RDEPEND="
+ dev-libs/glib:2
+ dev-scheme/guile-lib
+ dev-scheme/guile[deprecated]
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-util/indent"
+
+MAKEOPTS+=" -j1"
+
+src_configure() {
+ econf --disable-Werror --with-glib
+}
diff --git a/dev-libs/g-wrap/g-wrap-1.9.14.ebuild b/dev-libs/g-wrap/g-wrap-1.9.14.ebuild
new file mode 100644
index 000000000000..d662a7ad62db
--- /dev/null
+++ b/dev-libs/g-wrap/g-wrap-1.9.14.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="A tool for exporting C libraries into Scheme"
+HOMEPAGE="http://www.nongnu.org/g-wrap/"
+SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="static-libs"
+
+# guile-lib for srfi-34, srfi-35
+RDEPEND="
+ dev-libs/glib:2
+ dev-scheme/guile-lib
+ dev-scheme/guile[deprecated]
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-util/indent"
+
+MAKEOPTS+=" -j1"
+
+src_configure() {
+ local myeconfargs=( --disable-Werror --with-glib )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/g-wrap/metadata.xml b/dev-libs/g-wrap/metadata.xml
new file mode 100644
index 000000000000..c8d5dd1b2a4e
--- /dev/null
+++ b/dev-libs/g-wrap/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>scheme</herd>
+ <maintainer>
+ <email>hkBst@gentoo.org</email>
+ <name>Marijn Schouten</name>
+ </maintainer>
+ <longdescription lang="en">
+G-Wrap is a tool (and Guile library) for generating function wrappers for inter-language calls. It currently only supports generating Guile wrappers for C functions.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/gdl/Manifest b/dev-libs/gdl/Manifest
new file mode 100644
index 000000000000..82e0543782c2
--- /dev/null
+++ b/dev-libs/gdl/Manifest
@@ -0,0 +1,2 @@
+DIST gdl-3.14.0.tar.xz 537916 SHA256 4b903c28a8894a82b997a1732a443c8b1d6a510304b3c3b511023339ff5d01db SHA512 f602350e699ff539cb6f6523566653ce50d19b02a5490a4489bf94ef3e7904a64b97f2876745b42485266077bbe520383b765b45c9a2dfab5f42dff37c2323b5 WHIRLPOOL 6c8710c10cf866b3ea7653d2101e6c98cef22301206bc3b73ee91618d57c3e8e12c91e77c6e55d5b2f65124c8ad4ba33c94d1a51e6b3b648713870a30eae8537
+DIST gdl-3.16.0.tar.xz 527328 SHA256 34cbe104f5df9a20ea26aa8acca2b6d1a73035448aa854162c598e90f4e6ff80 SHA512 77a54a7ae1603f942e7f0731c76907a8e1f4fd1d20e27e13c365fd2f6130e2331ca3d467dccea032a5ac0303035df58271849f2f4e32df8f037868fd24351a94 WHIRLPOOL ca51eb143146b6bb380ee76ce3cfc7b7e4b1bff317d49045ec00e8f994034d947f1b2cae2590f9e891b88d57bac78ad08042f6d5bceb34f2f7c30e1572873dd0
diff --git a/dev-libs/gdl/gdl-3.14.0.ebuild b/dev-libs/gdl/gdl-3.14.0.ebuild
new file mode 100644
index 000000000000..ba5401e7eddb
--- /dev/null
+++ b/dev-libs/gdl/gdl-3.14.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GNOME docking library"
+HOMEPAGE="https://developer.gnome.org/gdl/"
+
+LICENSE="LGPL-2.1+"
+SLOT="3/5" # subslot = libgdl-3 soname version
+IUSE="+introspection"
+KEYWORDS="~alpha amd64 hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+
+RDEPEND="
+ dev-libs/glib:2
+ >=x11-libs/gtk+-3.0.0:3[introspection?]
+ >=dev-libs/libxml2-2.4:2
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.4
+ >=dev-util/intltool-0.40.4
+ virtual/pkgconfig
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README"
+ gnome2_src_configure $(use_enable introspection)
+}
diff --git a/dev-libs/gdl/gdl-3.16.0.ebuild b/dev-libs/gdl/gdl-3.16.0.ebuild
new file mode 100644
index 000000000000..a50bb72d9341
--- /dev/null
+++ b/dev-libs/gdl/gdl-3.16.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GNOME docking library"
+HOMEPAGE="https://developer.gnome.org/gdl/"
+
+LICENSE="LGPL-2.1+"
+SLOT="3/5" # subslot = libgdl-3 soname version
+IUSE="+introspection"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+RDEPEND="
+ dev-libs/glib:2
+ >=x11-libs/gtk+-3.0.0:3[introspection?]
+ >=dev-libs/libxml2-2.4:2
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.4
+ >=dev-util/intltool-0.40.4
+ virtual/pkgconfig
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README"
+ gnome2_src_configure $(use_enable introspection)
+}
diff --git a/dev-libs/gdl/metadata.xml b/dev-libs/gdl/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/gdl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/gecode/Manifest b/dev-libs/gecode/Manifest
new file mode 100644
index 000000000000..a9908f77b332
--- /dev/null
+++ b/dev-libs/gecode/Manifest
@@ -0,0 +1 @@
+DIST gecode-3.7.3.tar.gz 1643336 SHA256 e7cc8bcc18b49195fef0544061bdd2e484a1240923e4e85fa39e8d6bb492854c SHA512 292bafeaca3911b8af40d7c0f425cf0263f4408afad47f4f229a821ce89d06dc69ad1feeeef72531a1e711d797d249581b67c2d9cfdc9e544240012c838d2a5b WHIRLPOOL 5aad39285c73e2d918fca98b694b33e00b11fcc21d542a37e23424acc381696f20826d6c28a33a5cde8fbfdfd4254d05791f2db903903306887e4c4fdecb7104
diff --git a/dev-libs/gecode/gecode-3.7.3.ebuild b/dev-libs/gecode/gecode-3.7.3.ebuild
new file mode 100644
index 000000000000..74c441827401
--- /dev/null
+++ b/dev-libs/gecode/gecode-3.7.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="Gecode is an environment for developing constraint-based systems and applications"
+SRC_URI="http://www.gecode.org/download/${P}.tar.gz"
+HOMEPAGE="http://www.gecode.org/"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples gist"
+
+DEPEND="gist? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ media-libs/freetype
+ media-libs/libpng
+ >=dev-libs/glib-2
+)"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --disable-examples \
+ $(use_enable gist qt) \
+ $(use_enable gist)
+}
+
+src_compile() {
+ default
+ use doc && emake doc
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ dohtml -r doc/html/
+ einfo "HTML documentation has been installed into " \
+ "/usr/share/doc/${PF}/html"
+ fi
+
+ if use examples; then
+ docinto examples
+ doins examples/*.cpp
+ einfo "Example C++ programs have been installed into " \
+ "/usr/share/doc/${PF}/examples"
+ fi
+}
diff --git a/dev-libs/gecode/metadata.xml b/dev-libs/gecode/metadata.xml
new file mode 100644
index 000000000000..572f73ec811a
--- /dev/null
+++ b/dev-libs/gecode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="gist">
+ Enable Gist, the Gecode Interactive Search Tool
+ </flag>
+ </use>
+</pkgmetadata>
+
diff --git a/dev-libs/geoip/Manifest b/dev-libs/geoip/Manifest
new file mode 100644
index 000000000000..da938fb0d891
--- /dev/null
+++ b/dev-libs/geoip/Manifest
@@ -0,0 +1,2 @@
+DIST geoip-1.6.5.tar.gz 156441 SHA256 4a151b35e9d9db976b82645c758662a6cb778c669b2c65635d5834e4f885942e SHA512 1ed223a51d238b6bd8d247e1dcb20f6eb9e3f19d39bd262f7cbefb587ea029ed0abac540208916f3ca06bb86f9ea1e99614484fd1c32535892029e945471e702 WHIRLPOOL ca8cd55e16c9981b443fad9f788dc8f28a64dba86980740efeffaa9c4a9d5da84df8a23fb3710ef13741bb40bec0704ca80991e25d3b11fe10acd5a360c02d77
+DIST geoip-1.6.6.tar.gz 156796 SHA256 db8ed5d07292c75cb3018738e6411037f15cc2a517f38ee04c1232cbe3d30b46 SHA512 4cdd308500bcb827b3dd1c6d981299ea746251758b6a5df97bf2cf098b62b0a736394d5853a06c62437eb0808cb54efb14d0579f5212284f29016e3c8cdd9846 WHIRLPOOL 518749339b094c4166ab53d8ec38020c72f1550923e8c0084f438391dfe7965a9b2f7b3e27ef5ecac85a3f62aa14299e11fbd740ea103c320eef5fad357994b2
diff --git a/dev-libs/geoip/files/geoipupdate-r5.sh b/dev-libs/geoip/files/geoipupdate-r5.sh
new file mode 100644
index 000000000000..484ff7e2227a
--- /dev/null
+++ b/dev-libs/geoip/files/geoipupdate-r5.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+GEOIP_MIRROR="https://geolite.maxmind.com/download/geoip/database"
+GEOIPDIR=@PREFIX@/usr/share/GeoIP
+TMPDIR=
+
+DATABASES="
+ GeoIPv6
+ GeoLiteCity
+ GeoLiteCityv6-beta/GeoLiteCityv6
+ GeoLiteCountry/GeoIP
+ asnum/GeoIPASNum
+ asnum/GeoIPASNumv6
+"
+
+if [ "${1}" = -f ] || [ "${1}" = --force ]; then
+ force=true
+fi
+
+if [ -d "${GEOIPDIR}" ]; then
+ cd $GEOIPDIR
+ if [ -n "${DATABASES}" ]; then
+ TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX)
+
+ echo "Updating GeoIP databases..."
+
+ for db in $DATABASES; do
+ fname=$(basename $db)
+
+ if [ -f "${GEOIPDIR}/${fname}.dat" ] || [ ${force} ]; then
+ wget --no-verbose -t 3 -T 60 \
+ "${GEOIP_MIRROR}/${db}.dat.gz" \
+ -O "${TMPDIR}/${fname}.dat.gz"
+ if [ $? -eq 0 ]; then
+ gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat"
+ mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat"
+ chmod 0644 "${GEOIPDIR}/${fname}.dat"
+ case ${fname} in
+ GeoLite*) ln -sf ${fname}.dat `echo ${fname} | sed 's/GeoLite/GeoIP/'`.dat ;;
+ esac
+ fi
+ fi
+ done
+ [ -d "${TMPDIR}" ] && rm -rf $TMPDIR
+ fi
+fi
diff --git a/dev-libs/geoip/geoip-1.6.5.ebuild b/dev-libs/geoip/geoip-1.6.5.ebuild
new file mode 100644
index 000000000000..0b0a8ac5a5ab
--- /dev/null
+++ b/dev-libs/geoip/geoip-1.6.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="easily lookup countries by IP addresses, even when Reverse DNS entries don't exist"
+HOMEPAGE="https://github.com/maxmind/geoip-api-c"
+SRC_URI="
+ https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+# GPL-2 for md5.c - part of libGeoIPUpdate, MaxMind for GeoLite Country db
+LICENSE="LGPL-2.1 GPL-2 MaxMind2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+RESTRICT="test"
+
+DEPEND="net-misc/wget"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-api-c-${PV}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+ sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r5.sh > geoipupdate.sh || die
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog NEWS.md README*
+
+ prune_libtool_files
+
+ keepdir /usr/share/GeoIP
+
+ dosbin geoipupdate.sh
+}
+
+pkg_postinst() {
+ ewarn "WARNING: Databases are no longer installed by this ebuild."
+ elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
+ elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
+ elog "with geo-located IP address databases."
+}
diff --git a/dev-libs/geoip/geoip-1.6.6.ebuild b/dev-libs/geoip/geoip-1.6.6.ebuild
new file mode 100644
index 000000000000..f177d8da83fb
--- /dev/null
+++ b/dev-libs/geoip/geoip-1.6.6.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="easily lookup countries by IP addresses, even when Reverse DNS entries don't exist"
+HOMEPAGE="https://github.com/maxmind/geoip-api-c"
+SRC_URI="
+ https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+# GPL-2 for md5.c - part of libGeoIPUpdate, MaxMind for GeoLite Country db
+LICENSE="LGPL-2.1 GPL-2 MaxMind2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+RESTRICT="test"
+
+DEPEND="net-misc/wget"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-api-c-${PV}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+ sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r5.sh > geoipupdate.sh || die
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog NEWS.md README*
+
+ prune_libtool_files
+
+ keepdir /usr/share/GeoIP
+
+ dosbin geoipupdate.sh
+}
+
+pkg_postinst() {
+ ewarn "WARNING: Databases are no longer installed by this ebuild."
+ elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
+ elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
+ elog "with geo-located IP address databases."
+}
diff --git a/dev-libs/geoip/metadata.xml b/dev-libs/geoip/metadata.xml
new file mode 100644
index 000000000000..3b26dceb6f19
--- /dev/null
+++ b/dev-libs/geoip/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>netmon</herd>
+ <upstream>
+ <remote-id type="github">maxmind/geoip-api-c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gf2x/Manifest b/dev-libs/gf2x/Manifest
new file mode 100644
index 000000000000..566ed912f904
--- /dev/null
+++ b/dev-libs/gf2x/Manifest
@@ -0,0 +1,2 @@
+DIST gf2x-1.0.tar.gz 460810 SHA256 b64ffa9275cc2e995d37bcecbcdce9ba1df1e17d3d31d8685128d00df305e753 SHA512 f4658698972e31428d8349b423762e9ef5aaeb52d8081c9831baa4eb066737ab3e9667a700d5df79e0f0df2626db39f2f994df17da14719506d44dbb9b33af40 WHIRLPOOL 1f4bc9deca4a0e08555800f327b4ad76e58564523271dac29b337fa757e4aebcedec0ed9bfb738e0a24892ac25d9d8d65315a12f462e91d680a908ab1b35b050
+DIST gf2x-1.1.tar.gz 496708 SHA256 0d3f01604680102a00ca34e079903cc4d5a3208afda223748979b724d358849f SHA512 052cb2152773dc114a2a80cc64cd0679c1f57eceabcdc7cc25987b8d2599fa6d4871b5bb6ff71319727411b9b5aca11e431e43eafa474a419cf306d42d22ac2c WHIRLPOOL 6336dd24f05b8f18713578b65d129e667029876b3d67ab13113140d73aa7b14f2afbd2f4f2ef15d25470589b15aad382c0efefd3f1d0e47ba5e2bada42ee0580
diff --git a/dev-libs/gf2x/gf2x-1.0-r1.ebuild b/dev-libs/gf2x/gf2x-1.0-r1.ebuild
new file mode 100644
index 000000000000..fb44c6cdb287
--- /dev/null
+++ b/dev-libs/gf2x/gf2x-1.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+PACKAGEID=27999 # hack
+
+DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
+HOMEPAGE="http://gf2x.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="bindist static-libs"
+
+src_configure() {
+ local myeconfargs=(
+ ABI=default
+ )
+
+ if use bindist ; then
+ if use x86 ; then
+ myeconfargs+=(
+ --disable-sse2
+ )
+ fi
+ if use amd64 ; then
+ myeconfargs+=(
+ --disable-pclmul
+ )
+ fi
+ fi
+
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/gf2x/gf2x-1.1.ebuild b/dev-libs/gf2x/gf2x-1.1.ebuild
new file mode 100644
index 000000000000..eda6e1b5a3af
--- /dev/null
+++ b/dev-libs/gf2x/gf2x-1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+PACKAGEID=30873 # hack
+
+DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
+HOMEPAGE="http://gf2x.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="bindist static-libs"
+
+src_configure() {
+ local myeconfargs=(
+ ABI=default
+ )
+
+ if use bindist ; then
+ if use x86 ; then
+ myeconfargs+=(
+ --disable-sse2
+ )
+ fi
+ if use amd64 ; then
+ myeconfargs+=(
+ --disable-pclmul
+ )
+ fi
+ fi
+
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/gf2x/metadata.xml b/dev-libs/gf2x/metadata.xml
new file mode 100644
index 000000000000..65b8fbc6e876
--- /dev/null
+++ b/dev-libs/gf2x/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ gf2x is a C/C++ software package containing routines for fast
+ arithmetic in GF(2)[x] (multiplication, squaring, GCD) and searching
+ for irreducible/primitive trinomials.
+</longdescription>
+<use>
+ <flag name="bindist">Disable automatic fine-tuning to local
+ processor features like pclmul or sse2.</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/girara/Manifest b/dev-libs/girara/Manifest
new file mode 100644
index 000000000000..a160b8865981
--- /dev/null
+++ b/dev-libs/girara/Manifest
@@ -0,0 +1,3 @@
+DIST girara-0.2.2.tar.gz 72553 SHA256 6382dfdf1cc7ddfedf3d1ece5a7f07590c49b4932184ee8dec6d2bd121e66653 SHA512 216f737843523542697f995c08792adfaa0961414b7002d9b2740cc54f6fc94e61cbf06d5a71fa3e56637ad7594fe8c7cf5abb96784ff492c8305c2a7848ec8d WHIRLPOOL 4301b58585a11df21de19ca01b5a2f6c894e607106113860b3b562da1e986cb558ee6a062e40ea3b4a20d9b224a9289683c4098c30619edfa8cce3f82a2b0221
+DIST girara-0.2.3.tar.gz 74107 SHA256 b07fcce509a27c5917a997eb08cc5c8da20e9013f59ae89367ff048f2eae0ede SHA512 143a56e394838e255db1e6b95969023d74aa768b88f8b487c6f0f6d92753e0fdb43bfdca8423e161aeb7eae3abcd5777d45540ec5ec615fe72fb667418206c33 WHIRLPOOL 1d714a860aa5d4d2095c37450767544650996d0c06dba64a6cc221dea8352e293cb47de49ac5474e5abb71dc74f1621315e2561fd5d67088c85d138d0e7e1e2e
+DIST girara-0.2.4.tar.gz 74660 SHA256 2ee04e4c0e700d455ebaf92f804355f948754e7d3751d409db6595419e6ece5e SHA512 9e22c6beb1d85a84db7b014da12fe425dced36e5ef9cd5828303d438642e09943fc9ae150b925f8b8ea5bd4e8bf8803ee964ce400e67b3ea314a4dec0a4643b4 WHIRLPOOL 8a5323805656b8066c01798527d12de25cead2d3d670f6423e0615ca5bdca5ca829816e404a425c8a3c359afa50f339a88dddb243a63b939a2e383f61ab33c0d
diff --git a/dev-libs/girara/girara-0.2.2.ebuild b/dev-libs/girara/girara-0.2.2.ebuild
new file mode 100644
index 000000000000..1abc1fcaf2d0
--- /dev/null
+++ b/dev-libs/girara/girara-0.2.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+[[ ${PV} == 9999* ]] && inherit git-2
+
+DESCRIPTION="A library that implements a user interface that focuses on simplicity and minimalism"
+HOMEPAGE="http://pwmt.org/projects/girara/"
+if ! [[ ${PV} == 9999* ]]; then
+SRC_URI="http://pwmt.org/projects/${PN}/download/${P}.tar.gz"
+fi
+EGIT_REPO_URI="git://git.pwmt.org/${PN}.git"
+EGIT_BRANCH="develop"
+
+LICENSE="ZLIB"
+SLOT="3"
+if ! [[ ${PV} == 9999* ]]; then
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+else
+KEYWORDS=""
+fi
+IUSE="libnotify static-libs"
+
+RDEPEND=">=dev-libs/glib-2.28
+ >=x11-libs/gtk+-3.2:3
+ !<${CATEGORY}/${PN}-0.1.6
+ libnotify? ( >=x11-libs/libnotify-0.7 )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ mygiraraconf=(
+ WITH_LIBNOTIFY=$(usex libnotify 1 0)
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR='${PREFIX}'/$(get_libdir)
+ CC="$(tc-getCC)"
+ SFLAGS=''
+ VERBOSE=1
+ DESTDIR="${D}"
+ )
+}
+
+src_prepare() {
+ # Remove 'static' and 'install-static' targets
+ if ! use static-libs; then
+ sed -i \
+ -e '/^${PROJECT}:/s:static::' \
+ -e '/^install:/s:install-static::' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ emake "${mygiraraconf[@]}"
+}
+
+src_install() {
+ emake "${mygiraraconf[@]}" install
+ dodoc AUTHORS
+}
diff --git a/dev-libs/girara/girara-0.2.3.ebuild b/dev-libs/girara/girara-0.2.3.ebuild
new file mode 100644
index 000000000000..c1a06d07d367
--- /dev/null
+++ b/dev-libs/girara/girara-0.2.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+[[ ${PV} == 9999* ]] && inherit git-2
+
+DESCRIPTION="A library that implements a user interface that focuses on simplicity and minimalism"
+HOMEPAGE="http://pwmt.org/projects/girara/"
+if ! [[ ${PV} == 9999* ]]; then
+SRC_URI="http://pwmt.org/projects/${PN}/download/${P}.tar.gz"
+fi
+EGIT_REPO_URI="git://git.pwmt.org/${PN}.git"
+EGIT_BRANCH="develop"
+
+LICENSE="ZLIB"
+SLOT="3"
+if ! [[ ${PV} == 9999* ]]; then
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+else
+KEYWORDS=""
+fi
+IUSE="libnotify static-libs"
+
+RDEPEND=">=dev-libs/glib-2.28
+ >=x11-libs/gtk+-3.2:3
+ !<${CATEGORY}/${PN}-0.1.6
+ libnotify? ( >=x11-libs/libnotify-0.7 )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ mygiraraconf=(
+ WITH_LIBNOTIFY=$(usex libnotify 1 0)
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR='${PREFIX}'/$(get_libdir)
+ CC="$(tc-getCC)"
+ SFLAGS=''
+ VERBOSE=1
+ DESTDIR="${D}"
+ )
+}
+
+src_prepare() {
+ # Remove 'static' and 'install-static' targets
+ if ! use static-libs; then
+ sed -i \
+ -e '/^${PROJECT}:/s:static::' \
+ -e '/^install:/s:install-static::' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ emake "${mygiraraconf[@]}"
+}
+
+src_install() {
+ emake "${mygiraraconf[@]}" install
+ dodoc AUTHORS
+}
diff --git a/dev-libs/girara/girara-0.2.4.ebuild b/dev-libs/girara/girara-0.2.4.ebuild
new file mode 100644
index 000000000000..d8d5f7e2f37f
--- /dev/null
+++ b/dev-libs/girara/girara-0.2.4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+[[ ${PV} == 9999* ]] && inherit git-2
+
+DESCRIPTION="A library that implements a user interface that focuses on simplicity and minimalism"
+HOMEPAGE="http://pwmt.org/projects/girara/"
+if ! [[ ${PV} == 9999* ]]; then
+SRC_URI="http://pwmt.org/projects/${PN}/download/${P}.tar.gz"
+fi
+EGIT_REPO_URI="git://git.pwmt.org/${PN}.git"
+EGIT_BRANCH="develop"
+
+LICENSE="ZLIB"
+SLOT="3"
+if ! [[ ${PV} == 9999* ]]; then
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+else
+KEYWORDS=""
+fi
+IUSE="libnotify static-libs"
+
+RDEPEND=">=dev-libs/glib-2.28
+ >=x11-libs/gtk+-3.2:3
+ dev-libs/json-c
+ !<${CATEGORY}/${PN}-0.1.6
+ libnotify? ( >=x11-libs/libnotify-0.7 )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ mygiraraconf=(
+ WITH_LIBNOTIFY=$(usex libnotify 1 0)
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR='${PREFIX}'/$(get_libdir)
+ CC="$(tc-getCC)"
+ SFLAGS=''
+ VERBOSE=1
+ DESTDIR="${D}"
+ )
+}
+
+src_prepare() {
+ # Remove 'static' and 'install-static' targets
+ if ! use static-libs; then
+ sed -i \
+ -e '/^${PROJECT}:/s:static::' \
+ -e '/^install:/s:install-static::' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ emake "${mygiraraconf[@]}"
+}
+
+src_install() {
+ emake "${mygiraraconf[@]}" install
+ dodoc AUTHORS
+}
diff --git a/dev-libs/girara/girara-9999.ebuild b/dev-libs/girara/girara-9999.ebuild
new file mode 100644
index 000000000000..c1a06d07d367
--- /dev/null
+++ b/dev-libs/girara/girara-9999.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+[[ ${PV} == 9999* ]] && inherit git-2
+
+DESCRIPTION="A library that implements a user interface that focuses on simplicity and minimalism"
+HOMEPAGE="http://pwmt.org/projects/girara/"
+if ! [[ ${PV} == 9999* ]]; then
+SRC_URI="http://pwmt.org/projects/${PN}/download/${P}.tar.gz"
+fi
+EGIT_REPO_URI="git://git.pwmt.org/${PN}.git"
+EGIT_BRANCH="develop"
+
+LICENSE="ZLIB"
+SLOT="3"
+if ! [[ ${PV} == 9999* ]]; then
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+else
+KEYWORDS=""
+fi
+IUSE="libnotify static-libs"
+
+RDEPEND=">=dev-libs/glib-2.28
+ >=x11-libs/gtk+-3.2:3
+ !<${CATEGORY}/${PN}-0.1.6
+ libnotify? ( >=x11-libs/libnotify-0.7 )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ mygiraraconf=(
+ WITH_LIBNOTIFY=$(usex libnotify 1 0)
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR='${PREFIX}'/$(get_libdir)
+ CC="$(tc-getCC)"
+ SFLAGS=''
+ VERBOSE=1
+ DESTDIR="${D}"
+ )
+}
+
+src_prepare() {
+ # Remove 'static' and 'install-static' targets
+ if ! use static-libs; then
+ sed -i \
+ -e '/^${PROJECT}:/s:static::' \
+ -e '/^install:/s:install-static::' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ emake "${mygiraraconf[@]}"
+}
+
+src_install() {
+ emake "${mygiraraconf[@]}" install
+ dodoc AUTHORS
+}
diff --git a/dev-libs/girara/metadata.xml b/dev-libs/girara/metadata.xml
new file mode 100644
index 000000000000..a499015c1cce
--- /dev/null
+++ b/dev-libs/girara/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ssuominen@gentoo.org</email>
+ <name>Samuli Suominen</name>
+ </maintainer>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mlq@pwmt.org</email>
+ <name>Moritz Lipp</name>
+ </maintainer>
+ <maintainer status="active">
+ <email>sebastian+dev@ramacher.at</email>
+ <name>Sebastian Ramacher</name>
+ </maintainer>
+ <changelog>http://pwmt.org/projects/girara/download/</changelog>
+ <doc lang="en">http://pwmt.org/projects/girara/</doc>
+ <bugs-to>http://bugs.pwmt.org/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gjs/Manifest b/dev-libs/gjs/Manifest
new file mode 100644
index 000000000000..44bd65087c17
--- /dev/null
+++ b/dev-libs/gjs/Manifest
@@ -0,0 +1,3 @@
+DIST gjs-1.40.1.tar.xz 448204 SHA256 2f0d80ec96c6284785143abe51377d8a284977ea6c3cf0cef1020d92eae41793 SHA512 c3da112bed3bc97d93913df6284e7616a5893abc6db0fd0bef79c8d0594c9ae85ada61f7c262839d20905dc7ca31a8ac3d5319863aaaff1c69c0d834629d78eb WHIRLPOOL 54da01eeb63d7955150c674394911ff38ccf216c262e89a162455bd21f69fe64a36bca50bffc288c2eb2e90c543d2e41128169f686f7f06523d9fb786166b2dd
+DIST gjs-1.42.0.tar.xz 449264 SHA256 0c9afb7d5be6ead5b68059596f08eb7c3902b1676ee9c8846aa8df09647dba13 SHA512 8b2b118b832710ccb790b771416c1280b9ed07ed529afb2ae76fd50fa459e1f847ab6239899d5aea3c4136d32c36ac4c639afcc7374d8a98768e8f79b1338105 WHIRLPOOL b19fe1d94a96cf624433c972c7ce42057ee4ebc5c8012bf1237c553f268ea7d6f51de7fd4dab3f3f6a33b9f6c8231da9d83f47474fbe40c10b122db1c07138b0
+DIST gjs-1.43.3.tar.xz 455968 SHA256 82b54dd4590ea1622d19b2e27978bcb9c2c5b46922e1e1780ea79b6a28aa1c4e SHA512 7a97c80233203ef31ee5386558388f674f511e46884061f2cb058389cff8c1a11f629eb5f06de33b2086d8c69d9a5b39722f56d7de60b77e1a302041a0056ac9 WHIRLPOOL c3b71c5fcf10a5fce6418416b42a154d49036dce8436ad752430a3457833e247da70603b5e15c236e5709364cb7fc61aaf11dd3ce27f536081341c80e771c768
diff --git a/dev-libs/gjs/files/gjs-1.40.1-ownership-transfer.patch b/dev-libs/gjs/files/gjs-1.40.1-ownership-transfer.patch
new file mode 100644
index 000000000000..2a05e0e9465a
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.40.1-ownership-transfer.patch
@@ -0,0 +1,72 @@
+From a432e83f967f3d15ef14cfa8040f868af13d1e74 Mon Sep 17 00:00:00 2001
+From: Giovanni Campagna <gcampagna@src.gnome.org>
+Date: Tue, 6 May 2014 19:03:15 +0200
+Subject: function: respect ownership transfer of instance parameters
+
+When calling a method that is (transfer full) on the instance
+parameter we need to make an extra ref/copy.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=729545
+
+diff --git a/gi/function.cpp b/gi/function.cpp
+index 859ea44..792778c 100644
+--- a/gi/function.cpp
++++ b/gi/function.cpp
+@@ -543,6 +543,7 @@ gjs_fill_method_instance (JSContext *context,
+ GIBaseInfo *container = g_base_info_get_container((GIBaseInfo *) function->info);
+ GIInfoType type = g_base_info_get_type(container);
+ GType gtype = g_registered_type_info_get_g_type ((GIRegisteredTypeInfo *)container);
++ GITransfer transfer = g_callable_info_get_instance_ownership_transfer (function->info);
+
+ switch (type) {
+ case GI_INFO_TYPE_STRUCT:
+@@ -553,6 +554,8 @@ gjs_fill_method_instance (JSContext *context,
+ return JS_FALSE;
+
+ out_arg->v_pointer = gjs_gerror_from_error(context, obj);
++ if (transfer == GI_TRANSFER_EVERYTHING)
++ out_arg->v_pointer = g_error_copy ((GError*) out_arg->v_pointer);
+ } else {
+ if (!gjs_typecheck_boxed(context, obj,
+ container, gtype,
+@@ -560,6 +563,14 @@ gjs_fill_method_instance (JSContext *context,
+ return JS_FALSE;
+
+ out_arg->v_pointer = gjs_c_struct_from_boxed(context, obj);
++ if (transfer == GI_TRANSFER_EVERYTHING) {
++ if (gtype != G_TYPE_NONE)
++ out_arg->v_pointer = g_boxed_copy (gtype, out_arg->v_pointer);
++ else {
++ gjs_throw (context, "Cannot transfer ownership of instance argument for non boxed structure");
++ return JS_FALSE;
++ }
++ }
+ }
+ break;
+
+@@ -569,6 +580,8 @@ gjs_fill_method_instance (JSContext *context,
+ return JS_FALSE;
+
+ out_arg->v_pointer = gjs_c_union_from_union(context, obj);
++ if (transfer == GI_TRANSFER_EVERYTHING)
++ out_arg->v_pointer = g_boxed_copy (gtype, out_arg->v_pointer);
+ break;
+
+ case GI_INFO_TYPE_OBJECT:
+@@ -577,10 +590,14 @@ gjs_fill_method_instance (JSContext *context,
+ if (!gjs_typecheck_object(context, obj, gtype, JS_TRUE))
+ return JS_FALSE;
+ out_arg->v_pointer = gjs_g_object_from_object(context, obj);
++ if (transfer == GI_TRANSFER_EVERYTHING)
++ g_object_ref (out_arg->v_pointer);
+ } else if (gjs_typecheck_is_fundamental(context, obj, JS_FALSE)) {
+ if (!gjs_typecheck_fundamental(context, obj, gtype, JS_TRUE))
+ return JS_FALSE;
+ out_arg->v_pointer = gjs_g_fundamental_from_object(context, obj);
++ if (transfer == GI_TRANSFER_EVERYTHING)
++ gjs_fundamental_ref (context, out_arg->v_pointer);
+ } else {
+ gjs_throw_custom(context, "TypeError",
+ "%s.%s is not an object instance neither a fundamental instance of a supported type",
+--
+cgit v0.10.1
diff --git a/dev-libs/gjs/files/gjs-1.40.1-ratelimit-rss.patch b/dev-libs/gjs/files/gjs-1.40.1-ratelimit-rss.patch
new file mode 100644
index 000000000000..f4a95b8b371d
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.40.1-ratelimit-rss.patch
@@ -0,0 +1,45 @@
+From 791b1a33424897549f487eb75a80f13c4f94437a Mon Sep 17 00:00:00 2001
+From: Giovanni Campagna <gcampagna@src.gnome.org>
+Date: Fri, 11 Apr 2014 18:38:57 +0200
+Subject: Ratelimit RSS-triggered GCs
+
+When loading a lot of data in memory (for example in the shell
+opening the overview, which loads all the desktop files and icons)
+the RSS can increase a lot, so we would trigger GCs continously
+without any hope of freeing memory, so ratelimit full GCs to at
+most one every 5 frames.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=728048
+
+--- a/gjs/jsapi-util.cpp
++++ b/gjs/jsapi-util.cpp
+@@ -1176,6 +1176,7 @@
+ }
+
+ static gulong linux_rss_trigger;
++static gint64 last_gc_time;
+ #endif
+
+ /**
+@@ -1193,6 +1194,13 @@
+ /* We initiate a GC if VM or RSS has grown by this much */
+ gulong vmsize;
+ gulong rss_size;
++ gint64 now;
++
++ /* We rate limit GCs to at most one per 5 frames.
++ One frame is 16666 microseconds (1000000/60)*/
++ now = g_get_monotonic_time();
++ if (now - last_gc_time < 5 * 16666)
++ return;
+
+ _linux_get_self_process_size (&vmsize, &rss_size);
+
+@@ -1209,6 +1217,7 @@
+ if (rss_size > linux_rss_trigger) {
+ linux_rss_trigger = (gulong) MIN(G_MAXULONG, rss_size * 1.25);
+ JS_GC(JS_GetRuntime(context));
++ last_gc_time = now;
+ } else if (rss_size < (0.75 * linux_rss_trigger)) {
+ /* If we've shrunk by 75%, lower the trigger */
+ linux_rss_trigger = (rss_size * 1.25);
diff --git a/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-1.patch b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-1.patch
new file mode 100644
index 000000000000..2ec481bc8ecb
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-1.patch
@@ -0,0 +1,48 @@
+From 554c220e78172213e9637f9a901009b4bc964e3a Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Date: Wed, 15 Jan 2014 17:00:22 -0500
+Subject: [PATCH] gjs-tests: Remove dumpstack test
+
+OK, I lied. This is the most useless test ever.
+---
+ test/gjs-tests.cpp | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/test/gjs-tests.cpp b/test/gjs-tests.cpp
+index b79b616..6cade7b 100644
+--- a/test/gjs-tests.cpp
++++ b/test/gjs-tests.cpp
+@@ -163,22 +163,6 @@ gjstest_test_func_gjs_jsapi_util_string_js_string_utf8(void)
+ }
+
+ static void
+-gjstest_test_func_gjs_stack_dump(void)
+-{
+- GjsContext *context;
+-
+- /* TODO this test could be better - maybe expose dumpstack as a JS API
+- * so that we have a JS stack to dump? At least here we're getting some
+- * coverage.
+- */
+- context = gjs_context_new();
+-
+- gjs_dumpstack();
+- g_object_unref(context);
+- gjs_dumpstack();
+-}
+-
+-static void
+ gjstest_test_func_gjs_jsapi_util_error_throw(void)
+ {
+ GjsUnitTestFixture fixture;
+@@ -348,7 +332,6 @@ main(int argc,
+ g_test_add_func("/gjs/jsutil/strip_shebang/no_shebang", gjstest_test_strip_shebang_no_advance_for_no_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/have_shebang", gjstest_test_strip_shebang_advance_for_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/only_shebang", gjstest_test_strip_shebang_return_null_for_just_shebang);
+- g_test_add_func("/gjs/stack/dump", gjstest_test_func_gjs_stack_dump);
+ g_test_add_func("/util/glib/strv/concat/null", gjstest_test_func_util_glib_strv_concat_null);
+ g_test_add_func("/util/glib/strv/concat/pointers", gjstest_test_func_util_glib_strv_concat_pointers);
+
+--
+2.1.2
+
diff --git a/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-2.patch b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-2.patch
new file mode 100644
index 000000000000..2490a63fea90
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-2.patch
@@ -0,0 +1,40 @@
+From 4ea9fda3f323355d10e946d19d817fe8c4e6b533 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 12 Oct 2014 21:57:11 +0200
+Subject: [PATCH 1/2] Comment broken unittests
+
+---
+ test/gjs-tests.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/test/gjs-tests.cpp b/test/gjs-tests.cpp
+index 6cade7b..4d6c61e 100644
+--- a/test/gjs-tests.cpp
++++ b/test/gjs-tests.cpp
+@@ -324,18 +324,18 @@ main(int argc,
+
+ g_test_init(&argc, &argv, NULL);
+
+- g_test_add_func("/gjs/context/construct/destroy", gjstest_test_func_gjs_context_construct_destroy);
++ /* g_test_add_func("/gjs/context/construct/destroy", gjstest_test_func_gjs_context_construct_destroy); */
+ g_test_add_func("/gjs/context/construct/eval", gjstest_test_func_gjs_context_construct_eval);
+- g_test_add_func("/gjs/jsapi/util/array", gjstest_test_func_gjs_jsapi_util_array);
+- g_test_add_func("/gjs/jsapi/util/error/throw", gjstest_test_func_gjs_jsapi_util_error_throw);
+- g_test_add_func("/gjs/jsapi/util/string/js/string/utf8", gjstest_test_func_gjs_jsapi_util_string_js_string_utf8);
++ /* g_test_add_func("/gjs/jsapi/util/array", gjstest_test_func_gjs_jsapi_util_array); */
++ /* g_test_add_func("/gjs/jsapi/util/error/throw", gjstest_test_func_gjs_jsapi_util_error_throw); */
++ /* g_test_add_func("/gjs/jsapi/util/string/js/string/utf8", gjstest_test_func_gjs_jsapi_util_string_js_string_utf8); */
+ g_test_add_func("/gjs/jsutil/strip_shebang/no_shebang", gjstest_test_strip_shebang_no_advance_for_no_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/have_shebang", gjstest_test_strip_shebang_advance_for_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/only_shebang", gjstest_test_strip_shebang_return_null_for_just_shebang);
+ g_test_add_func("/util/glib/strv/concat/null", gjstest_test_func_util_glib_strv_concat_null);
+ g_test_add_func("/util/glib/strv/concat/pointers", gjstest_test_func_util_glib_strv_concat_pointers);
+
+- gjs_test_add_tests_for_coverage ();
++ /* gjs_test_add_tests_for_coverage (); */
+
+ g_test_run();
+
+--
+2.1.2
+
diff --git a/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-3.patch b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-3.patch
new file mode 100644
index 000000000000..7b2898b75cf5
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.42.0-disable-unittest-3.patch
@@ -0,0 +1,35 @@
+From da18a2676477138693e893d3245316f987d74497 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 12 Oct 2014 21:57:45 +0200
+Subject: [PATCH 2/2] Comment broken JS unittest
+
+---
+ installed-tests/js/testLocale.js | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/installed-tests/js/testLocale.js b/installed-tests/js/testLocale.js
+index b086a66..0c5abb1 100644
+--- a/installed-tests/js/testLocale.js
++++ b/installed-tests/js/testLocale.js
+@@ -1,14 +1,14 @@
+ // tests for JS_SetLocaleCallbacks().
+ const JSUnit = imports.jsUnit;
+
+-function testToLocaleDateString() {
+- let date = new Date();
++//function testToLocaleDateString() {
++ //let date = new Date();
+ // %A is the weekday name, this tests locale_to_unicode
+ // we're basically just testing for a non-crash, since
+ // we'd have to run in a specific locale to have any
+ // idea about the result.
+- date.toLocaleDateString("%A");
+-}
++ //date.toLocaleDateString("%A");
++//}
+
+ function testToLocaleLowerCase() {
+ JSUnit.assertEquals("aaa", "AAA".toLocaleLowerCase());
+--
+2.1.2
+
diff --git a/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-1.patch b/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-1.patch
new file mode 100644
index 000000000000..c6d740ad5537
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-1.patch
@@ -0,0 +1,40 @@
+From 115c97bb07f71ac91e20b84f9da6389434d31999 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 12 Oct 2014 21:57:11 +0200
+Subject: [PATCH 1/2] Comment broken unittests
+
+---
+ test/gjs-tests.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/test/gjs-tests.cpp b/test/gjs-tests.cpp
+index 6cade7b..4d6c61e 100644
+--- a/test/gjs-tests.cpp
++++ b/test/gjs-tests.cpp
+@@ -324,18 +324,18 @@ main(int argc,
+
+ g_test_init(&argc, &argv, NULL);
+
+- g_test_add_func("/gjs/context/construct/destroy", gjstest_test_func_gjs_context_construct_destroy);
++ /* g_test_add_func("/gjs/context/construct/destroy", gjstest_test_func_gjs_context_construct_destroy); */
+ g_test_add_func("/gjs/context/construct/eval", gjstest_test_func_gjs_context_construct_eval);
+- g_test_add_func("/gjs/jsapi/util/array", gjstest_test_func_gjs_jsapi_util_array);
+- g_test_add_func("/gjs/jsapi/util/error/throw", gjstest_test_func_gjs_jsapi_util_error_throw);
+- g_test_add_func("/gjs/jsapi/util/string/js/string/utf8", gjstest_test_func_gjs_jsapi_util_string_js_string_utf8);
++ /* g_test_add_func("/gjs/jsapi/util/array", gjstest_test_func_gjs_jsapi_util_array); */
++ /* g_test_add_func("/gjs/jsapi/util/error/throw", gjstest_test_func_gjs_jsapi_util_error_throw); */
++ /* g_test_add_func("/gjs/jsapi/util/string/js/string/utf8", gjstest_test_func_gjs_jsapi_util_string_js_string_utf8); */
+ g_test_add_func("/gjs/jsutil/strip_shebang/no_shebang", gjstest_test_strip_shebang_no_advance_for_no_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/have_shebang", gjstest_test_strip_shebang_advance_for_shebang);
+ g_test_add_func("/gjs/jsutil/strip_shebang/only_shebang", gjstest_test_strip_shebang_return_null_for_just_shebang);
+ g_test_add_func("/util/glib/strv/concat/null", gjstest_test_func_util_glib_strv_concat_null);
+ g_test_add_func("/util/glib/strv/concat/pointers", gjstest_test_func_util_glib_strv_concat_pointers);
+
+- gjs_test_add_tests_for_coverage ();
++ /* gjs_test_add_tests_for_coverage (); */
+
+ g_test_run();
+
+--
+2.3.6
+
diff --git a/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-2.patch b/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-2.patch
new file mode 100644
index 000000000000..fe21f92dfc2b
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.43.3-disable-unittest-2.patch
@@ -0,0 +1,35 @@
+From c9d63c7531a29418c64dc44556519d7bd1664ce4 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 12 Oct 2014 21:57:45 +0200
+Subject: [PATCH 2/2] Comment broken JS unittest
+
+---
+ installed-tests/js/testLocale.js | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/installed-tests/js/testLocale.js b/installed-tests/js/testLocale.js
+index b086a66..0c5abb1 100644
+--- a/installed-tests/js/testLocale.js
++++ b/installed-tests/js/testLocale.js
+@@ -1,14 +1,14 @@
+ // tests for JS_SetLocaleCallbacks().
+ const JSUnit = imports.jsUnit;
+
+-function testToLocaleDateString() {
+- let date = new Date();
++//function testToLocaleDateString() {
++ //let date = new Date();
+ // %A is the weekday name, this tests locale_to_unicode
+ // we're basically just testing for a non-crash, since
+ // we'd have to run in a specific locale to have any
+ // idea about the result.
+- date.toLocaleDateString("%A");
+-}
++ //date.toLocaleDateString("%A");
++//}
+
+ function testToLocaleLowerCase() {
+ JSUnit.assertEquals("aaa", "AAA".toLocaleLowerCase());
+--
+2.3.6
+
diff --git a/dev-libs/gjs/gjs-1.40.1-r1.ebuild b/dev-libs/gjs/gjs-1.40.1-r1.ebuild
new file mode 100644
index 000000000000..42226a629b29
--- /dev/null
+++ b/dev-libs/gjs/gjs-1.40.1-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 pax-utils virtualx
+
+DESCRIPTION="Javascript bindings for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
+
+LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
+SLOT="0"
+IUSE="+cairo examples gtk test"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/gobject-introspection-1.40.0-r2
+
+ sys-libs/readline:0
+ dev-lang/spidermonkey:24
+ virtual/libffi
+ cairo? ( x11-libs/cairo )
+ gtk? ( x11-libs/gtk+:3 )
+"
+DEPEND="${RDEPEND}
+ gnome-base/gnome-common
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( sys-apps/dbus )
+"
+
+# Large amount of tests are broken even in master.
+RESTRICT="test"
+
+src_prepare() {
+ # Prevent gjs crashes, bug #523608 (from 'master')
+ epatch "${FILESDIR}/${PN}-1.40.1-ownership-transfer.patch"
+
+ # Ratelimit RSS-triggered GCs (from 'master')
+ epatch "${FILESDIR}/${PN}-1.40.1-ratelimit-rss.patch"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # FIXME: add systemtap/dtrace support, like in glib:2
+ # FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
+ # XXX: Do NOT enable coverage, completely useless for portage installs
+ gnome2_src_configure \
+ --disable-systemtap \
+ --disable-dtrace \
+ --disable-coverage \
+ $(use_with cairo cairo) \
+ $(use_with gtk)
+}
+
+src_test() {
+ Xemake check
+}
+
+src_install() {
+ # installation sometimes fails in parallel
+ gnome2_src_install -j1
+
+ if use examples; then
+ insinto /usr/share/doc/"${PF}"/examples
+ doins "${S}"/examples/*
+ fi
+
+ # Required for gjs-console to run correctly on PaX systems
+ pax-mark mr "${ED}/usr/bin/gjs-console"
+}
diff --git a/dev-libs/gjs/gjs-1.42.0.ebuild b/dev-libs/gjs/gjs-1.42.0.ebuild
new file mode 100644
index 000000000000..d6e5a0a703c6
--- /dev/null
+++ b/dev-libs/gjs/gjs-1.42.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 pax-utils virtualx
+
+DESCRIPTION="Javascript bindings for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
+
+LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
+SLOT="0"
+IUSE="+cairo examples gtk test"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/gobject-introspection-1.41.4
+
+ sys-libs/readline:0
+ dev-lang/spidermonkey:24
+ virtual/libffi
+ cairo? ( x11-libs/cairo[X] )
+ gtk? ( x11-libs/gtk+:3 )
+"
+DEPEND="${RDEPEND}
+ gnome-base/gnome-common
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( sys-apps/dbus )
+"
+
+src_prepare() {
+ # Disable broken unittests
+ epatch "${FILESDIR}"/${PN}-1.42.0-disable-unittest-*.patch
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # FIXME: add systemtap/dtrace support, like in glib:2
+ # FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
+ # XXX: Do NOT enable coverage, completely useless for portage installs
+ gnome2_src_configure \
+ --disable-systemtap \
+ --disable-dtrace \
+ --disable-coverage \
+ $(use_with cairo cairo) \
+ $(use_with gtk)
+}
+
+src_test() {
+ Xemake check
+}
+
+src_install() {
+ # installation sometimes fails in parallel
+ gnome2_src_install -j1
+
+ if use examples; then
+ insinto /usr/share/doc/"${PF}"/examples
+ doins "${S}"/examples/*
+ fi
+
+ # Required for gjs-console to run correctly on PaX systems
+ pax-mark mr "${ED}/usr/bin/gjs-console"
+}
diff --git a/dev-libs/gjs/gjs-1.43.3.ebuild b/dev-libs/gjs/gjs-1.43.3.ebuild
new file mode 100644
index 000000000000..3499b997d758
--- /dev/null
+++ b/dev-libs/gjs/gjs-1.43.3.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 pax-utils virtualx
+
+DESCRIPTION="Javascript bindings for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
+
+LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
+SLOT="0"
+IUSE="+cairo examples gtk test"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/gobject-introspection-1.41.4
+
+ sys-libs/readline:0
+ dev-lang/spidermonkey:24
+ virtual/libffi
+ cairo? ( x11-libs/cairo[X] )
+ gtk? ( x11-libs/gtk+:3 )
+"
+DEPEND="${RDEPEND}
+ gnome-base/gnome-common
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( sys-apps/dbus )
+"
+
+src_prepare() {
+ # Disable broken unittests
+ epatch "${FILESDIR}"/${PN}-1.43.3-disable-unittest-*.patch
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # FIXME: add systemtap/dtrace support, like in glib:2
+ # FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
+ # XXX: Do NOT enable coverage, completely useless for portage installs
+ gnome2_src_configure \
+ --disable-systemtap \
+ --disable-dtrace \
+ --disable-coverage \
+ $(use_with cairo cairo) \
+ $(use_with gtk)
+}
+
+src_test() {
+ Xemake check
+}
+
+src_install() {
+ # installation sometimes fails in parallel
+ gnome2_src_install -j1
+
+ if use examples; then
+ insinto /usr/share/doc/"${PF}"/examples
+ doins "${S}"/examples/*
+ fi
+
+ # Required for gjs-console to run correctly on PaX systems
+ pax-mark mr "${ED}/usr/bin/gjs-console"
+}
diff --git a/dev-libs/gjs/metadata.xml b/dev-libs/gjs/metadata.xml
new file mode 100644
index 000000000000..6e0e2ecb48ca
--- /dev/null
+++ b/dev-libs/gjs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
new file mode 100644
index 000000000000..ee6dea7899a1
--- /dev/null
+++ b/dev-libs/glib/Manifest
@@ -0,0 +1,6 @@
+DIST glib-1.2.10-r1-as-needed.patch.bz2 9099 SHA256 3bb8c45706f97b526da851061c89618bc258fa61f9100802c1340548e4bb2731 SHA512 e65c7f66254eae22deaa67bf621ebd1d7af897b93d93ba6cffaa4ce9894cf14c140e6888d877b6b36fcea8be1b8d1ef4fcc7ec1719bd23b1cc6fd662876c70ae WHIRLPOOL 20254678a86595353058ee8dc81a02e4ae7bb16ba9ba34e036fe2e99d3fffa25c825f8961bdeb5fa50c49582ce37e65684e414631c74653c4523c2baee34c341
+DIST glib-1.2.10.tar.gz 421480 SHA256 6e1ce7eedae713b11db82f11434d455d8a1379f783a79812cd2e05fc024a8d9f SHA512 4452b741382194d4ca425f084fa60e1a9e30040ac2e839c9136047d0461cf4b1ebcc16aac4e65998d1b9329ead8f617966b3d09317a83634f14d556a7e14b7a8 WHIRLPOOL 478957ce8e49228d022bae50b042cdfc6d522d0d4880a0328b5695471295450c81c5e186e1760e56e317a4c4c95aabc5f2010d7a9b912fc451d04e14610e7dca
+DIST glib-2.40.2.tar.xz 7001344 SHA256 e8ff8af2950897e805408480c454c415d1eade4e670ec5fb507f5e5853726c7a SHA512 6d4c254a033a2e558574fb1aa95f6f3215a24d49d69cdb353f0186cac186eb1301563ab271ac86d82734dd1586d88fdd9d53f1c0e2b43f103aae53223884c153 WHIRLPOOL 2b5bfb3647cd802264716cc69ea0e7e26385b9b0db0610ea7078ba99a0a90dadc9197c49fa122cc8082a8edb166ad8f2d6be76e5b7491e786c74ce4aac91d472
+DIST glib-2.42.2.tar.xz 7002480 SHA256 a3cc1ebd2bd310a9fdf42ae4293ee713cdf1764bd29f552febf3bf44cadae7db SHA512 6b46e4ac67d79ca2cc5c32ceb7cc8112140645032cb3c8c9ba2f59a0d3c2aee06707b7573bbd72f6c21ea7798a7351bd205aa57857a58b0be008c75f897ef782 WHIRLPOOL 5c25c5f6d20217cce4f8c34d9d05cd39197b4b36c5a85447943fcab47cd343253879516b722eb0c4895eebae5f3d4e76c820730b9e7f6c890aca9c87dc963564
+DIST glib-2.44.1.tar.xz 7132940 SHA256 8811deacaf8a503d0a9b701777ea079ca6a4277be10e3d730d2112735d5eca07 SHA512 c24d307408e061b2657f7e7d1b8245c55605ebda26ee2dcc3497ee9d90bfc137d8e5f42f0cd5acf4b49ea28c424fa901e81f75ecf81833f6d0fe51d5e36e5888 WHIRLPOOL 6a1eef94b3ffed4d5cb551f4def6859ddff8ea0aac50048e706863f2bd4957c40b7034946852fa4604a109eb121c55b94ec51b3708a325ace5692f61fd1babb7
+DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
diff --git a/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch b/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch
new file mode 100644
index 000000000000..abca1ed8db19
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch
@@ -0,0 +1,23 @@
+Replace macros deprecated in automake-1.13; fixed upstream in glib-2.36
+
+diff --git a/configure.in b/configure.in
+index e94cc77..d88d834 100644
+--- a/configure.in
++++ b/configure.in
+@@ -60,7 +60,7 @@ PACKAGE=glib
+ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
+
+ # Specify a configuration file
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION)
+ AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION)
+@@ -151,7 +151,6 @@ AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+
+ # Checks for programs.
+ AC_PROG_CC
+-AM_PROG_CC_STDC
+ AC_PROG_INSTALL
+
+ changequote(,)dnl
diff --git a/dev-libs/glib/files/glib-1.2.10-automake.patch b/dev-libs/glib/files/glib-1.2.10-automake.patch
new file mode 100644
index 000000000000..c4f8fd32110c
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-automake.patch
@@ -0,0 +1,29 @@
+fix errors with newer automake:
+
+gmodule/Makefile.am:44: testgmodule_LDFLAGS must be set with `=' before using `+='
+
+Makefile.am:73: BUILT_SOURCES multiply defined in condition TRUE ...
+Makefile.am:11: ... `BUILT_SOURCES' previously defined here
+
+--- Makefile.am
++++ Makefile.am
+@@ -70,7 +70,7 @@
+
+ CONFIGURE_DEPENDENCIES = acglib.m4
+
+-BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
++BUILT_SOURCES += stamp-gc-h #note: not glibconfig.h
+ glibconfig.h: stamp-gc-h
+ @:
+ stamp-gc-h: config.status
+--- gmodule/Makefile.am
++++ gmodule/Makefile.am
+@@ -41,7 +41,7 @@
+ libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ $(libglib)
+
+ noinst_PROGRAMS = testgmodule
+-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
++testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
+ testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
+
+ .PHONY: files release
diff --git a/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
new file mode 100644
index 000000000000..b5e9e82a74f1
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
@@ -0,0 +1,44 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/133679
+
+--- configure
++++ configure
+@@ -54,6 +54,19 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ unset $as_var
++ fi
++done
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
new file mode 100644
index 000000000000..1b896484d2d9
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
@@ -0,0 +1,41 @@
+--- glib-1.2.10/gstrfuncs.c.orig 2001-02-27 07:00:22.000000000 +0100
++++ glib-1.2.10/gstrfuncs.c 2004-03-01 13:19:49.531603760 +0100
+@@ -867,7 +867,7 @@
+ /* beware of positional parameters
+ */
+ case '$':
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle positional parameters (%%n$)");
+ len += 1024; /* try adding some safety padding */
+ break;
+@@ -1034,7 +1034,7 @@
+ /* n . dddddddddddddddddddddddd E +- eeee */
+ conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
+ if (spec.mod_extra_long)
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle long double, collecting double only");
+ #ifdef HAVE_LONG_DOUBLE
+ #error need to implement special handling for long double
+@@ -1077,7 +1077,7 @@
+ conv_done = TRUE;
+ if (spec.mod_long)
+ {
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle wide char strings");
+ len += 1024; /* try adding some safety padding */
+ }
+@@ -1108,9 +1108,8 @@
+ conv_len += format - spec_start;
+ break;
+ default:
+- g_warning (G_GNUC_PRETTY_FUNCTION
+- "(): unable to handle `%c' while parsing format",
+- c);
++ g_warning ("%s(): unable to handle `%c' while parsing format",
++ G_GNUC_PRETTY_FUNCTION, c);
+ break;
+ }
+ conv_done |= conv_len > 0;
diff --git a/dev-libs/glib/files/glib-1.2.10-m4.patch b/dev-libs/glib/files/glib-1.2.10-m4.patch
new file mode 100644
index 000000000000..f57ecf7c11f9
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-m4.patch
@@ -0,0 +1,9 @@
+Fix aclocal warning:
+/usr/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB
+--- glib-1.2.10/glib.m4
++++ glib-1.2.10/glib.m4
+@@ -7,3 +7,3 @@
+ dnl
+-AC_DEFUN(AM_PATH_GLIB,
++AC_DEFUN([AM_PATH_GLIB],
+ [dnl
diff --git a/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch b/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch
new file mode 100644
index 000000000000..584b56f41c94
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch
@@ -0,0 +1,44 @@
+From 4881b5d303512208b55f5bf78b91cd6a85e5034c Mon Sep 17 00:00:00 2001
+From: Priit Laes <plaes@plaes.org>
+Date: Tue, 3 Jul 2012 11:21:56 +0300
+Subject: [PATCH 2/4] Gentoo: skip over thread/thread4 test failure
+
+https://bugzilla.gnome.org/show_bug.cgi?id=679306
+---
+ glib/tests/thread.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glib/tests/thread.c b/glib/tests/thread.c
+index 539782e..179ec06 100644
+--- a/glib/tests/thread.c
++++ b/glib/tests/thread.c
+@@ -124,6 +124,8 @@ test_thread3 (void)
+ g_assert_cmpint (GPOINTER_TO_INT(result), ==, 9);
+ }
+
++#if 0
++// https://bugzilla.gnome.org/show_bug.cgi?id=679306
+ /* test that thread creation fails as expected,
+ * by setting RLIMIT_NPROC ridiculously low
+ */
+@@ -158,6 +160,7 @@ test_thread4 (void)
+ g_error ("resetting RLIMIT_NPROC failed: %s\n", g_strerror (ret));
+ #endif
+ }
++#endif
+
+ static void
+ test_thread5 (void)
+@@ -203,7 +206,9 @@ main (int argc, char *argv[])
+ g_test_add_func ("/thread/thread1", test_thread1);
+ g_test_add_func ("/thread/thread2", test_thread2);
+ g_test_add_func ("/thread/thread3", test_thread3);
++#if 0
+ g_test_add_func ("/thread/thread4", test_thread4);
++#endif
+ g_test_add_func ("/thread/thread5", test_thread5);
+ g_test_add_func ("/thread/thread6", test_thread6);
+
+--
+1.8.3.2
+
diff --git a/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch b/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch
new file mode 100644
index 000000000000..50a9370e36c4
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch
@@ -0,0 +1,95 @@
+diff --git a/configure.ac b/configure.ac
+index a01e58d..59d4527 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -367,14 +367,14 @@ AC_SUBST(PERL_PATH)
+ # option to specify python interpreter to use; this just sets $PYTHON, so that
+ # we will fallback to reading $PYTHON if --with-python is not given, and
+ # python.m4 will get the expected input
+-AC_ARG_WITH(python,
+- AS_HELP_STRING([--with-python=PATH],
+- [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
+- [PYTHON="$withval"], [])
+-if test x"$PYTHON" = xyes; then
+- AC_MSG_ERROR([--with-python option requires a path or program argument])
+-fi
+-AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
++# AC_ARG_WITH(python,
++# AS_HELP_STRING([--with-python=PATH],
++# [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
++# [PYTHON="$withval"], [])
++# if test x"$PYTHON" = xyes; then
++# AC_MSG_ERROR([--with-python option requires a path or program argument])
++# fi
++# AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
+
+
+ dnl ***********************
+@@ -3580,7 +3580,6 @@ gobject/glib-mkenums
+ gobject/tests/Makefile
+ gthread/Makefile
+ gio/Makefile
+-gio/gdbus-2.0/codegen/Makefile
+ gio/gdbus-2.0/codegen/config.py
+ gio/gnetworking.h
+ gio/xdgmime/Makefile
+diff --git a/docs/reference/gio/Makefile.am b/docs/reference/gio/Makefile.am
+index 47fdd38..c7eb136 100644
+--- a/docs/reference/gio/Makefile.am
++++ b/docs/reference/gio/Makefile.am
+@@ -157,8 +157,7 @@ man_MANS += \
+ glib-compile-resources.1 \
+ gsettings.1 \
+ gresource.1 \
+- gdbus.1 \
+- gdbus-codegen.1
++ gdbus.1
+
+ XSLTPROC_FLAGS = \
+ --nonet \
+diff --git a/gio/Makefile.am b/gio/Makefile.am
+index e993e2f..025ad94 100644
+--- a/gio/Makefile.am
++++ b/gio/Makefile.am
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/glib.mk
+
+-SUBDIRS = gdbus-2.0/codegen
++SUBDIRS =
+
+ if OS_UNIX
+ SUBDIRS += xdgmime
+diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
+index 2c54e59..3cd3c5a 100644
+--- a/gio/tests/Makefile.am
++++ b/gio/tests/Makefile.am
+@@ -437,10 +437,8 @@ gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotifica
+
+ BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
+ gdbus-test-codegen.o: gdbus-test-codegen-generated.h
+-gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
+- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
+- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
+- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
++gdbus-test-codegen-generated.h: test-codegen.xml Makefile
++ $(AM_V_GEN) gdbus-codegen \
+ --interface-prefix org.project. \
+ --generate-c-code gdbus-test-codegen-generated \
+ --c-generate-object-manager \
+diff --git a/gio/tests/gdbus-object-manager-example/Makefile.am b/gio/tests/gdbus-object-manager-example/Makefile.am
+index d6d1412..62ef706 100644
+--- a/gio/tests/gdbus-object-manager-example/Makefile.am
++++ b/gio/tests/gdbus-object-manager-example/Makefile.am
+@@ -11,10 +11,8 @@ GDBUS_GENERATED = \
+ gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
+ $(NULL)
+
+-$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
+- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
+- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
+- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
++$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile
++ $(AM_V_GEN) gdbus-codegen \
+ --interface-prefix org.gtk.GDBus.Example.ObjectManager. \
+ --c-namespace Example \
+ --c-generate-object-manager \
diff --git a/dev-libs/glib/glib-1.2.10-r5.ebuild b/dev-libs/glib/glib-1.2.10-r5.ebuild
new file mode 100644
index 000000000000..5f268353c923
--- /dev/null
+++ b/dev-libs/glib/glib-1.2.10-r5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools libtool flag-o-matic eutils portability
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="ftp://ftp.gtk.org/pub/gtk/v1.2/${P}.tar.gz
+ ftp://ftp.gnome.org/pub/GNOME/stable/sources/glib/${P}.tar.gz
+ mirror://gentoo/glib-1.2.10-r1-as-needed.patch.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="hardened"
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-configure-LANG.patch #133679
+
+ # Allow glib to build with gcc-3.4.x #47047
+ epatch "${FILESDIR}"/${P}-gcc34-fix.patch
+
+ # Fix for -Wl,--as-needed (bug #133818)
+ epatch "${DISTDIR}"/glib-1.2.10-r1-as-needed.patch.bz2
+
+ # build failure with automake-1.13
+ epatch "${FILESDIR}/${P}-automake-1.13.patch"
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+ append-ldflags $(dlopen_lib)
+
+ rm -f acinclude.m4 #168198
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ # Bug 48839: pam fails to build on ia64
+ # The problem is that it attempts to link a shared object against
+ # libglib.a; this library needs to be built with -fPIC. Since
+ # this package doesn't contain any significant binaries, build the
+ # whole thing with -fPIC (23 Apr 2004 agriffis)
+ append-flags -fPIC
+
+ econf \
+ --with-threads=posix \
+ --enable-debug=yes
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog README* INSTALL NEWS
+ dohtml -r docs
+
+ cd "${D}"/usr/$(get_libdir) || die
+ chmod 755 libgmodule-1.2.so.*
+}
diff --git a/dev-libs/glib/glib-1.2.10-r6.ebuild b/dev-libs/glib/glib-1.2.10-r6.ebuild
new file mode 100644
index 000000000000..7233d4f7c3ef
--- /dev/null
+++ b/dev-libs/glib/glib-1.2.10-r6.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GNOME_TARBALL_SUFFIX="gz"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 libtool flag-o-matic portability multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/glib-1.2.10-r1-as-needed.patch.bz2
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="hardened static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+MULTILIB_CHOST_TOOLS=(/usr/bin/glib-config)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-configure-LANG.patch #133679
+
+ # Allow glib to build with gcc-3.4.x #47047
+ epatch "${FILESDIR}"/${P}-gcc34-fix.patch
+
+ # Fix for -Wl,--as-needed (bug #133818)
+ epatch "${DISTDIR}"/glib-1.2.10-r1-as-needed.patch.bz2
+
+ # build failure with automake-1.13
+ epatch "${FILESDIR}/${P}-automake-1.13.patch"
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+ sed -i "/libglib_la_LDFLAGS/i libglib_la_LIBADD = $(dlopen_lib)" Makefile.am || die
+
+ rm -f acinclude.m4 #168198
+
+ mv configure.in configure.ac || die
+
+ eautoreconf
+ elibtoolize
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ # Bug 48839: pam fails to build on ia64
+ # The problem is that it attempts to link a shared object against
+ # libglib.a; this library needs to be built with -fPIC. Since
+ # this package doesn't contain any significant binaries, build the
+ # whole thing with -fPIC (23 Apr 2004 agriffis)
+ append-flags -fPIC
+
+ ECONF_SOURCE="${S}" \
+ gnome2_src_configure \
+ --with-threads=posix \
+ --enable-debug=yes \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ chmod 755 "${ED}"/usr/$(get_libdir)/libgmodule-1.2.so.* || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml -r docs
+}
diff --git a/dev-libs/glib/glib-2.40.2.ebuild b/dev-libs/glib/glib-2.40.2.ebuild
new file mode 100644
index 000000000000..b32584ce10e7
--- /dev/null
+++ b/dev-libs/glib/glib-2.40.2.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# Earlier versions of gvfs do not work with glib
+
+#DOCS="AUTHORS ChangeLog* NEWS* README"
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ # Fix gmodule issues on fbsd; bug #184301, upstream bug #107626
+ # Upstream doesn't even know if this is needed, looks like openBSD
+ # people is not needing it
+# epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ if use test; then
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/socket\/ipv6_sync/d" gio/tests/socket.c || die
+ sed -i -e "/socket\/ipv6_async/d" gio/tests/socket.c || die
+ sed -i -e "/socket\/ipv6_v4mapped/d" gio/tests/socket.c || die
+ fi
+
+ # Test relies on /usr/bin/true, but we have /bin/true, upstream bug #698655
+ sed -i -e "s:/usr/bin/true:/bin/true:" gio/tests/desktop-app-info.c || die
+
+ # thread test fails, upstream bug #679306
+ epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # Always use internal libpcre, bug #254659
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/glib-2.42.2.ebuild b/dev-libs/glib/glib-2.42.2.ebuild
new file mode 100644
index 000000000000..90502a1f7c51
--- /dev/null
+++ b/dev-libs/glib/glib-2.42.2.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
+# adding new dependencies end up making stage3 to grow. Every addition needs
+# then to be think very closely.
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+# Earlier versions of gvfs do not work with glib
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ if use test; then
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/gdbus\/peer-to-peer/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/delayed-message-processing/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/nonce-tcp/d" gio/tests/gdbus-peer.c || die
+ fi
+
+ # thread test fails, upstream bug #679306
+ # FIXME: we need to check if it's still failing as upstream thinks something
+ # is wrong in our setups
+ #epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # FIXME: Always use internal libpcre, bug #254659
+ # (maybe consider going back to system lib
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/glib-2.44.1.ebuild b/dev-libs/glib/glib-2.44.1.ebuild
new file mode 100644
index 000000000000..d91e744dd360
--- /dev/null
+++ b/dev-libs/glib/glib-2.44.1.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
+# adding new dependencies end up making stage3 to grow. Every addition needs
+# then to be think very closely.
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+# Earlier versions of gvfs do not work with glib
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ if use test; then
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/gdbus\/peer-to-peer/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/delayed-message-processing/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/nonce-tcp/d" gio/tests/gdbus-peer.c || die
+ fi
+
+ # thread test fails, upstream bug #679306
+ # FIXME: we need to check if it's still failing as upstream thinks something
+ # is wrong in our setups
+ #epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # FIXME: Always use internal libpcre, bug #254659
+ # (maybe consider going back to system lib
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml
new file mode 100644
index 000000000000..8f096daa22fa
--- /dev/null
+++ b/dev-libs/glib/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="dbus">Enable dependencies required by glib libraries
+ using dbus service to manage settings saving</flag>
+ <flag name="mime">Pull in shared MIME database that many glib-based
+ applications require at runtime to detect or open files. Warning:
+ do not disable this flag unless installing on a headless server.</flag>
+ <flag name="systemtap">Build support for profiling and tracing using
+ <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="utils">Install gtester-report utility to generate test
+ report files for your software.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gmime/Manifest b/dev-libs/gmime/Manifest
new file mode 100644
index 000000000000..8e9f0df120ad
--- /dev/null
+++ b/dev-libs/gmime/Manifest
@@ -0,0 +1 @@
+DIST gmime-2.6.20.tar.xz 740696 SHA256 e0a170fb264c2ae4cecd852f4e7aaddb8d58e8f3f0b569ce2d2a4704f55bdf65 SHA512 8a43cc57fb2884a0d0979dd42775aa0946d11f460beb33fc7f7a166bcabb81b9590426072eeb606e2d5423ac4d68ff73d619fee96f33669f62069fcccfaf0a10 WHIRLPOOL efa42a42f4e3a1b92609307f8b9d26e7d93d42cf5545f988a8ecf1f2a6c574ecb6957cc4ed1d62aa60540e8aa802a4b2dba816677c23aa1f0d3a0e8228eb5b22
diff --git a/dev-libs/gmime/gmime-2.6.20.ebuild b/dev-libs/gmime/gmime-2.6.20.ebuild
new file mode 100644
index 000000000000..004d7c6c93be
--- /dev/null
+++ b/dev-libs/gmime/gmime-2.6.20.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils mono-env gnome2 vala
+
+DESCRIPTION="Utilities for creating and parsing messages using MIME"
+HOMEPAGE="http://spruce.sourceforge.net/gmime/ http://developer.gnome.org/gmime/stable/"
+
+SLOT="2.6"
+LICENSE="LGPL-2.1"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc mono static-libs vala"
+
+RDEPEND="
+ >=dev-libs/glib-2.18:2
+ sys-libs/zlib
+ >=app-crypt/gpgme-1.1.6
+ mono? (
+ dev-lang/mono
+ >=dev-dotnet/glib-sharp-2.4.0:2 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.8
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ mono? ( dev-dotnet/gtk-sharp-gapi:2 )
+ vala? (
+ $(vala_depend)
+ >=dev-libs/gobject-introspection-1.30.0 )
+"
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+}
+
+src_prepare() {
+ gnome2_src_prepare
+ use vala && vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --enable-cryptography \
+ --disable-strict-parser \
+ $(use_enable mono) \
+ $(use_enable static-libs static) \
+ $(use_enable vala)
+}
+
+src_compile() {
+ MONO_PATH="${S}" gnome2_src_compile
+ if use doc; then
+ emake -C docs/tutorial html
+ fi
+}
+
+src_install() {
+ GACUTIL_FLAGS="/root '${ED}/usr/$(get_libdir)' /gacdir '${EPREFIX}/usr/$(get_libdir)' /package ${PN}" \
+ gnome2_src_install
+
+ if use doc ; then
+ docinto tutorial
+ dodoc docs/tutorial/html/*
+ fi
+}
diff --git a/dev-libs/gmime/metadata.xml b/dev-libs/gmime/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/gmime/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest
new file mode 100644
index 000000000000..e3496e9016e8
--- /dev/null
+++ b/dev-libs/gmp/Manifest
@@ -0,0 +1,20 @@
+DIST gmp-4.3.2.tar.bz2 1897483 SHA256 936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775 SHA512 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf WHIRLPOOL ab3d9c95b436df3782830da0874307d5577b83c111c2fae4a9063d4083f97c5c12643b154c1bd9a588945e5a677fb8ab416c394ced3e9b0aa671b2238bcb9b40
+DIST gmp-5.0.1.tar.bz2 2006109 SHA256 a2a610f01fd3298dc08c87bf30498c2402590e1bcb227fc40b15ee6d280939fb SHA512 9a128f7e192e5f1233ec068b04ba4789cd10ae1ca1a21d1089b9b596022f7dfb66c313599b5de462135b1556a8f8e72bce1b5f4666b1eeed1652e3d7f2f5d168 WHIRLPOOL e19602c9914ed0bcd60aa198cb6f4b35a8f133381808f0a0f0759987407aa8e356bf8cba99b4f4e44f526412a80ee1dbdd6fd2adaa88f8aaa1c7e7e881626f9a
+DIST gmp-5.0.2.tar.bz2 2024576 SHA256 dbc2db76fdd4e99f85d5e35aa378ed62c283e0d586b91bd8703aff75a7804c28 SHA512 b53cc482e73aa91ae4f83301d9ef83a98cd85cfe53347e102a059fa477edceebded466223b436bc250314eb6ec2e53ecc4fa1528341435f09e232f0c4e305bad WHIRLPOOL a60dbfd26fca44edeab921d2293bb5cdea62ad5050ebbaa7d0e21fe2089deaa893d92abdd109e613edf234a36071d64422c04b24de3c952b0147a4310b4229d4
+DIST gmp-5.0.3.tar.xz 1685288 SHA256 438ee3e2d03a5b7c23e9f3f46919ab53cab102bcf4f3c34ea3a08486610fd450 SHA512 dc68ad36bbf515386d735784fe4583443eb6168d10c2967e47ce4bd541076a18c01bcc4b04261330ee0489560978234c36bf7064d611ce2f21ac38c37e6b34f0 WHIRLPOOL cf9a481f8a3c911ac023fcbbd5129bbd3ea7003bca745268b0f4f7cc94cff601d68a3cbe62037819e430677f49b182f0ceaf80c76c6b9bc39103f7973e9e2589
+DIST gmp-5.0.4.tar.xz 1689832 SHA256 4e6de1262ec94cce7833abb787a6d9157a822cc63d406c3d46c737e46ade1523 SHA512 68e2eca72aa8bdf4dd83da55625c32488015c10ea8aed79c8b861070de99bad0bb44b78c32655c12df90802bde564f98f41e8bffa1a1f522f3432271a8fcb00c WHIRLPOOL 85860d555f48062cac175a9cc239cf18c69ea68f98477f3b0ff75cc91b1b4c04e1bebbfe5699ea103031fe381f3cc93089065cbbd67ad5e923169b3f38469eaf
+DIST gmp-5.0.5.tar.xz 1671264 SHA256 e87015a825a2445e169931ee27849d52576a2d9e338d1383dcb36fed68d0006f SHA512 79f69ed7959af18e626d4b21b5707ebd7701261ebc2cc9f78fa03c5efa9eb1c1aef2ba8728cdbc34fb09ba333aeba0f88ba7e4d87d6a93b21f936f9d8ee1174a WHIRLPOOL c224f0ce28762e8987b5c5a817d24412d1c85e7bab2f173b138f463cc380d85ab02585d4c2a0e5052c34a405e6cec1f744edb0ee525002d6b77584ff6ecb601b
+DIST gmp-5.1.0.tar.xz 1806216 SHA256 c232d96b92ee251a6b8fdbf0a45d4db17a784846dfdfaf36651eeef2117a8991 SHA512 33b364bddfe829c78e3720ad15dc9fe5cf4c774e9a206ae0a8467666872d40148da07b8a4d8b251e3240c3c8b4eee5e082edc13aa208d3912f9f5d600d1110e8 WHIRLPOOL 28fb5693254bd25276348c8483ca8a7638c6a781d566e1dba085c581d3de7f99f9deee57bb613dbea78c0aeebf01e0eafe6003bd5327b48495c7f86b4dc3a92f
+DIST gmp-5.1.1.tar.xz 1812988 SHA256 4bd64d782fdeb61aeed45b434fca5246d66baa9de76f87cba30c38460d8834c2 SHA512 4cc3307411eb2144e87b791ee2f52e0020711638f911dfa3cc5929a57eda5ac7d9ca10c1c0bb75c96afc7ff7a9c6ad165bc87409b036c562867b4e5da15ba571 WHIRLPOOL 8a7afe06d530a15edb75a0c37c8497d1ab209dfeffebd44aecfcfe6b75586c182384cfdf8ea9b696ce968aed04944ec7c1c271730b65c34b2e3504d26565240e
+DIST gmp-5.1.2.tar.xz 1819560 SHA256 c7d943a6eceb4f0d3d3ab1176aec37853831cdfa281e012f8a344ba3ceefcbc2 SHA512 2c135bb6be908e93e63fe8828b2128b4e22e8ba29adf3cc917493ab66b42d54654dad7f101f902105e854731a69a202c38e34f119f642828fa5568ef21075c5a WHIRLPOOL dc18f8b2f7f592a52872f477ff375a29d58bca6661877bd0e4ef26766ed439e98172e277fed9f91d7204990b3030423bf6b3bff0b996ec371d6e681f8c21e504
+DIST gmp-5.1.3.tar.xz 1818812 SHA256 dee2eda37f4ff541f30019932db0c37f6f77a30ba3609234933b1818f9b07071 SHA512 44bbec2b2a6480d4c9a9a633cca4fe0de966c13bc08bdcd8b934d81e21f3dfacaecf273f149dc613d365277d280ecee43cffdafaec1bd1239a7ed903f8658b5b WHIRLPOOL 0c4365a129136655046a8e46c4e2487a981c03de97ec47899f752cbd6e61661c6068b19c547acce8436f7a9af91396545c9bf7aa9de73a0f29384bbfebef927f
+DIST gmp-6.0.0a.tar.xz 1904112 SHA256 9156d32edac6955bc53b0218f5f3763facb890b73a835d5e1b901dcf8eb8b764 SHA512 50368f4368b244b442438ce1768cf0f1166e490d1bafb8feda1ffc90fea3807e7328f30f3faa861799e4f5ff6e3113049ca3231b2f48571e4583fc3d60441816 WHIRLPOOL 81639a9d433ce9ccb26527af309c7c41437bb3463e5986cce3b35f81b527068a2304ec3287e660454f850dedab61463a077f49d4ea2b7ee87eec94b15730c394
+DIST gmp-man-5.0.2.pdf 1024222 SHA256 fcdd621dea0215b8920bdbfacf374ae8ef4f548a2d0c3e8d65d904f1b9d174d4 SHA512 95ea00ee16e87e9f379e76cd6c1a850866e5f22c0e6fc6e5deaae1213a694d28dd6fc09c105b5e71d4bb24e07ca8b77c56d756ef680beac1f64cc17ab51b246c WHIRLPOOL eaa78db21ee7dc8076a752cc949f336c1699c752626496d1490babc2d00115b08fa954ba9f732405d63bbdb43d97c43bed1917629fee1106e2e87942c78d6da8
+DIST gmp-man-5.0.3.pdf 1159053 SHA256 8f12da7b0665a2a0b5e1bc83c702e67b1b854382af5cba58c2859564fc930550 SHA512 4be246f234379033922255ece26f8f7b6056ee637f0d3964459829a946368ae01e2434b22fb1a180cf0a4efa7ad18d332d3e1a89cf9040d5f9f27e43cd3ca8ab WHIRLPOOL 50b27cccd274d84d2b35d2551089755b5b88837fb28a24c5e244c8706004925fe86ff81c2cc68d6125f2113b68a741b9a6615b931bf8260f2cd384dcd5115336
+DIST gmp-man-5.0.4.pdf 1160172 SHA256 c577d4dea9964e85c07f859d60833fc56d10aba16fd42f380939b0360f79defb SHA512 0159c748e75ba12a4fe3164e7071966e39475fa95b477e16de9cff095dd67c144c3aed24a611cf44c434bff9942faa432fb2222a7a27c587ed22a2df2f33a8c0 WHIRLPOOL df53ea3df9069c3958427ae18d29247c7502e5140b7c6f8c2b15d38aab308a9fa8dea8f3b636907ce5588cc738393e600e4f7160d502f42b6df339a7f76ad5ca
+DIST gmp-man-5.0.5.pdf 1162914 SHA256 33c7456155bf39704eb1c874849315a925140014b4ad8a8c6f0e07e4fde6a9f2 SHA512 2207266e1187f9951e01f02c6c70eb8bde78fd8d748f144c1bcb10702510f79ee9dd698347d80cac2445112c1554919e734dafd48ebc4662e39b9031b3147544 WHIRLPOOL 1becb075143db9fb26662fed68f760624d381306831a9a58234d5e82303290497bb7b99582a1ab77bd8a72de70e97b516e113264aa307774a4632faf223624c8
+DIST gmp-man-5.1.0.pdf 1156063 SHA256 def7bae39aaf2756cd074207c02afca8b3dde66111bbc17769f196082de2f28b SHA512 e3736853a20fbb0de86458a1e724f515429ac43458e62479e7721416553e6015b3d5e6de6a6f3b00f0a6530ba6c9556aa1d6283d9dced2c58e1ce96c73c367a5 WHIRLPOOL a2ec71ce7e4369575d17691c694f0d175afcbc1832fac1c0eefeee7d694280317d51cef6a6cf02c1a6f8e941c69900fa175ca049b5a30718d39d84254ec7be68
+DIST gmp-man-5.1.1.pdf 1156487 SHA256 c8c33650c321022c417275321b75e3b0c1bf87275f17323fa843778097449504 SHA512 3e855b882a039099bdc3719c94e4c18d0025e3a903b770752271a41dd9c5cf2b70654f6f59c32edfd4320e9954f679610764f379bd21b9d883d4fc20bd312f76 WHIRLPOOL b87d92601f3c170527192f78c60d6a137043f39772baabdd17957344207fbaae1ad88f03e22348e6e572f0a8a28ee1d80b3dc52015704cb52676b545ccb9f4e5
+DIST gmp-man-5.1.2.pdf 1156466 SHA256 2f059a5179c2ea971b9b16553b9f15504e82ef0b7bc7f0b80b1b4fe33147c21f SHA512 b6fc8d82bf15b3d550bf2388fefbba4c7e1bdd5b324d6be52e6398d7b8fb72dd4a59f498bec80a7c8382fe3b5c026434766f0c319742c1263326e0a5b589bb21 WHIRLPOOL b43d41bdf97b94c284fbff305d9968d3142f748b79df51b3e34aa4a576e1655ebe2d3c90473b95d90f79670ae7b100a7b5e5d26ae353470ef2e2f853748dce95
+DIST gmp-man-5.1.3.pdf 1159009 SHA256 56b0e21329f46ef1d59c1f191afc82c59f8b72273a8131ed9b5000b7d0689c38 SHA512 ba6a4b0bd2b5ee4d284dd13e9c5531fcb9cfbbbc80f40df458d73c80a1aa250b750cfdd5039998e8b0c7259a8b4d24bd0c7b59a90108f9b680bee62e6948d59e WHIRLPOOL ade206d7e1f543ed028f51e247067eec4511bd0f2499103e1e6296fad2bf50c4f8e09cf7688cc5dd56ee572cf889508ac7918f85e5f91d29d088882f7734a4e0
+DIST gmp-man-6.0.0a.pdf 1187496 SHA256 b38ed1d760b20c01b734b65380ab667373fa48d8203f762a434cd3f326c67a38 SHA512 528972502d65d23b58c47a594a628e648f11cc027bd0894a39b8f892bb421ceabb7f35640a9eede21cea791f5f597ed4661a1f73444c56a6fb31fa6e362d96c2 WHIRLPOOL e6c4eb3a9adc82496a1872223ceb153e05c3aabd2323aeb38064739a5200eb8fc24fa3bb96f5fb1e632cc90a2576bd3966bae3c7a7a0c750ca56faeb30837eea
diff --git a/dev-libs/gmp/files/6.0.0a/gmp-6.0.0a-arm-thumb.diff b/dev-libs/gmp/files/6.0.0a/gmp-6.0.0a-arm-thumb.diff
new file mode 100644
index 000000000000..8b10d09395fd
--- /dev/null
+++ b/dev-libs/gmp/files/6.0.0a/gmp-6.0.0a-arm-thumb.diff
@@ -0,0 +1,22 @@
+https://gmplib.org/list-archives/gmp-discuss/2014-March/005537.html
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1396602422 -7200
+# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40
+# Parent 0194a75b56b21a9196626430af86c5bd9110c42d
+Conditionalise ARM asm on !__thumb__.
+
+diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c
+--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200
++++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200
+@@ -130,7 +130,7 @@
+ "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
+ #endif
+
+-#if defined (__arm__) && W_TYPE_SIZE == 32
++#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
+ #define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
+ __asm__ ( "adds %2, %5, %6\n\t" \
+ "adcs %1, %3, %4\n\t" \
+
diff --git a/dev-libs/gmp/files/6.0.0a/ppc64-build.diff b/dev-libs/gmp/files/6.0.0a/ppc64-build.diff
new file mode 100644
index 000000000000..4d0ec5efcb83
--- /dev/null
+++ b/dev-libs/gmp/files/6.0.0a/ppc64-build.diff
@@ -0,0 +1,23 @@
+from upstream
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1395835068 -3600
+# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7
+# Parent 301ce2788826a2d4d2725bd5cf01e998638db37a
+Provide default for BMOD_1_TO_MOD_1_THRESHOLD.
+
+diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm
+--- a/mpn/powerpc64/mode64/gcd_1.asm Tue Mar 25 15:34:52 2014 +0100
++++ b/mpn/powerpc64/mode64/gcd_1.asm Wed Mar 26 12:57:48 2014 +0100
+@@ -43,6 +43,9 @@
+ define(`n', `r4')
+ define(`v0', `r5')
+
++ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',,
++ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)')
++
+ EXTERN_FUNC(mpn_mod_1)
+ EXTERN_FUNC(mpn_modexact_1c_odd)
+
+
diff --git a/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch b/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch
new file mode 100644
index 000000000000..093bec1a5dca
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch
@@ -0,0 +1,20 @@
+fixed executable stack
+
+http://bugs.gentoo.org/115038
+
+--- gmp-4.1.4/configure
++++ gmp-4.1.4/configure
+@@ -21689,6 +21689,13 @@
+ fi
+ echo "')" >> $gmp_configm4
+ echo "define(\`__CONFIG_M4_INCLUDED__')" >> $gmp_configm4
++# Gentoo hack
++case $host_os in
++ *linux*)
++ echo '.section .note.GNU-stack,"",%progbits' >> $gmp_configm4
++ echo '.previous' >> $gmp_configm4
++ ;;
++esac
+
+ # Create Makefiles
+ # FIXME: Upcoming version of autoconf/automake may not like broken lines.
diff --git a/dev-libs/gmp/files/gmp-4.2.1-s390.diff b/dev-libs/gmp/files/gmp-4.2.1-s390.diff
new file mode 100644
index 000000000000..82dbb722eb14
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-4.2.1-s390.diff
@@ -0,0 +1,68 @@
+stolen from SuSE
+
+--- configure.in
++++ configure.in
+@@ -1050,6 +1050,9 @@
+ ;;
+
+
++ s390x-*-*)
++ path="s390x" ;;
++
+ # IBM s/370 and similar
+ [s3[6-9]0*-*-*])
+ gcc_cflags="-O2 $fomit_frame_pointer"
+--- configure
++++ configure
+@@ -1050,6 +1050,9 @@
+ ;;
+
+
++ s390x-*-*)
++ path="s390x" ;;
++
+ # IBM s/370 and similar
+ s3[6-9]0*-*-*)
+ gcc_cflags="-O2 $fomit_frame_pointer"
+--- mpn/s390/gmp-mparam.h
++++ mpn/s390/gmp-mparam.h
+@@ -20,7 +20,8 @@
+ MA 02110-1301, USA. */
+
+
+-/* BITS_PER_MP_LIMB etc generated by configure */
++#define BITS_PER_MP_LIMB 32
++#define BYTES_PER_MP_LIMB 4
+
+
+ /* Generated by tuneup.c, 2001-12-03, gcc 2.95 */
+--- mpn/s390x/gmp-mparam.h
++++ mpn/s390x/gmp-mparam.h
+@@ -0,0 +1,27 @@
++/* gmp-mparam.h -- Compiler/machine parameter header file.
++
++Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
++
++This file is part of the GNU MP Library.
++
++The GNU MP Library is free software; you can redistribute it and/or modify
++it under the terms of the GNU Library General Public License as published by
++the Free Software Foundation; either version 2 of the License, or (at your
++option) any later version.
++
++The GNU MP Library is distributed in the hope that it will be useful, but
++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
++License for more details.
++
++You should have received a copy of the GNU Library General Public License
++along with the GNU MP Library; see the file COPYING.LIB. If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
++MA 02111-1307, USA. */
++
++#define BITS_PER_MP_LIMB 64
++#define BYTES_PER_MP_LIMB 8
++#define BITS_PER_LONGINT 64
++#define BITS_PER_INT 32
++#define BITS_PER_SHORTINT 16
++#define BITS_PER_CHAR 8
diff --git a/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch b/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch
new file mode 100644
index 000000000000..2f9911c1ea1b
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch
@@ -0,0 +1,256 @@
+Gentoo uses ABI env var already
+
+--- gmp-4.2.3/configure
++++ gmp-4.2.3/configure
+@@ -489,7 +489,7 @@
+ WANT_MPBSD_TRUE
+ WANT_MPBSD_FALSE
+ GMP_NAIL_BITS
+-ABI
++GMPABI
+ HAVE_HOST_CPU_FAMILY_power
+ HAVE_HOST_CPU_FAMILY_powerpc
+ GMP_LDFLAGS
+@@ -930,7 +930,7 @@
+ ac_precious_vars='build_alias
+ host_alias
+ target_alias
+-ABI
++GMPABI
+ CC
+ CFLAGS
+ LDFLAGS
+@@ -1091,7 +1091,7 @@
+ include additional configurations [automatic]
+
+ Some influential environment variables:
+- ABI desired ABI (for processors supporting more than one ABI)
++ GMPABI desired ABI (for processors supporting more than one ABI)
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+@@ -2670,7 +2670,7 @@
+ # (64-bit), but not both, so there's no option to choose the desired
+ # mode, we must instead detect which of the two it is. This is done by
+ # checking sizeof(long), either 4 or 8 bytes respectively. Do this in
+- # ABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
++ # GMPABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
+ #
+ gcc_cflags="-O2"
+ gcc_cflags_optlist="arch"
+@@ -2694,11 +2694,11 @@
+ # gcc 2.7.2.3 knows -mpa-risc-1-0 and -mpa-risc-1-1
+ # gcc 2.95 adds -mpa-risc-2-0, plus synonyms -march=1.0, 1.1 and 2.0
+ #
+- # We don't use -mpa-risc-2-0 in ABI=1.0 because 64-bit registers may not
++ # We don't use -mpa-risc-2-0 in GMPABI=1.0 because 64-bit registers may not
+ # be saved by the kernel on an old system. Actually gcc (as of 3.2)
+ # only adds a few float instructions with -mpa-risc-2-0, so it would
+ # probably be safe, but let's not take the chance. In any case, a
+- # configuration like --host=hppa2.0 ABI=1.0 is far from optimal.
++ # configuration like --host=hppa2.0 GMPABI=1.0 is far from optimal.
+ #
+ case $host_cpu in
+ hppa1.0*) gcc_cflags_arch="-mpa-risc-1-0" ;;
+@@ -2733,9 +2733,9 @@
+ cc_20n_cflags="+DA2.0 +e +O2 -Wl,+vnocompatwarnings"
+ cc_20n_testlist="hpc-hppa-2-0"
+
+- # ABI=2.0w is available for hppa2.0w and hppa2.0, but not for
++ # GMPABI=2.0w is available for hppa2.0w and hppa2.0, but not for
+ # hppa2.0n, on the assumption that that the latter indicates a
+- # desire for ABI=2.0n.
++ # desire for GMPABI=2.0n.
+ case $host in
+ hppa2.0n-*-*) ;;
+ *)
+@@ -3203,7 +3203,7 @@
+ # mode, but not set our ABI. For some reason it's sparc where this
+ # keeps coming up, presumably users there are accustomed to driving the
+ # compiler mode that way. The effect of our testlist setting is to
+- # reject ABI=64 in favour of ABI=32 if the user has forced the flags to
++ # reject GMPABI=64 in favour of GMPABI=32 if the user has forced the flags to
+ # 32-bit mode.
+ #
+ abilist="32"
+@@ -3308,12 +3308,12 @@
+ case $host_cpu in
+ sparc64 | sparcv9* | ultrasparc*)
+ case $host in
+- # Solaris 6 and earlier cannot run ABI=64 since it doesn't save
+- # registers properly, so ABI=32 is left as the only choice.
++ # Solaris 6 and earlier cannot run GMPABI=64 since it doesn't save
++ # registers properly, so GMPABI=32 is left as the only choice.
+ #
+ *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
+
+- # BSD sparc64 ports are 64-bit-only systems, so ABI=64 is the only
++ # BSD sparc64 ports are 64-bit-only systems, so GMPABI=64 is the only
+ # choice. In fact they need no special compiler flags, gcc -m64
+ # is the default, but it doesn't hurt to add it. v9 CPUs always
+ # use the sparc64 port, since the plain 32-bit sparc ports don't
+@@ -3399,7 +3399,7 @@
+ # -O, but lets assume that's no longer true.
+ #
+ # -m32 forces 32-bit mode on a bi-arch 32/64 amd64 build of gcc. -m64 is
+- # the default in such a build (we think), so -m32 is essential for ABI=32.
++ # the default in such a build (we think), so -m32 is essential for GMPABI=32.
+ # This is, of course, done for any $host_cpu, not just x86_64, so we can
+ # get such a gcc into the right mode to cross-compile to say i486-*-*.
+ #
+@@ -3639,7 +3639,7 @@
+
+ cat >&5 <<EOF
+ User:
+-ABI=$ABI
++GMPABI=$GMPABI
+ CC=$CC
+ CFLAGS=$CFLAGS_or_unset
+ CPPFLAGS=$CPPFLAGS_or_unset
+@@ -3660,24 +3660,24 @@
+ # If the user specifies an ABI then it must be in $abilist, after that
+ # $abilist is restricted to just that choice.
+ #
+-if test -n "$ABI"; then
++if test -n "$GMPABI"; then
+ found=no
+ for abi in $abilist; do
+- if test $abi = "$ABI"; then found=yes; break; fi
++ if test $abi = "$GMPABI"; then found=yes; break; fi
+ done
+ if test $found = no; then
+- { { echo "$as_me:$LINENO: error: ABI=$ABI is not among the following valid choices: $abilist" >&5
+-echo "$as_me: error: ABI=$ABI is not among the following valid choices: $abilist" >&2;}
++ { { echo "$as_me:$LINENO: error: GMPABI=$GMPABI is not among the following valid choices: $abilist" >&5
++echo "$as_me: error: GMPABI=$GMPABI is not among the following valid choices: $abilist" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+- abilist="$ABI"
++ abilist="$GMPABI"
+ fi
+
+ found_compiler=no
+
+ for abi in $abilist; do
+
+- echo "checking ABI=$abi"
++ echo "checking GMPABI=$abi"
+
+ # Suppose abilist="64 32", then for abi=64, will have abi1="_64" and
+ # abi2="_64". For abi=32, will have abi1="_32" and abi2="". This is how
+@@ -5128,7 +5128,7 @@
+ # For -march settings which enable SSE2 we exclude certain bad
+ # gcc versions and we need an OS knowing how to save xmm regs.
+ #
+- # This is only for ABI=32, any 64-bit gcc is good and any OS
++ # This is only for GMPABI=32, any 64-bit gcc is good and any OS
+ # knowing x86_64 will know xmm.
+ #
+ # -march=k8 was only introduced in gcc 3.3, so we shouldn't need
+@@ -6368,16 +6368,16 @@
+ done
+ fi
+
+- ABI="$abi"
++ GMPABI="$abi"
+ CC="$cc"
+ CFLAGS="$cflags"
+ CPPFLAGS="$cppflags"
+
+
+ # Could easily have this in config.h too, if desired.
+- ABI_nodots=`echo $ABI | sed 's/\./_/'`
++ GMPABI_nodots=`echo $GMPABI | sed 's/\./_/'`
+
+-echo "define_not_for_expansion(\`HAVE_ABI_$ABI_nodots')" >> $gmp_tmpconfigm4p
++echo "define_not_for_expansion(\`HAVE_ABI_$GMPABI_nodots')" >> $gmp_tmpconfigm4p
+
+
+
+@@ -8830,12 +8830,12 @@
+ # If there's any sse2 or mmx in the path, check whether the assembler
+ # supports it, and remove if not.
+ #
+-# We only need this in ABI=32, for ABI=64 on x86_64 we can assume a new
++# We only need this in GMPABI=32, for GMPABI=64 on x86_64 we can assume a new
+ # enough assembler.
+ #
+ case $host in
+ i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | athlon64-*-* | atom-*-* | core2-*-* | x86_64-*-*)
+- if test "$ABI" = 32; then
++ if test "$GMPABI" = 32; then
+ case "$path $fat_path" in
+ *mmx*) echo "$as_me:$LINENO: checking if the assembler knows about MMX instructions" >&5
+ echo $ECHO_N "checking if the assembler knows about MMX instructions... $ECHO_C" >&6
+@@ -9019,7 +9019,7 @@
+
+ cat >&5 <<EOF
+ Decided:
+-ABI=$ABI
++GMPABI=$GMPABI
+ CC=$CC
+ CFLAGS=$CFLAGS
+ CPPFLAGS=$CPPFLAGS
+@@ -9028,7 +9028,7 @@
+ CXXFLAGS=$CXXFLAGS
+ path=$path
+ EOF
+-echo "using ABI=\"$ABI\""
++echo "using GMPABI=\"$GMPABI\""
+ echo " CC=\"$CC\""
+ echo " CFLAGS=\"$CFLAGS\""
+ echo " CPPFLAGS=\"$CPPFLAGS\""
+@@ -30005,7 +30005,7 @@
+
+ case $host in
+ *-*-aix*)
+- case $ABI in
++ case $GMPABI in
+ 64 | aix64)
+ echo "include_mpn(\`powerpc64/aix.m4')" >> $gmp_tmpconfigm4i
+ ;;
+@@ -30015,7 +30015,7 @@
+ esac
+ ;;
+ *-*-linux* | *-*-*bsd*)
+- case $ABI in
++ case $GMPABI in
+ mode64)
+ echo "include_mpn(\`powerpc64/elf.m4')" >> $gmp_tmpconfigm4i
+ ;;
+@@ -30025,7 +30025,7 @@
+ esac
+ ;;
+ *-*-darwin*)
+- case $ABI in
++ case $GMPABI in
+ mode64)
+ echo "include_mpn(\`powerpc64/darwin.m4')" >> $gmp_tmpconfigm4i
+ ;;
+@@ -30048,7 +30048,7 @@
+
+ ;;
+ sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*)
+- case $ABI in
++ case $GMPABI in
+ 64)
+
+ echo "$as_me:$LINENO: checking if the assembler accepts \".register\"" >&5
+@@ -30130,7 +30130,7 @@
+ echo "define(<ALIGN_FILL_0x90>,<$gmp_cv_asm_align_fill_0x90>)" >> $gmp_tmpconfigm4
+
+
+- case $ABI in
++ case $GMPABI in
+ 32)
+
+ echo "include_mpn(\`x86/x86-defs.m4')" >> $gmp_tmpconfigm4i
+@@ -34032,7 +34032,7 @@
+ WANT_MPBSD_TRUE!$WANT_MPBSD_TRUE$ac_delim
+ WANT_MPBSD_FALSE!$WANT_MPBSD_FALSE$ac_delim
+ GMP_NAIL_BITS!$GMP_NAIL_BITS$ac_delim
+-ABI!$ABI$ac_delim
++GMPABI!$GMPABI$ac_delim
+ HAVE_HOST_CPU_FAMILY_power!$HAVE_HOST_CPU_FAMILY_power$ac_delim
+ HAVE_HOST_CPU_FAMILY_powerpc!$HAVE_HOST_CPU_FAMILY_powerpc$ac_delim
+ GMP_LDFLAGS!$GMP_LDFLAGS$ac_delim
diff --git a/dev-libs/gmp/files/gmp-5.0.0-s390.diff b/dev-libs/gmp/files/gmp-5.0.0-s390.diff
new file mode 100644
index 000000000000..14771a438ede
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.0-s390.diff
@@ -0,0 +1,68 @@
+stolen from SuSE
+
+--- configure.in
++++ configure.in
+@@ -1050,6 +1050,9 @@
+ ;;
+
+
++ s390x-*-*)
++ path="s390x" ;;
++
+ # IBM s/370 and similar
+ [s3[6-9]0*-*-*])
+ gcc_cflags="-O2 $fomit_frame_pointer"
+--- configure
++++ configure
+@@ -1050,6 +1050,9 @@
+ ;;
+
+
++ s390x-*-*)
++ path="s390x" ;;
++
+ # IBM s/370 and similar
+ s3[6-9]0*-*-*)
+ gcc_cflags="-O2 $fomit_frame_pointer"
+--- mpn/s390/gmp-mparam.h
++++ mpn/s390/gmp-mparam.h
+@@ -20,7 +20,8 @@
+ MA 02110-1301, USA. */
+
+
+-/* GMP_LIMB_BITS etc generated by configure */
++#define GMP_LIMB_BITS 32
++#define BYTES_PER_MP_LIMB 4
+
+
+ /* Generated by tuneup.c, 2001-12-03, gcc 2.95 */
+--- mpn/s390x/gmp-mparam.h
++++ mpn/s390x/gmp-mparam.h
+@@ -0,0 +1,27 @@
++/* gmp-mparam.h -- Compiler/machine parameter header file.
++
++Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
++
++This file is part of the GNU MP Library.
++
++The GNU MP Library is free software; you can redistribute it and/or modify
++it under the terms of the GNU Library General Public License as published by
++the Free Software Foundation; either version 2 of the License, or (at your
++option) any later version.
++
++The GNU MP Library is distributed in the hope that it will be useful, but
++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
++License for more details.
++
++You should have received a copy of the GNU Library General Public License
++along with the GNU MP Library; see the file COPYING.LIB. If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
++MA 02111-1307, USA. */
++
++#define GMP_LIMB_BITS 64
++#define BYTES_PER_MP_LIMB 8
++#define BITS_PER_LONGINT 64
++#define BITS_PER_INT 32
++#define BITS_PER_SHORTINT 16
++#define BITS_PER_CHAR 8
diff --git a/dev-libs/gmp/files/gmp-5.0.1-perfpow-test.patch b/dev-libs/gmp/files/gmp-5.0.1-perfpow-test.patch
new file mode 100644
index 000000000000..d1b8706082f0
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.1-perfpow-test.patch
@@ -0,0 +1,36 @@
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1267122532 -3600
+# Node ID 794410151f5f966bcb5c3489b6441614990efe7c
+# Parent 948660e2e56d9cfaae035082b8fd473985505fb6
+Fix a test case to work for long long limbs.
+
+2010-02-25 Torbjorn Granlund <tege@gmplib.org>
+
+ * tests/mpz/t-perfpow.c (check_random): Use mp_limb_t type for limb
+ variables.
+
+diff -r 948660e2e56d -r 794410151f5f tests/mpz/t-perfpow.c
+--- a/tests/mpz/t-perfpow.c Thu Feb 25 16:08:21 2010 +0100
++++ b/tests/mpz/t-perfpow.c Thu Feb 25 19:28:52 2010 +0100
+@@ -2,7 +2,7 @@
+
+ Contributed to the GNU project by Torbjorn Granlund and Martin Boij.
+
+-Copyright 2008, 2009 Free Software Foundation, Inc.
++Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ This file is part of the GNU MP Library.
+
+@@ -109,7 +109,8 @@
+ {
+ mpz_t n, np, temp, primes[NRP];
+ int i, j, k, unique, destroy, res;
+- unsigned long int nrprimes, primebits, g, exp[NRP], e;
++ unsigned long int nrprimes, primebits;
++ mp_limb_t g, exp[NRP], e;
+ gmp_randstate_ptr rands;
+
+ rands = RANDS;
+
diff --git a/dev-libs/gmp/files/gmp-5.0.1-x86-nopie-tests.patch b/dev-libs/gmp/files/gmp-5.0.1-x86-nopie-tests.patch
new file mode 100644
index 000000000000..e2ec26f4de2c
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.1-x86-nopie-tests.patch
@@ -0,0 +1,130 @@
+2010-07-27 Magnus Granberg <zorry@gentoo.org>
+
+ #236054
+ tests/Makefile.in add -nopie to CFLAGS
+ test/misc/Makefile.in likewise
+ test/mpbsd/Makefile.in likewise
+ test/mpf/Makefile.in likewise
+ test/mpn/Makefile.in likewise
+ test/mpq/Makefile.in likewise
+ test/mpz/Makefile.in likewise
+ test/randMakefile.in likewise
+ test/cxx/Makefile.in likewise and CXXFLAGS
+
+--- a/tests/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/devel/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/devel/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/misc/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/misc/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpbsd/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpbsd/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpf/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpf/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpn/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpn/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpq/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpq/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpz/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpz/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/rand/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/rand/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/cxx/Makefile.in 2010-02-06 12:43:21.000000000 +0000
++++ b/tests/cxx/Makefile.in 2010-07-27 01:31:43.000000000 +0000
+@@ -189,13 +189,13 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+ CXX = @CXX@
+ CXXCPP = @CXXCPP@
+-CXXFLAGS = @CXXFLAGS@
++CXXFLAGS = @CXXFLAGS@ -nopie
+ CYGPATH_W = @CYGPATH_W@
+ DEFN_LONG_LONG_LIMB = @DEFN_LONG_LONG_LIMB@
+ DEFS = @DEFS@
diff --git a/dev-libs/gmp/files/gmp-5.0.2-unnormalised-dividends.patch b/dev-libs/gmp/files/gmp-5.0.2-unnormalised-dividends.patch
new file mode 100644
index 000000000000..f29f2eca1a90
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.2-unnormalised-dividends.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1310730221 -7200
+# Node ID 538dfce27f410b910d5e2f011119269e224d16a3
+# Parent 03ed209dd7efd4f4fff0ce297bb3a8f7e7ba2366
+(mpn_dcpi1_bdiv_q): Get mpn_sub_1 size argument right.
+
+diff -r 03ed209dd7ef -r 538dfce27f41 mpn/generic/dcpi1_bdiv_q.c
+--- a/mpn/generic/dcpi1_bdiv_q.c Thu Jun 16 12:22:24 2011 +0200
++++ b/mpn/generic/dcpi1_bdiv_q.c Fri Jul 15 13:43:41 2011 +0200
+@@ -130,7 +129,7 @@
+ qn = nn - qn;
+ while (qn > dn)
+ {
+- mpn_sub_1 (np + dn, np + dn, qn, cy);
++ mpn_sub_1 (np + dn, np + dn, qn - dn, cy);
+ cy = mpn_dcpi1_bdiv_qr_n (qp, np, dp, dn, dinv, tp);
+ qp += dn;
+ np += dn;
+
diff --git a/dev-libs/gmp/files/gmp-5.0.2-x32-bugfix.patch b/dev-libs/gmp/files/gmp-5.0.2-x32-bugfix.patch
new file mode 100644
index 000000000000..a96136fcc3b8
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.2-x32-bugfix.patch
@@ -0,0 +1,94 @@
+UpstreamStatus: Pending
+
+When LONG_MIN is passed to val, -val is undefined. This patch fixes
+it. See for details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50066
+
+Received this patch from H.J. Lu <hjl.tools@gmail.com>
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
+
+--- gmp-4.3.2/mpf/iset_si.c.ll 2010-01-07 12:09:03.000000000 -0800
++++ gmp-4.3.2/mpf/iset_si.c 2011-11-30 16:42:35.827944358 -0800
+@@ -31,7 +31,7 @@ mpf_init_set_si (mpf_ptr r, long int val
+ r->_mp_prec = prec;
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+
+- vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
++ vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
+
+ r->_mp_d[0] = vl & GMP_NUMB_MASK;
+ size = vl != 0;
+--- gmp-4.3.2/mpf/set_si.c.ll 2010-01-07 12:09:03.000000000 -0800
++++ gmp-4.3.2/mpf/set_si.c 2011-11-30 16:42:47.823878367 -0800
+@@ -27,7 +27,7 @@ mpf_set_si (mpf_ptr dest, long val)
+ mp_size_t size;
+ mp_limb_t vl;
+
+- vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
++ vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
+
+ dest->_mp_d[0] = vl & GMP_NUMB_MASK;
+ size = vl != 0;
+--- gmp-4.3.2/mpz/cmp_si.c.ll 2010-01-07 12:09:03.000000000 -0800
++++ gmp-4.3.2/mpz/cmp_si.c 2011-11-30 13:44:25.923319700 -0800
+@@ -27,7 +27,7 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
+ {
+ mp_size_t usize = u->_mp_size;
+ mp_size_t vsize;
+- mp_limb_t u_digit;
++ mp_limb_t u_digit, vl_digit;
+
+ #if GMP_NAIL_BITS != 0
+ /* FIXME. This isn't very pretty. */
+@@ -41,11 +41,14 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
+
+ vsize = 0;
+ if (v_digit > 0)
+- vsize = 1;
++ {
++ vsize = 1;
++ vl_digit = (mp_limb_t) (unsigned long) v_digit;
++ }
+ else if (v_digit < 0)
+ {
+ vsize = -1;
+- v_digit = -v_digit;
++ vl_digit = (mp_limb_t) -(unsigned long) v_digit;
+ }
+
+ if (usize != vsize)
+@@ -56,10 +59,10 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
+
+ u_digit = u->_mp_d[0];
+
+- if (u_digit == (mp_limb_t) (unsigned long) v_digit)
++ if (u_digit == vl_digit)
+ return 0;
+
+- if (u_digit > (mp_limb_t) (unsigned long) v_digit)
++ if (u_digit > vl_digit)
+ return usize;
+ else
+ return -usize;
+--- gmp-4.3.2/mpz/iset_si.c.ll 2010-01-07 12:09:03.000000000 -0800
++++ gmp-4.3.2/mpz/iset_si.c 2011-11-30 13:44:25.924319695 -0800
+@@ -31,7 +31,7 @@ mpz_init_set_si (mpz_ptr dest, signed lo
+ dest->_mp_alloc = 1;
+ dest->_mp_d = (mp_ptr) (*__gmp_allocate_func) (BYTES_PER_MP_LIMB);
+
+- vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
++ vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
+
+ dest->_mp_d[0] = vl & GMP_NUMB_MASK;
+ size = vl != 0;
+--- gmp-4.3.2/mpz/set_si.c.ll 2010-01-07 12:09:03.000000000 -0800
++++ gmp-4.3.2/mpz/set_si.c 2011-11-30 13:44:25.947319574 -0800
+@@ -27,7 +27,7 @@ mpz_set_si (mpz_ptr dest, signed long in
+ mp_size_t size;
+ mp_limb_t vl;
+
+- vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
++ vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
+
+ dest->_mp_d[0] = vl & GMP_NUMB_MASK;
+ size = vl != 0;
diff --git a/dev-libs/gmp/files/gmp-5.0.2-x32-support.patch b/dev-libs/gmp/files/gmp-5.0.2-x32-support.patch
new file mode 100644
index 000000000000..28efee0a5eed
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.2-x32-support.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Pending
+
+Add X32 support in gmp configure.
+
+Patch Originator: H J Lu @ Intel
+Patch modified for Yocto by Nitin Kamble
+Signed Off By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/11/21
+
+--- gmp-4.3.2/configure
++++ gmp-4.3.2/configure
+@@ -1499,6 +1499,21 @@
+ path_64="x86_64/atom x86_64"
+ ;;
+ esac
++
++ # X32 support.
++ case x"$path_64" in
++ xx86_64*)
++ abilist="x32 64 32"
++ path_x32="$path_64"
++ limb_x32=longlong
++ cclist_x32="gcc"
++ gcc_x32_cflags="-O2 -mx32"
++ any_x32_testlist="sizeof-long-4"
++ CALLING_CONVENTIONS_OBJS_x32='amd64call.lo amd64check$U.lo'
++ SPEED_CYCLECOUNTER_OBJ_x32=x86_64.lo
++ cyclecounter_size_x32=2
++ ;;
++ esac
+ ;;
+ esac
+ ;;
+@@ -3039,7 +3058,7 @@
+ ;;
+ esac
+ ;;
+- 64)
++ 64|x32)
+
+ echo "include_mpn(\`x86_64/x86_64-defs.m4')" >> $gmp_tmpconfigm4i
+
diff --git a/dev-libs/gmp/files/gmp-5.0.5-x32-support.patch b/dev-libs/gmp/files/gmp-5.0.5-x32-support.patch
new file mode 100644
index 000000000000..b6867bf03abe
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.0.5-x32-support.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Pending
+
+Add X32 support in gmp configure.
+
+Patch Originator: H J Lu @ Intel
+Patch modified for Yocto by Nitin Kamble
+Signed Off By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/11/21
+
+--- gmp-5.0.5/configure
++++ gmp-5.0.5/configure
+@@ -5189,6 +5189,21 @@
+ esac
+ ;;
+ esac
++
++ # X32 support.
++ case x"$path_64" in
++ xx86_64*)
++ abilist="x32 64 32"
++ path_x32="$path_64"
++ limb_x32=longlong
++ cclist_x32="gcc"
++ gcc_x32_cflags="-O2 -mx32"
++ any_x32_testlist="sizeof-long-4"
++ CALLING_CONVENTIONS_OBJS_x32='amd64call.lo amd64check$U.lo'
++ SPEED_CYCLECOUNTER_OBJ_x32=x86_64.lo
++ cyclecounter_size_x32=2
++ ;;
++ esac
+ ;;
+
+
+@@ -3039,7 +3058,7 @@
+ ;;
+ esac
+ ;;
+- 64)
++ 64|x32)
+
+ echo "include_mpn(\`x86_64/x86_64-defs.m4')" >> $gmp_tmpconfigm4i
+
diff --git a/dev-libs/gmp/files/gmp-5.1.0-armv4.patch b/dev-libs/gmp/files/gmp-5.1.0-armv4.patch
new file mode 100644
index 000000000000..0337bd364968
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.1.0-armv4.patch
@@ -0,0 +1,12 @@
+fix missing __gmpn_invert_limb symbols w/armv4 targets
+
+--- a/configure
++++ b/configure
+@@ -582,6 +582,7 @@ case $host in
+ # options fail.
+ case $host_cpu in
+ armsa1 | armv4*)
++ path="arm"
+ ;;
+ armxscale | arm9te | arm10 | armv5*)
+ path="arm/v5 arm"
diff --git a/dev-libs/gmp/files/gmp-5.1.0-x32-support.patch b/dev-libs/gmp/files/gmp-5.1.0-x32-support.patch
new file mode 100644
index 000000000000..fda361d9b294
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.1.0-x32-support.patch
@@ -0,0 +1,42 @@
+Upstream-Status: Pending
+
+Add X32 support in gmp configure.
+
+Patch Originator: H J Lu @ Intel
+Patch modified for Yocto by Nitin Kamble
+Signed Off By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/11/21
+
+--- gmp-5.1.0/configure
++++ gmp-5.1.0/configure
+@@ -5237,6 +5237,22 @@ echo "include_mpn(\`vax/elf.m4')" >> $gmp_tmpconfigm4i
+ extra_functions_64="invert_limb_table"
+ fi
+
++ # X32 support.
++ case x"$path_64" in
++ xx86_64*)
++ abilist="x32 64 32"
++ path_x32="$path_64"
++ limb_x32=longlong
++ cclist_x32="gcc"
++ gcc_x32_cflags="-O2 -mx32"
++ any_x32_testlist="sizeof-long-4"
++ CALLING_CONVENTIONS_OBJS_x32=$CALLING_CONVENTIONS_OBJS_64
++ SPEED_CYCLECOUNTER_OBJ_x32=$SPEED_CYCLECOUNTER_OBJ_64
++ cyclecounter_size_x32=$cyclecounter_size_64
++ extra_functions_x32=$extra_functions_64
++ ;;
++ esac
++
+ case $host in
+ *-*-solaris*)
+ # Sun cc.
+@@ -28611,7 +28627,7 @@ echo "include_mpn(\`x86/darwin.m4')" >> $gmp_tmpconfigm4i
+ ;;
+ esac
+ ;;
+- 64)
++ 64|x32)
+
+ echo "include_mpn(\`x86_64/x86_64-defs.m4')" >> $gmp_tmpconfigm4i
+
diff --git a/dev-libs/gmp/files/gmp-5.1.0-x86-nopie-tests.patch b/dev-libs/gmp/files/gmp-5.1.0-x86-nopie-tests.patch
new file mode 100644
index 000000000000..f21479f91110
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-5.1.0-x86-nopie-tests.patch
@@ -0,0 +1,119 @@
+2010-07-27 Magnus Granberg <zorry@gentoo.org>
+
+ #236054
+ tests/Makefile.in add -nopie to CFLAGS
+ test/misc/Makefile.in likewise
+ test/mpbsd/Makefile.in likewise
+ test/mpf/Makefile.in likewise
+ test/mpn/Makefile.in likewise
+ test/mpq/Makefile.in likewise
+ test/mpz/Makefile.in likewise
+ test/randMakefile.in likewise
+ test/cxx/Makefile.in likewise and CXXFLAGS
+
+--- a/tests/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/devel/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/devel/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/misc/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/misc/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpf/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpf/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpn/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpn/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpq/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpq/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/mpz/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/mpz/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/rand/Makefile.in 2010-07-27 00:53:05.000000000 +0000
++++ b/tests/rand/Makefile.in 2010-07-27 00:35:10.000000000 +0000
+@@ -200,7 +200,7 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+--- a/tests/cxx/Makefile.in 2010-02-06 12:43:21.000000000 +0000
++++ b/tests/cxx/Makefile.in 2010-07-27 01:31:43.000000000 +0000
+@@ -189,13 +189,13 @@
+ CC = @CC@
+ CCAS = @CCAS@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -nopie
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CPP_FOR_BUILD = @CPP_FOR_BUILD@
+ CXX = @CXX@
+ CXXCPP = @CXXCPP@
+-CXXFLAGS = @CXXFLAGS@
++CXXFLAGS = @CXXFLAGS@ -nopie
+ CYGPATH_W = @CYGPATH_W@
+ DEFN_LONG_LONG_LIMB = @DEFN_LONG_LONG_LIMB@
+ DEFS = @DEFS@
diff --git a/dev-libs/gmp/gmp-4.3.2-r1.ebuild b/dev-libs/gmp/gmp-4.3.2-r1.ebuild
new file mode 100644
index 000000000000..c42ae5adf5f9
--- /dev/null
+++ b/dev-libs/gmp/gmp-4.3.2-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# this ebuild is only for the libgmp.so.3 ABI SONAME
+
+EAPI="3"
+
+inherit eutils libtool toolchain-funcs
+
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="sys-devel/m4"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-4.3.2-ABI-multilib.patch
+ epatch "${FILESDIR}"/${PN}-4.2.1-s390.diff
+
+ sed -i -e 's:ABI = @ABI@:GMPABI = @GMPABI@:' \
+ Makefile.in */Makefile.in */*/Makefile.in
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+}
+
+src_configure() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) export GMPABI=32;;
+ 64|amd64|n64) export GMPABI=64;;
+ o32|n32) export GMPABI=${ABI};;
+ esac
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpfr \
+ --disable-mpbsd \
+ --disable-static \
+ --disable-cxx
+}
+
+src_install() {
+ emake install-libLTLIBRARIES DESTDIR="${D}" || die
+ rm "${D}"/usr/*/libgmp.{la,so} || die
+}
diff --git a/dev-libs/gmp/gmp-5.0.1.ebuild b/dev-libs/gmp/gmp-5.0.1.ebuild
new file mode 100644
index 000000000000..4ba74e920f68
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool toolchain-funcs
+
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
+# doc? ( http://www.nada.kth.se/~tege/${PN}-man-${PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="cxx" #doc
+
+DEPEND="sys-devel/m4"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${P}-perfpow-test.patch
+ epatch "${FILESDIR}"/${PN}-5.0.0-s390.diff
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ o32|n32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ || die "configure failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ #use doc && cp "${DISTDIR}"/gmp-man-${PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.0.2.ebuild b/dev-libs/gmp/gmp-5.0.2.ebuild
new file mode 100644
index 000000000000..c0f8675193c8
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool toolchain-funcs
+
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
+# doc? ( http://www.nada.kth.se/~tege/${PN}-man-${PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="cxx" #doc
+
+DEPEND="sys-devel/m4"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.0.0-s390.diff
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ o32|n32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ || die "configure failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ #use doc && cp "${DISTDIR}"/gmp-man-${PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.0.2_p1.ebuild b/dev-libs/gmp/gmp-5.0.2_p1.ebuild
new file mode 100644
index 000000000000..14d44b475331
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.2_p1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.bz2
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx static-libs"
+
+DEPEND="sys-devel/m4"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${MY_P}.tar.bz2
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.0.0-s390.diff
+ epatch "${FILESDIR}"/${MY_P}-unnormalised-dividends.patch
+ has x32 $(get_all_abis) && epatch "${FILESDIR}"/${PN}-5.0.2*x32*.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ $(use_enable static-libs static) \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.0.3.ebuild b/dev-libs/gmp/gmp-5.0.3.ebuild
new file mode 100644
index 000000000000..12825fd2e04c
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ xz -dc "${DISTDIR}/${MY_P}.tar.xz" | tar xof - || die
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.0.2*x32*.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ $(use_enable static-libs static) \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.0.4.ebuild b/dev-libs/gmp/gmp-5.0.4.ebuild
new file mode 100644
index 000000000000..59e580cdf662
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.4.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.0.2-x32-support.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ $(use_enable static-libs static) \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.0.5.ebuild b/dev-libs/gmp/gmp-5.0.5.ebuild
new file mode 100644
index 000000000000..a11c1322dc19
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.0.5.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.0.5-x32-support.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "${0}.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ --disable-mpbsd \
+ $(use_enable cxx) \
+ $(use_enable static-libs static) \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.1.0.ebuild b/dev-libs/gmp/gmp-5.1.0.ebuild
new file mode 100644
index 000000000000..7ba76d02287b
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.1.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.1.0-armv4.patch
+ epatch "${FILESDIR}"/${PN}-5.1.0-x32-support.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+
+ emake || die
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup || die
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean || die
+ emake || die
+ fi
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.1.1.ebuild b/dev-libs/gmp/gmp-5.1.1.ebuild
new file mode 100644
index 000000000000..1d7af043c373
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.1.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+ epatch "${FILESDIR}"/${PN}-5.1.0-armv4.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+
+ emake || die
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup || die
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean || die
+ emake || die
+ fi
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.1.2.ebuild b/dev-libs/gmp/gmp-5.1.2.ebuild
new file mode 100644
index 000000000000..bc47d2605adb
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.1.2.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+
+ emake || die
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup || die
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean || die
+ emake || die
+ fi
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.1.3-r1.ebuild b/dev-libs/gmp/gmp-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..8946cc5d7ae3
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.1.3-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit flag-o-matic eutils libtool toolchain-funcs multilib-minimal
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+)"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
+HTML_DOCS=( doc )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
+
+src_prepare() {
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+multilib_src_configure() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ ECONF_SOURCE="${S}" econf \
+ --localstatedir=/var/state/gmp \
+ --enable-shared \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ emake
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean
+ emake
+ fi
+ fi
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-5.1.3.ebuild b/dev-libs/gmp/gmp-5.1.3.ebuild
new file mode 100644
index 000000000000..48ffa99cc28f
--- /dev/null
+++ b/dev-libs/gmp/gmp-5.1.3.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils libtool unpacker toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpacker_src_unpack
+ cd "${S}"
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+ epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
+
+ # disable -fPIE -pie in the tests for x86 #236054
+ if use x86 && gcc-specs-pie ; then
+ epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
+ fi
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+src_compile() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ econf \
+ --localstatedir=/var/state/gmp \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+
+ emake || die
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup || die
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean || die
+ emake || die
+ fi
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+
+ dodoc AUTHORS ChangeLog NEWS README
+ dodoc doc/configuration doc/isa_abi_headache
+ dohtml -r doc
+
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/gmp-6.0.0a.ebuild b/dev-libs/gmp/gmp-6.0.0a.ebuild
new file mode 100644
index 000000000000..44d16473fb53
--- /dev/null
+++ b/dev-libs/gmp/gmp-6.0.0a.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit flag-o-matic eutils libtool toolchain-funcs multilib-minimal
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
+HOMEPAGE="http://gmplib.org/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
+ doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
+
+LICENSE="|| ( LGPL-3+ GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="doc cxx pgo static-libs"
+
+DEPEND="sys-devel/m4
+ app-arch/xz-utils"
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+)"
+
+S=${WORKDIR}/${MY_P%a}
+
+DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
+HTML_DOCS=( doc )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
+
+src_prepare() {
+ [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
+
+ # note: we cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/bin/sh
+ exec env ABI="$GMPABI" "$0.wrapped" "$@"
+ EOF
+ chmod a+rx configure
+}
+
+multilib_src_configure() {
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ export GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+ ECONF_SOURCE="${S}" econf \
+ --localstatedir=/var/state/gmp \
+ --enable-shared \
+ $(use_enable cxx) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ emake
+
+ if use pgo ; then
+ emake -j1 -C tune tuneup
+ ebegin "Trying to generate tuned data"
+ ./tune/tuneup | tee gmp.mparam.h.new
+ if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
+ mv gmp.mparam.h.new gmp-mparam.h || die
+ emake clean
+ emake
+ fi
+ fi
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # should be a standalone lib
+ rm -f "${D}"/usr/$(get_libdir)/libgmp.la
+ # this requires libgmp
+ local la="${D}/usr/$(get_libdir)/libgmpxx.la"
+ use static-libs \
+ && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
+ || rm -f "${la}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
+}
diff --git a/dev-libs/gmp/metadata.xml b/dev-libs/gmp/metadata.xml
new file mode 100644
index 000000000000..b419bd1ef173
--- /dev/null
+++ b/dev-libs/gmp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+<use>
+ <flag name='pgo'>after building gmp, run some tests against to produce faster libraries -- this option will double the compile time</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/gnulib/Manifest b/dev-libs/gnulib/Manifest
new file mode 100644
index 000000000000..2e33c17a9a4a
--- /dev/null
+++ b/dev-libs/gnulib/Manifest
@@ -0,0 +1,2 @@
+DIST gnulib-0.1.tar.gz 5374195 SHA256 ce686e0d2b94fed7b8d37853ab56c9b8feebb29317948f3b87b2b454af2a52d5 SHA512 020e1288dbc4daa839368edce4e3ac2f3b3e9d06d414179ee12abfe1603107f03319601c5d81eb089599b519130942d055d65f5dc7059bbe9be563ceac92e0e3 WHIRLPOOL fb61579df2797d751c107991a8697627d3759544b1951e710b84a06e4ee1a5f732f8ffa7683a3f2490cba93c589a1954a0625be3ab8aae6ff865d2e511ad0eaa
+DIST gnulib-8d2524ce78ca107074727cbd8780c26a203a107c.tar.gz 3687831 SHA256 a220080dda77159b2d30bbed93437b97efeef20c417e255296924d580ce6d309 SHA512 3fd621c487f2089c425ee1d7b36947c91ebd96fe88d5426ada9e908e583bc8bf38c98850b1db7157f4d04def5fb2bec664f0d67d86ee612d4448158b2ad84a6a WHIRLPOOL b332579c148accd9c8da7f8bedd65a7aa0d36b0c4aa89797d170fd1b47cf7d2b069ee3c797bb4fd18935affab34536b2b56ae94a1707db3e98133de2d384f2bc
diff --git a/dev-libs/gnulib/files/gnulib-2008.07.23-rpl_getopt.patch b/dev-libs/gnulib/files/gnulib-2008.07.23-rpl_getopt.patch
new file mode 100644
index 000000000000..2ef427a84c3b
--- /dev/null
+++ b/dev-libs/gnulib/files/gnulib-2008.07.23-rpl_getopt.patch
@@ -0,0 +1,12 @@
+--- lib/getopt.in.h.orig 2008-07-25 13:40:38 +0200
++++ lib/getopt.in.h 2008-07-25 13:41:25 +0200
+@@ -20,6 +20,9 @@
+
+ #ifndef __need_getopt
+ # define _GETOPT_H 1
++# ifndef __GETOPT_PREFIX
++# define __GETOPT_PREFIX rpl_
++# endif
+ #endif
+
+ /* Standalone applications should #define __GETOPT_PREFIX to an
diff --git a/dev-libs/gnulib/files/gnulib-2009.03.03.14.07.45-scandir.patch b/dev-libs/gnulib/files/gnulib-2009.03.03.14.07.45-scandir.patch
new file mode 100644
index 000000000000..67b1274c8020
--- /dev/null
+++ b/dev-libs/gnulib/files/gnulib-2009.03.03.14.07.45-scandir.patch
@@ -0,0 +1,15 @@
+--- a/lib/scandir.c
++++ b/lib/scandir.c
+@@ -18,6 +18,12 @@
+ #include <config.h>
+
+ #include <dirent.h>
++#ifndef _D_EXACT_NAMLEN
++# define _D_EXACT_NAMLEN(d) strlen ((d)->d_name)
++#endif
++#ifndef _D_ALLOC_NAMLEN
++# define _D_ALLOC_NAMLEN(d) (_D_EXACT_NAMLEN (d) + 1)
++#endif
+
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/dev-libs/gnulib/gnulib-2009.03.03.14.07.45-r1.ebuild b/dev-libs/gnulib/gnulib-2009.03.03.14.07.45-r1.ebuild
new file mode 100644
index 000000000000..851dad34a293
--- /dev/null
+++ b/dev-libs/gnulib/gnulib-2009.03.03.14.07.45-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils autotools
+
+DESCRIPTION="Gnulib is a library of common routines intended to be shared at the source level"
+HOMEPAGE="http://www.gnu.org/software/gnulib"
+
+# This tar.gz is created on-the-fly when downloaded from
+# http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=${GNULIB_COMMIT_GITID};sf=tgz
+# So to have persistent checksums, we need to download once and cache it.
+#
+# To get a new version, download a "snapshot" from
+# http://git.savannah.gnu.org/gitweb/?p=gnulib.git
+# take the commit-id as GNULIB_COMMIT_GITID
+# and the committer's timestamp (not the author's one), year to second, UTC
+# as the ebuild version.
+#
+# To see what the last commit message for the current version was, use
+# http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=${GNULIB_COMMIT_GITID}
+#
+GNULIB_COMMIT_GITID=8d2524ce78ca107074727cbd8780c26a203a107c
+SRC_URI="http://dev.gentoo.org/~drizzt/distfiles/${PN}-${GNULIB_COMMIT_GITID}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~ppc-aix ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}"/${PN}
+MY_S="${WORKDIR}"/${P}
+
+src_prepare() {
+ local requested_gnulib_modules
+
+ case ${CHOST} in
+ *-freebsd*)
+ requested_gnulib_modules="mathl strndup"
+ ;;
+ *-solaris2.8|*-solaris2.9)
+ # Don't remove dirfd!
+ requested_gnulib_modules="alphasort dirfd getopt scandir setenv strcasestr stdint strndup xvasprintf"
+ ;;
+ *-solaris2.10|*-solaris2.11)
+ requested_gnulib_modules="dirfd getopt strcasestr strndup xvasprintf"
+ ;;
+ *-aix*)
+ requested_gnulib_modules="alphasort dirfd getopt scandir strcasestr strndup xvasprintf"
+ ;;
+ *-hpux*)
+ requested_gnulib_modules="atoll dirfd getopt setenv strcasestr strndup xvasprintf"
+ ;;
+ *-interix*)
+ requested_gnulib_modules="atoll getopt scandir setenv strcasestr strndup xvasprintf"
+ ;;
+ *-irix*)
+ requested_gnulib_modules="getopt strcasestr strndup xvasprintf"
+ ;;
+ esac
+
+ epatch "${FILESDIR}"/${PN}-2008.07.23-rpl_getopt.patch
+ epatch "${FILESDIR}"/${P}-scandir.patch
+
+ # Solaris 9 ksh makes gnulib-tool to coredump
+ sed -i "1s:/bin/sh:${EPREFIX}/bin/sh:" gnulib-tool || die "sed failed"
+
+ # Remove the broken pxref
+ sed -i '$d' doc/ld-version-script.texi || die "cannot fix ld-version-script.texi"
+
+ [[ -z "$requested_gnulib_modules" ]] && return
+
+ "${S}"/gnulib-tool --create-testdir --dir="${MY_S}" \
+ ${requested_gnulib_modules} || die
+
+ cd "${MY_S}" || die
+
+ # define both libgnu.a and the headers as to-be-installed
+ LANG=C \
+ sed -e '
+ s,noinst_HEADERS,include_HEADERS,;
+ s,noinst_LIBRARIES,lib_LIBRARIES,;
+ s,noinst_LTLIBRARIES,lib_LTLIBRARIES,;
+ s,EXTRA_DIST =$,&\
+EXTRA_HEADERS =,;
+ s,BUILT_SOURCES += \([/a-zA-Z0-9_-][/a-zA-Z0-9_-]*\.h\|\$([_A-Z0-9][_A-Z0-9]*_H)\)$,&\
+include_HEADERS += \1,;
+ ' -i gllib/Makefile.am || die "cannot fix gllib/Makefile.am"
+
+ eautoreconf
+}
+
+src_configure() {
+ cd "${MY_S}" || return
+ econf --prefix="${EPREFIX}"/usr/$(get_libdir)/${PN}
+}
+
+src_compile() {
+ if use doc; then
+ emake -C doc info html || die "emake failed"
+ fi
+ cd "${MY_S}" || return
+ emake || die "cannot make ${P}"
+}
+
+src_install() {
+ dodoc README ChangeLog
+ if use doc; then
+ dohtml doc/gnulib.html
+ doinfo doc/gnulib.info
+ fi
+
+ insinto /usr/share/${PN}
+ doins -r lib
+ doins -r m4
+ doins -r modules
+ doins -r build-aux
+ doins -r top
+
+ # install the real script
+ exeinto /usr/share/${PN}
+ doexe gnulib-tool
+
+ # create and install the wrapper
+ dosym /usr/share/${PN}/gnulib-tool /usr/bin/gnulib-tool
+
+ cd "${MY_S}" || return
+ emake install DESTDIR="${D}" || die "make install failed"
+}
diff --git a/dev-libs/gnulib/gnulib-2013.10.28.22.33.52.ebuild b/dev-libs/gnulib/gnulib-2013.10.28.22.33.52.ebuild
new file mode 100644
index 000000000000..11d1017a720f
--- /dev/null
+++ b/dev-libs/gnulib/gnulib-2013.10.28.22.33.52.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+GIT_TAG="0.1"
+
+DESCRIPTION="Gnulib is a library of common routines intended to be shared at the source level"
+HOMEPAGE="http://www.gnu.org/software/gnulib"
+SRC_URI="http://git.savannah.gnu.org/cgit/${PN}.git/snapshot/${PN}-${GIT_TAG}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc"
+
+S="${WORKDIR}/${PN}-${GIT_TAG}"
+
+src_compile() {
+ if use doc; then
+ emake -C doc info html
+ fi
+}
+
+src_install() {
+ dodoc README ChangeLog
+
+ insinto /usr/share/${PN}
+ doins -r build-aux
+ doins -r doc
+ doins -r lib
+ doins -r m4
+ doins -r modules
+ doins -r tests
+ doins -r top
+
+ # install the real script
+ exeinto /usr/share/${PN}
+ doexe gnulib-tool
+
+ # create and install the wrapper
+ dosym /usr/share/${PN}/gnulib-tool /usr/bin/gnulib-tool
+}
diff --git a/dev-libs/gnulib/gnulib-9999-r1.ebuild b/dev-libs/gnulib/gnulib-9999-r1.ebuild
new file mode 100644
index 000000000000..00947d99b270
--- /dev/null
+++ b/dev-libs/gnulib/gnulib-9999-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils git-r3
+
+DESCRIPTION="Gnulib is a library of common routines intended to be shared at the source level"
+HOMEPAGE="http://www.gnu.org/software/gnulib"
+
+EGIT_REPO_URI="
+ git://git.savannah.gnu.org/${PN}.git
+ http://git.savannah.gnu.org/r/${PN}.git
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc"
+
+src_compile() {
+ if use doc; then
+ emake -C doc info html
+ fi
+}
+
+src_install() {
+ dodoc README ChangeLog
+
+ insinto /usr/share/${PN}
+ doins -r build-aux
+ doins -r doc
+ doins -r lib
+ doins -r m4
+ doins -r modules
+ doins -r tests
+ doins -r top
+
+ # install the real script
+ exeinto /usr/share/${PN}
+ doexe gnulib-tool
+
+ # create and install the wrapper
+ dosym /usr/share/${PN}/gnulib-tool /usr/bin/gnulib-tool
+}
diff --git a/dev-libs/gnulib/metadata.xml b/dev-libs/gnulib/metadata.xml
new file mode 100644
index 000000000000..46dee96f4e7a
--- /dev/null
+++ b/dev-libs/gnulib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>prefix</herd>
+</pkgmetadata>
diff --git a/dev-libs/go-fuse/Manifest b/dev-libs/go-fuse/Manifest
new file mode 100644
index 000000000000..eb3ffdd413ce
--- /dev/null
+++ b/dev-libs/go-fuse/Manifest
@@ -0,0 +1,2 @@
+DIST go-fuse-0_p20140812.tar.gz 111389 SHA256 183f477e02822528693ea824680a79f44b14a4491b10d1738658d71a32e6faf3 SHA512 d951094e290bc914b418c165106368d6b73634ffb177b770ce53baaca4cd6026967f11d602b3e687e59a49323c7af1af74913ec1a911093e4e32503025842cb3 WHIRLPOOL 067eb869634d52ade241113c2c4827ad2266c7d192bc1d89a052e8bbcea699a51c4d0917cea4d93d12185fe55381341a4363a9cc689ed8df90abcd79679c632e
+DIST go-fuse-0_p20150422.tar.gz 110741 SHA256 825edaff6e65a9bc0e1fb52fe1791826f4f17a37e4373bcbde99d15dfb63723d SHA512 a0c9fa666ab39632db258baa5bf6ba1546aa847beb0d4a4b812a96e66d8573e3c0a0600ad24e16e314fbd8082b36027a3e1bc2092667766f611b1321aaea70c5 WHIRLPOOL ec33dfb773f5cff79e8f6c3acded538a68853035d197c689971f9b857244245039ced14a1ef970c1b14b5b6d2419fae7b6193b038d7245da119aee068677c0f6
diff --git a/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild b/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
new file mode 100644
index 000000000000..eb4bbe604de0
--- /dev/null
+++ b/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+KEYWORDS="~amd64"
+RESTRICT="strip"
+DESCRIPTION="FUSE bindings for Go"
+GO_PN=github.com/hanwen/${PN}
+HOMEPAGE="https://${GO_PN}"
+EGIT_COMMIT="8c85ded140ac1889372a0e22d8d21e3d10a303bd"
+SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+DEPEND=">=dev-lang/go-1.3"
+RDEPEND=""
+S=${WORKDIR}
+
+src_unpack() {
+ default_src_unpack
+ mkdir -p src/${GO_PN%/*} || die
+ mv ${PN}-${EGIT_COMMIT} src/${GO_PN} || die
+}
+
+src_prepare() {
+ sed -e "s:\(go \${target}\)\(.*\)$:\\1 -x \\2:" \
+ -e 's:^for target in "clean" "install" ; do$:for target in "install" ; do:' \
+ -e '17,26d' \
+ src/${GO_PN}/all.bash > src/${GO_PN}/all.bash.patched || die
+}
+
+src_compile() {
+ # Create a filtered GOROOT tree out of symlinks,
+ # excluding go-fuse, for bug #503324.
+ cp -sR /usr/lib/go goroot || die
+ rm -rf goroot/src/${GO_PN} || die
+ rm -rf goroot/pkg/linux_${ARCH}/${GO_PN} || die
+ CGO_CFLAGS="${CFLAGS}" GOROOT="${WORKDIR}/goroot" GOPATH="${WORKDIR}" \
+ bash src/${GO_PN}/all.bash.patched || die
+}
+
+src_install() {
+ insopts -m0644 -p # preserve timestamps for bug 551486
+ insinto /usr/lib/go
+ doins -r pkg
+ insinto /usr/lib/go/src
+ rm src/${GO_PN}/all.bash.patched || die
+ find src/${GO_PN} -name .gitignore -delete
+ doins -r src/*
+}
diff --git a/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild b/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
new file mode 100644
index 000000000000..839de1e5a8a1
--- /dev/null
+++ b/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+KEYWORDS="~amd64"
+RESTRICT="strip"
+DESCRIPTION="FUSE bindings for Go"
+GO_PN=github.com/hanwen/${PN}
+HOMEPAGE="https://${GO_PN}"
+EGIT_COMMIT="ffed29ec8b88f61c1b8954134cc48ef03bb26ce1"
+SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.3"
+RDEPEND=""
+
+src_unpack() {
+ default_src_unpack
+ mkdir -p "${S}/src/${GO_PN%/*}" || die
+ mv ${PN}-${EGIT_COMMIT} "${S}/src/${GO_PN}" || die
+ find "${S}" -name .gitignore -delete || die
+}
+
+call_go() {
+ local d
+ for d in fuse fuse/pathfs zipfs unionfs; do
+ GOROOT="${GOROOT}" GOPATH="${S}" \
+ go "${1}" -v -x -work ${GO_PN}/${d} || die
+ done
+}
+
+src_compile() {
+ # Create a filtered GOROOT tree out of symlinks,
+ # excluding go-fuse, for bug #503324.
+ GOROOT="${WORKDIR}/goroot"
+ cp -sR /usr/lib/go "${GOROOT}" || die
+ rm -rf "${GOROOT}/src/${GO_PN}" || die
+ rm -rf "${GOROOT}/pkg/linux_${ARCH}/${GO_PN}" || die
+ call_go build
+}
+
+src_install() {
+ call_go install
+ insopts -m0644 -p # preserve timestamps for bug 551486
+ insinto /usr/lib/go
+ doins -r pkg src
+}
diff --git a/dev-libs/go-fuse/go-fuse-9999.ebuild b/dev-libs/go-fuse/go-fuse-9999.ebuild
new file mode 100644
index 000000000000..f3e190c01d4c
--- /dev/null
+++ b/dev-libs/go-fuse/go-fuse-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit git-r3
+
+RESTRICT="strip"
+
+DESCRIPTION="native bindings for the FUSE kernel module"
+HOMEPAGE="https://github.com/hanwen/go-fuse"
+EGIT_REPO_URI="https://github.com/hanwen/go-fuse.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.3"
+RDEPEND=""
+
+GO_PN="github.com/hanwen/${PN}"
+EGIT_CHECKOUT_DIR="${S}/src/${GO_PN}"
+
+export GOPATH="${S}"
+
+src_compile() {
+#no examples right now
+# example/hello example/loopback example/zipfs \
+# example/multizip example/unionfs example/memfs \
+# example/autounionfs ; \
+#or tests
+#fuse/test
+for d in fuse fuse/pathfs zipfs unionfs
+do
+ go build -v -x -work ${GO_PN}/${d} || die
+done
+}
+
+src_install() {
+for d in fuse fuse/pathfs zipfs unionfs
+do
+ go install -v -x -work ${GO_PN}/${d} || die
+done
+
+insinto /usr/lib/go/
+doins -r "${S}/pkg"
+insinto "/usr/lib/go/src/${GO_PN}/"
+#for this ebuild, to fix bug #503324 I have limited what is installed
+#another possible solution would have been using adddeny to the
+#hide installed filed during build
+rm -r "${S}/src/${GO_PN}/.git"
+doins -r "${S}/src/${GO_PN}/fuse"
+doins -r "${S}/src/${GO_PN}/splice"
+}
diff --git a/dev-libs/go-fuse/metadata.xml b/dev-libs/go-fuse/metadata.xml
new file mode 100644
index 000000000000..f491ba214d1a
--- /dev/null
+++ b/dev-libs/go-fuse/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="github">hanwen/go-fuse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/go-usb/go-usb-9999.ebuild b/dev-libs/go-usb/go-usb-9999.ebuild
new file mode 100644
index 000000000000..268fd39dff0d
--- /dev/null
+++ b/dev-libs/go-usb/go-usb-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit git-r3 multilib
+
+DESCRIPTION="CGO bindings for libusb"
+HOMEPAGE="https://github.com/hanwen/usb"
+EGIT_REPO_URI="https://github.com/hanwen/usb.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.4"
+RDEPEND=""
+
+# Tests require a connected mtp device
+RESTRICT="test"
+
+GO_PN="/usr/lib/go/src/github.com/hanwen/usb"
+
+src_install() {
+ insinto "${GO_PN}"
+ doins *.go LICENSE || die "Install failed"
+}
+
+src_test() {
+ go test -ldflags '-extldflags=-fno-PIC' ${GO_PN} || die
+}
diff --git a/dev-libs/go-usb/metadata.xml b/dev-libs/go-usb/metadata.xml
new file mode 100644
index 000000000000..168f0f042d08
--- /dev/null
+++ b/dev-libs/go-usb/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hanwen/usb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
new file mode 100644
index 000000000000..a64a0bc187fd
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -0,0 +1,4 @@
+DIST gobject-introspection-1.38.0.tar.xz 1226324 SHA256 3575e5d353c17a567fdf7ffaaa7aebe9347b5b0eee8e69d612ba56a9def67d73 SHA512 2eeafbb09484988c8489757232233aa9bf5cefecf7f80ed940867cf721e271644f7e94d8ae3b18717340ba3af1c208701c4766b1113af03972311517fda10e8f WHIRLPOOL 7dbab4e983095a12d6711236cd198473a326b100c67958693edf4a236cab6a922234b0e809d171fac1a2c860e29f7775f74a70589c1e1a124c137769ddd540e0
+DIST gobject-introspection-1.40.0.tar.xz 1286424 SHA256 96ea75e9679083e7fe39a105e810e2ead2d708abf189a5ba420bfccfffa24e98 SHA512 d6cc91be018d812f1b04281bc322b8809c2cc12e5e16adf8b826a82505315ec140ce2b823c107ed98c6dced8f62afb6071eed2702a9e76b0e8e73ad193824c04 WHIRLPOOL b5ab2bb221816802cd3d1d3aedcb6b9b5ea9f516b51b4a3a892de1098d834c78cf94aa3e552dc58f0d2530c032e9ba08b41c24b31992afc4493ac3f0bfdc2f78
+DIST gobject-introspection-1.42.0.tar.xz 1308056 SHA256 3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7 SHA512 2f84aae6ebb73f1cda70be6070fdbd0791777baed0f12921518a3c9cc890c406d6649bf0441bef5b93b6da4320d0c2639d9090c43d1011deebd1652f1e958021 WHIRLPOOL fe2703c82c83617093fa9ee74b28a2f6bec87d43f4b6eadf7f124a8454a817b6a30b635ea7c0388e429ae081f23c943ca31c34f2aa68811b1d4d10758b8a6a16
+DIST gobject-introspection-1.44.0.tar.xz 1319168 SHA256 6f0c2c28aeaa37b5037acbf21558098c4f95029b666db755d3a12c2f1e1627ad SHA512 294bee6c935991620e6bfe4bd63d7b5c586079cdc9ac349dd5228f5822f86983a5a4518838c808c3fdd1152cb37f79db5ad8674245939ecad97459ce178f03e7 WHIRLPOOL fb032ae524bdbb011963c58e9d5d4a488fe89d95f2a353d0871176c26f1cb2f276743ec4bb97149f76135565965c173f149f163b78de47b994a5b4b32f3aa6aa
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.38.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.38.0.ebuild
new file mode 100644
index 000000000000..05586a5d009b
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.38.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="http://live.gnome.org/GObjectIntrospection/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<${CATEGORY}/${PN/-common}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# http://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ dodir /usr/share/aclocal
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ dodir /usr/share/gobject-introspection-1.0
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild
new file mode 100644
index 000000000000..5084319bcc95
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="http://live.gnome.org/GObjectIntrospection/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<${CATEGORY}/${PN/-common}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# http://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ dodir /usr/share/aclocal
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ dodir /usr/share/gobject-introspection-1.0
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.42.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.42.0.ebuild
new file mode 100644
index 000000000000..834e61ed0030
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.42.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="http://live.gnome.org/GObjectIntrospection/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<${CATEGORY}/${PN/-common}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# http://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ dodir /usr/share/aclocal
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ dodir /usr/share/gobject-introspection-1.0
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.44.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.44.0.ebuild
new file mode 100644
index 000000000000..72814a17887d
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.44.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="http://live.gnome.org/GObjectIntrospection/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<${CATEGORY}/${PN/-common}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# http://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ dodir /usr/share/aclocal
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ dodir /usr/share/gobject-introspection-1.0
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/metadata.xml b/dev-libs/gobject-introspection-common/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
new file mode 100644
index 000000000000..76685ae62d50
--- /dev/null
+++ b/dev-libs/gobject-introspection/Manifest
@@ -0,0 +1,3 @@
+DIST gobject-introspection-1.40.0.tar.xz 1286424 SHA256 96ea75e9679083e7fe39a105e810e2ead2d708abf189a5ba420bfccfffa24e98 SHA512 d6cc91be018d812f1b04281bc322b8809c2cc12e5e16adf8b826a82505315ec140ce2b823c107ed98c6dced8f62afb6071eed2702a9e76b0e8e73ad193824c04 WHIRLPOOL b5ab2bb221816802cd3d1d3aedcb6b9b5ea9f516b51b4a3a892de1098d834c78cf94aa3e552dc58f0d2530c032e9ba08b41c24b31992afc4493ac3f0bfdc2f78
+DIST gobject-introspection-1.42.0.tar.xz 1308056 SHA256 3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7 SHA512 2f84aae6ebb73f1cda70be6070fdbd0791777baed0f12921518a3c9cc890c406d6649bf0441bef5b93b6da4320d0c2639d9090c43d1011deebd1652f1e958021 WHIRLPOOL fe2703c82c83617093fa9ee74b28a2f6bec87d43f4b6eadf7f124a8454a817b6a30b635ea7c0388e429ae081f23c943ca31c34f2aa68811b1d4d10758b8a6a16
+DIST gobject-introspection-1.44.0.tar.xz 1319168 SHA256 6f0c2c28aeaa37b5037acbf21558098c4f95029b666db755d3a12c2f1e1627ad SHA512 294bee6c935991620e6bfe4bd63d7b5c586079cdc9ac349dd5228f5822f86983a5a4518838c808c3fdd1152cb37f79db5ad8674245939ecad97459ce178f03e7 WHIRLPOOL fb032ae524bdbb011963c58e9d5d4a488fe89d95f2a353d0871176c26f1cb2f276743ec4bb97149f76135565965c173f149f163b78de47b994a5b4b32f3aa6aa
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch
new file mode 100644
index 000000000000..b4ee77e413ec
--- /dev/null
+++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch
@@ -0,0 +1,484 @@
+From a4c9d09d7a89d3c80b4465a5c2ae0efa24158b24 Mon Sep 17 00:00:00 2001
+From: Giovanni Campagna <gcampagna@src.gnome.org>
+Date: Tue, 6 May 2014 18:53:21 +0200
+Subject: Parse and expose ownership transfer for instance parameters
+
+Knowing the ownership transfer for instance parameters is
+necessary for correct memory management of functions which
+"eat" their instance argument, such as g_dbus_method_invocation_return_*.
+Parse this information from the gir file and store in the
+typelib, and then provide new API on GICallableInfo to
+retrieve this.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=729662
+
+diff --git a/girepository/gicallableinfo.c b/girepository/gicallableinfo.c
+index e69e3e9..702e16c 100644
+--- a/girepository/gicallableinfo.c
++++ b/girepository/gicallableinfo.c
+@@ -276,6 +276,32 @@ g_callable_info_get_caller_owns (GICallableInfo *info)
+ }
+
+ /**
++ * g_callable_info_get_instance_ownership_transfer:
++ * @info: a #GICallableInfo
++ *
++ * Obtains the ownership transfer for the instance argument.
++ * #GITransfer contains a list of possible transfer values.
++ *
++ * Returns: the transfer
++ */
++GITransfer
++g_callable_info_get_instance_ownership_transfer (GICallableInfo *info)
++{
++ GIRealInfo *rinfo = (GIRealInfo*) info;
++ SignatureBlob *blob;
++
++ g_return_val_if_fail (info != NULL, -1);
++ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), -1);
++
++ blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)];
++
++ if (blob->instance_transfer_ownership)
++ return GI_TRANSFER_EVERYTHING;
++ else
++ return GI_TRANSFER_NOTHING;
++}
++
++/**
+ * g_callable_info_get_n_args:
+ * @info: a #GICallableInfo
+ *
+diff --git a/girepository/gicallableinfo.h b/girepository/gicallableinfo.h
+index 71f9d0c..f273d29 100644
+--- a/girepository/gicallableinfo.h
++++ b/girepository/gicallableinfo.h
+@@ -73,6 +73,8 @@ gboolean g_callable_info_invoke (GICallableInfo *info,
+ gboolean is_method,
+ gboolean throws,
+ GError **error);
++GITransfer g_callable_info_get_instance_ownership_transfer (GICallableInfo *info);
++
+ G_END_DECLS
+
+
+diff --git a/girepository/girepository.symbols b/girepository/girepository.symbols
+index 5f01adf..48fb0d9 100644
+--- a/girepository/girepository.symbols
++++ b/girepository/girepository.symbols
+@@ -26,6 +26,7 @@ g_info_new
+ g_callable_info_can_throw_gerror
+ g_callable_info_get_arg
+ g_callable_info_get_caller_owns
++g_callable_info_get_instance_ownership_transfer
+ g_callable_info_get_n_args
+ g_callable_info_get_return_attribute
+ g_callable_info_get_return_type
+diff --git a/girepository/girnode.c b/girepository/girnode.c
+index 53385c2..a7a77e3 100644
+--- a/girepository/girnode.c
++++ b/girepository/girnode.c
+@@ -1664,6 +1664,7 @@ _g_ir_node_build_typelib (GIrNode *node,
+ blob2->caller_owns_return_value = function->result->transfer;
+ blob2->caller_owns_return_container = function->result->shallow_transfer;
+ blob2->skip_return = function->result->skip;
++ blob2->instance_transfer_ownership = function->instance_transfer_full;
+ blob2->reserved = 0;
+ blob2->n_arguments = n;
+
+@@ -1762,6 +1763,7 @@ _g_ir_node_build_typelib (GIrNode *node,
+ blob2->may_return_null = signal->result->nullable;
+ blob2->caller_owns_return_value = signal->result->transfer;
+ blob2->caller_owns_return_container = signal->result->shallow_transfer;
++ blob2->instance_transfer_ownership = signal->instance_transfer_full;
+ blob2->reserved = 0;
+ blob2->n_arguments = n;
+
+@@ -1820,6 +1822,7 @@ _g_ir_node_build_typelib (GIrNode *node,
+ blob2->may_return_null = vfunc->result->nullable;
+ blob2->caller_owns_return_value = vfunc->result->transfer;
+ blob2->caller_owns_return_container = vfunc->result->shallow_transfer;
++ blob2->instance_transfer_ownership = vfunc->instance_transfer_full;
+ blob2->reserved = 0;
+ blob2->n_arguments = n;
+
+diff --git a/girepository/girnode.h b/girepository/girnode.h
+index 4beef7f..02196e7 100644
+--- a/girepository/girnode.h
++++ b/girepository/girnode.h
+@@ -100,6 +100,7 @@ struct _GIrNodeFunction
+ gboolean is_constructor;
+ gboolean wraps_vfunc;
+ gboolean throws;
++ gboolean instance_transfer_full;
+
+ gchar *symbol;
+
+@@ -188,6 +189,7 @@ struct _GIrNodeSignal
+ gboolean detailed;
+ gboolean action;
+ gboolean no_hooks;
++ gboolean instance_transfer_full;
+
+ gboolean has_class_closure;
+ gboolean true_stops_emit;
+@@ -208,6 +210,7 @@ struct _GIrNodeVFunc
+ gboolean must_not_be_implemented;
+ gboolean is_class_closure;
+ gboolean throws;
++ gboolean instance_transfer_full;
+
+ char *invoker;
+
+diff --git a/girepository/girparser.c b/girepository/girparser.c
+index 6c76866..f928c2e 100644
+--- a/girepository/girparser.c
++++ b/girepository/girparser.c
+@@ -1047,6 +1047,71 @@ parse_param_transfer (GIrNodeParam *param, const gchar *transfer, const gchar *n
+ }
+
+ static gboolean
++start_instance_parameter (GMarkupParseContext *context,
++ const gchar *element_name,
++ const gchar **attribute_names,
++ const gchar **attribute_values,
++ ParseContext *ctx,
++ GError **error)
++{
++ const gchar *transfer;
++ gboolean transfer_full;
++
++ if (!(strcmp (element_name, "instance-parameter") == 0 &&
++ ctx->state == STATE_FUNCTION_PARAMETERS))
++ return FALSE;
++
++ transfer = find_attribute ("transfer-ownership", attribute_names, attribute_values);
++
++ state_switch (ctx, STATE_PASSTHROUGH);
++
++ if (strcmp (transfer, "full") == 0)
++ transfer_full = TRUE;
++ else if (strcmp (transfer, "none") == 0)
++ transfer_full = FALSE;
++ else
++ {
++ g_set_error (error, G_MARKUP_ERROR,
++ G_MARKUP_ERROR_INVALID_CONTENT,
++ "invalid value for 'transfer-ownership' for instance parameter: %s", transfer);
++ return FALSE;
++ }
++
++ switch (CURRENT_NODE (ctx)->type)
++ {
++ case G_IR_NODE_FUNCTION:
++ case G_IR_NODE_CALLBACK:
++ {
++ GIrNodeFunction *func;
++
++ func = (GIrNodeFunction *)CURRENT_NODE (ctx);
++ func->instance_transfer_full = transfer_full;
++ }
++ break;
++ case G_IR_NODE_SIGNAL:
++ {
++ GIrNodeSignal *signal;
++
++ signal = (GIrNodeSignal *)CURRENT_NODE (ctx);
++ signal->instance_transfer_full = transfer_full;
++ }
++ break;
++ case G_IR_NODE_VFUNC:
++ {
++ GIrNodeVFunc *vfunc;
++
++ vfunc = (GIrNodeVFunc *)CURRENT_NODE (ctx);
++ vfunc->instance_transfer_full = transfer_full;
++ }
++ break;
++ default:
++ g_assert_not_reached ();
++ }
++
++ return TRUE;
++}
++
++static gboolean
+ start_parameter (GMarkupParseContext *context,
+ const gchar *element_name,
+ const gchar **attribute_names,
+@@ -2848,11 +2913,10 @@ start_element_handler (GMarkupParseContext *context,
+ attribute_names, attribute_values,
+ ctx, error))
+ goto out;
+- else if (strcmp (element_name, "instance-parameter") == 0)
+- {
+- state_switch (ctx, STATE_PASSTHROUGH);
+- goto out;
+- }
++ else if (start_instance_parameter (context, element_name,
++ attribute_names, attribute_values,
++ ctx, error))
++ goto out;
+ else if (strcmp (element_name, "c:include") == 0)
+ {
+ state_switch (ctx, STATE_C_INCLUDE);
+diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h
+index 93d621b..5ccb617 100644
+--- a/girepository/gitypelib-internal.h
++++ b/girepository/gitypelib-internal.h
+@@ -465,6 +465,8 @@ typedef struct {
+ * freeing the container, but not its contents.
+ * @skip_return: Indicates that the return value is only useful in C and should
+ * be skipped.
++ * @instance_transfer_ownership: When calling, the function assumes ownership of
++ * the instance parameter.
+ * @reserved: Reserved for future use.
+ * @n_arguments: The number of arguments that this function expects, also the
+ * length of the array of ArgBlobs.
+@@ -479,7 +481,8 @@ typedef struct {
+ guint16 caller_owns_return_value : 1;
+ guint16 caller_owns_return_container : 1;
+ guint16 skip_return : 1;
+- guint16 reserved :12;
++ guint16 instance_transfer_ownership : 1;
++ guint16 reserved :11;
+
+ guint16 n_arguments;
+
+diff --git a/tests/repository/gitypelibtest.c b/tests/repository/gitypelibtest.c
+index 565c95c..7b9cb35 100644
+--- a/tests/repository/gitypelibtest.c
++++ b/tests/repository/gitypelibtest.c
+@@ -276,6 +276,34 @@ test_signal_array_len (GIRepository * repo)
+ g_base_info_unref (testobj_info);
+ }
+
++static void
++test_instance_transfer_ownership (GIRepository * repo)
++{
++ GIObjectInfo *testobj_info;
++ GIFunctionInfo *func_info;
++ GITransfer transfer;
++
++ g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL));
++ testobj_info = g_irepository_find_by_name (repo, "Regress", "TestObj");
++ g_assert (testobj_info != NULL);
++
++ func_info = g_object_info_find_method (testobj_info, "instance_method");
++ g_assert (func_info != NULL);
++ transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info);
++ g_assert_cmpint (GI_TRANSFER_NOTHING, ==, transfer);
++
++ g_base_info_unref (func_info);
++
++ func_info = g_object_info_find_method (testobj_info, "instance_method_full");
++ g_assert (func_info != NULL);
++ transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info);
++ g_assert_cmpint (GI_TRANSFER_EVERYTHING, ==, transfer);
++
++ g_base_info_unref (func_info);
++
++ g_base_info_unref (testobj_info);
++}
++
+ int
+ main (int argc, char **argv)
+ {
+@@ -292,6 +320,7 @@ main (int argc, char **argv)
+ test_hash_with_cairo_typelib (repo);
+ test_char_types (repo);
+ test_signal_array_len (repo);
++ test_instance_transfer_ownership (repo);
+
+ exit (0);
+ }
+diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page
+new file mode 100644
+index 0000000..2222bec
+--- /dev/null
++++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page
+@@ -0,0 +1,38 @@
++<?xml version="1.0"?>
++<page id="Regress.TestObj.instance_method_full"
++ type="topic"
++ style="method"
++ xmlns="http://projectmallard.org/1.0/"
++ xmlns:api="http://projectmallard.org/experimental/api/"
++ xmlns:ui="http://projectmallard.org/1.0/ui/">
++ <info>
++ <link xref="Regress.TestObj" group="method" type="guide"/>
++ <api:function>
++ <api:returns>
++ <api:type>void</api:type>
++ </api:returns>
++ <api:name>regress_test_obj_instance_method_full</api:name>
++ <api:arg>
++ <api:type>RegressTestObj*</api:type>
++ <api:name>obj</api:name>
++ </api:arg>
++ </api:function>
++ </info>
++ <title>regress_test_obj_instance_method_full</title>
++ <synopsis><code mime="text/x-csrc">
++void regress_test_obj_instance_method_full (RegressTestObj* obj);
++ </code></synopsis>
++
++
++<terms>
++<item>
++<title><code>obj</code></title>
++
++</item>
++<item>
++<title><code>Returns</code></title>
++
++</item>
++</terms>
++
++</page>
+diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page
+new file mode 100644
+index 0000000..5b7e1c9
+--- /dev/null
++++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page
+@@ -0,0 +1,26 @@
++<?xml version="1.0"?>
++<page id="Regress.TestObj.instance_method_full"
++ type="topic"
++ style="method"
++ xmlns="http://projectmallard.org/1.0/"
++ xmlns:api="http://projectmallard.org/experimental/api/"
++ xmlns:ui="http://projectmallard.org/1.0/ui/">
++ <info>
++ <link xref="Regress.TestObj" group="method" type="guide"/>
++ <api:function>
++ <api:returns>
++ <api:type>void</api:type>
++ </api:returns>
++ <api:name>regress_test_obj_instance_method_full</api:name>
++ </api:function>
++ </info>
++ <title>Regress.TestObj.prototype.instance_method_full</title>
++ <synopsis><code mime="text/x-gjs">
++function instance_method_full(): void {
++ // Gjs wrapper for regress_test_obj_instance_method_full()
++}
++ </code></synopsis>
++
++
++
++</page>
+diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page
+new file mode 100644
+index 0000000..2b5c1dc
+--- /dev/null
++++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page
+@@ -0,0 +1,37 @@
++<?xml version="1.0"?>
++<page id="Regress.TestObj.instance_method_full"
++ type="topic"
++ style="method"
++ xmlns="http://projectmallard.org/1.0/"
++ xmlns:api="http://projectmallard.org/experimental/api/"
++ xmlns:ui="http://projectmallard.org/1.0/ui/">
++ <info>
++ <link xref="Regress.TestObj" group="method" type="guide"/>
++ <api:function>
++ <api:returns>
++ <api:type>none</api:type>
++ </api:returns>
++ <api:name>regress_test_obj_instance_method_full</api:name>
++ <api:arg>
++ <api:type>Regress.TestObj</api:type>
++ <api:name>self</api:name>
++ </api:arg>
++ </api:function>
++ </info>
++ <title>Regress.TestObj.instance_method_full</title>
++ <synopsis><code mime="text/x-python">
++@accepts(Regress.TestObj)
++@returns(none)
++def instance_method_full(self):
++ # Python wrapper for regress_test_obj_instance_method_full()
++ </code></synopsis>
++
++
++<terms>
++<item>
++<title><code>self</code></title>
++
++</item>
++</terms>
++
++</page>
+diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
+index 1c9c300..89ecaa4 100644
+--- a/tests/scanner/Regress-1.0-expected.gir
++++ b/tests/scanner/Regress-1.0-expected.gir
+@@ -3057,6 +3057,17 @@ case.</doc>
+ </parameter>
+ </parameters>
+ </method>
++ <method name="instance_method_full"
++ c:identifier="regress_test_obj_instance_method_full">
++ <return-value transfer-ownership="none">
++ <type name="none" c:type="void"/>
++ </return-value>
++ <parameters>
++ <instance-parameter name="obj" transfer-ownership="full">
++ <type name="TestObj" c:type="RegressTestObj*"/>
++ </instance-parameter>
++ </parameters>
++ </method>
+ <method name="set_bare" c:identifier="regress_test_obj_set_bare">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt
+index c9ff60a..187aa16 100644
+--- a/tests/scanner/Regress-1.0-sections-expected.txt
++++ b/tests/scanner/Regress-1.0-sections-expected.txt
+@@ -334,6 +334,7 @@ regress_test_obj_emit_sig_with_uint64
+ regress_forced_method
+ regress_test_obj_instance_method
+ regress_test_obj_instance_method_callback
++regress_test_obj_instance_method_full
+ regress_test_obj_set_bare
+ regress_test_obj_skip_inout_param
+ regress_test_obj_skip_out_param
+diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
+index 1bad36e..b42e0cd 100644
+--- a/tests/scanner/regress.c
++++ b/tests/scanner/regress.c
+@@ -2679,6 +2679,17 @@ regress_test_obj_instance_method (RegressTestObj *obj)
+ return -1;
+ }
+
++/**
++ * regress_test_obj_instance_method_full:
++ * @obj: (transfer full):
++ *
++ */
++void
++regress_test_obj_instance_method_full (RegressTestObj *obj)
++{
++ g_object_unref (obj);
++}
++
+ double
+ regress_test_obj_static_method (int x)
+ {
+diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
+index e2e645b..667f129 100644
+--- a/tests/scanner/regress.h
++++ b/tests/scanner/regress.h
+@@ -527,6 +527,7 @@ void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj);
+ void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj);
+ void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj);
+ int regress_test_obj_instance_method (RegressTestObj *obj);
++void regress_test_obj_instance_method_full (RegressTestObj *obj);
+ double regress_test_obj_static_method (int x);
+ void regress_forced_method (RegressTestObj *obj);
+
+--
+cgit v0.10.1
+
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch
new file mode 100644
index 000000000000..8195cdf362da
--- /dev/null
+++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch
@@ -0,0 +1,32 @@
+From d2dce55c971fc44cc327818b0341eb89f1243db6 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@gnome.org>
+Date: Wed, 28 Jan 2015 21:55:20 -0600
+Subject: scanner: don't pass certain debug level flags to cpp
+
+These may cause cpp to output code that still has #defines in them,
+which the scanner does not expect.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=720504
+
+diff --git a/giscanner/sourcescanner.py b/giscanner/sourcescanner.py
+index dab1602..9a81421 100644
+--- a/giscanner/sourcescanner.py
++++ b/giscanner/sourcescanner.py
+@@ -294,6 +294,14 @@ class SourceScanner(object):
+ cpp_args += ['-E', '-C', '-I.', '-']
+ cpp_args += self._cpp_options
+
++ # We expect the preprocessor to remove macros. If debugging is turned
++ # up high enough that won't happen, so strip these out. Bug #720504
++ for flag in ['-g3', '-ggdb3', '-gstabs3', '-gcoff3', '-gxcoff3', '-gvms3']:
++ try:
++ cpp_args.remove(flag)
++ except ValueError:
++ pass
++
+ proc = subprocess.Popen(cpp_args,
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE)
+--
+cgit v0.10.2
+
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild
new file mode 100644
index 000000000000..0ba67d99c07a
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit eutils gnome2 python-single-r1 toolchain-funcs versionator
+
+DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="cairo doctool test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+# We force glib and goi to be in sync by this way as explained in bug #518424
+RDEPEND="
+ >=dev-libs/gobject-introspection-common-${PV}
+ >=dev-libs/glib-2.$(get_version_component_range 2):2
+ doctool? ( dev-python/mako )
+ virtual/libffi:=
+ virtual/pkgconfig
+ !<dev-lang/vala-0.20.0
+ ${PYTHON_DEPS}
+"
+# Wants real bison, not virtual/yacc
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.19
+ sys-devel/bison
+ sys-devel/flex
+"
+# PDEPEND to avoid circular dependencies, bug #391213
+PDEPEND="cairo? ( x11-libs/cairo[glib] )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Prevent gjs crashes, bug #523608 (from 'master')
+ epatch "${FILESDIR}/${PN}-1.40.0-gjs-crash.patch"
+ gnome2_src_prepare
+}
+
+src_configure() {
+ if ! has_version "x11-libs/cairo[glib]"; then
+ # Bug #391213: enable cairo-gobject support even if it's not installed
+ # We only PDEPEND on cairo to avoid circular dependencies
+ export CAIRO_LIBS="-lcairo -lcairo-gobject"
+ export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
+ fi
+
+ # To prevent crosscompiling problems, bug #414105
+ gnome2_src_configure \
+ --disable-static \
+ CC=$(tc-getCC) \
+ YACC=$(type -p yacc) \
+ $(use_with cairo) \
+ $(use_enable doctool)
+}
+
+src_install() {
+ DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO"
+ gnome2_src_install
+
+ # Prevent collision with gobject-introspection-common
+ rm -v "${ED}"usr/share/aclocal/introspection.m4 \
+ "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die
+ rmdir "${ED}"usr/share/aclocal || die
+}
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild
new file mode 100644
index 000000000000..b849355eb902
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit gnome2 python-single-r1 toolchain-funcs versionator
+
+DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="cairo doctool test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+# We force glib and goi to be in sync by this way as explained in bug #518424
+RDEPEND="
+ >=dev-libs/gobject-introspection-common-${PV}
+ >=dev-libs/glib-2.$(get_version_component_range 2):2
+ doctool? ( dev-python/mako )
+ virtual/libffi:=
+ virtual/pkgconfig
+ !<dev-lang/vala-0.20.0
+ ${PYTHON_DEPS}
+"
+# Wants real bison, not virtual/yacc
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.19
+ sys-devel/bison
+ sys-devel/flex
+"
+# PDEPEND to avoid circular dependencies, bug #391213
+PDEPEND="cairo? ( x11-libs/cairo[glib] )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # scanner: don't pass certain debug level flags to cpp (from 'master')
+ epatch "${FILESDIR}"/${PN}-1.42.0-cpp-flags.patch
+ gnome2_src_prepare
+}
+
+src_configure() {
+ if ! has_version "x11-libs/cairo[glib]"; then
+ # Bug #391213: enable cairo-gobject support even if it's not installed
+ # We only PDEPEND on cairo to avoid circular dependencies
+ export CAIRO_LIBS="-lcairo -lcairo-gobject"
+ export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
+ fi
+
+ # To prevent crosscompiling problems, bug #414105
+ gnome2_src_configure \
+ --disable-static \
+ CC="$(tc-getCC)" \
+ YACC="$(type -p yacc)" \
+ $(use_with cairo) \
+ $(use_enable doctool)
+}
+
+src_install() {
+ DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO"
+ gnome2_src_install
+
+ # Prevent collision with gobject-introspection-common
+ rm -v "${ED}"usr/share/aclocal/introspection.m4 \
+ "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die
+ rmdir "${ED}"usr/share/aclocal || die
+}
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild
new file mode 100644
index 000000000000..9b2328495d66
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit gnome2 python-single-r1 toolchain-funcs versionator
+
+DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="cairo doctool test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+# We force glib and goi to be in sync by this way as explained in bug #518424
+RDEPEND="
+ >=dev-libs/gobject-introspection-common-${PV}
+ >=dev-libs/glib-2.$(get_version_component_range 2):2
+ doctool? ( dev-python/mako )
+ virtual/libffi:=
+ virtual/pkgconfig
+ !<dev-lang/vala-0.20.0
+ ${PYTHON_DEPS}
+"
+# Wants real bison, not virtual/yacc
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.19
+ sys-devel/bison
+ sys-devel/flex
+"
+# PDEPEND to avoid circular dependencies, bug #391213
+PDEPEND="cairo? ( x11-libs/cairo[glib] )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ if ! has_version "x11-libs/cairo[glib]"; then
+ # Bug #391213: enable cairo-gobject support even if it's not installed
+ # We only PDEPEND on cairo to avoid circular dependencies
+ export CAIRO_LIBS="-lcairo -lcairo-gobject"
+ export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
+ fi
+
+ # To prevent crosscompiling problems, bug #414105
+ gnome2_src_configure \
+ --disable-static \
+ CC="$(tc-getCC)" \
+ YACC="$(type -p yacc)" \
+ $(use_with cairo) \
+ $(use_enable doctool)
+}
+
+src_install() {
+ DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO"
+ gnome2_src_install
+
+ # Prevent collision with gobject-introspection-common
+ rm -v "${ED}"usr/share/aclocal/introspection.m4 \
+ "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die
+ rmdir "${ED}"usr/share/aclocal || die
+}
diff --git a/dev-libs/gobject-introspection/metadata.xml b/dev-libs/gobject-introspection/metadata.xml
new file mode 100644
index 000000000000..d1585c3f58c6
--- /dev/null
+++ b/dev-libs/gobject-introspection/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<use>
+ <flag name="doctool">Install g-ir-doc-tool for generating documentation
+ from introspected data</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/gom/Manifest b/dev-libs/gom/Manifest
new file mode 100644
index 000000000000..8671591f7110
--- /dev/null
+++ b/dev-libs/gom/Manifest
@@ -0,0 +1,2 @@
+DIST gom-0.3.0.tar.xz 382924 SHA256 352a8bee8dc47e7bd5d08af35b0d67e1f3c54bca23a058a00004cb56ede6f4fd SHA512 ab26dbbb4cbeaa637ca835eff96caf647428505129652d0229808951b3ba5ec2225e2d37054a6b61ccad59954fda7d95bb04d61f75c1ec1ebbc1abea7025b627 WHIRLPOOL 98b7fc358635e17c1c878f2439f667cecd9304a8b5d10023d2e084d01e2950201404156add20da5e05f2a1e09bd42811a31f0765fa9e196e58d4c09496ba7664
+DIST gom-0.3.1.tar.xz 385836 SHA256 7951eb46ee784cbdbee6e3f2da084ffbf776c11ca1c904404b05feafe37e38f5 SHA512 7596b7be0de6f10ef1fbe8a278d917c07ecc714e9af24f2b61a7d871c6a1b1cf19ea92d5b4fbf7802c9c097dc2ae7a65ac47b8ca8f6689b49a3e4930cff6d54c WHIRLPOOL 9fa3a42411e3892a3648f31614462d43b5a4f52a166e5edd80e97741427a9444c39d2200a4ce1ac3e1e87d3b3e974b9dad6f11ee252ba3d10fa1d63b00a09bde
diff --git a/dev-libs/gom/gom-0.3.0.ebuild b/dev-libs/gom/gom-0.3.0.ebuild
new file mode 100644
index 000000000000..e613aa7f67e5
--- /dev/null
+++ b/dev-libs/gom/gom-0.3.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+
+inherit gnome2
+
+DESCRIPTION="GObject to SQLite object mapper library"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+
+IUSE="+introspection test"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+
+RDEPEND="
+ >=dev-db/sqlite-3.7:3
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( x11-libs/gdk-pixbuf )
+"
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable introspection) \
+ $(use_enable test glibtest)
+}
diff --git a/dev-libs/gom/gom-0.3.1.ebuild b/dev-libs/gom/gom-0.3.1.ebuild
new file mode 100644
index 000000000000..340b4f192f52
--- /dev/null
+++ b/dev-libs/gom/gom-0.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+
+inherit gnome2
+
+DESCRIPTION="GObject to SQLite object mapper library"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+
+IUSE="+introspection test"
+KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86"
+
+RDEPEND="
+ >=dev-db/sqlite-3.7:3
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( x11-libs/gdk-pixbuf )
+"
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable introspection) \
+ $(use_enable test glibtest)
+}
diff --git a/dev-libs/gom/metadata.xml b/dev-libs/gom/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/gom/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/granite/Manifest b/dev-libs/granite/Manifest
new file mode 100644
index 000000000000..dc10ebeed1e8
--- /dev/null
+++ b/dev-libs/granite/Manifest
@@ -0,0 +1,4 @@
+DIST granite-0.1.0.tar.gz 92385 SHA256 8eb552f6fd086779b44d08a7a5283928801e6b0db8c54144b9286f9c89ca02f6 SHA512 06733870c2ea9d16e4bdb8aec9984b81d27de9aa8958d8b213fe31aad36675a8dadda9513271d63473e7d243e7b760aaa75ed6ad745f9214b394f23425f41f90 WHIRLPOOL 38cbddf7ef1c80bd907db512d43be68f920debc830fea853b1b793754f47182266d39b4a3c9da7aeecde3992dd1225cc7e2a25f775091184fd21f130346fd605
+DIST granite-0.2.1.tar.gz 146871 SHA256 4e9a97488c04b2c3eadcb4b8251c8938a9637820b1989449e55490f42a2ac92c SHA512 a9cbe43e836c1e5430260bb8643b63b6712c17a60c184ed7105a9e96eb68e8107c09de655f58262a1dcab85cfb59beb18352b49a5ddb0817f9aff7b86d1e2bb1 WHIRLPOOL 6d909976300fa32c16b127b0865f7c8b064230407c496653627aa63b1d24ff4197fa3894d93f9ea9d349a85c26ad0b94e7836bfe6fa15aa0deafa1e5b28d51df
+DIST granite-0.2.3.1.tgz 152607 SHA256 56f05338bb7967f0b912d35bf780a3ddd68b517e1939371a14a5f79581a8f80d SHA512 c4db7d3a9e65178fa961761355fdf4d3795513a5a8d0ba5a448761336817a0de027382421a86213b434449f257f3c869b6275357acb732b6dd382cf5ea86eca8 WHIRLPOOL b7287c7f5ab0c1213b8ea3dc8512375c133244a3d838e612d42c59d3c9694164c03a40a464e210a3b5771399afff0b24f2b054e61fb76fd636443f7804833caa
+DIST granite-0.3.0.tar.gz 285072 SHA256 df950dd79749213971d50316c68edadf1fb3c2151cb7d63f6a6b9edf12084ad1 SHA512 3ebbb7453b770f8b5b98cee0f96db8443d7583af0117b2d34c9daa82bf36d25418e0fcf61118e7551ced91e751d8b032998dc9cca2569e61c7227666c4383872 WHIRLPOOL ebf2130fc97b3d896b868ef2fb37ea3952b0e2630b872a05930ee52f8bc9fb656382cceb7cdbf201e91267b99ab6485777ea2880305ad9e32c79f4af7865f875
diff --git a/dev-libs/granite/files/granite-0.3.0-build-fix.patch b/dev-libs/granite/files/granite-0.3.0-build-fix.patch
new file mode 100644
index 000000000000..f93a3c65df33
--- /dev/null
+++ b/dev-libs/granite/files/granite-0.3.0-build-fix.patch
@@ -0,0 +1,22 @@
+=== modified file 'lib/Widgets/ContractorView.vala'
+--- lib/Widgets/ContractorView.vala 2014-09-04 12:39:00 +0000
++++ lib/Widgets/ContractorView.vala 2015-03-23 05:21:46 +0000
+@@ -35,7 +35,7 @@
+ public delegate void ContractCallback ();
+ private Gee.HashMap<int, DelegateWrapper?> outsiders;
+ private int[] blacklisted_pos;
+- private ListStore list;
++ private Gtk.ListStore list;
+
+ private struct DelegateWrapper { unowned ContractCallback method; }
+
+@@ -73,7 +73,7 @@
+ */
+ public ContractorView (string filename, string mime, int icon_size = 32, bool show_contract_name = true) {
+ /* Setup the ListStore */
+- list = new ListStore (2, typeof (Gdk.Pixbuf), typeof (string));
++ list = new Gtk.ListStore (2, typeof (Gdk.Pixbuf), typeof (string));
+ outsiders = new Gee.HashMap<int, DelegateWrapper?> ();
+ this.model = list;
+
+
diff --git a/dev-libs/granite/files/granite-0.3.0-build-fix2.patch b/dev-libs/granite/files/granite-0.3.0-build-fix2.patch
new file mode 100644
index 000000000000..7c6bcb9236e5
--- /dev/null
+++ b/dev-libs/granite/files/granite-0.3.0-build-fix2.patch
@@ -0,0 +1,13 @@
+=== modified file 'lib/Widgets/DynamicNotebook.vala'
+--- lib/Widgets/DynamicNotebook.vala 2014-08-30 13:28:37 +0000
++++ lib/Widgets/DynamicNotebook.vala 2014-09-23 13:43:11 +0000
+@@ -941,7 +941,7 @@
+ notebook.create_window.connect (on_create_window);
+ }
+
+- ~Notebook () {
++ ~DynamicNotebook () {
+ notebook.switch_page.disconnect (on_switch_page);
+ notebook.page_added.disconnect (on_page_added);
+ notebook.page_removed.disconnect (on_page_removed);
+
diff --git a/dev-libs/granite/files/granite-0.3.0-build-fix3.patch b/dev-libs/granite/files/granite-0.3.0-build-fix3.patch
new file mode 100644
index 000000000000..145d552c7a04
--- /dev/null
+++ b/dev-libs/granite/files/granite-0.3.0-build-fix3.patch
@@ -0,0 +1,24 @@
+=== modified file 'lib/Widgets/DynamicNotebook.vala'
+--- lib/Widgets/DynamicNotebook.vala 2014-07-31 12:41:52 +0000
++++ lib/Widgets/DynamicNotebook.vala 2014-08-30 13:28:37 +0000
+@@ -658,10 +658,19 @@
+ /**
+ * The text shown in the add button tooltip
+ */
++#if VALA_0_26
++ public string add_button_tooltip {
++ get { _add_button_tooltip = add_button.tooltip_text; return _add_button_tooltip; }
++ set { add_button.tooltip_text = value; }
++ }
++ // Use temporary field to avoid breaking API this can be dropped while preparing for 0.4
++ string _add_button_tooltip;
++#else
+ public string add_button_tooltip {
+ get { return add_button.tooltip_text; }
+ set { add_button.tooltip_text = value; }
+ }
++#endif
+
+ public Tab current {
+ get { return tabs.nth_data (notebook.get_current_page ()); }
+
diff --git a/dev-libs/granite/granite-0.1.0.ebuild b/dev-libs/granite/granite-0.1.0.ebuild
new file mode 100644
index 000000000000..6df2e1d33b02
--- /dev/null
+++ b/dev-libs/granite/granite-0.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+VALA_MIN_API_VERSION="0.14"
+
+inherit cmake-utils multilib vala
+
+DESCRIPTION="A development library for elementary development"
+HOMEPAGE="http://launchpad.net/granite"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*.*}.x/${PV%.*}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ dev-libs/libgee:0
+ x11-libs/gtk+:3"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ virtual/pkgconfig
+ sys-devel/gettext"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ vala_src_prepare
+ sed -i -e "/NAMES/s:valac:${VALAC}:" cmake/FindVala.cmake || die
+ sed -i -e "/DESTINATION/s:lib:$(get_libdir):" lib/CMakeLists.txt || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ dohtml -r doc/*
+}
diff --git a/dev-libs/granite/granite-0.2.1.ebuild b/dev-libs/granite/granite-0.2.1.ebuild
new file mode 100644
index 000000000000..c13ab69179ad
--- /dev/null
+++ b/dev-libs/granite/granite-0.2.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+VALA_MIN_API_VERSION="0.14"
+
+inherit cmake-utils gnome2-utils multilib vala versionator
+
+DESCRIPTION="A development library for elementary development"
+HOMEPAGE="http://launchpad.net/granite"
+SRC_URI="http://launchpad.net/${PN}/$(get_version_component_range 1-2)/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ dev-libs/libgee:0[introspection]
+ x11-libs/gtk+:3"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ virtual/pkgconfig
+ sys-devel/gettext"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ vala_src_prepare
+ sed -i -e "/NAMES/s:valac:${VALAC}:" cmake/FindVala.cmake || die
+ sed -i -e "/DESTINATION/s:lib:$(get_libdir):" lib/CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ HTML_DOCS=( doc/. )
+ cmake-utils_src_install
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/dev-libs/granite/granite-0.2.3.1.ebuild b/dev-libs/granite/granite-0.2.3.1.ebuild
new file mode 100644
index 000000000000..c802040e4f16
--- /dev/null
+++ b/dev-libs/granite/granite-0.2.3.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+VALA_MIN_API_VERSION=0.16
+
+inherit cmake-utils gnome2-utils multilib vala versionator
+
+DESCRIPTION="A development library for elementary development"
+HOMEPAGE="http://launchpad.net/granite"
+SRC_URI="http://launchpad.net/${PN}/$(get_version_component_range 1-2)/${PV}/+download/${P}.tgz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/glib-2.32
+ dev-libs/gobject-introspection
+ dev-libs/libgee:0[introspection]
+ >=x11-libs/gtk+-3.3.14:3"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ vala_src_prepare
+ sed -i -e "/NAMES/s:valac:${VALAC}:" cmake/FindVala.cmake || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ HTML_DOCS=( doc/. )
+ cmake-utils_src_install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/dev-libs/granite/granite-0.3.0.ebuild b/dev-libs/granite/granite-0.3.0.ebuild
new file mode 100644
index 000000000000..befa465624cc
--- /dev/null
+++ b/dev-libs/granite/granite-0.3.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.24"
+
+inherit cmake-utils gnome2-utils multilib vala versionator
+
+DESCRIPTION="A development library for elementary development"
+HOMEPAGE="http://launchpad.net/granite"
+SRC_URI="http://launchpad.net/${PN}/$(get_version_component_range 1-2)/$(get_version_component_range 1-2)/+download/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ dev-libs/gobject-introspection:=
+ dev-libs/libgee:0.8[introspection]
+ >=x11-libs/gtk+-3.11.6:3
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS )
+PATCHES=(
+ # https://bugs.launchpad.net/granite/+bug/1453526
+ "${FILESDIR}"/${P}-build-fix{,2,3}.patch
+)
+
+src_prepare() {
+ vala_src_prepare
+ sed -i -e "/NAMES/s:valac:${VALAC}:" cmake/FindVala.cmake || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ HTML_DOCS=( doc/. )
+ cmake-utils_src_install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/dev-libs/granite/metadata.xml b/dev-libs/granite/metadata.xml
new file mode 100644
index 000000000000..b79791c32fd3
--- /dev/null
+++ b/dev-libs/granite/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ssuominen@gentoo.org</email>
+ <name>Samuli Suominen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">granite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/grantlee/Manifest b/dev-libs/grantlee/Manifest
new file mode 100644
index 000000000000..be3a94f74587
--- /dev/null
+++ b/dev-libs/grantlee/Manifest
@@ -0,0 +1,2 @@
+DIST grantlee-0.4.0.tar.gz 1171445 SHA256 13a2d8121392404bb3be4ed470b211bc098cd98da795ef7bf41517d2fb640d3f SHA512 6ff539eb7aaf366487214b02131d67b9967713c42d20314ff56129e9543516fdf2d129b9c3015f0959c89c6f0ee9ad085af91fed4293bd0613d8e888bc850ca7 WHIRLPOOL ee639a72c6f785559b427a2f13483c256e19dbeb270ff34118a81547ea1f31a69aeaed7c58a2d89952b79d58e3acc88ef44f06cac32739747c7920ef66d621b0
+DIST grantlee-5.0.0.tar.gz 1166498 SHA256 eaf22ba92e53b8eb5dd8bca045fe81b734d3445445ed9e0c1af2a0a7c375b161 SHA512 29b73fe4ee1b6e814ca91e4a3732208bada9b64bc8ace506bd8e888927b3fcd1a539e4ec03488901815692bd47424d8176fb2d6766461011e40fb33b221f6be4 WHIRLPOOL 418cb19061990a39c24d6be42c86f7f63a11d4451434dc2616072a4498268a1bc1de0d5de9163d2980420c1cc955e2f700a4722e19ebbeded5f0aa6a7393eb48
diff --git a/dev-libs/grantlee/files/grantlee-0.1.9-qt-test-optional.patch b/dev-libs/grantlee/files/grantlee-0.1.9-qt-test-optional.patch
new file mode 100644
index 000000000000..6af42cbab3fb
--- /dev/null
+++ b/dev-libs/grantlee/files/grantlee-0.1.9-qt-test-optional.patch
@@ -0,0 +1,46 @@
+From ab40a1ce4bff38fe6c19931bcdb46cdf754e29ed Mon Sep 17 00:00:00 2001
+From: Johannes Huber <johu@gentoo.org>
+Date: Thu, 22 Mar 2012 11:37:57 +0100
+Subject: [PATCH] Search only for qt-test if test build option is enabled.
+
+Build fails on systems were no qt-test is installed and the build option
+for tests is disabled. See downstream bug report
+https://bugs.gentoo.org/show_bug.cgi?id=409131.
+---
+ templates/CMakeLists.txt | 6 +++++-
+ textdocument/CMakeLists.txt | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/templates/CMakeLists.txt b/templates/CMakeLists.txt
+index 0594cc3..eec0f12 100644
+--- a/templates/CMakeLists.txt
++++ b/templates/CMakeLists.txt
+@@ -1,5 +1,9 @@
+
+-find_package(Qt4 4.5.0 REQUIRED QtCore QtScript QtTest)
++if (BUILD_TESTS)
++ find_package(Qt4 4.5.0 REQUIRED QtCore QtScript QtTest)
++else (BUILD_TESTS)
++ find_package(Qt4 4.5.0 REQUIRED QtCore QtScript)
++endif (BUILD_TESTS)
+
+ include(${Grantlee_USE_FILE})
+
+diff --git a/textdocument/CMakeLists.txt b/textdocument/CMakeLists.txt
+index d456663..8fa2892 100644
+--- a/textdocument/CMakeLists.txt
++++ b/textdocument/CMakeLists.txt
+@@ -1,5 +1,9 @@
+
+-find_package(Qt4 4.5.0 REQUIRED QtCore QtGui QtTest)
++if (BUILD_TESTS)
++ find_package(Qt4 4.5.0 REQUIRED QtCore QtScript QtTest)
++else (BUILD_TESTS)
++ find_package(Qt4 4.5.0 REQUIRED QtCore QtScript)
++endif (BUILD_TESTS)
+
+ include(${QT_USE_FILE})
+
+--
+1.7.9.4
+
diff --git a/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch b/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch
new file mode 100644
index 000000000000..a25f52b3c63d
--- /dev/null
+++ b/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch
@@ -0,0 +1,14 @@
+diff -ruN grantlee-0.3.0.orig/CMakeLists.txt grantlee-0.3.0/CMakeLists.txt
+--- grantlee-0.3.0.orig/CMakeLists.txt 2012-11-01 21:14:18.000000000 +0100
++++ grantlee-0.3.0/CMakeLists.txt 2013-03-09 12:25:56.498096399 +0100
+@@ -62,8 +62,8 @@
+ endif()
+
+ if (NOT APPLE)
+- set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
+- set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
++ set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
++ set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
+ endif ()
+
+ if (NOT MINGW)
diff --git a/dev-libs/grantlee/files/grantlee-slot.patch b/dev-libs/grantlee/files/grantlee-slot.patch
new file mode 100644
index 000000000000..814fb9d63b90
--- /dev/null
+++ b/dev-libs/grantlee/files/grantlee-slot.patch
@@ -0,0 +1,40 @@
+Install headers to a custom location to permit slotting with Qt4 version.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 45f8673..7832a3b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -94,7 +94,7 @@ set (LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (eg. '6
+ set( LIB_INSTALL_DIR lib${LIB_SUFFIX} )
+ set( PLUGIN_INSTALL_DIR lib${LIB_SUFFIX}/grantlee/${Grantlee_MAJOR_MINOR_VERSION_STRING} )
+ set( BIN_INSTALL_DIR bin )
+-set( INCLUDE_INSTALL_DIR include )
++set( INCLUDE_INSTALL_DIR include/grantlee5 )
+ set( DATA_INSTALL_DIR share/apps )
+
+ # set up RPATH/install_name_dir
+diff --git a/templates/lib/CMakeLists.txt b/templates/lib/CMakeLists.txt
+index 789205c..7045449 100644
+--- a/templates/lib/CMakeLists.txt
++++ b/templates/lib/CMakeLists.txt
+@@ -79,6 +79,7 @@ add_library(Grantlee5::Templates ALIAS Grantlee_Templates)
+ generate_export_header(Grantlee_Templates)
+ set_property(TARGET Grantlee_Templates PROPERTY EXPORT_NAME Templates)
+ target_include_directories(Grantlee_Templates PRIVATE ../scriptabletags)
++target_include_directories(Grantlee_Templates INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
+
+ if (BUILD_TESTS)
+ set(GRANTLEE_TESTS_EXPORT "GRANTLEE_TEMPLATES_EXPORT")
+diff --git a/textdocument/lib/CMakeLists.txt b/textdocument/lib/CMakeLists.txt
+index 14163db..7c609f9 100644
+--- a/textdocument/lib/CMakeLists.txt
++++ b/textdocument/lib/CMakeLists.txt
+@@ -24,7 +24,7 @@ add_library(Grantlee_TextDocument SHARED
+ generate_export_header(Grantlee_TextDocument)
+ add_library(Grantlee::TextDocument ALIAS Grantlee_TextDocument)
+ set_property(TARGET Grantlee_TextDocument PROPERTY EXPORT_NAME TextDocument)
+-
++target_include_directories(Grantlee_TextDocument INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
+
+ target_link_libraries(Grantlee_TextDocument
+ LINK_PUBLIC Qt5::Gui
diff --git a/dev-libs/grantlee/grantlee-0.4.0.ebuild b/dev-libs/grantlee/grantlee-0.4.0.ebuild
new file mode 100644
index 000000000000..a5a7e49e1afd
--- /dev/null
+++ b/dev-libs/grantlee/grantlee-0.4.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="C++ string template engine based on the Django template system"
+HOMEPAGE="http://www.gitorious.org/grantlee/pages/Home"
+SRC_URI="http://downloads.grantlee.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86"
+IUSE="debug doc test"
+
+RDEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtscript:4
+"
+DEPEND="${RDEPEND}
+ doc? ( >=app-doc/doxygen-1.7.6.1[dot] )
+ test? ( dev-qt/qttest:4 )
+"
+
+# Some tests fail
+RESTRICT="test"
+
+DOCS=( AUTHORS CHANGELOG GOALS README )
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.0-nonfatal-warnings.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test TESTS)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ use doc && cmake-utils_src_compile docs
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}/apidox/" )
+
+ cmake-utils_src_install
+}
diff --git a/dev-libs/grantlee/grantlee-5.0.0.ebuild b/dev-libs/grantlee/grantlee-5.0.0.ebuild
new file mode 100644
index 000000000000..2134e804594e
--- /dev/null
+++ b/dev-libs/grantlee/grantlee-5.0.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+VIRTUALX_REQUIRED="test"
+inherit cmake-utils virtualx
+
+DESCRIPTION="C++ string template engine based on the Django template system"
+HOMEPAGE="http://www.gitorious.org/grantlee/pages/Home"
+SRC_URI="http://downloads.grantlee.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="5"
+KEYWORDS="~amd64 ~arm"
+IUSE="debug doc test"
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtscript:5
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )
+ test? ( dev-qt/qttest:5 )
+"
+
+DOCS=( AUTHORS CHANGELOG README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.0-nonfatal-warnings.patch"
+ "${FILESDIR}/${PN}-slot.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ use doc && cmake-utils_src_compile docs
+}
+
+src_test() {
+ VIRTUALX_COMMAND="cmake-utils_src_test" virtualmake
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${BUILD_DIR}/apidox/")
+
+ cmake-utils_src_install
+}
diff --git a/dev-libs/grantlee/metadata.xml b/dev-libs/grantlee/metadata.xml
new file mode 100644
index 000000000000..a23f444b67d6
--- /dev/null
+++ b/dev-libs/grantlee/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+</pkgmetadata>
diff --git a/dev-libs/grok/Manifest b/dev-libs/grok/Manifest
new file mode 100644
index 000000000000..03070642cae1
--- /dev/null
+++ b/dev-libs/grok/Manifest
@@ -0,0 +1 @@
+DIST grok-0.9.2.tar.gz 243554 SHA256 40edbdba488ff9145832c7adb04b27630ca2617384fbef2af014d0e5a76ef636 SHA512 91d410259e89de6fbab011691cf56497158bc7a508194e6d17a2b32c8b70650be3b40c4792390589929b0f553a92b81cd3981e84ddcbe6a6ea80ab8fcdb38b2e WHIRLPOOL 90d0fb5418491435b57335792626d633edc50f348ba4a211a53f3c9acd46f5633b19b9d77642e787dd50e5feed57c2a5bbc78aeea1288c1b146a47e32c62317c
diff --git a/dev-libs/grok/files/0.9.2-Makefile.patch b/dev-libs/grok/files/0.9.2-Makefile.patch
new file mode 100644
index 000000000000..f10531646ad0
--- /dev/null
+++ b/dev-libs/grok/files/0.9.2-Makefile.patch
@@ -0,0 +1,65 @@
+diff --git a/grok-0.9.2/Makefile b/grok-0.9.2/Makefile
+index adfe869..fdced25 100644
+--- a/grok-0.9.2/Makefile
++++ b/grok-0.9.2/Makefile
+@@ -25,10 +25,12 @@ else
+ GPERF?=/usr/bin/gperf
+ endif
+
++LIBS=-lpcre -levent -rdynamic -ltokyocabinet
++
+ # For linux, we need libdl for dlopen()
+ # On FreeBSD, comment this line out.
+ ifeq ($(PLATFORM), GNULinux)
+-LDFLAGS+=-ldl
++LIBS+=-ldl
+ endif
+
+ # #############################################
+@@ -41,8 +43,7 @@ VERSION=$(shell sh $(BASE)/version.sh)
+ #CFLAGS+=-g
+ #LDFLAGS+=-g
+
+-CFLAGS+=-pipe -fPIC -I. -O2
+-LDFLAGS+=-lpcre -levent -rdynamic -ltokyocabinet
++CFLAGS+=-fPIC -I.
+
+ LIBSUFFIX=$(shell sh $(BASE)/platform.sh libsuffix)
+ VERLIBSUFFIX=$(shell sh $(BASE)/platform.sh libsuffix $(MAJOR))
+@@ -50,8 +51,8 @@ DYNLIBFLAG=$(shell sh $(BASE)/platform.sh dynlibflag)
+ LIBNAMEFLAG=$(shell sh $(BASE)/platform.sh libnameflag $(MAJOR) $(INSTALLLIB))
+
+ # Sane includes
+-CFLAGS+=-I/usr/local/include
+-LDFLAGS+=-L/usr/local/lib
++#CFLAGS+=-I/usr/local/include
++#LDFLAGS+=-L/usr/local/lib
+
+ # Platform so we know what to dlopen
+ CFLAGS+=-DPLATFORM_$(PLATFORM)
+@@ -97,6 +98,7 @@ install: libgrok.$(LIBSUFFIX) grok discogrok $(GROKHEADER)
+ install -m 755 grok $(DESTDIR)$(PREFIX)/bin
+ install -m 755 discogrok $(DESTDIR)$(PREFIX)/bin
+ install -m 644 libgrok.$(LIBSUFFIX) $(DESTDIR)$(PREFIX)/lib
++ ln -s libgrok.$(LIBSUFFIX) $(DESTDIR)$(PREFIX)/lib/libgrok.$(LIBSUFFIX).1
+ for header in $(GROKHEADER); do \
+ install -m 644 $$header $(DESTDIR)$(PREFIX)/include; \
+ done
+@@ -162,14 +164,14 @@ cleanver:
+ # Binary creation
+ grok: LDFLAGS+=-levent
+ grok: $(GROKOBJ) conf.tab.o conf.yy.o main.o grok_config.o
+- $(CC) $(LDFLAGS) $^ -o $@
++ $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
+
+ discogrok: $(GROKOBJ) discover_main.o
+- $(CC) $(LDFLAGS) $^ -o $@
++ $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
+
+ libgrok.$(LIBSUFFIX):
+ libgrok.$(LIBSUFFIX): $(GROKOBJ)
+- $(CC) $(LDFLAGS) -fPIC $(DYNLIBFLAG) $(LIBNAMEFLAG) $^ -o $@
++ $(CC) $(LDFLAGS) -fPIC $(DYNLIBFLAG) $(LIBNAMEFLAG) $^ $(LIBS) -o $@
+
+ libgrok.$(VERLIBSUFFIX): libgrok.$(LIBSUFFIX);
+ ln -s $< $@
diff --git a/dev-libs/grok/grok-0.9.2.ebuild b/dev-libs/grok/grok-0.9.2.ebuild
new file mode 100644
index 000000000000..b061208c02c4
--- /dev/null
+++ b/dev-libs/grok/grok-0.9.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="DRY and RAD for regular expressions"
+HOMEPAGE="https://github.com/jordansissel/grok http://code.google.com/p/semicomplete/wiki/Grok"
+SRC_URI="https://github.com/jordansissel/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="dev-db/tokyocabinet
+ >=dev-libs/libevent-1.3
+ >=dev-libs/libpcre-7.6"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-*.patch
+ tc-export CC
+}
diff --git a/dev-libs/grok/metadata.xml b/dev-libs/grok/metadata.xml
new file mode 100644
index 000000000000..26786e3c2888
--- /dev/null
+++ b/dev-libs/grok/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jordansissel/grok</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gtx/Manifest b/dev-libs/gtx/Manifest
new file mode 100644
index 000000000000..b37d45a67bda
--- /dev/null
+++ b/dev-libs/gtx/Manifest
@@ -0,0 +1 @@
+DIST gtx-0.2.2.tar.gz 306024 SHA256 760cab2c8017683f7b9388c7c6759eb4787f853493faee0667c065b28bdd9f44 SHA512 737e21c66388f520c9d6812f3478e583940e9558646b4f3281306e3a946d4fb87719a48c1ac5fb1e38e9e465dfd1f82dea90badb3b321c0ee6b1dd105a9329cb WHIRLPOOL ff44341af74a461a5d77a84620708d7c220f2f60b81ae219d59f8e9a70a21d5ff70f2823d5a17f27d8b86c1d1eefa7199395c595115ea95db4c34391ab9156dd
diff --git a/dev-libs/gtx/files/gtx-0.2.2-debug.patch b/dev-libs/gtx/files/gtx-0.2.2-debug.patch
new file mode 100644
index 000000000000..73f6dfaaad2e
--- /dev/null
+++ b/dev-libs/gtx/files/gtx-0.2.2-debug.patch
@@ -0,0 +1,40 @@
+ Makefile.am | 3 +--
+ examples/Makefile.am | 5 ++---
+ src/Makefile.am | 3 +--
+ 3 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index e6bba05..67274c1 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -8,8 +8,7 @@ noinst_PROGRAMS = \
+ command
+
+ AM_CFLAGS =\
+- -Wall \
+- -g
++ -Wall
+
+ simple_SOURCES = \
+ simple.c
+@@ -30,4 +29,4 @@ command_SOURCES = \
+
+ command_LDADD = \
+ $(GTX_LIBS) \
+- $(top_builddir)/src/libgtx.la
+\ No newline at end of file
++ $(top_builddir)/src/libgtx.la
+diff --git a/src/Makefile.am b/src/Makefile.am
+index f5f873e..a40d772 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -4,8 +4,7 @@ INCLUDES = \
+ $(GTX_CFLAGS)
+
+ AM_CFLAGS =\
+- -Wall \
+- -g
++ -Wall
+
+ #
+ # Headers to be installed
diff --git a/dev-libs/gtx/files/gtx-0.2.2-docdir.patch b/dev-libs/gtx/files/gtx-0.2.2-docdir.patch
new file mode 100644
index 000000000000..e6f9a196f9f5
--- /dev/null
+++ b/dev-libs/gtx/files/gtx-0.2.2-docdir.patch
@@ -0,0 +1,16 @@
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index aa401dc..4d99442 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -5,7 +5,7 @@ SUBDIRS = \
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = gtx.pc
+
+-gtxdocdir = ${prefix}/doc/gtx
++gtxdocdir = ${docdir}
+
+ gtxdoc_DATA = \
+ README \
diff --git a/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch b/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch
new file mode 100644
index 000000000000..0efab61e9b1f
--- /dev/null
+++ b/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch
@@ -0,0 +1,15 @@
+ src/gtx.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/gtx.h b/src/gtx.h
+index 57bee60..ab128b0 100644
+--- a/src/gtx.h
++++ b/src/gtx.h
+@@ -24,7 +24,6 @@
+ #define __GTX_H__
+
+ #include <glib.h>
+-#include <glib/gtestutils.h>
+ #include <glib-object.h>
+
+ G_BEGIN_DECLS
diff --git a/dev-libs/gtx/gtx-0.2.2.ebuild b/dev-libs/gtx/gtx-0.2.2.ebuild
new file mode 100644
index 000000000000..34d6455958a8
--- /dev/null
+++ b/dev-libs/gtx/gtx-0.2.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Small collection of convenience functions intended to enhance the GLib testing framework"
+HOMEPAGE="https://launchpad.net/gtx"
+SRC_URI="https://launchpad.net/gtx/trunk/${PV}/+download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc static-libs"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docdir.patch
+ "${FILESDIR}"/${P}-debug.patch
+ "${FILESDIR}"/${P}-glib.h.patch )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/gtx/metadata.xml b/dev-libs/gtx/metadata.xml
new file mode 100644
index 000000000000..06a5f4bb7c50
--- /dev/null
+++ b/dev-libs/gtx/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+GTX is a small collection of convenience functions intended to enhance the GLib
+testing framework. With specific emphasis on easing the pain of writing test
+cases for asynchronous interactions.
+</longdescription>
+ <upstream>
+ <remote-id type="launchpad">gtx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/guiloader-c++/Manifest b/dev-libs/guiloader-c++/Manifest
new file mode 100644
index 000000000000..ab188bd2c2e7
--- /dev/null
+++ b/dev-libs/guiloader-c++/Manifest
@@ -0,0 +1,2 @@
+DIST guiloader-c++-2.21.0.tar.bz2 301239 SHA256 e8e9bfcf35ebca28b9cf725bbd54bbdc2bf427a16b80d907b91d9c2f91a7ece4 SHA512 5dcc412200dcec738c12b11873e6741505370a92f2b8a091f07bb0f3966bb542e07470932fc17c7c28b990ffd30cc935ac1569e312f26a859a936feae6c280de WHIRLPOOL 4a184eec8bc7445216f86d73af004e7060bb5a7b2d1105bc5d5d84fa5496bdb99ee069b563e406d06f5ab49c693763162ef34fc75767493c3aa473b914558df3
+DIST guiloader-c++-2.99.0.tar.xz 261316 SHA256 f08dcfac3d7e5ca7ce10041c4cf0f156549e713527d2e56a928b449dac33478c SHA512 dda4bbacc582012333fad949861e3d346645c90d7ba121974fe035d8fc4db50949c68c69bde7bf91463851eea6c781dda8b422a839d0f20331afc068ed014910 WHIRLPOOL 37359734b49b7cebda12a7673fdcc6216ab8259a9441f9446e0c7453d7ce83a2a4a57927d1f791322036155d77bd581d1237590ef2cd0d33c2538b658b3aebab
diff --git a/dev-libs/guiloader-c++/guiloader-c++-2.21.0.ebuild b/dev-libs/guiloader-c++/guiloader-c++-2.21.0.ebuild
new file mode 100644
index 000000000000..ae5434ece929
--- /dev/null
+++ b/dev-libs/guiloader-c++/guiloader-c++-2.21.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="C++ binding to GuiLoader library"
+HOMEPAGE="http://www.crowdesigner.org"
+SRC_URI="http://nothing-personal.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="nls"
+
+LANGS="ru"
+
+RDEPEND=">=dev-libs/guiloader-2.21
+ >=dev-cpp/gtkmm-2.22:2.4
+ >=dev-cpp/glibmm-2.24:2"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.18 )"
+
+for x in ${LANGS}; do
+ IUSE="${IUSE} linguas_${x}"
+done
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc doc/{authors.txt,news.en.txt,readme.en.txt} || die
+}
diff --git a/dev-libs/guiloader-c++/guiloader-c++-2.99.0.ebuild b/dev-libs/guiloader-c++/guiloader-c++-2.99.0.ebuild
new file mode 100644
index 000000000000..831352145646
--- /dev/null
+++ b/dev-libs/guiloader-c++/guiloader-c++-2.99.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="C++ binding to GuiLoader library"
+HOMEPAGE="http://www.crowdesigner.org"
+SRC_URI="http://nothing-personal.googlecode.com/files/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls"
+
+LANGS="ru"
+
+RDEPEND=">=dev-libs/guiloader-2.99
+ dev-cpp/gtkmm:3.0
+ >=dev-cpp/glibmm-2.28:2"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.18 )"
+
+for x in ${LANGS}; do
+ IUSE="${IUSE} linguas_${x}"
+done
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc doc/{authors.txt,news.en.txt,readme.en.txt}
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/guiloader-c++/metadata.xml b/dev-libs/guiloader-c++/metadata.xml
new file mode 100644
index 000000000000..08f29d5e92f8
--- /dev/null
+++ b/dev-libs/guiloader-c++/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">GuiLoader/C++ is a C++ binding to GuiLoader library. It is a convenience
+ layer that simplifies development of GuiLoader based applications
+ written in C++ language by introducing exception safety, binding GTK+
+ objects d efined in GuiXml to C++ variables and type-safe dynamic
+ connection to signals.</longdescription>
+ <upstream>
+ <remote-id type="google-code">nothing-personal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/guiloader/Manifest b/dev-libs/guiloader/Manifest
new file mode 100644
index 000000000000..fc34491bf60c
--- /dev/null
+++ b/dev-libs/guiloader/Manifest
@@ -0,0 +1,2 @@
+DIST guiloader-2.21.0.tar.bz2 306030 SHA256 149726e450d264c5f72754a68299f8740cdded9e205c0f4c8b94040be2d41d59 SHA512 247b80fcd6361bb9b76e67a006bae87c5a721d9a47fed61ac136bcff9e531da5dfe2251ad765dc9294862554d50702d58ac843f16200793f7ff94b70a24b349f WHIRLPOOL 2cdf9f332cb4f1f5e2d28dd1f1450845815ee84060e2408a11ed1777ac8d6780a69928a43e508c036ceab2e3e8abbf4d503aad31b6654b61ace36c95ae1c146e
+DIST guiloader-2.99.0.tar.xz 279816 SHA256 86c68b17150fcc7889000cbe5e71feee423970554a66ba77b89246edfc602ee2 SHA512 705c65b18fbbba2c10cc6835f8bd152d58ea0ebc1d87e0812051b65dd06123fdebdf2e67a040cc5dd4cce202fe2b6472781a5c29b46bfc5e122182ec49780a6e WHIRLPOOL b1c38c051b4b6f2b65060edc622c5152c0d723238473bf9a144069a38692b9d4907025a6c1fd66b39b586f165ed6b7661afd5d1f812192e2240efce327dddb73
diff --git a/dev-libs/guiloader/guiloader-2.21.0.ebuild b/dev-libs/guiloader/guiloader-2.21.0.ebuild
new file mode 100644
index 000000000000..fc387d6fe859
--- /dev/null
+++ b/dev-libs/guiloader/guiloader-2.21.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="library to create GTK+ interfaces from GuiXml at runtime"
+HOMEPAGE="http://www.crowdesigner.org"
+SRC_URI="http://nothing-personal.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="nls"
+
+LANGS="ru"
+
+RDEPEND=">=x11-libs/gtk+-2.22:2
+ >=dev-libs/glib-2.26:2"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.18 )"
+
+for x in ${LANGS}; do
+ IUSE="${IUSE} linguas_${x}"
+done
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc doc/{authors.txt,news.{ru,en}.txt,readme.{ru,en}.txt} || die
+}
diff --git a/dev-libs/guiloader/guiloader-2.99.0.ebuild b/dev-libs/guiloader/guiloader-2.99.0.ebuild
new file mode 100644
index 000000000000..28096aebedd8
--- /dev/null
+++ b/dev-libs/guiloader/guiloader-2.99.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="library to create GTK+ interfaces from GuiXml at runtime"
+HOMEPAGE="http://www.crowdesigner.org"
+SRC_URI="http://nothing-personal.googlecode.com/files/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls"
+
+LANGS="ru"
+
+RDEPEND="x11-libs/gtk+:3
+ >=dev-libs/glib-2.28:2"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.18 )"
+
+for x in ${LANGS}; do
+ IUSE="${IUSE} linguas_${x}"
+done
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc doc/{authors.txt,news.{ru,en}.txt,readme.{ru,en}.txt}
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/guiloader/metadata.xml b/dev-libs/guiloader/metadata.xml
new file mode 100644
index 000000000000..dc110b391b58
--- /dev/null
+++ b/dev-libs/guiloader/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">GuiLoader is a high-performance and compact GuiXml loader library. This
+ library allows GTK+ applications to c reate GUI widgets and objects at
+ run-time from GuiXml resource files. GuiLoader is written in C language
+ as a GObject subclass and has a trivial language-independent API.
+ GuiLoader was designed to be easily wrapped for any language that has
+ GTK+ bindings.</longdescription>
+ <upstream>
+ <remote-id type="google-code">nothing-personal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/gumbo/Manifest b/dev-libs/gumbo/Manifest
new file mode 100644
index 000000000000..4371112f82fe
--- /dev/null
+++ b/dev-libs/gumbo/Manifest
@@ -0,0 +1,4 @@
+DIST gumbo-0.10.1.tar.gz 2119285 SHA256 28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad SHA512 bb1fb55cd07076ab6a9f38dc14db50397dbdca9a04ace4895dfba8b8cbc09038a96e26070c09c75fa929ada2e815affe233c1e2ecd8afe2aba6201647cf277d1 WHIRLPOOL 65e604194bf21373b5deada4fb32df7a64e6b78568955cd193e1399e6f74c0463290c1c6ea9a39f2df5b20713969f6651353a641bf9b98e0d2ab2d24f51a6911
+DIST gumbo-0.9.2.tar.gz 2087953 SHA256 82e5cd81e26a3eaac308ba9111573ecce2b48b550c673a6ec09853c12b05a381 SHA512 b04d95f43358afb4b5cf06749f6f325e00f52f6d87fba3a992f92a1c2bcb1e4ded7629379e905ed3e3c42c5685eecca78e44c4fd416e3336420b684b49637303 WHIRLPOOL ef20a3db2125c7dd5869a37241483a95f1de7dccce582f1f7b98cb79501354ece8535ebb4a687b0d668ad584e9b751b15450a5efb7ee39ecf865f20db6e7f33c
+DIST gumbo-0.9.3.tar.gz 2091579 SHA256 038354c0394591b270eafc9203aef4516afbf78a66fcb2c4fff5180593b003f0 SHA512 6acb368e7eb1a27a0f787e53432ae5aef78b3e8be8baa01e991603f6c76a7cca1f1455104deefe50a7c987e1037f6a6f4a224db027d36388eb4146e0fea01fa4 WHIRLPOOL b14d3aa47d6ab9623e98348d6ff3940c8083c5ec440e97e5f8ff5230cb262f5bcae7a0d5cbf42c8fce528467e144e58071a67187e34dd48577c9e2d693fcba6c
+DIST gumbo-0.9.4.tar.gz 2091855 SHA256 01643d1dce8e9465e345433b3328fdcac42760d141a448bb7d5a6e61425cd896 SHA512 87136ef6ee55f7827f343743b59b5148f589c69ee336ce0d7ad2d1ab57c6a383a1905e9e7d4243ba85d3120095bb979334bb9bcaaf8b57282abff344daa55024 WHIRLPOOL d647a3ab542c1d67e9b44656c5c94dfb4bc0c9f082074142ae0984f411cd50259e2664a8611329887bf23e83ed41227fa3efe0c0c3cebac4836c0691aa24d5d6
diff --git a/dev-libs/gumbo/gumbo-0.10.1.ebuild b/dev-libs/gumbo/gumbo-0.10.1.ebuild
new file mode 100644
index 000000000000..6a04d94d9bfc
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.10.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="An implementation of the HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://github.com/google/gumbo-parser#readme"
+SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="doc test"
+
+S="${WORKDIR}/gumbo-parser-${PV}"
+
+DEPEND="test? ( dev-cpp/gtest )
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ dohtml -r docs/html/.
+ for page in docs/man/man3/* ; do
+ doman ${page}
+ done
+ fi
+}
diff --git a/dev-libs/gumbo/gumbo-0.9.2.ebuild b/dev-libs/gumbo/gumbo-0.9.2.ebuild
new file mode 100644
index 000000000000..35f534b6ee21
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.9.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="An implementation of the HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://github.com/google/gumbo-parser#readme"
+SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc test"
+
+S="${WORKDIR}/gumbo-parser-${PV}"
+
+DEPEND="test? ( dev-cpp/gtest )
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ dohtml -r docs/html/.
+ for page in docs/man/man3/* ; do
+ doman ${page}
+ done
+ fi
+}
diff --git a/dev-libs/gumbo/gumbo-0.9.3.ebuild b/dev-libs/gumbo/gumbo-0.9.3.ebuild
new file mode 100644
index 000000000000..7194838edd21
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.9.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="An implementation of the HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://github.com/google/gumbo-parser#readme"
+SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc test"
+
+S="${WORKDIR}/gumbo-parser-${PV}"
+
+DEPEND="test? ( dev-cpp/gtest )
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ dohtml -r docs/html/.
+ for page in docs/man/man3/* ; do
+ doman ${page}
+ done
+ fi
+}
diff --git a/dev-libs/gumbo/gumbo-0.9.4.ebuild b/dev-libs/gumbo/gumbo-0.9.4.ebuild
new file mode 100644
index 000000000000..7194838edd21
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.9.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="An implementation of the HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://github.com/google/gumbo-parser#readme"
+SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc test"
+
+S="${WORKDIR}/gumbo-parser-${PV}"
+
+DEPEND="test? ( dev-cpp/gtest )
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ dohtml -r docs/html/.
+ for page in docs/man/man3/* ; do
+ doman ${page}
+ done
+ fi
+}
diff --git a/dev-libs/gumbo/metadata.xml b/dev-libs/gumbo/metadata.xml
new file mode 100644
index 000000000000..e86742b6679a
--- /dev/null
+++ b/dev-libs/gumbo/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>graaff@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/gumbo-parser#readme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hammer/hammer-9999.ebuild b/dev-libs/hammer/hammer-9999.ebuild
new file mode 100644
index 000000000000..98b199d46948
--- /dev/null
+++ b/dev-libs/hammer/hammer-9999.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+# Hammer upstreams only supports python2.7
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL="true"
+DISTUTILS_SINGLE_IMPL="true"
+
+inherit eutils toolchain-funcs scons-utils git-2 distutils-r1
+
+DESCRIPTION="Hammer is a parsing library, which is bit-oriented and features several parsing backends"
+HOMEPAGE="https://github.com/UpstandingHackers/hammer"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/UpstandingHackers/hammer.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug perl php python test"
+
+DEPEND="dev-util/scons
+>=dev-libs/glib-2.29
+python? ( ${PYTHON_DEPS}
+dev-lang/swig )
+perl? ( >=dev-lang/swig-2.0.8 )
+php? ( dev-lang/swig )"
+RDEPEND=""
+src_prepare() {
+ tc-export AR CC CXX RANLIB
+}
+
+src_configure() {
+ myesconsargs="bindings=cpp"
+
+ if use python; then
+ myesconsargs+=",python"
+ fi
+
+ if use perl; then
+ myesconsargs+=",perl"
+ fi
+
+ if use debug; then
+ # Has to be before bindings parameter
+ # or else it whines about bogus bindings
+ myesconsarg+="--variant=debug ${myesconsarg}"
+ fi
+}
+
+src_compile() {
+ escons prefix="/usr"
+
+ # Have to replace /usr/local in the Makefile for
+ # the perl binding because it doesn't inherit/honor the
+ # prefix set at scons commandline
+ if use perl; then
+ sed -i s:/usr/local:/usr: "${S}/build/opt/src/bindings/perl/Makefile"
+ fi
+}
+
+src_test() {
+ escons test
+}
+
+src_install() {
+ escons prefix="${D}/usr" install
+ dodoc -r README.md NOTES HACKING TODO examples/
+
+}
diff --git a/dev-libs/hammer/metadata.xml b/dev-libs/hammer/metadata.xml
new file mode 100644
index 000000000000..db49a610b109
--- /dev/null
+++ b/dev-libs/hammer/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>lejonet@gentoo.org</email>
+ <name>Daniel Kuehn</name>
+ </maintainer>
+ <longdescription>
+ Hammer is a parsing library. Like many modern parsing libraries, it
+ provides a parser combinator interface for writing grammars as
+ inline domain-specific languages, but Hammer also provides a variety
+ of parsing backends. It's also bit-oriented rather than
+ character-oriented, making it ideal for parsing binary data such as
+ images, network packets, audio, and executables.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">UpstandingHackers/hammer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/handystats/Manifest b/dev-libs/handystats/Manifest
new file mode 100644
index 000000000000..ae8c2ba2fe4e
--- /dev/null
+++ b/dev-libs/handystats/Manifest
@@ -0,0 +1,3 @@
+DIST handystats-1.11.0.zip 141871 SHA256 e4a875495fede9401b916418efc079d42cb028d85af33bc30b21540de32f3c29 SHA512 e6d5fa200c3ca006adc9601c6f200dd7fc4dd57cff45c530990781880536aefdad7eb2fa266df24802f44b9f838ea5ddfd8a60fbeaef4e3b83002fdbd556f4ec WHIRLPOOL 76d8a83373ce3a08b01a438660af7ae128be25d3f10a44caf07f4d9929d719dc6bdf388563a5d241227ff6bd443481adc18d9876946a12d4e89fdec2ced0dc6b
+DIST handystats-1.11.1.zip 142005 SHA256 34ca57a183d101b027889ecac99d93575d69f03d446c3fa9f59572d2dc014723 SHA512 cfb8cdc7e528ef6bb92ef94099081f77f2407bf85477e7bcc8ef92abc69e8e14a8f1de3d2df26f1a7f8103247a133abb47c5a2771a60b9cf589c292d43ace712 WHIRLPOOL ec76b8cd6f89f55dcc1d3e3f753378afde777ea03da75c144504e8a70cf7f11861f496c95d3de987ad381f7f6f0085fac17d2d86df2fe7bb18d04eadac81941e
+DIST handystats-1.11.3.zip 142270 SHA256 3aa549bd11645a4324283d8dec4896cb94e20ed7e3c6c4958c923ab257c6cd99 SHA512 0ece97c1cea48112514098f9481195ccfa7e5dcd1025c4f0dca5aa8266f783cd9f0c96af17f3942bcf13a7d89e51107a12c44f39ede0fa8d17412a25f89cc331 WHIRLPOOL 3953f1c29e64fdcff6602ad461d7e6c4c1a9279596e6bddb1cc6d520c3c334b85f92aa4f3b17b8f33b47260bfd393ec638939c8c4b3130196a7e87eb0552ef7e
diff --git a/dev-libs/handystats/handystats-1.11.0.ebuild b/dev-libs/handystats/handystats-1.11.0.ebuild
new file mode 100644
index 000000000000..f420c46bd90f
--- /dev/null
+++ b/dev-libs/handystats/handystats-1.11.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+RESTRICT="test"
+inherit cmake-utils
+
+DESCRIPTION="C++ library for collecting user-defined in-process runtime statistics with low overhead."
+HOMEPAGE="https://github.com/shindo/handystats"
+SRC_URI="https://github.com/shindo/${PN}/archive/${PV}.zip -> ${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${DEPEND}
+ dev-cpp/gtest
+ dev-libs/boost"
diff --git a/dev-libs/handystats/handystats-1.11.1.ebuild b/dev-libs/handystats/handystats-1.11.1.ebuild
new file mode 100644
index 000000000000..f420c46bd90f
--- /dev/null
+++ b/dev-libs/handystats/handystats-1.11.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+RESTRICT="test"
+inherit cmake-utils
+
+DESCRIPTION="C++ library for collecting user-defined in-process runtime statistics with low overhead."
+HOMEPAGE="https://github.com/shindo/handystats"
+SRC_URI="https://github.com/shindo/${PN}/archive/${PV}.zip -> ${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${DEPEND}
+ dev-cpp/gtest
+ dev-libs/boost"
diff --git a/dev-libs/handystats/handystats-1.11.3.ebuild b/dev-libs/handystats/handystats-1.11.3.ebuild
new file mode 100644
index 000000000000..f420c46bd90f
--- /dev/null
+++ b/dev-libs/handystats/handystats-1.11.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+RESTRICT="test"
+inherit cmake-utils
+
+DESCRIPTION="C++ library for collecting user-defined in-process runtime statistics with low overhead."
+HOMEPAGE="https://github.com/shindo/handystats"
+SRC_URI="https://github.com/shindo/${PN}/archive/${PV}.zip -> ${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${DEPEND}
+ dev-cpp/gtest
+ dev-libs/boost"
diff --git a/dev-libs/handystats/metadata.xml b/dev-libs/handystats/metadata.xml
new file mode 100644
index 000000000000..f8947730a459
--- /dev/null
+++ b/dev-libs/handystats/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">shindo/handystats</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hashit/Manifest b/dev-libs/hashit/Manifest
new file mode 100644
index 000000000000..5f50c0084a70
--- /dev/null
+++ b/dev-libs/hashit/Manifest
@@ -0,0 +1 @@
+DIST hashit-0.9.7.tar.bz2 16368 SHA256 8d912ba9186ca23d4a1b22293cdaa4a907397bb02aa93c5e82c50752f505bf7c SHA512 ce692cc1dfec12f2173f39c32f24ab96223feae6fca5c5ea1bc9dc815be4113936741c620e08cba35feeea26288503d1a42e6a4fe14cf2f854915e5bebcf4eff WHIRLPOOL bf7216b82295f9ed4ebc5a6801a42decae3c74c0c8e53042f0688efe096410442af9e5a4fcb19577fbece7ec791eb8645841b32ff71ed33acdbaed8ad1c285ae
diff --git a/dev-libs/hashit/files/hashit-0.9.7-pkgconfig.patch b/dev-libs/hashit/files/hashit-0.9.7-pkgconfig.patch
new file mode 100644
index 000000000000..e88a28dba5d3
--- /dev/null
+++ b/dev-libs/hashit/files/hashit-0.9.7-pkgconfig.patch
@@ -0,0 +1,20 @@
+--- a/hashit-0.9.7/CMakeLists.txt 2010-03-12 08:35:03.000000000 -0500
++++ b/hashit-0.9.7/CMakeLists.txt 2010-05-28 19:24:52.000000000 -0400
+@@ -9,7 +9,7 @@
+ INCLUDE (FindPkgConfig)
+
+ IF (NOT PKG_CONFIG_FOUND)
+- MESSAGE (FATAL_ERROR "pkg-config not found...")
++ MESSAGE (FATAL_ERROR "pkgconfig not found...")
+ ENDIF (NOT PKG_CONFIG_FOUND)
+
+ ADD_DEFINITIONS (-DDATADIR=\\\"${CMAKE_INSTALL_PREFIX}/share\\\")
+@@ -28,7 +28,7 @@
+
+ INSTALL (TARGETS hashit LIBRARY DESTINATION lib${LIB_SUFFIX})
+ INSTALL (FILES src/hashit.h DESTINATION include)
+-INSTALL (FILES libhashit.pc DESTINATION lib${LIB_SUFFIX}/pkg-config)
++INSTALL (FILES libhashit.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+
+ SET_TARGET_PROPERTIES (hashit PROPERTIES VERSION 1.0 SOVERSION 1)
+ SET (LIBRARY_OUTPUT_PATH src)
diff --git a/dev-libs/hashit/hashit-0.9.7-r1.ebuild b/dev-libs/hashit/hashit-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..e7c11430b64a
--- /dev/null
+++ b/dev-libs/hashit/hashit-0.9.7-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Generic hash library implemented in C which supports multiple collision handling methods"
+HOMEPAGE="http://www.pleyades.net/david/hashit.php"
+SRC_URI="http://www.pleyades.net/david/projects/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug"
+
+PATCHES=( "${FILESDIR}/${P}-pkgconfig.patch" )
diff --git a/dev-libs/hashit/hashit-0.9.7.ebuild b/dev-libs/hashit/hashit-0.9.7.ebuild
new file mode 100644
index 000000000000..53f55cf3a072
--- /dev/null
+++ b/dev-libs/hashit/hashit-0.9.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit cmake-utils eutils
+
+DESCRIPTION="Generic hash library implemented in C which supports multiple collision handling methods"
+HOMEPAGE="http://www.pleyades.net/david/hashit.php"
+SRC_URI="http://www.pleyades.net/david/projects/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-pkgconfig.patch"
+}
diff --git a/dev-libs/hashit/metadata.xml b/dev-libs/hashit/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/hashit/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/hidapi/Manifest b/dev-libs/hidapi/Manifest
new file mode 100644
index 000000000000..e3d32dcb0fa0
--- /dev/null
+++ b/dev-libs/hidapi/Manifest
@@ -0,0 +1,3 @@
+DIST hidapi-0.8.0_pre20130121.tar.xz 257900 SHA256 70440f658dbf1f840647d0756e230fdfe479fd4980d3ba7b299715b1947a8916 SHA512 6735112cae24c845bf5ec1fc04c1cafc12c31a1ec5f8d560fd8089f1abf9b1f4aca2c027b1103b7154f698334d7f9ee8f5e72eb5571ecce5abf3fe716ca68096 WHIRLPOOL 94a691cbeafedd93ac786202f8acb2e4d1a6433cc379c9f7de792c0e1f881b34339df43289804105511f634b26144720e22377a37f1ac1c202a81907a988c773
+DIST hidapi-0.8.0_rc1_p20140719.tgz 103079 SHA256 33e206f5e145fc1bc6aeb55084d71b55d686533d23ad5bb762746ceba81e728b SHA512 204934a707da4e67b834823650b0cfd9be7b413972071129cc5aeeb93465834dde2f5ee23283c55d35b56e3aed8b7ad5fe947399839081f4d895fb65c8cd3e3d WHIRLPOOL 3c7d9cc4f39ebbe1f372a2e4f60990b1127e0c3025b85648d0f114ef652634e8e09d3ccd9e8f26ee6db191db1b2ccbb7afea3c3fa2018e8dfce034679c051f47
+DIST hidapi_0.8.0~rc1+git20140201.3a66d4e+dfsg.orig.tar.bz2 81765 SHA256 770e78bcfafccaaff25fbcf815aa2bee46b369e7f0ed12faa9f9260829b88e9c SHA512 55ab59086622bd4b76b630f6e3a0cb7edb335e736421ad0a9199ac7f2208c8880e1be3ef6ee18ca879f9d3dfdf872b0b0ed998087bc6d4716aada185bcebc1e5 WHIRLPOOL 8a18d8db2ea9b90802124936fe276060c6f890bf571cbc33811a0f026f73a689a426854348d195b2b8ad2aa31243fb2d209dca963f4daf535eb36ab0864035ea
diff --git a/dev-libs/hidapi/hidapi-0.8.0_pre20130121-r1.ebuild b/dev-libs/hidapi/hidapi-0.8.0_pre20130121-r1.ebuild
new file mode 100644
index 000000000000..3066108aa0a3
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.8.0_pre20130121-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils #git-2
+
+# If github is desired, the following may be used.
+#EGIT_REPO_URI="git://github.com/signal11/hidapi.git"
+#EGIT_BRANCH="master"
+#EGIT_COMMIT="119135b8ce0e8db668ec171723d6e56d4394166a"
+
+DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="http://www.signal11.us/oss/hidapi/"
+SRC_URI="http://public.callutheran.edu/~abarker/${P}.tar.xz"
+# When 0.8.0 is officially available the following link should be used.
+#SRC_URI="mirror://github/signal11/${PN}/${P}.zip"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs X"
+
+# S is only needed for the pre_package
+S=${WORKDIR}/${PN}
+RDEPEND="virtual/libusb:1
+ virtual/udev:0"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ X? ( x11-libs/fox )"
+
+src_prepare() {
+ if use X && has_version x11-libs/fox:1.7 ; then
+ sed -i -e 's:PKG_CHECK_MODULES(\[fox\], \[fox\]):PKG_CHECK_MODULES(\[fox\], \[fox17\]):' \
+ configure.ac || die
+ fi
+
+ # Fix bashisms in the configure.ac file.
+ sed -i -e 's:\([A-Z_]\+\)+="\(.*\)":\1="${\1}\2":g' \
+ -e 's:\([A-Z_]\+\)+=`\(.*\)`:\1="${\1}\2":g' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X testgui)
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ doxygen doxygen/Doxyfile || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use doc; then
+ dohtml -r html/*
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/hidapi/hidapi-0.8.0_pre20130121.ebuild b/dev-libs/hidapi/hidapi-0.8.0_pre20130121.ebuild
new file mode 100644
index 000000000000..d4407e0b84ed
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.8.0_pre20130121.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils #git-2
+
+# If github is desired, the following may be used.
+#EGIT_REPO_URI="git://github.com/signal11/hidapi.git"
+#EGIT_BRANCH="master"
+#EGIT_COMMIT="119135b8ce0e8db668ec171723d6e56d4394166a"
+
+DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="http://www.signal11.us/oss/hidapi/"
+SRC_URI="http://public.callutheran.edu/~abarker/${P}.tar.xz"
+# When 0.8.0 is officially available the following link should be used.
+#SRC_URI="mirror://github/signal11/${PN}/${P}.zip"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE="doc static-libs X"
+
+# S is only needed for the pre_package
+S=${WORKDIR}/${PN}
+RDEPEND="virtual/libusb:0"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ X? ( x11-libs/fox:1.6 )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X testgui)
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ doxygen doxygen/Doxyfile || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use doc; then
+ dohtml -r html/*
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140201.ebuild b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140201.ebuild
new file mode 100644
index 000000000000..b7299447167a
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140201.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils versionator autotools-multilib #git-2
+
+# If github is desired, the following may be used.
+#EGIT_REPO_URI="git://github.com/signal11/hidapi.git"
+#EGIT_BRANCH="master"
+#EGIT_COMMIT="119135b8ce0e8db668ec171723d6e56d4394166a"
+
+BASE_PV=$(get_version_component_range 1-3)
+RC_PV=$(get_version_component_range 4)
+GIT_PV=$(get_version_component_range 5)
+GIT_PV=${GIT_PV/p/git}.3a66d4e
+
+DEBIAN_PV=${BASE_PV}~${RC_PV}+${GIT_PV}+dfsg
+
+# S is only needed for the debian_package
+S=${WORKDIR}/${PN}-${DEBIAN_PV}
+
+DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="http://www.signal11.us/oss/hidapi/"
+SRC_URI="mirror://debian/pool/main/h/${PN}/${PN}_${DEBIAN_PV}.orig.tar.bz2"
+# When 0.8.0 is officially available the following link should be used.
+#SRC_URI="mirror://github/signal11/${PN}/${P}.zip"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs X"
+
+RDEPEND="virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ X? ( x11-libs/fox )"
+
+src_prepare() {
+ if use X && has_version x11-libs/fox:1.7 ; then
+ sed -i -e 's:PKG_CHECK_MODULES(\[fox\], \[fox\]):PKG_CHECK_MODULES(\[fox\], \[fox17\]):' \
+ configure.ac || die
+ fi
+
+ # Fix bashisms in the configure.ac file.
+ sed -i -e 's:\([A-Z_]\+\)+="\(.*\)":\1="${\1}\2":g' \
+ -e 's:\([A-Z_]\+\)+=`\(.*\)`:\1="${\1}\2":g' configure.ac || die
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable X testgui)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-multilib_src_compile
+
+ if use doc; then
+ doxygen doxygen/Doxyfile || die
+ fi
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ if use doc; then
+ dohtml -r html/.
+ fi
+}
diff --git a/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild
new file mode 100644
index 000000000000..e90d5c172bb8
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils versionator autotools-multilib #git-2
+
+# If github is desired, the following may be used.
+#EGIT_REPO_URI="git://github.com/signal11/hidapi.git"
+#EGIT_BRANCH="master"
+EGIT_COMMIT="d17db57b9d4354752e0af42f5f33007a42ef2906"
+
+# S is only needed for the debian_package
+S=${WORKDIR}/${PN}-${DEBIAN_PV}
+
+DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="http://www.signal11.us/oss/hidapi/"
+SRC_URI="https://github.com/signal11/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tgz"
+# When 0.8.0 is officially available the following link should be used.
+#SRC_URI="mirror://github/signal11/${PN}/${P}.zip"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs X"
+
+RDEPEND="virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ X? ( x11-libs/fox )"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+src_prepare() {
+ if ! use X; then
+ sed -i -e 's:PKG_CHECK_MODULES(\[fox\], .*):AC_SUBST(fox_CFLAGS,[ ])AC_SUBST(fox_LIBS,[ ]):' configure.ac || die
+ fi
+
+ # Fix bashisms in the configure.ac file.
+ sed -i -e 's:\([A-Z_]\+\)+="\(.*\)":\1="${\1}\2":g' \
+ -e 's:\([A-Z_]\+\)+=`\(.*\)`:\1="${\1}\2":g' configure.ac || die
+
+ # Portage handles license texts itself, no need to install them
+ sed -i -e 's/LICENSE.*/ # blank/' Makefile.am || die
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable X testgui)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-multilib_src_compile
+
+ if use doc; then
+ doxygen doxygen/Doxyfile || die
+ fi
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ if use doc; then
+ dohtml -r html/.
+ fi
+}
diff --git a/dev-libs/hidapi/metadata.xml b/dev-libs/hidapi/metadata.xml
new file mode 100644
index 000000000000..58cf9a572af4
--- /dev/null
+++ b/dev-libs/hidapi/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">signal11/hidapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hiredis/Manifest b/dev-libs/hiredis/Manifest
new file mode 100644
index 000000000000..97b6add58d60
--- /dev/null
+++ b/dev-libs/hiredis/Manifest
@@ -0,0 +1,2 @@
+DIST hiredis-0.11.0.tar.gz 42137 SHA256 ff7b2849e55bf3589eecced7125934feb9645c36a4d490d001dc08c93553eafd SHA512 a506c3e09267bd431dea87fdb7f9a44fb1d4795cbecb31323fe2fb9d66c10351fbf6d931fdaf2731fc2d0a985234e5d6ba0c9e694374d2f414294d27b6f060b8 WHIRLPOOL 0d4d4385452b4fe3aabc7cbdbef95914fea685a65f44a6b2addaec8f0f7779ed7f72c50cfbb976e1838553746ae90f2ce8685c208727e450738ff2bb29cca144
+DIST hiredis-0.13.1.tar.gz 54912 SHA256 8865105e15331156a74b64aafbfd3f8c784a8375e003a55512dcca3d82168487 SHA512 70b533a6cfbc3ce2b64018978e4f4460ca9a204ede92b571638ed4f04960199be0704cff16fcaf368e5c997a01e3b2da98e3c556c2f05c8316381f989684fcf1 WHIRLPOOL 6b2884217544a78153b33d4bc758f8d5bfe2cf29a16c768df7ffefbe7def43c7ae1477f1826790fdc64999b272bd33f72e10a968e606324366cb2b5539a0df71
diff --git a/dev-libs/hiredis/files/hiredis-0.11.0-disable-network-tests.patch b/dev-libs/hiredis/files/hiredis-0.11.0-disable-network-tests.patch
new file mode 100644
index 000000000000..a67503861c24
--- /dev/null
+++ b/dev-libs/hiredis/files/hiredis-0.11.0-disable-network-tests.patch
@@ -0,0 +1,33 @@
+--- test.c.orig 2013-02-05 10:45:22.000000000 -0500
++++ test.c 2013-02-05 10:43:19.000000000 -0500
+@@ -282,12 +282,14 @@
+ static void test_blocking_connection_errors(void) {
+ redisContext *c;
+
++ /*
+ test("Returns error when host cannot be resolved: ");
+ c = redisConnect((char*)"idontexist.local", 6379);
+ test_cond(c->err == REDIS_ERR_OTHER &&
+ (strcmp(c->errstr,"Name or service not known") == 0 ||
+ strcmp(c->errstr,"Can't resolve: idontexist.local") == 0));
+ redisFree(c);
++ */
+
+ test("Returns error when the port is not open: ");
+ c = redisConnect((char*)"localhost", 1);
+@@ -634,6 +636,7 @@
+ test_reply_reader();
+ test_blocking_connection_errors();
+
++/*
+ printf("\nTesting against TCP connection (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
+ cfg.type = CONN_TCP;
+ test_blocking_connection(cfg);
+@@ -645,6 +648,7 @@
+ test_blocking_connection(cfg);
+ test_blocking_io_errors(cfg);
+ if (throughput) test_throughput(cfg);
++*/
+
+ if (fails) {
+ printf("*** %d TESTS FAILED ***\n", fails);
diff --git a/dev-libs/hiredis/files/hiredis-0.13.1-disable-network-tests.patch b/dev-libs/hiredis/files/hiredis-0.13.1-disable-network-tests.patch
new file mode 100644
index 000000000000..2fcbb076d5df
--- /dev/null
+++ b/dev-libs/hiredis/files/hiredis-0.13.1-disable-network-tests.patch
@@ -0,0 +1,36 @@
+diff --git test.c test.c
+index 8fde554..89ed6a0 100644
+--- test.c
++++ test.c
+@@ -343,6 +343,7 @@ static void test_free_null(void) {
+ static void test_blocking_connection_errors(void) {
+ redisContext *c;
+
++#if 0
+ test("Returns error when host cannot be resolved: ");
+ c = redisConnect((char*)"idontexist.test", 6379);
+ test_cond(c->err == REDIS_ERR_OTHER &&
+@@ -353,6 +354,7 @@ static void test_blocking_connection_errors(void) {
+ strcmp(c->errstr,"Temporary failure in name resolution") == 0 ||
+ strcmp(c->errstr,"no address associated with name") == 0));
+ redisFree(c);
++#endif
+
+ test("Returns error when the port is not open: ");
+ c = redisConnect((char*)"localhost", 1);
+@@ -773,6 +775,7 @@ int main(int argc, char **argv) {
+ test_blocking_connection_errors();
+ test_free_null();
+
++#if 0
+ printf("\nTesting against TCP connection (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
+ cfg.type = CONN_TCP;
+ test_blocking_connection(cfg);
+@@ -781,6 +784,7 @@ int main(int argc, char **argv) {
+ test_invalid_timeout_errors(cfg);
+ test_append_formatted_commands(cfg);
+ if (throughput) test_throughput(cfg);
++#endif
+
+ printf("\nTesting against Unix socket connection (%s):\n", cfg.unix.path);
+ cfg.type = CONN_UNIX;
diff --git a/dev-libs/hiredis/hiredis-0.11.0-r1.ebuild b/dev-libs/hiredis/hiredis-0.11.0-r1.ebuild
new file mode 100644
index 000000000000..4758a370ccb6
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-0.11.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="Minimalistic C client library for the Redis database"
+HOMEPAGE="http://github.com/redis/hiredis"
+SRC_URI="http://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x64-solaris"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-disable-network-tests.patch"
+
+ # use GNU ld syntax on Solaris
+ sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
+}
+
+_emake() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ ARCH= \
+ DEBUG= \
+ OPTIMIZATION="${CPPFLAGS}" \
+ "$@"
+}
+
+src_compile() {
+ # The static lib re-uses the same objects as the shared lib, so
+ # overhead is low w/creating it all the time. It's also needed
+ # by the tests.
+ _emake dynamic static
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake PREFIX="${ED}/usr" LIBRARY_PATH="$(get_libdir)" install
+ use static-libs || rm "${ED}/usr/$(get_libdir)/libhiredis.a"
+ dodoc CHANGELOG.md README.md
+}
diff --git a/dev-libs/hiredis/hiredis-0.11.0.ebuild b/dev-libs/hiredis/hiredis-0.11.0.ebuild
new file mode 100644
index 000000000000..2bef3b77858a
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-0.11.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="Minimalistic C client library for the Redis database"
+HOMEPAGE="http://github.com/redis/hiredis"
+SRC_URI="http://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86 ~x86-fbsd ~x64-solaris"
+IUSE="debug"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGELOG.md README.md"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-disable-network-tests.patch"
+
+ # use GNU ld syntax on Solaris
+ sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
+}
+
+src_compile() {
+
+ if ! use debug; then
+ emake CC="$(tc-getCC)" ARCH= DEBUG=
+ else
+ emake CC="$(tc-getCC)" ARCH=
+ fi
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" LIBRARY_PATH="$(get_libdir)" install
+ dodoc ${DOCS}
+}
diff --git a/dev-libs/hiredis/hiredis-0.13.1.ebuild b/dev-libs/hiredis/hiredis-0.13.1.ebuild
new file mode 100644
index 000000000000..608d42fa01c4
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-0.13.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib
+
+DESCRIPTION="Minimalistic C client library for the Redis database"
+HOMEPAGE="http://github.com/redis/hiredis"
+SRC_URI="http://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~x86-fbsd ~x64-solaris"
+IUSE="examples static-libs test"
+
+DEPEND="test? ( dev-db/redis )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-disable-network-tests.patch"
+
+ # use GNU ld syntax on Solaris
+ sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
+}
+
+_build() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX%/}/usr" \
+ LIBRARY_PATH="$(get_libdir)" \
+ ARCH= \
+ DEBUG= \
+ OPTIMIZATION="${CPPFLAGS}" \
+ "$@"
+}
+
+src_compile() {
+ # The static lib re-uses the same objects as the shared lib, so
+ # overhead is low w/creating it all the time. It's also needed
+ # by the tests.
+ _build dynamic static hiredis.pc
+}
+
+src_test() {
+ local REDIS_PID="${T}"/hiredis.pid
+ local REDIS_SOCK="${T}"/hiredis.sock
+ local REDIS_PORT=56379
+ local REDIS_TEST_CONFIG="daemonize yes
+ pidfile ${REDIS_PID}
+ port ${REDIS_PORT}
+ bind 127.0.0.1
+ unixsocket //${REDIS_SOCK}"
+
+ _build hiredis-test
+
+ /usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
+ ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
+ local ret=$?
+
+ kill "$(<"${REDIS_PID}")" || die
+ [ ${ret} != "0" ] && die "tests failed"
+}
+
+src_install() {
+ _build PREFIX="${ED%/}/usr" install
+ if use static-libs; then
+ rm "${ED%/}/usr/$(get_libdir)/libhiredis.a" || die
+ fi
+ use examples && dodoc -r examples
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+
+ dodoc CHANGELOG.md README.md
+}
diff --git a/dev-libs/hiredis/metadata.xml b/dev-libs/hiredis/metadata.xml
new file mode 100644
index 000000000000..036e0b2a9f83
--- /dev/null
+++ b/dev-libs/hiredis/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">redis/hiredis</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/http-fetcher/Manifest b/dev-libs/http-fetcher/Manifest
new file mode 100644
index 000000000000..947861d8afaa
--- /dev/null
+++ b/dev-libs/http-fetcher/Manifest
@@ -0,0 +1 @@
+DIST http_fetcher-1.1.0.tar.gz 382470 SHA256 79c8456b8fde48644662146d1b70bc5d247416c7298599e6721d0ce9e94bd675 SHA512 136eceabc317bc4bf9956272ebbdae735ff589012ed0b17210fdb70051389bb7b3c1b43cdfc322a340e5538e9fd60b7b5216d3d46c439ac9df6af29e621bb1fa WHIRLPOOL 0535083667d321a0c7744635925c7f75b28ef407edcb8a9279b3734479d5510fa46f1041813a36d0ae68a3b174ab488e84ae1346669f85b5b0b4afc8a0d14b6a
diff --git a/dev-libs/http-fetcher/http-fetcher-1.1.0.ebuild b/dev-libs/http-fetcher/http-fetcher-1.1.0.ebuild
new file mode 100644
index 000000000000..162125f0ca9b
--- /dev/null
+++ b/dev-libs/http-fetcher/http-fetcher-1.1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+MY_P="${P/-/_}"
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="small, robust, flexible library for downloading files via HTTP using the GET method"
+HOMEPAGE="http://http-fetcher.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86"
+IUSE="debug"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -r '/AC_DEFUN/s/(AC_PATH_HFETCHER)/[\1]/' -i \
+ http-fetcher.m4
+}
+
+src_compile() {
+ econf \
+ --disable-strict \
+ $(use_enable debug) \
+ || die
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dohtml -r docs/index.html docs/html
+ dodoc README ChangeLog CREDITS INSTALL
+}
diff --git a/dev-libs/http-fetcher/metadata.xml b/dev-libs/http-fetcher/metadata.xml
new file mode 100644
index 000000000000..d2f6452b4c9b
--- /dev/null
+++ b/dev-libs/http-fetcher/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">http-fetcher</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hyperleveldb/Manifest b/dev-libs/hyperleveldb/Manifest
new file mode 100644
index 000000000000..6dd0d41e87c0
--- /dev/null
+++ b/dev-libs/hyperleveldb/Manifest
@@ -0,0 +1 @@
+DIST hyperleveldb-1.2.2.tar.gz 584955 SHA256 1e03ac6ebe053128978cefe09ae3316f728ebbc186c22316d826ec185cffdf34 SHA512 6fb7a84ec237a5a1a3f5f7c90965a0b0661a6143722a159a189c4c54231d8c5746dcbb76713fbe9b8b2529467f287365d30dd7115fb5c1ef54f864686a709eb2 WHIRLPOOL a9ea63100b75a508b4cee590a6487231b20a85bfdae584d33375393e7f78e72120d6dd0fc0d96b5e22ad46a1461d5a1270c250b006187b035092ba6bad7801d5
diff --git a/dev-libs/hyperleveldb/files/snappy.patch b/dev-libs/hyperleveldb/files/snappy.patch
new file mode 100644
index 000000000000..f926e3f6a38c
--- /dev/null
+++ b/dev-libs/hyperleveldb/files/snappy.patch
@@ -0,0 +1,31 @@
+--- Makefile.am 2014-07-29 14:44:37.851568232 +0800
++++ Makefile.am.new 2014-07-29 14:44:54.687855718 +0800
+@@ -196,7 +196,7 @@
+ TESTS = $(check_PROGRAMS)
+
+ benchmark_SOURCES = benchmark.cc
+-benchmark_LDADD = libhyperleveldb.la -lpthread -le -lpopt -lygor
++benchmark_LDADD = libhyperleveldb.la -lpthread -le -lpopt -lygor -lsnappy
+ benchmark_LDFLAGS = -no-install
+
+ db_bench_SOURCES = db/db_bench.cc $(TESTUTIL)
+
+@@ -200,7 +200,7 @@
+ benchmark_LDFLAGS = -no-install
+
+ db_bench_SOURCES = db/db_bench.cc $(TESTUTIL)
+-db_bench_LDADD = libhyperleveldb.la -lpthread
++db_bench_LDADD = libhyperleveldb.la -lpthread -lsnappy
+
+ db_bench_sqlite3_SOURCES = doc/bench/db_bench_sqlite3.cc $(TESTUTIL)
+ db_bench_sqlite3_LDADD = -lsqlite3
+@@ -215,7 +215,7 @@
+ leveldb_dump_all_LDADD = libhyperleveldb.la -lpthread
+
+ leveldb_verify_SOURCES = leveldb-verify.cc
+-leveldb_verify_LDADD = libhyperleveldb.la -lpthread
++leveldb_verify_LDADD = libhyperleveldb.la -lpthread -lsnappy
+
+ autocompact_test_SOURCES = db/autocompact_test.cc $(TESTHARNESS)
+ autocompact_test_LDADD = libhyperleveldb.la -lpthread
+
diff --git a/dev-libs/hyperleveldb/hyperleveldb-1.2.2.ebuild b/dev-libs/hyperleveldb/hyperleveldb-1.2.2.ebuild
new file mode 100644
index 000000000000..5e8ffcf8710c
--- /dev/null
+++ b/dev-libs/hyperleveldb/hyperleveldb-1.2.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WANT_AUTOMAKE="1.11"
+
+inherit eutils autotools
+
+DESCRIPTION="Hyperdex fork/extension of leveldb"
+HOMEPAGE="http://hyperdex.org/"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-libs/leveldb[snappy]
+ "
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/snappy.patch"
+ eautoreconf
+}
diff --git a/dev-libs/hyperleveldb/metadata.xml b/dev-libs/hyperleveldb/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/hyperleveldb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/hyphen/Manifest b/dev-libs/hyphen/Manifest
new file mode 100644
index 000000000000..79493130ef00
--- /dev/null
+++ b/dev-libs/hyphen/Manifest
@@ -0,0 +1,2 @@
+DIST hyphen-2.8.6.tar.gz 636800 SHA256 155cc1be5f406a4f3e55cd5154dd30353652f4da6cff0f600be4f1f67c127208 SHA512 37ca403af59b1e5b254dff69bdf46f933818385517bbd93c3f9b3c177a05408d971b14d2e4b98922a0c274e490a1e23fc468a12984a2802f42c5e67fc0f9ad34 WHIRLPOOL a4a2a40e94925a96af89b70ea980f399eab90dfb640a11aa04617ee5d3a41026c59f2120473fc69b72c0a678590f53979b2e3773474b4c4506a5f104609aa5bf
+DIST hyphen-2.8.8.tar.gz 638369 SHA256 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705 SHA512 ee514952be56869840b70fb74f60eba14dc4de246733ff8705492367e8cf00c485f8778a9d5a7ba374c988d4ac9fedbe75826dc559e1b62465dbfba21f6ce7de WHIRLPOOL a864236d9182e5c336a0d37f1740b698754900422bc034199cb9be628bdb141072edd24a220388c2e995e82e032709fdd5e61377c36322523e9d7591c656f0e1
diff --git a/dev-libs/hyphen/hyphen-2.8.6.ebuild b/dev-libs/hyphen/hyphen-2.8.6.ebuild
new file mode 100644
index 000000000000..849fb139c1f4
--- /dev/null
+++ b/dev-libs/hyphen/hyphen-2.8.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="ALTLinux hyphenation library"
+HOMEPAGE="http://hunspell.sf.net"
+SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="app-text/hunspell"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS ChangeLog NEWS README* THANKS TODO"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ docinto pdf
+ dodoc doc/*.pdf
+
+ rm -f "${ED}"usr/lib*/libhyphen.la
+}
diff --git a/dev-libs/hyphen/hyphen-2.8.8.ebuild b/dev-libs/hyphen/hyphen-2.8.8.ebuild
new file mode 100644
index 000000000000..cc004a00f7da
--- /dev/null
+++ b/dev-libs/hyphen/hyphen-2.8.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="ALTLinux hyphenation library"
+HOMEPAGE="http://hunspell.sf.net"
+SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="app-text/hunspell"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS ChangeLog NEWS README* THANKS TODO"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ docinto pdf
+ dodoc doc/*.pdf
+
+ rm -f "${ED}"usr/lib*/libhyphen.la
+}
diff --git a/dev-libs/hyphen/metadata.xml b/dev-libs/hyphen/metadata.xml
new file mode 100644
index 000000000000..f4ff634ffd6c
--- /dev/null
+++ b/dev-libs/hyphen/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+ <upstream>
+ <remote-id type="sourceforge">hunspell</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
new file mode 100644
index 000000000000..2374fdc0f371
--- /dev/null
+++ b/dev-libs/icu/Manifest
@@ -0,0 +1,2 @@
+DIST icu4c-54_1-src.tgz 25485678 SHA256 d42bc9a8ca6a91c55eb0925c279f49e5b508d51ef26ac9850d9be55de5bb8ab3 SHA512 d54d4cd826e1aef62a574595a04f9fec0a42c4445ed0a166a6bb5c5f3c9f692bf3273756f350233f50b2a1ad32c437dedfeeac96d6dc814d27bfd9159b7a651c WHIRLPOOL 1ae01eb26824ca591ff76ea040f703023f24975ad4177d49b1dd60f7e7f96f60884745d6c6e5e2bdf17fc8e104e97ed814f6c0ca051d1807814e324eb24e94dd
+DIST icu4c-55_1-src.tgz 25600847 SHA256 e16b22cbefdd354bec114541f7849a12f8fc2015320ca5282ee4fd787571457b SHA512 21a3eb2c3678cd27b659eed073f8f1bd99c9751291d077820e9a370fd90b7d9b3bf414cc03dec4acb7fa61087e02d04f9f40e91a32c5180c718e2102fbd0cd35 WHIRLPOOL 8c5221c82ee2c8a02beafd0fdf91e0038e49912cc8b05fb7437dd4d0a0204b97ea62c45c2dd9dde0f658620b772d706e795821865c567d2e1eb91f8b83a12c4a
diff --git a/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch b/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch
new file mode 100644
index 000000000000..db86c921bc8c
--- /dev/null
+++ b/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch
@@ -0,0 +1,1105 @@
+Index: /icu/trunk/source/common/unicode/utypes.h
+===================================================================
+--- /icu/trunk/source/common/unicode/utypes.h (revision 36800)
++++ /icu/trunk/source/common/unicode/utypes.h (revision 36801)
+@@ -648,4 +648,5 @@
+ U_REGEX_TIME_OUT, /**< Maximum allowed match time exceeded */
+ U_REGEX_STOPPED_BY_CALLER, /**< Matching operation aborted by user callback fn. */
++ U_REGEX_PATTERN_TOO_BIG, /**< Pattern exceeds limits on size or complexity. @draft ICU 55 */
+ U_REGEX_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for regexp errors */
+
+Index: /icu/trunk/source/common/utypes.c
+===================================================================
+--- /icu/trunk/source/common/utypes.c (revision 36800)
++++ /icu/trunk/source/common/utypes.c (revision 36801)
+@@ -2,5 +2,5 @@
+ ******************************************************************************
+ *
+-* Copyright (C) 1997-2011, International Business Machines
++* Copyright (C) 1997-2014, International Business Machines
+ * Corporation and others. All Rights Reserved.
+ *
+@@ -166,5 +166,6 @@
+ "U_REGEX_STACK_OVERFLOW",
+ "U_REGEX_TIME_OUT",
+- "U_REGEX_STOPPED_BY_CALLER"
++ "U_REGEX_STOPPED_BY_CALLER",
++ "U_REGEX_PATTERN_TOO_BIG"
+ };
+
+Index: /icu/trunk/source/i18n/regexcmp.cpp
+===================================================================
+--- /icu/trunk/source/i18n/regexcmp.cpp (revision 36800)
++++ /icu/trunk/source/i18n/regexcmp.cpp (revision 36801)
+@@ -305,5 +305,5 @@
+ // the position in the compiled pattern.
+ //
+- fRXPat->fFrameSize+=RESTACKFRAME_HDRCOUNT;
++ allocateStackData(RESTACKFRAME_HDRCOUNT);
+
+ //
+@@ -371,7 +371,7 @@
+ //4 NOP Resreved, will be replaced by a save if there are
+ // OR | operators at the top level
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_STATE_SAVE, 2), *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_JMP, 3), *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_FAIL, 0), *fStatus);
++ appendOp(URX_STATE_SAVE, 2);
++ appendOp(URX_JMP, 3);
++ appendOp(URX_FAIL, 0);
+
+ // Standard open nonCapture paren action emits the two NOPs and
+@@ -396,5 +396,5 @@
+
+ // add the END operation to the compiled pattern.
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_END, 0), *fStatus);
++ appendOp(URX_END, 0);
+
+ // Terminate the pattern compilation state machine.
+@@ -418,5 +418,5 @@
+ int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(savePosition);
+ U_ASSERT(URX_TYPE(op) == URX_NOP); // original contents of reserved location
+- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+1);
++ op = buildOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+1);
+ fRXPat->fCompiledPat->setElementAt(op, savePosition);
+
+@@ -424,6 +424,5 @@
+ // the JMP will eventually be the location following the ')' for the
+ // group. This will be patched in later, when the ')' is encountered.
+- op = URX_BUILD(URX_JMP, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_JMP, 0);
+
+ // Push the position of the newly added JMP op onto the parentheses stack.
+@@ -434,5 +433,5 @@
+ // for a SAVE in the event that there is yet another '|' following
+ // this one.
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
++ appendOp(URX_NOP, 0);
+ fParenStack.push(fRXPat->fCompiledPat->size()-1, *fStatus);
+ }
+@@ -460,10 +459,8 @@
+ {
+ fixLiterals();
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
+- int32_t varsLoc = fRXPat->fFrameSize; // Reserve three slots in match stack frame.
+- fRXPat->fFrameSize += 3;
+- int32_t cop = URX_BUILD(URX_START_CAPTURE, varsLoc);
+- fRXPat->fCompiledPat->addElement(cop, *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
++ appendOp(URX_NOP, 0);
++ int32_t varsLoc = allocateStackData(3); // Reserve three slots in match stack frame.
++ appendOp(URX_START_CAPTURE, varsLoc);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -490,6 +487,6 @@
+ {
+ fixLiterals();
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
++ appendOp(URX_NOP, 0);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -513,10 +510,8 @@
+ {
+ fixLiterals();
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
+- int32_t varLoc = fRXPat->fDataSize; // Reserve a data location for saving the
+- fRXPat->fDataSize += 1; // state stack ptr.
+- int32_t stoOp = URX_BUILD(URX_STO_SP, varLoc);
+- fRXPat->fCompiledPat->addElement(stoOp, *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
++ appendOp(URX_NOP, 0);
++ int32_t varLoc = allocateData(1); // Reserve a data location for saving the state stack ptr.
++ appendOp(URX_STO_SP, varLoc);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -561,24 +556,12 @@
+ {
+ fixLiterals();
+- int32_t dataLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize += 2;
+- int32_t op = URX_BUILD(URX_LA_START, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_JMP, fRXPat->fCompiledPat->size()+ 3);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_LA_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_BACKTRACK, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_NOP, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ int32_t dataLoc = allocateData(2);
++ appendOp(URX_LA_START, dataLoc);
++ appendOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2);
++ appendOp(URX_JMP, fRXPat->fCompiledPat->size()+ 3);
++ appendOp(URX_LA_END, dataLoc);
++ appendOp(URX_BACKTRACK, 0);
++ appendOp(URX_NOP, 0);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -605,14 +588,8 @@
+ {
+ fixLiterals();
+- int32_t dataLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize += 2;
+- int32_t op = URX_BUILD(URX_LA_START, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_STATE_SAVE, 0); // dest address will be patched later.
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+-
+- op = URX_BUILD(URX_NOP, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ int32_t dataLoc = allocateData(2);
++ appendOp(URX_LA_START, dataLoc);
++ appendOp(URX_STATE_SAVE, 0); // dest address will be patched later.
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -652,21 +629,17 @@
+
+ // Allocate data space
+- int32_t dataLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize += 4;
++ int32_t dataLoc = allocateData(4);
+
+ // Emit URX_LB_START
+- int32_t op = URX_BUILD(URX_LB_START, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LB_START, dataLoc);
+
+ // Emit URX_LB_CONT
+- op = URX_BUILD(URX_LB_CONT, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- fRXPat->fCompiledPat->addElement(0, *fStatus); // MinMatchLength. To be filled later.
+- fRXPat->fCompiledPat->addElement(0, *fStatus); // MaxMatchLength. To be filled later.
+-
+- // Emit the NOP
+- op = URX_BUILD(URX_NOP, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LB_CONT, dataLoc);
++ appendOp(URX_RESERVED_OP, 0); // MinMatchLength. To be filled later.
++ appendOp(URX_RESERVED_OP, 0); // MaxMatchLength. To be filled later.
++
++ // Emit the NOPs
++ appendOp(URX_NOP, 0);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -708,22 +681,18 @@
+
+ // Allocate data space
+- int32_t dataLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize += 4;
++ int32_t dataLoc = allocateData(4);
+
+ // Emit URX_LB_START
+- int32_t op = URX_BUILD(URX_LB_START, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LB_START, dataLoc);
+
+ // Emit URX_LBN_CONT
+- op = URX_BUILD(URX_LBN_CONT, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- fRXPat->fCompiledPat->addElement(0, *fStatus); // MinMatchLength. To be filled later.
+- fRXPat->fCompiledPat->addElement(0, *fStatus); // MaxMatchLength. To be filled later.
+- fRXPat->fCompiledPat->addElement(0, *fStatus); // Continue Loc. To be filled later.
+-
+- // Emit the NOP
+- op = URX_BUILD(URX_NOP, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LBN_CONT, dataLoc);
++ appendOp(URX_RESERVED_OP, 0); // MinMatchLength. To be filled later.
++ appendOp(URX_RESERVED_OP, 0); // MaxMatchLength. To be filled later.
++ appendOp(URX_RESERVED_OP, 0); // Continue Loc. To be filled later.
++
++ // Emit the NOPs
++ appendOp(URX_NOP, 0);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -795,10 +764,7 @@
+ if (URX_TYPE(repeatedOp) == URX_SETREF) {
+ // Emit optimized code for [char set]+
+- int32_t loopOpI = URX_BUILD(URX_LOOP_SR_I, URX_VAL(repeatedOp));
+- fRXPat->fCompiledPat->addElement(loopOpI, *fStatus);
+- frameLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+- int32_t loopOpC = URX_BUILD(URX_LOOP_C, frameLoc);
+- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
++ appendOp(URX_LOOP_SR_I, URX_VAL(repeatedOp));
++ frameLoc = allocateStackData(1);
++ appendOp(URX_LOOP_C, frameLoc);
+ break;
+ }
+@@ -808,5 +774,5 @@
+ URX_TYPE(repeatedOp) == URX_DOTANY_UNIX) {
+ // Emit Optimized code for .+ operations.
+- int32_t loopOpI = URX_BUILD(URX_LOOP_DOT_I, 0);
++ int32_t loopOpI = buildOp(URX_LOOP_DOT_I, 0);
+ if (URX_TYPE(repeatedOp) == URX_DOTANY_ALL) {
+ // URX_LOOP_DOT_I operand is a flag indicating ". matches any" mode.
+@@ -816,9 +782,7 @@
+ loopOpI |= 2;
+ }
+- fRXPat->fCompiledPat->addElement(loopOpI, *fStatus);
+- frameLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+- int32_t loopOpC = URX_BUILD(URX_LOOP_C, frameLoc);
+- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
++ appendOp(loopOpI);
++ frameLoc = allocateStackData(1);
++ appendOp(URX_LOOP_C, frameLoc);
+ break;
+ }
+@@ -834,16 +798,13 @@
+ // Emit the code sequence that can handle it.
+ insertOp(topLoc);
+- frameLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+-
+- int32_t op = URX_BUILD(URX_STO_INP_LOC, frameLoc);
++ frameLoc = allocateStackData(1);
++
++ int32_t op = buildOp(URX_STO_INP_LOC, frameLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc);
+
+- op = URX_BUILD(URX_JMP_SAV_X, topLoc+1);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_JMP_SAV_X, topLoc+1);
+ } else {
+ // Simpler code when the repeated body must match something non-empty
+- int32_t jmpOp = URX_BUILD(URX_JMP_SAV, topLoc);
+- fRXPat->fCompiledPat->addElement(jmpOp, *fStatus);
++ appendOp(URX_JMP_SAV, topLoc);
+ }
+ }
+@@ -857,6 +818,5 @@
+ {
+ int32_t topLoc = blockTopLoc(FALSE);
+- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, topLoc);
+- fRXPat->fCompiledPat->addElement(saveStateOp, *fStatus);
++ appendOp(URX_STATE_SAVE, topLoc);
+ }
+ break;
+@@ -872,5 +832,5 @@
+ {
+ int32_t saveStateLoc = blockTopLoc(TRUE);
+- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size());
++ int32_t saveStateOp = buildOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size());
+ fRXPat->fCompiledPat->setElementAt(saveStateOp, saveStateLoc);
+ }
+@@ -891,12 +851,10 @@
+ int32_t jmp2_loc = fRXPat->fCompiledPat->size();
+
+- int32_t jmp1_op = URX_BUILD(URX_JMP, jmp2_loc+1);
++ int32_t jmp1_op = buildOp(URX_JMP, jmp2_loc+1);
+ fRXPat->fCompiledPat->setElementAt(jmp1_op, jmp1_loc);
+
+- int32_t jmp2_op = URX_BUILD(URX_JMP, jmp2_loc+2);
+- fRXPat->fCompiledPat->addElement(jmp2_op, *fStatus);
+-
+- int32_t save_op = URX_BUILD(URX_STATE_SAVE, jmp1_loc+1);
+- fRXPat->fCompiledPat->addElement(save_op, *fStatus);
++ appendOp(URX_JMP, jmp2_loc+2);
++
++ appendOp(URX_STATE_SAVE, jmp1_loc+1);
+ }
+ break;
+@@ -938,10 +896,8 @@
+ if (URX_TYPE(repeatedOp) == URX_SETREF) {
+ // Emit optimized code for a [char set]*
+- int32_t loopOpI = URX_BUILD(URX_LOOP_SR_I, URX_VAL(repeatedOp));
++ int32_t loopOpI = buildOp(URX_LOOP_SR_I, URX_VAL(repeatedOp));
+ fRXPat->fCompiledPat->setElementAt(loopOpI, topLoc);
+- dataLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+- int32_t loopOpC = URX_BUILD(URX_LOOP_C, dataLoc);
+- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
++ dataLoc = allocateStackData(1);
++ appendOp(URX_LOOP_C, dataLoc);
+ break;
+ }
+@@ -951,5 +907,5 @@
+ URX_TYPE(repeatedOp) == URX_DOTANY_UNIX) {
+ // Emit Optimized code for .* operations.
+- int32_t loopOpI = URX_BUILD(URX_LOOP_DOT_I, 0);
++ int32_t loopOpI = buildOp(URX_LOOP_DOT_I, 0);
+ if (URX_TYPE(repeatedOp) == URX_DOTANY_ALL) {
+ // URX_LOOP_DOT_I operand is a flag indicating . matches any mode.
+@@ -960,8 +916,6 @@
+ }
+ fRXPat->fCompiledPat->setElementAt(loopOpI, topLoc);
+- dataLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+- int32_t loopOpC = URX_BUILD(URX_LOOP_C, dataLoc);
+- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
++ dataLoc = allocateStackData(1);
++ appendOp(URX_LOOP_C, dataLoc);
+ break;
+ }
+@@ -972,5 +926,5 @@
+
+ int32_t saveStateLoc = blockTopLoc(TRUE);
+- int32_t jmpOp = URX_BUILD(URX_JMP_SAV, saveStateLoc+1);
++ int32_t jmpOp = buildOp(URX_JMP_SAV, saveStateLoc+1);
+
+ // Check for minimum match length of zero, which requires
+@@ -978,10 +932,9 @@
+ if (minMatchLength(saveStateLoc, fRXPat->fCompiledPat->size()-1) == 0) {
+ insertOp(saveStateLoc);
+- dataLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+-
+- int32_t op = URX_BUILD(URX_STO_INP_LOC, dataLoc);
++ dataLoc = allocateStackData(1);
++
++ int32_t op = buildOp(URX_STO_INP_LOC, dataLoc);
+ fRXPat->fCompiledPat->setElementAt(op, saveStateLoc+1);
+- jmpOp = URX_BUILD(URX_JMP_SAV_X, saveStateLoc+2);
++ jmpOp = buildOp(URX_JMP_SAV_X, saveStateLoc+2);
+ }
+
+@@ -990,10 +943,10 @@
+ int32_t continueLoc = fRXPat->fCompiledPat->size()+1;
+
+- // Put together the save state op store it into the compiled code.
+- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, continueLoc);
++ // Put together the save state op and store it into the compiled code.
++ int32_t saveStateOp = buildOp(URX_STATE_SAVE, continueLoc);
+ fRXPat->fCompiledPat->setElementAt(saveStateOp, saveStateLoc);
+
+ // Append the URX_JMP_SAV or URX_JMPX operation to the compiled pattern.
+- fRXPat->fCompiledPat->addElement(jmpOp, *fStatus);
++ appendOp(jmpOp);
+ }
+ break;
+@@ -1009,8 +962,7 @@
+ int32_t jmpLoc = blockTopLoc(TRUE); // loc 1.
+ int32_t saveLoc = fRXPat->fCompiledPat->size(); // loc 3.
+- int32_t jmpOp = URX_BUILD(URX_JMP, saveLoc);
+- int32_t stateSaveOp = URX_BUILD(URX_STATE_SAVE, jmpLoc+1);
++ int32_t jmpOp = buildOp(URX_JMP, saveLoc);
+ fRXPat->fCompiledPat->setElementAt(jmpOp, jmpLoc);
+- fRXPat->fCompiledPat->addElement(stateSaveOp, *fStatus);
++ appendOp(URX_STATE_SAVE, jmpLoc+1);
+ }
+ break;
+@@ -1085,7 +1037,7 @@
+ // First the STO_SP before the start of the loop
+ insertOp(topLoc);
+- int32_t varLoc = fRXPat->fDataSize; // Reserve a data location for saving the
+- fRXPat->fDataSize += 1; // state stack ptr.
+- int32_t op = URX_BUILD(URX_STO_SP, varLoc);
++
++ int32_t varLoc = allocateData(1); // Reserve a data location for saving the
++ int32_t op = buildOp(URX_STO_SP, varLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc);
+
+@@ -1096,6 +1048,5 @@
+
+ // Then the LD_SP after the end of the loop
+- op = URX_BUILD(URX_LD_SP, varLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LD_SP, varLoc);
+ }
+
+@@ -1133,13 +1084,11 @@
+ {
+ fixLiterals(FALSE);
+- int32_t op;
+ if (fModeFlags & UREGEX_DOTALL) {
+- op = URX_BUILD(URX_DOTANY_ALL, 0);
++ appendOp(URX_DOTANY_ALL, 0);
+ } else if (fModeFlags & UREGEX_UNIX_LINES) {
+- op = URX_BUILD(URX_DOTANY_UNIX, 0);
++ appendOp(URX_DOTANY_UNIX, 0);
+ } else {
+- op = URX_BUILD(URX_DOTANY, 0);
+- }
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_DOTANY, 0);
++ }
+ }
+ break;
+@@ -1148,15 +1097,13 @@
+ {
+ fixLiterals(FALSE);
+- int32_t op = 0;
+ if ( (fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
+- op = URX_CARET;
++ appendOp(URX_CARET, 0);
+ } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
+- op = URX_CARET_M;
++ appendOp(URX_CARET_M, 0);
+ } else if ((fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
+- op = URX_CARET; // Only testing true start of input.
++ appendOp(URX_CARET, 0); // Only testing true start of input.
+ } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
+- op = URX_CARET_M_UNIX;
+- }
+- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
++ appendOp(URX_CARET_M_UNIX, 0);
++ }
+ }
+ break;
+@@ -1165,15 +1112,13 @@
+ {
+ fixLiterals(FALSE);
+- int32_t op = 0;
+ if ( (fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
+- op = URX_DOLLAR;
++ appendOp(URX_DOLLAR, 0);
+ } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
+- op = URX_DOLLAR_M;
++ appendOp(URX_DOLLAR_M, 0);
+ } else if ((fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
+- op = URX_DOLLAR_D;
++ appendOp(URX_DOLLAR_D, 0);
+ } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
+- op = URX_DOLLAR_MD;
+- }
+- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
++ appendOp(URX_DOLLAR_MD, 0);
++ }
+ }
+ break;
+@@ -1181,5 +1126,5 @@
+ case doBackslashA:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_CARET, 0), *fStatus);
++ appendOp(URX_CARET, 0);
+ break;
+
+@@ -1193,5 +1138,5 @@
+ fixLiterals(FALSE);
+ int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
+- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 1), *fStatus);
++ appendOp(op, 1);
+ }
+ break;
+@@ -1206,5 +1151,5 @@
+ fixLiterals(FALSE);
+ int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
+- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
++ appendOp(op, 0);
+ }
+ break;
+@@ -1212,44 +1157,40 @@
+ case doBackslashD:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_D, 1), *fStatus);
++ appendOp(URX_BACKSLASH_D, 1);
+ break;
+
+ case doBackslashd:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_D, 0), *fStatus);
++ appendOp(URX_BACKSLASH_D, 0);
+ break;
+
+ case doBackslashG:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_G, 0), *fStatus);
++ appendOp(URX_BACKSLASH_G, 0);
+ break;
+
+ case doBackslashS:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(
+- URX_BUILD(URX_STAT_SETREF_N, URX_ISSPACE_SET), *fStatus);
++ appendOp(URX_STAT_SETREF_N, URX_ISSPACE_SET);
+ break;
+
+ case doBackslashs:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(
+- URX_BUILD(URX_STATIC_SETREF, URX_ISSPACE_SET), *fStatus);
++ appendOp(URX_STATIC_SETREF, URX_ISSPACE_SET);
+ break;
+
+ case doBackslashW:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(
+- URX_BUILD(URX_STAT_SETREF_N, URX_ISWORD_SET), *fStatus);
++ appendOp(URX_STAT_SETREF_N, URX_ISWORD_SET);
+ break;
+
+ case doBackslashw:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(
+- URX_BUILD(URX_STATIC_SETREF, URX_ISWORD_SET), *fStatus);
++ appendOp(URX_STATIC_SETREF, URX_ISWORD_SET);
+ break;
+
+ case doBackslashX:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_X, 0), *fStatus);
++ appendOp(URX_BACKSLASH_X, 0);
+ break;
+
+@@ -1257,10 +1198,10 @@
+ case doBackslashZ:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_DOLLAR, 0), *fStatus);
++ appendOp(URX_DOLLAR, 0);
+ break;
+
+ case doBackslashz:
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_Z, 0), *fStatus);
++ appendOp(URX_BACKSLASH_Z, 0);
+ break;
+
+@@ -1322,11 +1263,9 @@
+ // and shouldn't enter this code path at all.
+ fixLiterals(FALSE);
+- int32_t op;
+ if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
+- op = URX_BUILD(URX_BACKREF_I, groupNum);
++ appendOp(URX_BACKREF_I, groupNum);
+ } else {
+- op = URX_BUILD(URX_BACKREF, groupNum);
+- }
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_BACKREF, groupNum);
++ }
+ }
+ break;
+@@ -1349,20 +1288,16 @@
+ // Emit the STO_SP
+ int32_t topLoc = blockTopLoc(TRUE);
+- int32_t stoLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
+- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
++ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
++ int32_t op = buildOp(URX_STO_SP, stoLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc);
+
+ // Emit the STATE_SAVE
+- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+2);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+2);
+
+ // Emit the JMP
+- op = URX_BUILD(URX_JMP, topLoc+1);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_JMP, topLoc+1);
+
+ // Emit the LD_SP
+- op = URX_BUILD(URX_LD_SP, stoLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LD_SP, stoLoc);
+ }
+ break;
+@@ -1384,21 +1319,18 @@
+
+ // emit STO_SP loc
+- int32_t stoLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
+- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
++ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
++ int32_t op = buildOp(URX_STO_SP, stoLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc);
+
+ // Emit the SAVE_STATE 5
+ int32_t L7 = fRXPat->fCompiledPat->size()+1;
+- op = URX_BUILD(URX_STATE_SAVE, L7);
++ op = buildOp(URX_STATE_SAVE, L7);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
+
+ // Append the JMP operation.
+- op = URX_BUILD(URX_JMP, topLoc+1);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_JMP, topLoc+1);
+
+ // Emit the LD_SP loc
+- op = URX_BUILD(URX_LD_SP, stoLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LD_SP, stoLoc);
+ }
+ break;
+@@ -1419,17 +1351,15 @@
+
+ // Emit the STO_SP
+- int32_t stoLoc = fRXPat->fDataSize;
+- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
+- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
++ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
++ int32_t op = buildOp(URX_STO_SP, stoLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc);
+
+ // Emit the SAVE_STATE
+ int32_t continueLoc = fRXPat->fCompiledPat->size()+1;
+- op = URX_BUILD(URX_STATE_SAVE, continueLoc);
++ op = buildOp(URX_STATE_SAVE, continueLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
+
+ // Emit the LD_SP
+- op = URX_BUILD(URX_LD_SP, stoLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LD_SP, stoLoc);
+ }
+ break;
+@@ -1488,6 +1418,6 @@
+ {
+ fixLiterals(FALSE);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
++ appendOp(URX_NOP, 0);
++ appendOp(URX_NOP, 0);
+
+ // On the Parentheses stack, start a new frame and add the postions
+@@ -1826,5 +1756,4 @@
+ //------------------------------------------------------------------------------
+ void RegexCompile::fixLiterals(UBool split) {
+- int32_t op = 0; // An op from/for the compiled pattern.
+
+ // If no literal characters have been scanned but not yet had code generated
+@@ -1865,21 +1794,21 @@
+ if ((fModeFlags & UREGEX_CASE_INSENSITIVE) &&
+ u_hasBinaryProperty(lastCodePoint, UCHAR_CASE_SENSITIVE)) {
+- op = URX_BUILD(URX_ONECHAR_I, lastCodePoint);
++ appendOp(URX_ONECHAR_I, lastCodePoint);
+ } else {
+- op = URX_BUILD(URX_ONECHAR, lastCodePoint);
+- }
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_ONECHAR, lastCodePoint);
++ }
+ } else {
+ // Two or more chars, emit a URX_STRING to match them.
++ if (fLiteralChars.length() > 0x00ffffff || fRXPat->fLiteralText.length() > 0x00ffffff) {
++ error(U_REGEX_PATTERN_TOO_BIG);
++ }
+ if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
+- op = URX_BUILD(URX_STRING_I, fRXPat->fLiteralText.length());
++ appendOp(URX_STRING_I, fRXPat->fLiteralText.length());
+ } else {
+ // TODO here: add optimization to split case sensitive strings of length two
+ // into two single char ops, for efficiency.
+- op = URX_BUILD(URX_STRING, fRXPat->fLiteralText.length());
+- }
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- op = URX_BUILD(URX_STRING_LEN, fLiteralChars.length());
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_STRING, fRXPat->fLiteralText.length());
++ }
++ appendOp(URX_STRING_LEN, fLiteralChars.length());
+
+ // Add this string into the accumulated strings of the compiled pattern.
+@@ -1891,6 +1820,56 @@
+
+
+-
+-
++int32_t RegexCompile::buildOp(int32_t type, int32_t val) {
++ if (U_FAILURE(*fStatus)) {
++ return 0;
++ }
++ if (type < 0 || type > 255) {
++ U_ASSERT(FALSE);
++ error(U_REGEX_INTERNAL_ERROR);
++ type = URX_RESERVED_OP;
++ }
++ if (val > 0x00ffffff) {
++ U_ASSERT(FALSE);
++ error(U_REGEX_INTERNAL_ERROR);
++ val = 0;
++ }
++ if (val < 0) {
++ if (!(type == URX_RESERVED_OP_N || type == URX_RESERVED_OP)) {
++ U_ASSERT(FALSE);
++ error(U_REGEX_INTERNAL_ERROR);
++ return -1;
++ }
++ if (URX_TYPE(val) != 0xff) {
++ U_ASSERT(FALSE);
++ error(U_REGEX_INTERNAL_ERROR);
++ return -1;
++ }
++ type = URX_RESERVED_OP_N;
++ }
++ return (type << 24) | val;
++}
++
++
++//------------------------------------------------------------------------------
++//
++// appendOp() Append a new instruction onto the compiled pattern
++// Includes error checking, limiting the size of the
++// pattern to lengths that can be represented in the
++// 24 bit operand field of an instruction.
++//
++//------------------------------------------------------------------------------
++void RegexCompile::appendOp(int32_t op) {
++ if (U_FAILURE(*fStatus)) {
++ return;
++ }
++ fRXPat->fCompiledPat->addElement(op, *fStatus);
++ if ((fRXPat->fCompiledPat->size() > 0x00fffff0) && U_SUCCESS(*fStatus)) {
++ error(U_REGEX_PATTERN_TOO_BIG);
++ }
++}
++
++void RegexCompile::appendOp(int32_t type, int32_t val) {
++ appendOp(buildOp(type, val));
++}
+
+
+@@ -1908,5 +1887,5 @@
+ U_ASSERT(where>0 && where < code->size());
+
+- int32_t nop = URX_BUILD(URX_NOP, 0);
++ int32_t nop = buildOp(URX_NOP, 0);
+ code->insertElementAt(nop, where, *fStatus);
+
+@@ -1929,5 +1908,5 @@
+ // needs to be incremented to adjust for the insertion.
+ opValue++;
+- op = URX_BUILD(opType, opValue);
++ op = buildOp(opType, opValue);
+ code->setElementAt(op, loc);
+ }
+@@ -1953,4 +1932,56 @@
+ }
+
++
++//------------------------------------------------------------------------------
++//
++// allocateData() Allocate storage in the matcher's static data area.
++// Return the index for the newly allocated data.
++// The storage won't actually exist until we are running a match
++// operation, but the storage indexes are inserted into various
++// opcodes while compiling the pattern.
++//
++//------------------------------------------------------------------------------
++int32_t RegexCompile::allocateData(int32_t size) {
++ if (U_FAILURE(*fStatus)) {
++ return 0;
++ }
++ if (size <= 0 || size > 0x100 || fRXPat->fDataSize < 0) {
++ error(U_REGEX_INTERNAL_ERROR);
++ return 0;
++ }
++ int32_t dataIndex = fRXPat->fDataSize;
++ fRXPat->fDataSize += size;
++ if (fRXPat->fDataSize >= 0x00fffff0) {
++ error(U_REGEX_INTERNAL_ERROR);
++ }
++ return dataIndex;
++}
++
++
++//------------------------------------------------------------------------------
++//
++// allocateStackData() Allocate space in the back-tracking stack frame.
++// Return the index for the newly allocated data.
++// The frame indexes are inserted into various
++// opcodes while compiling the pattern, meaning that frame
++// size must be restricted to the size that will fit
++// as an operand (24 bits).
++//
++//------------------------------------------------------------------------------
++int32_t RegexCompile::allocateStackData(int32_t size) {
++ if (U_FAILURE(*fStatus)) {
++ return 0;
++ }
++ if (size <= 0 || size > 0x100 || fRXPat->fFrameSize < 0) {
++ error(U_REGEX_INTERNAL_ERROR);
++ return 0;
++ }
++ int32_t dataIndex = fRXPat->fFrameSize;
++ fRXPat->fFrameSize += size;
++ if (fRXPat->fFrameSize >= 0x00fffff0) {
++ error(U_REGEX_PATTERN_TOO_BIG);
++ }
++ return dataIndex;
++}
+
+
+@@ -1996,5 +2027,5 @@
+ }
+ if (reserveLoc) {
+- int32_t nop = URX_BUILD(URX_NOP, 0);
++ int32_t nop = buildOp(URX_NOP, 0);
+ fRXPat->fCompiledPat->insertElementAt(nop, theLoc, *fStatus);
+ }
+@@ -2071,6 +2102,5 @@
+
+ int32_t frameVarLocation = URX_VAL(captureOp);
+- int32_t endCaptureOp = URX_BUILD(URX_END_CAPTURE, frameVarLocation);
+- fRXPat->fCompiledPat->addElement(endCaptureOp, *fStatus);
++ appendOp(URX_END_CAPTURE, frameVarLocation);
+ }
+ break;
+@@ -2083,6 +2113,5 @@
+ U_ASSERT(URX_TYPE(stoOp) == URX_STO_SP);
+ int32_t stoLoc = URX_VAL(stoOp);
+- int32_t ldOp = URX_BUILD(URX_LD_SP, stoLoc);
+- fRXPat->fCompiledPat->addElement(ldOp, *fStatus);
++ appendOp(URX_LD_SP, stoLoc);
+ }
+ break;
+@@ -2093,6 +2122,5 @@
+ U_ASSERT(URX_TYPE(startOp) == URX_LA_START);
+ int32_t dataLoc = URX_VAL(startOp);
+- int32_t op = URX_BUILD(URX_LA_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LA_END, dataLoc);
+ }
+ break;
+@@ -2104,10 +2132,7 @@
+ U_ASSERT(URX_TYPE(startOp) == URX_LA_START);
+ int32_t dataLoc = URX_VAL(startOp);
+- int32_t op = URX_BUILD(URX_LA_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- op = URX_BUILD(URX_BACKTRACK, 0);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- op = URX_BUILD(URX_LA_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LA_END, dataLoc);
++ appendOp(URX_BACKTRACK, 0);
++ appendOp(URX_LA_END, dataLoc);
+
+ // Patch the URX_SAVE near the top of the block.
+@@ -2116,5 +2141,5 @@
+ U_ASSERT(URX_TYPE(saveOp) == URX_STATE_SAVE);
+ int32_t dest = fRXPat->fCompiledPat->size()-1;
+- saveOp = URX_BUILD(URX_STATE_SAVE, dest);
++ saveOp = buildOp(URX_STATE_SAVE, dest);
+ fRXPat->fCompiledPat->setElementAt(saveOp, fMatchOpenParen);
+ }
+@@ -2129,8 +2154,6 @@
+ U_ASSERT(URX_TYPE(startOp) == URX_LB_START);
+ int32_t dataLoc = URX_VAL(startOp);
+- int32_t op = URX_BUILD(URX_LB_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
+- op = URX_BUILD(URX_LA_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LB_END, dataLoc);
++ appendOp(URX_LA_END, dataLoc);
+
+ // Determine the min and max bounds for the length of the
+@@ -2168,6 +2191,5 @@
+ U_ASSERT(URX_TYPE(startOp) == URX_LB_START);
+ int32_t dataLoc = URX_VAL(startOp);
+- int32_t op = URX_BUILD(URX_LBN_END, dataLoc);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(URX_LBN_END, dataLoc);
+
+ // Determine the min and max bounds for the length of the
+@@ -2194,5 +2216,5 @@
+ // Insert the pattern location to continue at after a successful match
+ // as the last operand of the URX_LBN_CONT
+- op = URX_BUILD(URX_RELOC_OPRND, fRXPat->fCompiledPat->size());
++ int32_t op = buildOp(URX_RELOC_OPRND, fRXPat->fCompiledPat->size());
+ fRXPat->fCompiledPat->setElementAt(op, fMatchOpenParen-1);
+ }
+@@ -2235,5 +2257,5 @@
+ {
+ // Set of no elements. Always fails to match.
+- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKTRACK, 0), *fStatus);
++ appendOp(URX_BACKTRACK, 0);
+ delete theSet;
+ }
+@@ -2256,6 +2278,5 @@
+ int32_t setNumber = fRXPat->fSets->size();
+ fRXPat->fSets->addElement(theSet, *fStatus);
+- int32_t setOp = URX_BUILD(URX_SETREF, setNumber);
+- fRXPat->fCompiledPat->addElement(setOp, *fStatus);
++ appendOp(URX_SETREF, setNumber);
+ }
+ }
+@@ -2296,11 +2317,8 @@
+ // +1 --> Input index (for breaking non-progressing loops)
+ // (Only present if unbounded upper limit on loop)
+- int32_t counterLoc = fRXPat->fFrameSize;
+- fRXPat->fFrameSize++;
+- if (fIntervalUpper < 0) {
+- fRXPat->fFrameSize++;
+- }
+-
+- int32_t op = URX_BUILD(InitOp, counterLoc);
++ int32_t dataSize = fIntervalUpper < 0 ? 2 : 1;
++ int32_t counterLoc = allocateStackData(dataSize);
++
++ int32_t op = buildOp(InitOp, counterLoc);
+ fRXPat->fCompiledPat->setElementAt(op, topOfBlock);
+
+@@ -2310,5 +2328,5 @@
+ // position to move.
+ int32_t loopEnd = fRXPat->fCompiledPat->size();
+- op = URX_BUILD(URX_RELOC_OPRND, loopEnd);
++ op = buildOp(URX_RELOC_OPRND, loopEnd);
+ fRXPat->fCompiledPat->setElementAt(op, topOfBlock+1);
+
+@@ -2319,6 +2337,5 @@
+ // Apend the CTR_LOOP op. The operand is the location of the CTR_INIT op.
+ // Goes at end of the block being looped over, so just append to the code so far.
+- op = URX_BUILD(LoopOp, topOfBlock);
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ appendOp(LoopOp, topOfBlock);
+
+ if ((fIntervalLow & 0xff000000) != 0 ||
+@@ -2373,5 +2390,5 @@
+ int32_t endOfSequenceLoc = fRXPat->fCompiledPat->size()-1
+ + fIntervalUpper + (fIntervalUpper-fIntervalLow);
+- int32_t saveOp = URX_BUILD(URX_STATE_SAVE, endOfSequenceLoc);
++ int32_t saveOp = buildOp(URX_STATE_SAVE, endOfSequenceLoc);
+ if (fIntervalLow == 0) {
+ insertOp(topOfBlock);
+@@ -2386,11 +2403,8 @@
+ int32_t i;
+ for (i=1; i<fIntervalUpper; i++ ) {
+- if (i == fIntervalLow) {
+- fRXPat->fCompiledPat->addElement(saveOp, *fStatus);
+- }
+- if (i > fIntervalLow) {
+- fRXPat->fCompiledPat->addElement(saveOp, *fStatus);
+- }
+- fRXPat->fCompiledPat->addElement(op, *fStatus);
++ if (i >= fIntervalLow) {
++ appendOp(saveOp);
++ }
++ appendOp(op);
+ }
+ return TRUE;
+@@ -3612,5 +3626,5 @@
+ U_ASSERT(operandAddress>=0 && operandAddress<deltas.size());
+ int32_t fixedOperandAddress = operandAddress - deltas.elementAti(operandAddress);
+- op = URX_BUILD(opType, fixedOperandAddress);
++ op = buildOp(opType, fixedOperandAddress);
+ fRXPat->fCompiledPat->setElementAt(op, dst);
+ dst++;
+@@ -3627,5 +3641,5 @@
+ }
+ where = fRXPat->fGroupMap->elementAti(where-1);
+- op = URX_BUILD(opType, where);
++ op = buildOp(opType, where);
+ fRXPat->fCompiledPat->setElementAt(op, dst);
+ dst++;
+@@ -3979,5 +3993,5 @@
+ //
+ // scanNamedChar
+- // Get a UChar32 from a \N{UNICODE CHARACTER NAME} in the pattern.
++// Get a UChar32 from a \N{UNICODE CHARACTER NAME} in the pattern.
+ //
+ // The scan position will be at the 'N'. On return
+Index: /icu/trunk/source/i18n/regexcmp.h
+===================================================================
+--- /icu/trunk/source/i18n/regexcmp.h (revision 36800)
++++ /icu/trunk/source/i18n/regexcmp.h (revision 36801)
+@@ -105,4 +105,11 @@
+ void insertOp(int32_t where); // Open up a slot for a new op in the
+ // generated code at the specified location.
++ void appendOp(int32_t op); // Append a new op to the compiled pattern.
++ void appendOp(int32_t type, int32_t val); // Build & append a new op to the compiled pattern.
++ int32_t buildOp(int32_t type, int32_t val); // Construct a new pcode instruction.
++ int32_t allocateData(int32_t size); // Allocate space in the matcher data area.
++ // Return index of the newly allocated data.
++ int32_t allocateStackData(int32_t size); // Allocate space in the match back-track stack frame.
++ // Return offset index in the frame.
+ int32_t minMatchLength(int32_t start,
+ int32_t end);
+Index: /icu/trunk/source/i18n/regeximp.h
+===================================================================
+--- /icu/trunk/source/i18n/regeximp.h (revision 36800)
++++ /icu/trunk/source/i18n/regeximp.h (revision 36801)
+@@ -1,4 +1,4 @@
+ //
+-// Copyright (C) 2002-2013 International Business Machines Corporation
++// Copyright (C) 2002-2014 International Business Machines Corporation
+ // and others. All rights reserved.
+ //
+@@ -242,5 +242,4 @@
+ // Convenience macros for assembling and disassembling a compiled operation.
+ //
+-#define URX_BUILD(type, val) (int32_t)((type << 24) | (val))
+ #define URX_TYPE(x) ((uint32_t)(x) >> 24)
+ #define URX_VAL(x) ((x) & 0xffffff)
+Index: /icu/trunk/source/test/intltest/regextst.cpp
+===================================================================
+--- /icu/trunk/source/test/intltest/regextst.cpp (revision 36800)
++++ /icu/trunk/source/test/intltest/regextst.cpp (revision 36801)
+@@ -145,4 +145,7 @@
+ if (exec) TestBug11049();
+ break;
++ case 25: name = "TestBug11371";
++ if (exec) TestBug11371();
++ break;
+ default: name = "";
+ break; //needed to end loop
+@@ -5368,4 +5371,47 @@
+
+
++void RegexTest::TestBug11371() {
++ if (quick) {
++ logln("Skipping test. Runs in exhuastive mode only.");
++ return;
++ }
++ UErrorCode status = U_ZERO_ERROR;
++ UnicodeString patternString;
++
++ for (int i=0; i<8000000; i++) {
++ patternString.append(UnicodeString("()"));
++ }
++ LocalPointer<RegexPattern> compiledPat(RegexPattern::compile(patternString, 0, status));
++ if (status != U_REGEX_PATTERN_TOO_BIG) {
++ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
++ __FILE__, __LINE__, u_errorName(status));
++ }
++
++ status = U_ZERO_ERROR;
++ patternString = "(";
++ for (int i=0; i<20000000; i++) {
++ patternString.append(UnicodeString("A++"));
++ }
++ patternString.append(UnicodeString("){0}B++"));
++ LocalPointer<RegexPattern> compiledPat2(RegexPattern::compile(patternString, 0, status));
++ if (status != U_REGEX_PATTERN_TOO_BIG) {
++ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
++ __FILE__, __LINE__, u_errorName(status));
++ }
++
++ // Pattern with too much string data, such that string indexes overflow operand data field size
++ // in compiled instruction.
++ status = U_ZERO_ERROR;
++ patternString = "";
++ while (patternString.length() < 0x00ffffff) {
++ patternString.append(UnicodeString("stuff and things dont you know, these are a few of my favorite strings\n"));
++ }
++ patternString.append(UnicodeString("X? trailing string"));
++ LocalPointer<RegexPattern> compiledPat3(RegexPattern::compile(patternString, 0, status));
++ if (status != U_REGEX_PATTERN_TOO_BIG) {
++ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
++ __FILE__, __LINE__, u_errorName(status));
++ }
++}
+
+ #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */
+Index: /icu/trunk/source/test/intltest/regextst.h
+===================================================================
+--- /icu/trunk/source/test/intltest/regextst.h (revision 36800)
++++ /icu/trunk/source/test/intltest/regextst.h (revision 36801)
+@@ -51,4 +51,5 @@
+ virtual void TestCaseInsensitiveStarters();
+ virtual void TestBug11049();
++ virtual void TestBug11371();
+
+ // The following functions are internal to the regexp tests.
diff --git a/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch b/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch
new file mode 100644
index 000000000000..61c286a54c10
--- /dev/null
+++ b/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch
@@ -0,0 +1,15 @@
+See icu-fix-tests-depending-on-date.patch
+
+Index: icu/source/test/intltest/dtfmttst.cpp
+===================================================================
+--- icu.orig/source/test/intltest/dtfmttst.cpp
++++ icu/source/test/intltest/dtfmttst.cpp
+@@ -1132,7 +1132,7 @@ DateFormatTest::TestTwoDigitYear()
+ return;
+ }
+ parse2DigitYear(fmt, "5/6/17", date(117, UCAL_JUNE, 5));
+- parse2DigitYear(fmt, "4/6/34", date(34, UCAL_JUNE, 4));
++ parse2DigitYear(fmt, "4/6/34", date(134, UCAL_JUNE, 4));
+ }
+
+ // -------------------------------------
diff --git a/dev-libs/icu/files/icu-remove-bashisms.patch b/dev-libs/icu/files/icu-remove-bashisms.patch
new file mode 100644
index 000000000000..980d84b77d88
--- /dev/null
+++ b/dev-libs/icu/files/icu-remove-bashisms.patch
@@ -0,0 +1,230 @@
+Index: config/Makefile.inc.in
+===================================================================
+--- config/Makefile.inc.in (revision 36912)
++++ config/Makefile.inc.in (working copy)
+@@ -125,12 +125,6 @@
+ # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
+ ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
+
+-# Proper echo newline handling is needed in icu-config
+-ECHO_N=@ICU_ECHO_N@
+-ECHO_C=@ICU_ECHO_C@
+-# Not currently being used but good to have for proper tab handling
+-ECHO_T=@ICU_ECHO_T@
+-
+ ##################################################################
+ ##################################################################
+ #
+Index: config/icu-config-bottom
+===================================================================
+--- config/icu-config-bottom (revision 36912)
++++ config/icu-config-bottom (working copy)
+@@ -217,73 +217,73 @@
+ ;;
+
+ --cflags)
+- echo $ECHO_N "${CFLAGS} ${ECHO_C}"
++ printf "%s" "${CFLAGS} "
+ ;;
+
+ --cc)
+- echo $ECHO_N "${CC} ${ECHO_C}"
++ printf "%s" "${CC} "
+ ;;
+
+ --cxx)
+- echo $ECHO_N "${CXX} ${ECHO_C}"
++ printf "%s" "${CXX} "
+ ;;
+
+ --cxxflags)
+- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
++ printf "%s" "${CXXFLAGS} "
+ ;;
+
+ --cppflags)
+ # Don't echo the -I. - it's unneeded.
+- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
++ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //'
+ ;;
+
+ --cppflags-searchpath)
+- echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
++ printf "%s" "-I${prefix}/include "
+ ;;
+
+ --cppflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCPPFLAGS} "
+ ;;
+
+ --cxxflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCXXFLAGS} "
+ ;;
+
+ --cflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCFLAGS} "
+ ;;
+
+ --ldflags-system)
+- echo $ECHO_N "${LIBS} ${ECHO_C}"
++ printf "%s" "${LIBS} "
+ ;;
+
+ --ldflags)
+- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}"
++ printf "%s" "${LDFLAGS} ${ICULIBS} "
+ # $RPATH_LDFLAGS
+ ;;
+
+ --ldflags-libsonly)
+- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
++ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
+ ;;
+
+ --ldflags-icuio)
+- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_ICUIO} "
+ ;;
+
+ --ldflags-obsolete)
+- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
++ printf "%s" "${ICULIBS_OBSOLETE} "
+ ;;
+
+ --ldflags-toolutil)
+- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_TOOLUTIL} "
+ ;;
+
+ --ldflags-layout)
+- echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}"
++ printf "%s" "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} "
+ ;;
+
+ --ldflags-searchpath)
+- echo $ECHO_N "-L${libdir} ${ECHO_C}"
++ printf "%s" "-L${libdir} "
+ ;;
+
+ --detect-prefix)
+@@ -319,47 +319,47 @@
+ ;;
+
+ --shared-datadir)
+- echo $ECHO_N "${datadir} ${ECHO_C}"
++ printf "%s" "${datadir} "
+ ;;
+
+ --incfile)
+- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/Makefile.inc "
+ ;;
+
+ --incpkgdatafile)
+- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/pkgdata.inc "
+ ;;
+
+ --icudata)
+- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
++ printf "%s" "${ICUDATA_NAME} "
+ ;;
+
+ --icudata-mode)
+- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
++ printf "%s" "${PKGDATA_MODE} "
+ ;;
+
+ --icudata-install-dir)
+- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUPKGDATA_DIR} "
+ ;;
+
+ --icudatadir)
+- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUDATA_DIR} "
+ ;;
+
+ --shlib-c)
+- echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
++ printf "%s" "${SHLIB_c} "
+ ;;
+
+ --shlib-cc)
+- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
++ printf "%s" "${SHLIB_cc} "
+ ;;
+
+ --version)
+- echo $ECHO_N $VERSION
++ printf "%s" "$VERSION"
+ ;;
+
+ --unicode-version)
+- echo $ECHO_N $UNICODE_VERSION
++ printf "%s" "$UNICODE_VERSION"
+ ;;
+
+ --host)
+Index: configure.ac
+===================================================================
+--- configure.ac (revision 36912)
++++ configure.ac (working copy)
+@@ -19,24 +19,6 @@
+ PACKAGE="icu"
+ AC_SUBST(PACKAGE)
+
+-# Use custom echo test for newline option
+-# Current autoconf (2.65) gives incorrect echo newline option
+-# for icu-config
+-# This may be removed later - mow (June 17, 2010)
+-ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T=
+-case `/bin/sh -c "echo -n x"` in
+--n*)
+- case `/bin/sh -c "echo 'x\c'"` in
+- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character.
+- *) ICU_ECHO_C='\c';;
+- esac;;
+-*)
+- ICU_ECHO_N='-n';;
+-esac
+-AC_SUBST(ICU_ECHO_N)
+-AC_SUBST(ICU_ECHO_C)
+-AC_SUBST(ICU_ECHO_T)
+-
+ AC_MSG_CHECKING(for ICU version numbers)
+
+ # Get the ICU version from uversion.h or other headers
+Index: icudefs.mk.in
+===================================================================
+--- icudefs.mk.in (revision 36912)
++++ icudefs.mk.in (working copy)
+@@ -155,11 +155,6 @@
+ ENABLE_STATIC = @ENABLE_STATIC@
+ ENABLE_SHARED = @ENABLE_SHARED@
+
+-# Echo w/o newline
+-
+-#ECHO_N = @ICU_ECHO_N@
+-#ECHO_C = @ICU_ECHO_C@
+-
+ # Commands to compile
+ COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
+ COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
+Index: test/hdrtst/Makefile.in
+===================================================================
+--- test/hdrtst/Makefile.in (revision 36912)
++++ test/hdrtst/Makefile.in (working copy)
+@@ -33,9 +33,6 @@
+ include $(shell icu-config --incfile)
+ DIRS=$(prefix)/include/unicode
+ LDIRS=$(prefix)/include/layout
+-ECHO_T=@ECHO_T@
+-ECHO_C=@ECHO_C@
+-ECHO_N=@ECHO_N@
+
+ all:
+ @echo Please read this Makefile for more information.
diff --git a/dev-libs/icu/icu-54.1-r1.ebuild b/dev-libs/icu/icu-54.1-r1.ebuild
new file mode 100644
index 000000000000..14a833a71d83
--- /dev/null
+++ b/dev-libs/icu/icu-54.1-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="http://www.icu-project.org/"
+SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
+
+LICENSE="BSD"
+
+SLOT="0/54a"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc examples static-libs"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen[dot]
+ )
+"
+
+S="${WORKDIR}/${PN}/source"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/icu-config
+)
+
+src_prepare() {
+ local variable
+
+ epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
+ epatch "${FILESDIR}/${P}-CVE-2014-9654.patch"
+ epatch_user
+
+ # Disable renaming as it is stupind thing to do
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ # Append doxygen configuration to configure
+ sed -i \
+ -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ --disable-samples
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ multilib_is_native_abi && myeconfargs+=(
+ $(use_enable examples samples)
+ )
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # icu tries to use clang by default
+ tc-export CC CXX
+
+ ECONF_SOURCE=${S} \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen -u Doxyfile || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake -j1 VERBOSE="1" check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ dohtml -p api -r doc/html/
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml ../readme.html
+}
diff --git a/dev-libs/icu/icu-55.1.ebuild b/dev-libs/icu/icu-55.1.ebuild
new file mode 100644
index 000000000000..18963fe58297
--- /dev/null
+++ b/dev-libs/icu/icu-55.1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="http://www.icu-project.org/"
+SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
+
+LICENSE="BSD"
+
+SLOT="0/55"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc examples static-libs"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen[dot]
+ )
+"
+
+S="${WORKDIR}/${PN}/source"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/icu-config
+)
+
+src_prepare() {
+ local variable
+
+ epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
+ epatch_user
+
+ # Disable renaming as it is stupind thing to do
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ # Append doxygen configuration to configure
+ sed -i \
+ -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
+ append-cxxflags -std=gnu++98
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ --disable-samples
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ multilib_is_native_abi && myeconfargs+=(
+ $(use_enable examples samples)
+ )
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # icu tries to use clang by default
+ tc-export CC CXX
+
+ ECONF_SOURCE=${S} \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen -u Doxyfile || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake -j1 VERBOSE="1" check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ dohtml -p api -r doc/html/
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml ../readme.html
+}
diff --git a/dev-libs/icu/metadata.xml b/dev-libs/icu/metadata.xml
new file mode 100644
index 000000000000..5d46203011d6
--- /dev/null
+++ b/dev-libs/icu/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+</pkgmetadata>
diff --git a/dev-libs/igraph/Manifest b/dev-libs/igraph/Manifest
new file mode 100644
index 000000000000..58c6a7fab083
--- /dev/null
+++ b/dev-libs/igraph/Manifest
@@ -0,0 +1 @@
+DIST igraph-0.7.1.tar.gz 2967134 SHA256 d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df SHA512 ac7d7e3fbc6d27ae69079224881ca03db2c7e0b50d016706f3e167c614e2c9332c675d2fcd3cde12874e13a8fc402d42222308c6195afadee15152cec93f94dd WHIRLPOOL bb860c90796b8706ffed708bc5ba1a1a83ab73b57f9fd49aa0d05548c6f2758f8305a09386dc6da7d86bd568261df35b207231facffc7045527c7ab0b0ec89ea
diff --git a/dev-libs/igraph/files/igraph-0.7.1-unbundle.patch b/dev-libs/igraph/files/igraph-0.7.1-unbundle.patch
new file mode 100644
index 000000000000..755e749c1868
--- /dev/null
+++ b/dev-libs/igraph/files/igraph-0.7.1-unbundle.patch
@@ -0,0 +1,269 @@
+diff --git a/configure.ac b/configure.ac
+index acf76cd..a9db7bd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -167,7 +167,8 @@ if test "x$enable_gmp" != "xno"; then
+ AC_CHECK_HEADER([gmp.h], [
+ AC_DEFINE([HAVE_GMP], [1], [Define to 1 if you have the GMP library])
+ gmp_support=yes
+- LDFLAGS="${LDFLAGS} -lgmp"
++ GMP_LIBS="-lgmp"
++ AC_SUBST(GMP_LIBS)
+ PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lgmp"
+ ])
+ ])
+@@ -231,24 +232,16 @@ else
+ fi
+
+ if test "$internal_blas" = "no"; then
+- AC_CHECK_LIB([blas], [daxpy_], [],
+- AC_CHECK_LIB([blas], [daxpy], [],
+- AC_CHECK_LIB([blas], [DAXPY_], [],
+- AC_CHECK_LIB([blas], [DAXPY], [],
+- [AC_MSG_RESULT(not found, trying to use -lblas anyway.)]))))
+- LDFLAGS="${LDFLAGS} -lblas"
++ PKG_CHECK_MODULES([BLAS],[blas])
++ CPPFLAGS="${CPPFLAGS} ${BLAS_CFLAGS}"
+ PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lblas"
+ else
+ AC_DEFINE([INTERNAL_BLAS], [1], [Define to 1 if you use the internal BLAS library])
+ fi
+
+ if test "$internal_lapack" = "no"; then
+- AC_CHECK_LIB([lapack], [dlarnv_], [],
+- AC_CHECK_LIB([lapack], [dlarnv], [],
+- AC_CHECK_LIB([lapack], [DLARNV_], [],
+- AC_CHECK_LIB([lapack], [DLARNV], [],
+- [AC_MSG_RESULT(not found, trying to use -llapack anyway.)]))))
+- LDFLAGS="${LDFLAGS} -llapack"
++ PKG_CHECK_MODULES([LAPACK],[lapack])
++ CPPFLAGS="${CPPFLAGS} ${LAPACK_CFLAGS}"
+ PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -llapack"
+ else
+ AC_DEFINE([INTERNAL_LAPACK], [1], [Define to 1 if you use the internal LAPACK library])
+@@ -258,17 +251,15 @@ if test "$internal_arpack" = "no"; then
+ if test "$tls_support" = "yes"; then
+ AC_MSG_ERROR([Thread-local storage only supported with internal ARPACK library])
+ fi
+- AC_CHECK_LIB([arpack], [dsaupd_], [],
+- AC_CHECK_LIB([arpack], [dsaupd], [],
+- AC_CHECK_LIB([arpack], [DSAUPD_], [],
+- AC_CHECK_LIB([arpack], [DSAUPD], [],
+- [AC_MSG_RESULT(not found, trying to use -larpack anyway.)]))))
+- LDFLAGS="${LDFLAGS} -larpack"
++ PKG_CHECK_MODULES([ARPACK],[arpack])
++ CPPFLAGS="${CPPFLAGS} ${ARPACK_CFLAGS}"
+ PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -larpack"
+ else
+ AC_DEFINE([INTERNAL_ARPACK], [1], [Define to 1 if you use the internal ARPACK library])
+ fi
+
++PKG_CHECK_MODULES([CS],[cxsparse])
++
+ glpk_support=no
+ AC_ARG_ENABLE(glpk, AC_HELP_STRING([--disable-glpk], [Compile without the GLPK library]))
+ if test "x$enable_glpk" != "xno"; then
+@@ -283,7 +274,8 @@ if test "x$enable_glpk" != "xno"; then
+ ], [
+ AC_DEFINE([HAVE_GLPK], [1], [Define to 1 if you have the GLPK library])
+ glpk_support=yes
+- LDFLAGS="${LDFLAGS} -lglpk"
++ GLPK_LIBS="-lglpk"
++ AC_SUBST(GLPK_LIBS)
+ PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lglpk"
+ ])
+ ])
+diff --git a/examples/simple/igraph_arpack_rnsolve.out b/examples/simple/igraph_arpack_rnsolve.out
+index ec38497..6603034 100644
+--- a/examples/simple/igraph_arpack_rnsolve.out
++++ b/examples/simple/igraph_arpack_rnsolve.out
+@@ -16,7 +16,7 @@
+ ---
+ 22.0483 0
+ -21.3281 0
+--3.00735 -19.2957
++-3.00735 19.2957
+ ---
+ 0.373224 0.226696 0.204213 0.0473383
+ -0.289145 -0.296079 -0.0479785 0.156365
+@@ -31,7 +31,7 @@
+ ---
+ -21.3281 0
+ -12.4527 0
+--3.00735 -19.2957
++-3.00735 19.2957
+ ---
+ -0.226696 0.695866 -0.204213 -0.0473383
+ 0.296079 0.120213 0.0479785 -0.156365
+@@ -46,7 +46,7 @@
+ ---
+ -3.00735 19.2957
+ -3.00735 -19.2957
+-12.1099 6.27293
++12.1099 -6.27293
+ ---
+ 0.0768616 -0.195028 -0.152389 0.21912
+ 0.147607 0.0704569 0.346547 0.125122
+diff --git a/examples/simple/igraph_layout_merge2.out b/examples/simple/igraph_layout_merge2.out
+index dfe2c22..9fe81bf 100644
+--- a/examples/simple/igraph_layout_merge2.out
++++ b/examples/simple/igraph_layout_merge2.out
+@@ -1,13 +1,13 @@
+--2.73912 -2.95429
+--0.479512 -4.00008
+-1.96326 -3.51798
+-3.65613 -1.69214
+-3.95248 0.780051
+-2.73912 2.95429
+-0.479512 4.00008
+--1.96326 3.51798
+--3.65613 1.69214
+--3.95248 -0.780051
++-2.55311 -3.13964
++-0.22007 -4.0407
++2.19703 -3.39835
++3.77493 -1.45795
++3.91094 1.03935
++2.55311 3.13964
++0.22007 4.0407
++-2.19703 3.39835
++-3.77493 1.45795
++-3.91094 -1.03935
+ -1.6061 6.30088
+ -4.92661 5.80435
+ -3.69637 8.92826
+diff --git a/examples/simple/igraph_sparsemat2.c b/examples/simple/igraph_sparsemat2.c
+index c39d0e5..fdfd264 100644
+--- a/examples/simple/igraph_sparsemat2.c
++++ b/examples/simple/igraph_sparsemat2.c
+@@ -21,7 +21,7 @@
+
+ */
+
+-#include <cs/cs.h>
++#include <cs.h>
+ #include <igraph.h>
+ #include <igraph_sparsemat.h>
+ #include <igraph_blas_internal.h>
+diff --git a/examples/simple/igraph_sparsemat3.c b/examples/simple/igraph_sparsemat3.c
+index 630bf1a..b23cbe1 100644
+--- a/examples/simple/igraph_sparsemat3.c
++++ b/examples/simple/igraph_sparsemat3.c
+@@ -21,7 +21,7 @@
+
+ */
+
+-#include <cs/cs.h>
++#include <cs.h>
+ #include <igraph.h>
+ #include <igraph_sparsemat.h>
+
+diff --git a/examples/simple/igraph_sparsemat4.c b/examples/simple/igraph_sparsemat4.c
+index 4d85bde..7497faf 100644
+--- a/examples/simple/igraph_sparsemat4.c
++++ b/examples/simple/igraph_sparsemat4.c
+@@ -21,7 +21,7 @@
+
+ */
+
+-#include <cs/cs.h>
++#include <cs.h>
+ #include <igraph.h>
+ #include <igraph_sparsemat.h>
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index e7085c5..194f4a0 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -9,9 +9,6 @@ AM_YFLAGS = -d
+
+ lib_LTLIBRARIES = libigraph.la
+
+-include lapack/blas.inc
+-include lapack/lapack.inc
+-include lapack/arpack.inc
+ include plfit/plfit.inc
+
+ F2C = f2c/abort_.c f2c/dolio.c f2c/r_sin.c\
+@@ -99,8 +96,6 @@ if INTERNAL_ARPACK
+ ARPACK_LIB = libarpack.la
+ endif
+
+-include ../optional/glpk/glpk.inc
+-
+ if INTERNAL_GLPK
+ libglpk_la_SOURCES = $(GLPK)
+ libglpk_la_CFLAGS = -I$(top_srcdir)/optional/glpk
+@@ -255,7 +250,7 @@ SOURCES = basic_query.c games.c cocitation.c iterators.c \
+ drl_layout_3d.cpp drl_graph_3d.cpp \
+ DensityGrid_3d.cpp \
+ foreign-dl-parser.y foreign-dl-lexer.l \
+- $(CS) sparsemat.c mixing.c bigint.c bignum.c \
++ sparsemat.c mixing.c bigint.c bignum.c \
+ version.c optimal_modularity.c \
+ igraph_fixed_vectorlist.c separators.c \
+ igraph_marked_queue.c igraph_estack.c st-cuts.c \
+@@ -274,8 +269,8 @@ libigraph_la_SOURCES = $(SOURCES) $(HEADERS_PRIVATE)
+ libigraph_la_CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
+ libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
+ libigraph_la_LDFLAGS = -no-undefined
+-libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIB) \
+- $(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PRPACK_LIB) \
++libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIBS) $(GMP_LIBS) \
++ $(LAPACK_LIBS) $(ARPACK_LIBS) $(GLPK_LIBS) $(PRPACK_LIB) $(CS_LIBS) \
+ $(PLFIT_LIB)
+
+ if INTERNAL_GLPK
+diff --git a/src/sparsemat.c b/src/sparsemat.c
+index f96d022..6990c91 100644
+--- a/src/sparsemat.c
++++ b/src/sparsemat.c
+@@ -23,7 +23,7 @@
+
+ #include "config.h"
+
+-#include "cs/cs.h"
++#include "cs.h"
+
+ #include "igraph_sparsemat.h"
+ #include "igraph_error.h"
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 6da83b2..c0b82d6 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -13,7 +13,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
+ echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
+ } >$(srcdir)/package.m4
+
+-EXTRA_DIST += package.m4
++#EXTRA_DIST += package.m4
+
+ TESTSUITE_AT = \
+ testsuite.at \
+diff --git a/tests/mt.at b/tests/mt.at
+index 050974a..9558d6f 100644
+--- a/tests/mt.at
++++ b/tests/mt.at
+@@ -29,5 +29,5 @@ AT_CLEANUP
+ AT_SETUP([Thread-safe ARPACK:])
+ AT_KEYWORDS([thread-safe ARPACK])
+ AT_COMPILE_CHECK([simple/tls2.c], [simple/tls2.out], [], [internal],
+- [-lpthread])
++ [-lpthread $(${PKG_CONFIG} --libs arpack)])
+ AT_CLEANUP
+diff --git a/tests/types.at b/tests/types.at
+index f80a6a2..29ac739 100644
+--- a/tests/types.at
++++ b/tests/types.at
+@@ -133,7 +133,7 @@ AT_CLEANUP
+ AT_SETUP([Sparse matrix, multiplications (igraph_sparsemat_t): ])
+ AT_KEYWORDS([sparse matrix igraph_sparsemat_t])
+ AT_COMPILE_CHECK([simple/igraph_sparsemat2.c], [simple/igraph_sparsemat2.out],
+- [], [INTERNAL], [-lblas])
++ [], [INTERNAL], [$(${PKG_CONFIG} --libs blas)])
+ AT_CLEANUP
+
+ AT_SETUP([Sparse matrix, indexing (igraph_sparsemat_t): ])
+--
+2.0.0
+
diff --git a/dev-libs/igraph/igraph-0.7.1-r1.ebuild b/dev-libs/igraph/igraph-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..d89f8e9d5597
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.7.1-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils toolchain-funcs
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="http://igraph.sourceforge.net/index.html"
+SRC_URI="mirror://sourceforge/project/${PN}/C%20library/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="~amd64"
+IUSE="debug gmp static-libs"
+
+RDEPEND="
+ dev-libs/libxml2
+ >=sci-libs/arpack-3
+ virtual/blas
+ virtual/lapack
+ >=sci-libs/cxsparse-3
+ sci-mathematics/glpk
+ gmp? ( dev-libs/gmp )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-unbundle.patch )
+
+src_prepare() {
+# rm -rf src/{cs,f2c,lapack,f2c.h} optional/glpk || die
+# rm -rf src/cs optional/glpk || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+ local myeconfargs=(
+ $(use_enable gmp)
+ $(use_enable debug)
+ --disable-tls
+ --with-external-arpack
+ --with-external-blas
+ --with-external-lapack
+ --with-external-f2c
+ --with-external-glpk
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/igraph/metadata.xml b/dev-libs/igraph/metadata.xml
new file mode 100644
index 000000000000..6979260d87f3
--- /dev/null
+++ b/dev-libs/igraph/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+igraph is a free software package for creating and manipulating undirected and
+directed graphs. It includes implementations for classic graph theory problems
+like minimum spanning trees and network flow, and also implements algorithms for
+some recent network analysis methods, like community structure search.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">igraph</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/iksemel/Manifest b/dev-libs/iksemel/Manifest
new file mode 100644
index 000000000000..6cb561bdbcff
--- /dev/null
+++ b/dev-libs/iksemel/Manifest
@@ -0,0 +1,2 @@
+DIST iksemel-1.3.tar.gz 485208 SHA256 ee021861be6bdb9a970ab3d5997dd14ffdbf33ad573691292176031f49aa4f45 SHA512 57a0f8d5c3e675419b8d4d04580c144ed20466d1b41ea23006bbb588eead595f189088b3fe559b62d527a2773cc4f92b6c09d19ed7a2b8f446d9ba13546a9d03 WHIRLPOOL 6f0a13306949ed1a3a65b92a9103e7feb35e395da27c3bf39c7bc200f65ed9fbeaa416debe5a8e235ef9974803a83258d5a05ca67a1e8d9a304d2071dfa43651
+DIST iksemel-1.4.tar.gz 515581 SHA256 458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244 SHA512 902e326647b63a5e58b1c396a401bdd136ad01ecabca81b543c0ed76ebd8d2110377015fec1be09551b92651ee093e480fa37aa2186f7791147f29e0933852cc WHIRLPOOL e2f558553c39f709b1b77edaae70a29f7c1c717f97f115094dc8dfe39b515a9d40242e631915f66b349aa66580116f9065556bdd20cf03608e5ffea4c9d3a200
diff --git a/dev-libs/iksemel/files/iksemel-1.3-gnutls-2.8.patch b/dev-libs/iksemel/files/iksemel-1.3-gnutls-2.8.patch
new file mode 100644
index 000000000000..8c0aa49bc431
--- /dev/null
+++ b/dev-libs/iksemel/files/iksemel-1.3-gnutls-2.8.patch
@@ -0,0 +1,16 @@
+--- configure.ac
++++ configure.ac
+@@ -45,7 +45,12 @@
+ AC_CHECK_FUNCS(getopt_long)
+ AC_CHECK_FUNCS(getaddrinfo)
+
+-AM_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls"))
++AC_ARG_WITH([gnutls],
++ [AS_HELP_STRING([--with-gnutls],
++ [Enable use of GnuTLS])])
++if test "$with_gnutls" != "no"; then
++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls, AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls"))
++fi
+
+ dnl Check -Wall flag of GCC
+ if test "x$GCC" = "xyes"; then
diff --git a/dev-libs/iksemel/iksemel-1.3.ebuild b/dev-libs/iksemel/iksemel-1.3.ebuild
new file mode 100644
index 000000000000..ead5e1e3b424
--- /dev/null
+++ b/dev-libs/iksemel/iksemel-1.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools eutils
+
+DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
+HOMEPAGE="http://code.google.com/p/iksemel"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="gnutls"
+
+RDEPEND="gnutls? ( net-libs/gnutls )"
+DEPEND="${RDEPEND}
+ gnutls? ( virtual/pkgconfig )"
+
+# http://code.google.com/p/iksemel/issues/detail?id=4
+RESTRICT="test"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gnutls-2.8.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with gnutls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog HACKING NEWS README TODO
+}
diff --git a/dev-libs/iksemel/iksemel-1.4.ebuild b/dev-libs/iksemel/iksemel-1.4.ebuild
new file mode 100644
index 000000000000..b78d3c81d7ed
--- /dev/null
+++ b/dev-libs/iksemel/iksemel-1.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools eutils
+
+DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
+HOMEPAGE="http://code.google.com/p/iksemel"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~x86-fbsd"
+IUSE="ssl"
+
+RDEPEND="ssl? ( net-libs/gnutls )"
+DEPEND="${RDEPEND}
+ ssl? ( virtual/pkgconfig )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.3-gnutls-2.8.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with ssl gnutls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog HACKING NEWS README TODO
+}
diff --git a/dev-libs/iksemel/metadata.xml b/dev-libs/iksemel/metadata.xml
new file mode 100644
index 000000000000..437357762b59
--- /dev/null
+++ b/dev-libs/iksemel/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-im</herd>
+ <upstream>
+ <remote-id type="google-code">iksemel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/ilbc-rfc3951/Manifest b/dev-libs/ilbc-rfc3951/Manifest
new file mode 100644
index 000000000000..fc696f6dee15
--- /dev/null
+++ b/dev-libs/ilbc-rfc3951/Manifest
@@ -0,0 +1 @@
+DIST ilbc-rfc3951.tar.gz 330306 SHA256 5aef41a94f1a752b07190b5d2880128af251d9559d28a004ebfff228695caa57 SHA512 7828a9c5a193ebdfcb383d1edad0868afdee0f71d1a8a878c7d9ea2078fd63f57d31b34ae2cf4890d5abc28c8f5f4ee940c665a126f0512d1e79c4f76a72fbcf WHIRLPOOL 90d09de8b2f7165f70cbd9c19418549e82e0a5e93c13e6ee7c4c808b2f50acb2a068908085d5d3004472a4e64b021eb18560915d434a34f578ace2fc4c9e4bdd
diff --git a/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch b/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch
new file mode 100644
index 000000000000..8cc197d20626
--- /dev/null
+++ b/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch
@@ -0,0 +1,11 @@
+--- src/Makefile.am.orig 2006-07-11 01:18:20.000000000 +1000
++++ src/Makefile.am 2006-07-11 01:21:20.000000000 +1000
+@@ -10,6 +10,8 @@
+ doCPLC.c gainquant.c hpOutput.c iLBC_define.h lsf.c syntFilter.c \
+ doCPLC.h gainquant.h hpOutput.h iLBC_encode.c lsf.h syntFilter.h
+
++libilbc_la_LIBADD=-lm
++
+ ilbc_includedir=$(includedir)/ilbc
+ ilbc_include_HEADERS=iLBC_decode.h iLBC_encode.h iLBC_define.h
+
diff --git a/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild b/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild
new file mode 100644
index 000000000000..daa1b0cc8a3d
--- /dev/null
+++ b/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="iLBC (internet Low Bitrate Codec) is a speech codec suitable for robust voice communication over IP"
+HOMEPAGE="http://www.ilbcfreeware.org/"
+SRC_URI="http://simon.morlat.free.fr/download/1.1.x/source/ilbc-rfc3951.tar.gz"
+
+# relicensed under 3-clause BSD license, bug 390797
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+S="${WORKDIR}/${PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-asneeded.patch
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+}
diff --git a/dev-libs/ilbc-rfc3951/metadata.xml b/dev-libs/ilbc-rfc3951/metadata.xml
new file mode 100644
index 000000000000..5edeab0036ec
--- /dev/null
+++ b/dev-libs/ilbc-rfc3951/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>chainsaw@gentoo.org</email>
+<name>Tony Vroon</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/iniparser/Manifest b/dev-libs/iniparser/Manifest
new file mode 100644
index 000000000000..c3a2be8ae741
--- /dev/null
+++ b/dev-libs/iniparser/Manifest
@@ -0,0 +1 @@
+DIST iniparser-3.1.tar.gz 39097 SHA256 aedf23881b834519aea5e861b2400606d211da049cd59d3cfb4568e0d9eff5c5 SHA512 8fd8324c5629fdc3e3eff00afb5f0832402ccc760c5b92db82aa29b340ec891419ca2c4fee3a4d4d67cf9bc51c76b095bc0c458e087c2b8e72ac36867c47ae86 WHIRLPOOL 1b8e6d5c34918cf51db605a7bc81eed75b521a57b403bbf26b572506735d78f58bad250512d53cfc08959c827713c8477a877b66b900a553a9c8099757df6d89
diff --git a/dev-libs/iniparser/files/iniparser-3.0-autotools.patch b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
new file mode 100644
index 000000000000..68eca7ed601c
--- /dev/null
+++ b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
@@ -0,0 +1,46 @@
+diff --git Makefile.am Makefile.am
+new file mode 100644
+index 0000000..63ca53b
+--- /dev/null
++++ Makefile.am
+@@ -0,0 +1,10 @@
++ACLOCAL_AMFLAGS = -I config
++
++lib_LTLIBRARIES = libiniparser.la
++
++libiniparser_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
++libiniparser_la_SOURCES = src/dictionary.c src/iniparser.c
++
++include_HEADERS = src/dictionary.h src/iniparser.h
++
++
+diff --git configure.ac configure.ac
+new file mode 100644
+index 0000000..1eac717
+--- /dev/null
++++ configure.ac
+@@ -0,0 +1,24 @@
++AC_PREREQ([2.65])
++AC_INIT([iniparser], [3.0], [ndevilla@free.fr])
++
++AC_CONFIG_AUX_DIR(config)
++AC_CONFIG_MACRO_DIR(config)
++
++AM_INIT_AUTOMAKE([1.8 foreign])
++
++SHARED_VERSION_INFO="0"
++AC_SUBST(SHARED_VERSION_INFO)
++
++
++# Checks for programs.
++AC_PROG_CC
++
++LT_INIT
++# Checks for header files.
++AC_CHECK_HEADERS([ ctype.h stdio.h stdlib.h string.h ])
++
++# Checks for library functions.
++AC_CHECK_FUNCS([strcmp])
++
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
diff --git a/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
new file mode 100644
index 000000000000..cb331b813093
--- /dev/null
+++ b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
@@ -0,0 +1,47 @@
+diff -ur iniparser3.0b/src/dictionary.c iniparser3.0b-patched/src/dictionary.c
+--- iniparser3.0b/src/dictionary.c 2007-11-24 05:39:18.000000000 +0800
++++ iniparser3.0b-patched/src/dictionary.c 2009-04-01 21:38:09.000000000 +0800
+@@ -38,6 +38,9 @@
+ /*---------------------------------------------------------------------------
+ Private functions
+ ---------------------------------------------------------------------------*/
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /* Doubles the allocated size associated to a pointer */
+ /* 'size' is the current allocated size. */
+@@ -401,5 +404,10 @@
+ dictionary_del(d);
+ return 0 ;
+ }
++
++#ifdef __cplusplus
++}
++#endif
++
+ #endif
+ /* vim: set ts=4 et sw=4 tw=75 */
+diff -ur iniparser3.0b/src/iniparser.h iniparser3.0b-patched/src/iniparser.h
+--- iniparser3.0b/src/iniparser.h 2007-11-24 05:38:19.000000000 +0800
++++ iniparser3.0b-patched/src/iniparser.h 2009-04-01 21:38:02.000000000 +0800
+@@ -41,6 +41,10 @@
+ #define iniparser_getstr(d, k) iniparser_getstring(d, k, NULL)
+ #define iniparser_setstr iniparser_setstring
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /*-------------------------------------------------------------------------*/
+ /**
+ @brief Get number of sections in a dictionary
+@@ -277,4 +281,8 @@
+ /*--------------------------------------------------------------------------*/
+ void iniparser_freedict(dictionary * d);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif
diff --git a/dev-libs/iniparser/iniparser-3.1-r1.ebuild b/dev-libs/iniparser/iniparser-3.1-r1.ebuild
new file mode 100644
index 000000000000..d44903725402
--- /dev/null
+++ b/dev-libs/iniparser/iniparser-3.1-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils autotools-multilib
+
+DESCRIPTION="A free stand-alone ini file parsing library"
+HOMEPAGE="http://ndevilla.free.fr/iniparser/"
+
+SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )
+ sys-devel/libtool"
+RDEPEND=""
+
+# the tests are rather examples than tests, no point in running them
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0b-cpp.patch"
+ "${FILESDIR}/${PN}-3.0-autotools.patch"
+)
+
+src_install() {
+ autotools-multilib_src_install
+
+ if use doc; then
+ emake -C doc
+ dohtml -r html/*
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*.{c,ini,py}
+ fi
+}
diff --git a/dev-libs/iniparser/iniparser-3.1.ebuild b/dev-libs/iniparser/iniparser-3.1.ebuild
new file mode 100644
index 000000000000..a002ff866030
--- /dev/null
+++ b/dev-libs/iniparser/iniparser-3.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="A free stand-alone ini file parsing library"
+HOMEPAGE="http://ndevilla.free.fr/iniparser/"
+
+SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x86-macos"
+IUSE="doc examples static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )
+ sys-devel/libtool"
+RDEPEND=""
+
+# the tests are rather examples than tests, no point in running them
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0b-cpp.patch"
+ "${FILESDIR}/${PN}-3.0-autotools.patch"
+)
+
+src_install() {
+ autotools-utils_src_install
+
+ if use doc; then
+ emake -C doc
+ dohtml -r html/*
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*.{c,ini,py}
+ fi
+}
diff --git a/dev-libs/iniparser/metadata.xml b/dev-libs/iniparser/metadata.xml
new file mode 100644
index 000000000000..714b385c64db
--- /dev/null
+++ b/dev-libs/iniparser/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>samba</herd>
+<maintainer>
+ <email>samba@gentoo.org</email>
+ <name>Samba Team</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/injeqt/Manifest b/dev-libs/injeqt/Manifest
new file mode 100644
index 000000000000..d99797d8d9f8
--- /dev/null
+++ b/dev-libs/injeqt/Manifest
@@ -0,0 +1 @@
+DIST injeqt-1.0.0.tar.gz 63685 SHA256 ae53ac3453803fa0191e93368095029f2eeb35c01e8400d31787e7fe03afee18 SHA512 d5576e07a717085e108ff50ddc45ab26b540110e5753fd573504ed2c93538d947d1d8f2ad256f1ca9dd5d644949ce2528b66214f907229aee47bf7f6944776dc WHIRLPOOL ce17a4c28116e0b5bb4820d7bf6247925ea8e4241f52d4fc81ae8e95ecf4eb52a893e2594e4fcfd962de8c2f4b056dae68e844d6de89a41f4d945cf2373c5fcb
diff --git a/dev-libs/injeqt/injeqt-1.0.0.ebuild b/dev-libs/injeqt/injeqt-1.0.0.ebuild
new file mode 100644
index 000000000000..9b8404c8d05b
--- /dev/null
+++ b/dev-libs/injeqt/injeqt-1.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Dependency injection framework for Qt5"
+HOMEPAGE="https://github.com/vogel/injeqt"
+SRC_URI="https://github.com/vogel/injeqt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-qt/qtcore-5.4.2:5
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qttest-5.4.2:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_EXAMPLES=ON
+ $(cmake-utils_use_disable test TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/injeqt/metadata.xml b/dev-libs/injeqt/metadata.xml
new file mode 100644
index 000000000000..8b57291fe2a9
--- /dev/null
+++ b/dev-libs/injeqt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>reavertm@gentoo.org</email>
+ <name>Maciej Mrozowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vogel/injeqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/intel-common/Manifest b/dev-libs/intel-common/Manifest
new file mode 100644
index 000000000000..96c604666fd2
--- /dev/null
+++ b/dev-libs/intel-common/Manifest
@@ -0,0 +1,23 @@
+DIST parallel_studio_xe_2013.tgz 2097190124 SHA256 22ac8d6dd1bf9fd646c1d1322c0a9051b89b6dba975112d492cccd8359f8dc0a SHA512 d49c519c0b2f82e6fc0db6820d5f84999d2a973d8caa0e103c0ad355644f52d209147a2b3a884effad9bbae117bd9ebbad4869f5440009355ffacb65cae274fa WHIRLPOOL bb5f05ceeae39f794dcd6c4fafafb2e5ebf8e5332083f7eaf357dddb9b2a1e94f52f82f850a8b0aefe1920f2fd21be67bfa8aafa9590707e25e84e9f2be07bd5
+DIST parallel_studio_xe_2013_ia32.tgz 1161979592 SHA256 3f0ff2ece4cfc5ec3d7c2fddefeda2b55b1295a0d62440c172a14d8e60b7b551 SHA512 9818d0e8ee1f36527f5899480381c252528274248974001f136e7aecc196ab4a049aeabed5835c18f0b08153d3a36a7fc8d850aec455bb9b5f71d95d17dc161e WHIRLPOOL 2772bb70b968f765af1c47ecb11a9e0b0220890ed37d0a81cb911f9ec43dda8cbdd85f3b0cacf1b1794ca239684f3381e54bada668b0b4a40244da684c3b04a5
+DIST parallel_studio_xe_2013_intel64.tgz 1448188683 SHA256 6d3f5a635e86bc6d71d970458d746df8f4f239e8892347d76b4eda18946048f3 SHA512 679abcb2089fc9570bad0fe8b7dd6aeb0e13831f2f79e485ce150e593e7c0d2c8c25c03520124261291f0fa418a9b873e86a81b6962ad8bbae60bc2acbc594b6 WHIRLPOOL 85ee892aac2691375edf4624842a6931b3eaab34be64b97282c025810cb2db4ea05426263af5249525724d3437da6337189e6a4af6a1efc8f7713a854b8e4ce1
+DIST parallel_studio_xe_2013_sp1.tgz 3294385739 SHA256 ba65fdf7afbac0276a948ef8d4e1578297a0115548d5f3465c7ed4012030f696 SHA512 ee7995d39b604de6fed0bb87535c48666ca9ffa13975b6adcce170d746f2ee648b5c4a428ed8ef196226f204b3b17a833f379ab4fa57b4a1ebe7c89cc899ea66 WHIRLPOOL 213c8261c161df80732d958bf9e13a286aca2dd6ce16be30fee92d626051bc855c4a1ffe82b12f1bf9095771ca5b128463d839c14748d086b50527e7d09b76a7
+DIST parallel_studio_xe_2013_sp1_update1.tgz 3402142370 SHA256 5d0147c6907ed7950d7f14b615785f5e3c7977c62368f4a8ec7b06be758d614a SHA512 ce3f7a9710b3ec6eba5d4f97c9d7bd4cc633119750962d4de5a89b328a22323f5df68f679289930fa8651ee45fb59f7af63d943f9ef175799ab55dfbcc6d8029 WHIRLPOOL eeeef9e46e73f6eb2a1b5f5b9c8c604ff3c4709a53004d9a1887dbe690e0c597dbc683f4b19a8c544ea706e6cefbeedc5d1e6f12ca103cc6bdc35927250f5626
+DIST parallel_studio_xe_2013_sp1_update2.tgz 3410174020 SHA256 235c0f54832879e27afa2c11d7a4cc72bd5bcc6241963024a28cc9e1c74342f0 SHA512 589dee0cf806ac54be473d0a8a0b9da818898f7b91fec88c07c61f45973b6e40fe4a247bb140110a0be0c1422ddcfc0cd1007f2dc58e5ead0e4c77b25806aa4d WHIRLPOOL efde8852a8a708df4c161666f44404157ce4af776c0f2e2ddfdb039a2ca23af5fa68411e2adeba17f7a97b1a11c7e3e74e6806d0a4dcbe614752715161aa7e24
+DIST parallel_studio_xe_2013_sp1_update3.tgz 3448198789 SHA256 cd332d1ab5241f7609ca6fefa905b50ec8d706e93870860af1ee9e9e5fd6cc1c SHA512 6308a812c3eb2bd4549b756aa16fdeeb9337131e56bd203876a6763298c776858629a6d17148cdd5275f6781471e826a00a0181b72abcdd7d991196eb4798025 WHIRLPOOL 5407f994b0b26323a4e6540e3eafedf05f4dd900af8ebf778911bf156656057ac0bc394f0a3791b8f4e9aedac681827c5432ddd070692e0fbedbd2f152eda04b
+DIST parallel_studio_xe_2013_update1.tgz 2148568608 SHA256 870a9909e661aa75738c2d0851f7554c56696c40db2266ddd21fd6c5c6ae0986 SHA512 ce1b32be3e4efbedc43f17e0930e0c67d55129d756b7168e51a9a956c510df7e5c194a02813e42931ef21acbc1f07a6ecda0b79074c879281ddbd7e5da055400 WHIRLPOOL 059f2f27590079907bbc202dfe81a3900018133d46a28d383dd3960c247019b49e4cf767e90601ed11a8194a4c370269b831c9c780ee90b8d4104668cda0f4b0
+DIST parallel_studio_xe_2013_update1_ia32.tgz 1208336795 SHA256 e1e2ac8e1cf559a539aec1b9ab06b71d041e986bba6db69cbb5025ecaee90e89 SHA512 76e23d359ae8698496b605e006c3038a8e4bd38f15369fdb95e436279c60d41a1d14d74763459d5aead321fd3b4601ef527d674af87170bab7911d5338595b30 WHIRLPOOL b93e8a8ce5f1e3487c187d6c2cd835836abc03bbae19b7376910ea713da9efabb5703449ca397bd10c92334ff0c6fcc8e4674898e695479e13c6d9223e2b52c5
+DIST parallel_studio_xe_2013_update1_intel64.tgz 1493318875 SHA256 f39f63df9d0fc150643c753fcfdb788a75db64e266adca06bcf4f084f3210808 SHA512 d5524a89fbb327a61b7d983dfca8caedf904234c09a934373c38024b4af9955063c4c5c1895eff9b66de3c14d9d401a86634cef7cd80f923fc9196366cfc7a7e WHIRLPOOL 3d0294ab0d4daba28462066cbe8d46772192e55d0b6648202f9f85f49a6cf4ff90a999566b3575fd988df8afefb1cabc1a8146c16fe170c449253659f7b43805
+DIST parallel_studio_xe_2013_update2.tgz 2152945149 SHA256 e8ddf6141f7d84c1f242891fabe0882c40269c358c0b946fee22ee6caa37121c SHA512 633370f58bd9fc14140912d5b3dd251ca4819a926b004a8053f92c83de6f9fdfdad192b425c5224d8b5aee47042a1a99d49628e6e2bb53e623ae429eefcfaac4 WHIRLPOOL 5b4a7c0c9cab758885ccffab25f1aaf64a6f5576d02df81a4797a2b9ae2151efb5e564e43397a2b61040d4af66024107a5a9c537982d3e17723655414dcba166
+DIST parallel_studio_xe_2013_update2_ia32.tgz 1190613262 SHA256 13063ea9c47c781ea8f368566d328434351002e7321b2021b5f04ff741a5d55f SHA512 1488a1b8c9b84881041ccf42d9f856d44aa0654ce3171b0f92114a3408d8cb1f1a18a6d488db6bbfd7322d5a230748612b53378b6ac01b8b7b3e66b3b8f94333 WHIRLPOOL f7d2b307d2f4e226004ddfcf073db087fff6d68e94f849e85350dc18894db884b62362bb3929076fdd531e29f5c49e2cd94eba8685b13fc52e293226516d909d
+DIST parallel_studio_xe_2013_update2_intel64.tgz 1488277925 SHA256 6136774de466de19f4024eeb5a8176ffbf559143b048fecc83848c27008361d6 SHA512 8260ab223d9a959089ae66c8948d90ce119cceeb719ef18c1a9d258ccd77e9b6a67af1a3e203d96a1c3c774def9a6fc302c126001072b7c5aa2bb3cdc68bc4dd WHIRLPOOL 006dc0e925c8265abf174682cd54f2c2fc4c4f1e059e045407d523b3e3b659cadc47da005126236a8b01b882fd0b4dfa7dadce0c52f640d5c0ada8122a9d6d08
+DIST parallel_studio_xe_2013_update3.tgz 2173061577 SHA256 98b3bfe9feefa8caaa1bea533362f31bcfe96aa8f9e59fc89f6a453d50df7508 SHA512 c6115f01b045c840b61e3c2a17fd39142c814d4e387fa5bc935c5cc6ca365c3fedddb6d8c045b5c239b948b42c02254d8b73c42cfe16d046dcf14d3a4597bbde WHIRLPOOL e857fbf0fc73406f7d787400f8ed6e45e93825616fe3d2d10dcd26fa03d56cd956a0b598270724be4ab3886d77502e0f456077ed3008cffc6bdb4abe60acedce
+DIST parallel_studio_xe_2013_update3_ia32.tgz 1207596909 SHA256 57017db1b00345d46ef9dff67dd4e5754ed0fe67fae7335489447f948dbfe7a8 SHA512 f3656fcbda74f253c8cc0ca56e16a84d77854ef51ecc7f24db02c820270bef3954d0d97d1be2aa5cf2ea7703a6e442c3be15df28de570aac7062e5c5958581a4 WHIRLPOOL 0407b59697da8a69c8ac512dec4187bf27eeb2e80516cd6a99968ef3b30a31e55eeaa31ec4bcbd34fe23678e68c4f00cc5dfce579edfb0268b789e1e65285945
+DIST parallel_studio_xe_2013_update3_intel64.tgz 1508395753 SHA256 081bc3d617f04243d459d92d05398df1a3634faf3de554346f732ed83ed4ef06 SHA512 344678ba9c6029ab095cc656c2153b20f0f996dab45115296fb624eca3863763e4010b519595892ffeecfc1a0880901ef5ae53924e41e470aec46efd0abcd822 WHIRLPOOL 1295f579ecc50014b285d47ecf6b92d1b9d0c2cbadd1a5972a832178263a9b3d4cf4208153df40e270c259c1307ed21277239e70371b39eaf4e12171c25a3c1f
+DIST parallel_studio_xe_2013_update4.tgz 2184817121 SHA256 55d549fc34f7a9eb96951c7be3216b68f9f960edfdc0997cf8dcffe5c78d66c8 SHA512 84ea227fdca2c427996b0c4d17a0bad6c289a6fbfc267c19f54ebee875e11e6e8d14bb3103599e3b89331c34a153b0a63a5ca8c12f4619420f78f8c4b0c2da96 WHIRLPOOL 6bedfdbcad7f0d7ad4681d51ad865db247d5f264f5fa33e7136fc64c5e83eee30bb2611f39bd7f31b790432e314a7dbea755297ae3fd2b90ccecb7beffb20d79
+DIST parallel_studio_xe_2013_update4_ia32.tgz 1220177902 SHA256 5bd75b2747f4b787b8128a83914b060d156ecdc41236f4100363b7ab4f9f6859 SHA512 968db307e08cd31450200abd41ade1f2b2855f4b5cb19911d03c1cd357cab11cbba814db354452496fcf66fc3fad1423b24f428bd4db07402f12bd63e4d34247 WHIRLPOOL f2b03ebb78960718a15fc69be814eeb7996fdd7575720f4b09cb915086cc757fea188ef5ceb7e37ed00c995e11ae544d8bd55aba8ab2d12530e26b3d23362f3e
+DIST parallel_studio_xe_2013_update4_intel64.tgz 1520767493 SHA256 31383f357b9b7d9c76e727e63427387d9ee42358f5b5df75a0d8766cd318a11d SHA512 497ad8f3473e1d11cdd31dff340a8e6ec1f012e731def084b2072146b5d11db906f85ace53b2223c3fbef949222f73f36783fd697eb7809464f4403c0ac8744a WHIRLPOOL d08447f27aee0f088797968d541fe98e3813a1daf5b87024d37493663238594c3e4e75a8d9636a4059191782f5eae9065d45b7ad2c27e1f73fc74eb110ad399f
+DIST parallel_studio_xe_2015.tgz 3819862086 SHA256 31abe447b1db457b38547dfbf0fd7e434cb45d5734892ec3ef95ef5f4d2f8ae2 SHA512 889844fe067d1b1095283686f1b1657aab2bbda2a7e9014aec88a0ef1af8c8a0e1da3a4414600d4b450b2a1b4b13496b5165e495ccdf3187c27f58eaff07b13b WHIRLPOOL c2be966c8910d8995b845e25d60ceb700bfe9bc78daf60e97fd016de6e1abc60bb0f4fe33e2cd7c8960ebbf1540d418524414a351ed9256a80cdee4e29166961
+DIST parallel_studio_xe_2015_update1.tgz 4044230603 SHA256 84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b SHA512 894c911dce9d261fbe67d65c91c3b6c7117b183102fe7673a5e106d14994a082fdf03fdb573bbb1a9f0a01cf1539082b72ec75c39db7590bb2f63222f9a5b832 WHIRLPOOL f43b219ba82aa3f94c6818c54b971302f3693cb1c0266924f7ee79c67d6008699388afedaf4b2f72e969a73c8fd7d276309d80ff4dc8dfb1ba766cbe19b33872
+DIST parallel_studio_xe_2015_update2.tgz 4145283363 SHA256 8cbde4d4fb3bbfcc5096d5d924953121ca84e9a9bee7b00dfd07c029c1a89943 SHA512 1166eaa41c881059673dbf51194cf800fbc94a1080fc9eebbacc20cd762c3b2e92f83191cb1cdacc50da0c8522524b7132d269fc2a91615ba4fbda5c63cb7a47 WHIRLPOOL 95e93fc964f0ddbd81e87d3c8083adea3f8ab82fc0668dc00b10154ba8911bd50d07be9d2130a1b27c7ea66e5208e172055df4fee69f336ae777d629ca7874d4
+DIST parallel_studio_xe_2015_update3.tgz 4156836825 SHA256 ab7169989c87bbb0fe66221cb7eb3a26b17c8b9ceff38f1926e5607834306896 SHA512 eccc2bfe85ccd039a2ec9e334d370e49d43baa0522d095c087a5982aa08bddb4c97bfc3125bd09f5cd57d3ed252c598012e1f2670b8373a1b3bb455825d18f96 WHIRLPOOL d1fd8d1e46ce35150357a9452f04529d8a1f7e915e50a5d714895184aa37fb61186a5455e89b4750f444f0f6da94563e493d0821c661378551c3739f8d27d7b9
diff --git a/dev-libs/intel-common/intel-common-13.0.0.079-r1.ebuild b/dev-libs/intel-common/intel-common-13.0.0.079-r1.ebuild
new file mode 100644
index 000000000000..9f082d6db514
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.0.0.079-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2749
+INTEL_DPV=2013
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=325M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ MANPATH=${INTEL_SDP_EDIR}/man/en_US
+ INTEL_LICENSE_FILE=${INTEL_SDP_EDIR}/licenses
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+ dodir ${INTEL_SDP_DIR}/licenses
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-13.0.0.079.ebuild b/dev-libs/intel-common/intel-common-13.0.0.079.ebuild
new file mode 100644
index 000000000000..a66e0bb016ae
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.0.0.079.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2749
+INTEL_DPV=2013
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=325M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ MANPATH=${INTEL_SDP_EDIR}/man/en_US
+ INTEL_LICENSE_FILE=${INTEL_SDP_EDIR}/licenses
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+ dodir ${INTEL_SDP_DIR}/licenses
+}
diff --git a/dev-libs/intel-common/intel-common-13.0.1.117.ebuild b/dev-libs/intel-common/intel-common-13.0.1.117.ebuild
new file mode 100644
index 000000000000..44f802e847c6
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.0.1.117.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2872
+INTEL_DPV=2013_update1
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=325M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-13.1.2.146.ebuild b/dev-libs/intel-common/intel-common-13.1.2.146.ebuild
new file mode 100644
index 000000000000..c50958f4d168
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.1.2.146.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2987
+INTEL_DPV=2013_update2
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-13.1.3.163.ebuild b/dev-libs/intel-common/intel-common-13.1.3.163.ebuild
new file mode 100644
index 000000000000..fdc1379fd0da
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.1.3.163.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3078
+INTEL_DPV=2013_update3
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-13.1.5.192.ebuild b/dev-libs/intel-common/intel-common-13.1.5.192.ebuild
new file mode 100644
index 000000000000..1ddf2e65f280
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-13.1.5.192.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3266
+INTEL_DPV=2013_update4
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-14.0.0.080.ebuild b/dev-libs/intel-common/intel-common-14.0.0.080.ebuild
new file mode 100644
index 000000000000..60f0840bc346
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-14.0.0.080.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3447
+INTEL_DPV=2013_sp1
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-14.0.1.106.ebuild b/dev-libs/intel-common/intel-common-14.0.1.106.ebuild
new file mode 100644
index 000000000000..e3ba452140e3
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-14.0.1.106.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3644
+INTEL_DPV=2013_sp1_update1
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-14.0.2.144.ebuild b/dev-libs/intel-common/intel-common-14.0.2.144.ebuild
new file mode 100644
index 000000000000..7a779d09fe34
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-14.0.2.144.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3949
+INTEL_DPV=2013_sp1_update2
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-14.0.3.174.ebuild b/dev-libs/intel-common/intel-common-14.0.3.174.ebuild
new file mode 100644
index 000000000000..3424003e44c8
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-14.0.3.174.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=4220
+INTEL_DPV=2013_sp1_update3
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-15.0.0.090-r1.ebuild b/dev-libs/intel-common/intel-common-15.0.0.090-r1.ebuild
new file mode 100644
index 000000000000..d18c02e513b7
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-15.0.0.090-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=4584
+INTEL_DPV=2015
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common compilerpro-common-pset"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common ccompxe compxe fcompxe"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-15.0.1.133.ebuild b/dev-libs/intel-common/intel-common-15.0.1.133.ebuild
new file mode 100644
index 000000000000..48cd1a45e0f7
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-15.0.1.133.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=4992
+INTEL_DPV=2015_update1
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common compilerpro-common-pset"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common ccompxe compxe fcompxe"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-15.0.2.164.ebuild b/dev-libs/intel-common/intel-common-15.0.2.164.ebuild
new file mode 100644
index 000000000000..86ca01cdc752
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-15.0.2.164.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=5207
+INTEL_DPV=2015_update2
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common compilerpro-common-pset"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common ccompxe compxe fcompxe"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/intel-common-15.0.3.187.ebuild b/dev-libs/intel-common/intel-common-15.0.3.187.ebuild
new file mode 100644
index 000000000000..d0f42e36d6aa
--- /dev/null
+++ b/dev-libs/intel-common/intel-common-15.0.3.187.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=7538
+INTEL_DPV=2015_update3
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Common libraries and utilities needed for Intel compilers and libraries"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-compilers/"
+
+IUSE="+compiler"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CHECKREQS_DISK_BUILD=375M
+
+pkg_setup() {
+ einfo ${INTEL_SDP_EDIR}
+ INTEL_BIN_RPMS="openmp openmp-devel"
+ INTEL_DAT_RPMS="compilerpro-common compilerpro-common-pset"
+ if use compiler; then
+ INTEL_BIN_RPMS+=" compilerpro-devel sourcechecker-devel"
+ INTEL_DAT_RPMS+=" compilerpro-vars sourcechecker-common ccompxe compxe fcompxe"
+ fi
+ intel-sdp_pkg_setup
+}
+
+src_install() {
+ intel-sdp_src_install
+ local path rootpath ldpath arch fenv=35intelsdp
+ cat > ${fenv} <<-EOF
+ NLSPATH=${INTEL_SDP_EDIR}/lib/locale/en_US/%N
+ INTEL_LICENSE_FILE="${INTEL_SDP_EDIR}"/licenses:"${EPREFIX}/opt/intel/license"
+ EOF
+ for arch in ${INTEL_ARCH}; do
+ path=${path}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ rootpath=${rootpath}:${INTEL_SDP_EDIR}/bin/${arch}:${INTEL_SDP_EDIR}/mpirt/bin/${arch}
+ ldpath=${ldpath}:${INTEL_SDP_EDIR}/compiler/lib/${arch}:${INTEL_SDP_EDIR}/mpirt/lib/${arch}
+ done
+ cat >> ${fenv} <<-EOF
+ PATH=${path#:}
+ ROOTPATH=${rootpath#:}
+ LDPATH=${ldpath#:}
+ EOF
+
+ doenvd ${fenv}
+
+ cat >> "${T}"/40-${PN} <<- EOF
+ SEARCH_DIRS_MASK="${INTEL_SDP_EDIR}"
+ EOF
+ insinto /etc/revdep-rebuild/
+ doins "${T}"/40-${PN}
+}
diff --git a/dev-libs/intel-common/metadata.xml b/dev-libs/intel-common/metadata.xml
new file mode 100644
index 000000000000..269cea16e45a
--- /dev/null
+++ b/dev-libs/intel-common/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ This package contains the core files to be installed for the Intel
+ compilers and libraries. Probably useless if installed standalone.
+</longdescription>
+ <use>
+ <flag name="compiler">Install the libraries needed for the icc and ifort compilers</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/isl/Manifest b/dev-libs/isl/Manifest
new file mode 100644
index 000000000000..75f37cae79a2
--- /dev/null
+++ b/dev-libs/isl/Manifest
@@ -0,0 +1,6 @@
+DIST isl-0.11.1.tar.bz2 1244610 SHA256 095f4b54c88ca13a80d2b025d9c551f89ea7ba6f6201d701960bfe5c1466a98d SHA512 f021ef6982b30a4834bc459af3520bd74b9c6af3e479b344c2d0e1bb4550b85cd30612e342ac761d85f1d2e2160ab3183e1252696726f438e61fb070a7a7bd22 WHIRLPOOL 369e6412c55b194516e4bd5c609d0fbe56093001d324d90f7c0729160f12c4cea4cdb8aa9b4fc29da4e3e95ba5a080dc5761740ffa0cadefa9e544a6b4da97fe
+DIST isl-0.12.2.tar.bz2 1319434 SHA256 f4b3dbee9712850006e44f0db2103441ab3d13b406f77996d1df19ee89d11fb4 SHA512 b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea WHIRLPOOL 7138e0a6249a1245fa07cd072abbbcbda19f7f9d3cf31297e7e6e535e24b5cfd12ea7aee61b68c8e0586dc90ee9a86762e3723312e099ff5edfa3f791e2ca444
+DIST isl-0.13.tar.bz2 1351299 SHA256 7265fd897b7f9147fde76560f28ed18f2c20e5f5da7f4bd9d0e01f8a713401f1 SHA512 ac94cc6448ce8ed5ccf987fb29d86ddd5a63c904a83df3f24f66cde25e5657180a3f2b55b207635d43930e92c860d1043d3f14e9e715d593d53c956eb8346743 WHIRLPOOL 3d5f7343014c07e8e50d0b82db0d6f938c9e8c7cfb2c27cd312141c3f0fef50e0bf2a7421f4fce91d6247e9a027e88d47312c1e7c56fc8d34e2b7e77589dedcf
+DIST isl-0.14.1.tar.xz 1248204 SHA256 8882c9e36549fc757efa267706a9af733bb8d7fe3905cbfde43e17a89eea4675 SHA512 ccae0464771db50c498fd1f9f1006c9bc183fd77a0716507daeb5da6d435fdcffffa0942efc4589464f205615f9e46242a066f61790c40206be02f6cf8506635 WHIRLPOOL e9c59808a84bd0b769698f129c0fdaf427d004afd6ee979c89f7d6bc7ce6d77f14f5389f2d0718fea6202a29d6da77a60357456117c4696735b14e6369f35985
+DIST isl-0.14.tar.xz 1247052 SHA256 b1044f02819da0708fc7071fa2a558ce5d3c29d6676c8cb113caaedd5903ff03 SHA512 cf43868d466d6ff08c5e15345d222ad153e8c4e86831f9854df716eb914c6c15f4c44b73aa6e0b16eb556d1a4d3c26af6f71e85421bf464cbbd053d5f3c515ee WHIRLPOOL 4fdaa2c05b647f0830afbc3385e5359285b3fa86afa4a117b76e6ced03772d3abe57466e9cbdfe0cf96f05ab8bcbfb4737a6921aeb72fb1bd213374bdb6a2ac3
+DIST isl-0.15.tar.xz 1406988 SHA256 104a608839771d809558f5fd7533ca1a3b8ee5a667c5dcd9dc3499bf0a1522d5 SHA512 5e72816da133714fb752ddd10fbe9e8f18deef496445672c0a77429679e50f1def22e05e5ebe9acb5534fc8939a6e6a452ffa3607d479671864a76b6789bdab4 WHIRLPOOL 79d763a423a95544f9b8bd6caef9e23341d8c1bab5ae3711a59ce9cc28f7f3923adb20894601ccd91c0093dbe3c656951b8246b8e947ad5ed32d1beefcde1519
diff --git a/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch b/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch
new file mode 100644
index 000000000000..58e80b29687e
--- /dev/null
+++ b/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch
@@ -0,0 +1,17 @@
+Install python module into gdb auto-load directory.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2189,9 +2189,9 @@ install-data-local: $(srcdir)/isl.py
+ case $$libisl in \
+ '') echo Cannot find isl library name. GDB bindings not installed.;; \
+ *) echo $(INSTALL_DATA) $(srcdir)/isl.py \
+- $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
+- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
+- $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac
++ $(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)/$$libisl-gdb.py; \
++ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)"; \
++ $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)/$$libisl-gdb.py; esac
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/dev-libs/isl/isl-0.11.1.ebuild b/dev-libs/isl/isl-0.11.1.ebuild
new file mode 100644
index 000000000000..451635a73c29
--- /dev/null
+++ b/dev-libs/isl/isl-0.11.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+DESCRIPTION="A library for manipulating integer points bounded by affine constraints"
+HOMEPAGE="http://www.kotnet.org/~skimo/isl/"
+SRC_URI="http://www.kotnet.org/~skimo/isl/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/gmp"
+DEPEND="${RDEPEND}"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/isl-0.12.2.ebuild b/dev-libs/isl/isl-0.12.2.ebuild
new file mode 100644
index 000000000000..880aa4e8e200
--- /dev/null
+++ b/dev-libs/isl/isl-0.12.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="http://isl.gforge.inria.fr/"
+SRC_URI="http://isl.gforge.inria.fr/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/10"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/isl-0.13.ebuild b/dev-libs/isl/isl-0.13.ebuild
new file mode 100644
index 000000000000..bbedbb3accf6
--- /dev/null
+++ b/dev-libs/isl/isl-0.13.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="http://isl.gforge.inria.fr/"
+SRC_URI="http://isl.gforge.inria.fr/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/isl-0.14.1.ebuild b/dev-libs/isl/isl-0.14.1.ebuild
new file mode 100644
index 000000000000..3af0bec280ba
--- /dev/null
+++ b/dev-libs/isl/isl-0.14.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="http://isl.gforge.inria.fr/"
+SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/14"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/isl-0.14.ebuild b/dev-libs/isl/isl-0.14.ebuild
new file mode 100644
index 000000000000..3af0bec280ba
--- /dev/null
+++ b/dev-libs/isl/isl-0.14.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="http://isl.gforge.inria.fr/"
+SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/14"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/isl-0.15.ebuild b/dev-libs/isl/isl-0.15.ebuild
new file mode 100644
index 000000000000..fb0d623273ce
--- /dev/null
+++ b/dev-libs/isl/isl-0.15.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="http://isl.gforge.inria.fr/"
+SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/15"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
+
+ # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
+ # http://groups.google.com/group/isl-development/t/37ad876557e50f2c
+ sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/isl/metadata.xml b/dev-libs/isl/metadata.xml
new file mode 100644
index 000000000000..e4768647612b
--- /dev/null
+++ b/dev-libs/isl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+ <maintainer>
+ <email>toolchain@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/jansson/Manifest b/dev-libs/jansson/Manifest
new file mode 100644
index 000000000000..40c6956e748d
--- /dev/null
+++ b/dev-libs/jansson/Manifest
@@ -0,0 +1,3 @@
+DIST jansson-2.4.tar.gz 401597 SHA256 1fcbd1ac3d8b610644acf86a5731d760bb228c9acbace20a2ad0f23baec79b41 SHA512 52c82ea2e70b9a1b72a62e07d917e5b2f8dc1b0fd6022397cbdd60b98aee176cc02f8c65b60d371b4007c60644898667f6bc0dfd11a26a411f167fac0e4df9a0 WHIRLPOOL c028243d8ecd0763f6f6d012113cbbb6ac58698532f94563372994311650762a7eb2d7f1831779dabcce0be2c013d4cb103bde5c3ad919afeeb82f2c875c2460
+DIST jansson-2.6.tar.gz 428175 SHA256 98fa4dd0e0dff679e5085490f5fafa38bdda088f4553348c0281832d24afe541 SHA512 9781cc109c9e76bc2f15b5ad6af95f8a3b52d60424d101ff90103f33679db5c5bfe2fcc7443698e1808aaf87dce563f7c11a48aa4ac5bfa34688499cbc21277c WHIRLPOOL a8aea19e518290c8b00f8788b67d9b6efac0e03442216ce9ecc672659560854eefc71f9821abe472aec5b6abd693e41076f66678dbcab0d2c9dd4d542755bf22
+DIST jansson-2.7.tar.gz 445179 SHA256 7905e6590fb316c0ff943df3dc6a21cd81a59cff7a6d12514054c359d04d78d7 SHA512 657b715868c2fbf8da1e41befee2691524190e12255214c472652ca3e3793b03e2b384dc3aedb1071b67b0b8cb57fd495103979983fe21a2404f12cd70295a28 WHIRLPOOL 684c0a1cae8cbd86d1a4e19bcfa59f36bf6094853ce5e18bd600fcb27fb1afac250e52c1983f888fcae06437c6e142b2ea3823c911b5a2923f4775494d26690f
diff --git a/dev-libs/jansson/jansson-2.4.ebuild b/dev-libs/jansson/jansson-2.4.ebuild
new file mode 100644
index 000000000000..f07d058bda58
--- /dev/null
+++ b/dev-libs/jansson/jansson-2.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE="http://www.digip.org/jansson/"
+SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
+RDEPEND=""
+
+DOCS=(CHANGES README.rst)
+
+src_prepare() {
+ sed -ie 's/-Werror//' src/Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use doc && autotools-utils_src_compile html
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/doc/_build/html/")
+ autotools-utils_src_install
+}
diff --git a/dev-libs/jansson/jansson-2.6.ebuild b/dev-libs/jansson/jansson-2.6.ebuild
new file mode 100644
index 000000000000..84638f6b2f8a
--- /dev/null
+++ b/dev-libs/jansson/jansson-2.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE="http://www.digip.org/jansson/"
+SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
+RDEPEND=""
+
+DOCS=(CHANGES README.rst)
+
+src_prepare() {
+ sed -ie 's/-Werror//' src/Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use doc && autotools-utils_src_compile html
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/doc/_build/html/")
+ autotools-utils_src_install
+}
diff --git a/dev-libs/jansson/jansson-2.7.ebuild b/dev-libs/jansson/jansson-2.7.ebuild
new file mode 100644
index 000000000000..38cdb771eb52
--- /dev/null
+++ b/dev-libs/jansson/jansson-2.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE="http://www.digip.org/jansson/"
+SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
+RDEPEND=""
+
+DOCS=(CHANGES README.rst)
+
+src_prepare() {
+ sed -ie 's/-Werror//' src/Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use doc && autotools-utils_src_compile html
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/doc/_build/html/")
+ autotools-utils_src_install
+}
diff --git a/dev-libs/jansson/metadata.xml b/dev-libs/jansson/metadata.xml
new file mode 100644
index 000000000000..569987a08f85
--- /dev/null
+++ b/dev-libs/jansson/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Maintainer. Assign bugs to him</description>
+</maintainer>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/jemalloc/Manifest b/dev-libs/jemalloc/Manifest
new file mode 100644
index 000000000000..2c6c514507ac
--- /dev/null
+++ b/dev-libs/jemalloc/Manifest
@@ -0,0 +1,3 @@
+DIST jemalloc-2.2.5.tar.bz2 224118 SHA256 efcc9636757bd7f53a0fde084c2988bfe26f2868e435447f2d41ac42c0b3521e SHA512 56a29dc7dca66c41d2934731c4bc756de5b58bf707dc2ebcf8515be400ce25e372af6526035117cad5b1964b9ba040ab7178f4c28c1649e86dcb53c3ec884a9d WHIRLPOOL e88fc56ac9db024483196d62e870fe4981d1d02fbf5e3819da504568cc58c8f246df668bb3dfe70ad2d551671577c18d5e6432e60bb3107296e6faad7cd8595c
+DIST jemalloc-3.3.1.tar.bz2 252997 SHA256 35c433cc1df5cdf9eb58b7980338552fc1d7aa64f89fe5643a972ccedb7cf20a SHA512 32814e8678af4954e26c0c0a0e5d06aba8f3844205fe212c5e41929dfab6a94ff11127a9238b5c18d72749827c467ecb874b8f3a9bc161cf1afdf4ea84c58690 WHIRLPOOL 35e8948e18ea7111ae830a8245be995b35f44ed2c2f687f706ee6941c78350c2cfaabefba223c4433069de47a9f92d621feaf176ec0c728e513e5f076e5fc874
+DIST jemalloc-3.6.0.tar.bz2 338964 SHA256 e16c2159dd3c81ca2dc3b5c9ef0d43e1f2f45b04548f42db12e7c12d7bdf84fe SHA512 ebe7c64558a87a735b5906d5cb7527c241664eeae7328538675a12eabe7a1004be0f8766a3bd2a78e61334b196ca7ffc0ee8b8ff59167922a35f126cd1e76e43 WHIRLPOOL d5452005951b10d9d529349481779d79361ec8d8ac1f36f4b54408b5e0184f35d79fee8378188d98f1b8e41ae13557a2cf41ab849b68856ba69f33870fe6e980
diff --git a/dev-libs/jemalloc/files/jemalloc-2.2.1-no-pprof.patch b/dev-libs/jemalloc/files/jemalloc-2.2.1-no-pprof.patch
new file mode 100644
index 000000000000..e10aab4d4f38
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-2.2.1-no-pprof.patch
@@ -0,0 +1,24 @@
+--- a/Makefile.in 2011-04-11 10:42:32.084403330 -0500
++++ b/Makefile.in 2011-04-11 10:43:23.490760665 -0500
+@@ -42,7 +42,6 @@
+ endif
+
+ # Lists of files.
+-BINS := @srcroot@bin/pprof
+ CHDRS := @objroot@include/jemalloc/jemalloc@install_suffix@.h \
+ @objroot@include/jemalloc/jemalloc_defs@install_suffix@.h
+ CSRCS := @srcroot@src/jemalloc.c @srcroot@src/arena.c @srcroot@src/atomic.c \
+@@ -141,13 +140,6 @@
+ $(CC) -o $@ $< -L@objroot@lib -ljemalloc@install_suffix@
+ endif
+
+-install_bin:
+- install -d $(BINDIR)
+- @for b in $(BINS); do \
+- echo "install -m 755 $$b $(BINDIR)"; \
+- install -m 755 $$b $(BINDIR); \
+-done
+-
+ install_include:
+ install -d $(INCLUDEDIR)/jemalloc
+ @for h in $(CHDRS); do \
diff --git a/dev-libs/jemalloc/files/jemalloc-2.2.5_fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-2.2.5_fix_html_install.patch
new file mode 100644
index 000000000000..aff4add8b3fe
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-2.2.5_fix_html_install.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -176,7 +176,7 @@
+ install -m 644 $$d $(MANDIR)/man3; \
+ done
+
+-install_doc: install_html install_man
++install_doc: install_man
+
+ install: install_bin install_include install_lib install_doc
+
+
diff --git a/dev-libs/jemalloc/files/jemalloc-3.0.0-no-pprof.patch b/dev-libs/jemalloc/files/jemalloc-3.0.0-no-pprof.patch
new file mode 100644
index 000000000000..c2fa815ec529
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.0.0-no-pprof.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile.in b/Makefile.in
+index 6675b59..ce0782f 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -69,7 +69,6 @@ endif
+ LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix)
+
+ # Lists of files.
+-BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh
+ CHDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h \
+ $(objroot)include/jemalloc/jemalloc_defs$(install_suffix).h
+ CSRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c $(srcroot)src/atomic.c \
+@@ -196,13 +195,6 @@ build_lib_shared: $(DSOS)
+ build_lib_static: $(STATIC_LIBS)
+ build: build_lib_shared build_lib_static
+
+-install_bin:
+- install -d $(BINDIR)
+- @for b in $(BINS); do \
+- echo "install -m 755 $$b $(BINDIR)"; \
+- install -m 755 $$b $(BINDIR); \
+-done
+-
+ install_include:
+ install -d $(INCLUDEDIR)/jemalloc
+ @for h in $(CHDRS); do \
+
diff --git a/dev-libs/jemalloc/files/jemalloc-3.0.0-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-3.0.0-strip-optimization.patch
new file mode 100644
index 000000000000..98c09af6277f
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.0.0-strip-optimization.patch
@@ -0,0 +1,29 @@
+diff --git a/configure.ac b/configure.ac
+index a72019e..e366e1c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -556,23 +556,6 @@ if test "x$enable_debug" = "x1" ; then
+ fi
+ AC_SUBST([enable_debug])
+
+-dnl Only optimize if not debugging.
+-if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
+- dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
+- optimize="no"
+- echo "$EXTRA_CFLAGS" | grep "\-O" >/dev/null || optimize="yes"
+- if test "x${optimize}" = "xyes" ; then
+- if test "x$GCC" = "xyes" ; then
+- JE_CFLAGS_APPEND([-O3])
+- JE_CFLAGS_APPEND([-funroll-loops])
+- elif test "x$je_cv_msvc" = "xyes" ; then
+- JE_CFLAGS_APPEND([-O2])
+- else
+- JE_CFLAGS_APPEND([-O])
+- fi
+- fi
+-fi
+-
+ dnl Enable statistics calculation by default.
+ AC_ARG_ENABLE([stats],
+ [AS_HELP_STRING([--disable-stats],
+
diff --git a/dev-libs/jemalloc/files/jemalloc-3.0.0_fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-3.0.0_fix_html_install.patch
new file mode 100644
index 000000000000..0f3026d44c2b
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.0.0_fix_html_install.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile.in b/Makefile.in
+index 6675b59..3032c6d 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -240,7 +240,7 @@ install_doc_man:
+ install -m 644 $$d $(MANDIR)/man3; \
+ done
+
+-install_doc: install_doc_html install_doc_man
++install_doc: install_doc_man
+
+ install: install_bin install_include install_lib install_doc
+
+
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch
new file mode 100644
index 000000000000..30cbd501ec5d
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch
@@ -0,0 +1,25 @@
+diff -urN a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600
++++ b/Makefile.in 2014-03-07 18:24:10.978141932 -0600
+@@ -73,7 +73,6 @@
+ LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix)
+
+ # Lists of files.
+-BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh
+ C_HDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h
+ C_SRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c \
+ $(srcroot)src/atomic.c $(srcroot)src/base.c $(srcroot)src/bitmap.c \
+@@ -273,13 +272,6 @@
+ build_lib_static: $(STATIC_LIBS)
+ build_lib: build_lib_shared build_lib_static
+
+-install_bin:
+- install -d $(BINDIR)
+- @for b in $(BINS); do \
+- echo "install -m 755 $$b $(BINDIR)"; \
+- install -m 755 $$b $(BINDIR); \
+-done
+-
+ install_include:
+ install -d $(INCLUDEDIR)/jemalloc
+ @for h in $(C_HDRS); do \
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch
new file mode 100644
index 000000000000..cc8736b84123
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch
@@ -0,0 +1,27 @@
+diff -urN a/configure.ac b/configure.ac
+--- a/configure.ac 2014-02-25 18:49:15.000000000 -0600
++++ b/configure.ac 2014-03-07 18:19:53.718147847 -0600
+@@ -639,23 +639,6 @@
+ AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
+ fi
+
+-dnl Only optimize if not debugging.
+-if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
+- dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
+- optimize="no"
+- echo "$CFLAGS $EXTRA_CFLAGS" | grep '\-O' >/dev/null || optimize="yes"
+- if test "x${optimize}" = "xyes" ; then
+- if test "x$GCC" = "xyes" ; then
+- JE_CFLAGS_APPEND([-O3])
+- JE_CFLAGS_APPEND([-funroll-loops])
+- elif test "x$je_cv_msvc" = "xyes" ; then
+- JE_CFLAGS_APPEND([-O2])
+- else
+- JE_CFLAGS_APPEND([-O])
+- fi
+- fi
+-fi
+-
+ dnl Enable statistics calculation by default.
+ AC_ARG_ENABLE([stats],
+ [AS_HELP_STRING([--disable-stats],
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch
new file mode 100644
index 000000000000..1ce5ad2ede95
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch
@@ -0,0 +1,12 @@
+diff -urN a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600
++++ b/Makefile.in 2014-03-07 18:26:23.074138895 -0600
+@@ -317,7 +317,7 @@
+ install -m 644 $$d $(MANDIR)/man3; \
+ done
+
+-install_doc: install_doc_html install_doc_man
++install_doc: install_doc_man
+
+ install: install_bin install_include install_lib install_doc
+
diff --git a/dev-libs/jemalloc/files/jemalloc-fix-ar-call.patch b/dev-libs/jemalloc/files/jemalloc-fix-ar-call.patch
new file mode 100644
index 000000000000..6d81cda55d9e
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-fix-ar-call.patch
@@ -0,0 +1,59 @@
+diff --git a/Makefile.in b/Makefile.in
+index 7481047..478becb 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -55,6 +55,8 @@ PIC_CFLAGS = @PIC_CFLAGS@
+ CTARGET = @CTARGET@
+ LDTARGET = @LDTARGET@
+ MKLIB = @MKLIB@
++AR = @AR@
++ARFLAGS = crus
+ CC_MM = @CC_MM@
+
+ ifeq (macho, $(ABI))
+@@ -185,7 +187,7 @@ $(objroot)lib/$(LIBJEMALLOC)_s.$(A) : $(COBJS)
+
+ $(STATIC_LIBS):
+ @mkdir -p $(@D)
+- $(MKLIB) $+
++ $(AR) $(ARFLAGS) $@ $+
+
+ $(objroot)test/bitmap$(EXE): $(objroot)src/bitmap.$(O)
+
+diff --git a/configure.ac b/configure.ac
+index c270662..f4b4c21 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -226,9 +226,13 @@ PIC_CFLAGS='-fPIC -DPIC'
+ CTARGET='-o $@'
+ LDTARGET='-o $@'
+ EXTRA_LDFLAGS=
+-MKLIB='ar crus $@'
+ CC_MM=1
+
++AN_MAKEVAR([AR], [AC_PROG_AR])
++AN_PROGRAM([ar], [AC_PROG_AR])
++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
++AC_PROG_AR
++
+ dnl Platform-specific settings. abi and RPATH can probably be determined
+ dnl programmatically, but doing so is error-prone, which makes it generally
+ dnl not worth the trouble.
+@@ -310,7 +314,8 @@ case "${host}" in
+ EXTRA_LDFLAGS="-link -DEBUG"
+ CTARGET='-Fo$@'
+ LDTARGET='-Fe$@'
+- MKLIB='lib -nologo -out:$@'
++ AR='lib'
++ ARFLAGS='-nologo -out:'
+ CC_MM=
+ else
+ importlib="${so}"
+@@ -403,7 +408,6 @@ AC_SUBST([enable_autogen])
+
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+-AC_PATH_PROG([AR], [ar], [false], [$PATH])
+ AC_PATH_PROG([LD], [ld], [false], [$PATH])
+ AC_PATH_PROG([AUTOCONF], [autoconf], [false], [$PATH])
+
diff --git a/dev-libs/jemalloc/files/jemalloc-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-strip-optimization.patch
new file mode 100644
index 000000000000..60b7d6c22ff1
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-strip-optimization.patch
@@ -0,0 +1,25 @@
+--- a/configure.ac 2010-02-22 12:07:05.000000000 +0100
++++ b/configure.ac 2010-02-22 12:08:29.000000000 +0100
+@@ -296,21 +296,6 @@
+ fi
+ AC_SUBST([enable_debug])
+
+-dnl Only optimize if not debugging.
+-if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
+- dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
+- optimize="no"
+- echo "$EXTRA_CFLAGS" | grep "\-O" >/dev/null || optimize="yes"
+- if test "x${optimize}" = "xyes" ; then
+- if test "x$GCC" = "xyes" ; then
+- JE_CFLAGS_APPEND([-O3])
+- JE_CFLAGS_APPEND([-funroll-loops])
+- else
+- JE_CFLAGS_APPEND([-O])
+- fi
+- fi
+-fi
+-
+ dnl Do not enable statistics calculation by default.
+ AC_ARG_ENABLE([stats],
+ [AS_HELP_STRING([--enable-stats], [Enable statistics calculation/reporting])],
+
diff --git a/dev-libs/jemalloc/jemalloc-2.2.5-r1.ebuild b/dev-libs/jemalloc/jemalloc-2.2.5-r1.ebuild
new file mode 100644
index 000000000000..420b4daa183c
--- /dev/null
+++ b/dev-libs/jemalloc/jemalloc-2.2.5-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
+HOMEPAGE="http://www.canonware.com/jemalloc/"
+SRC_URI="http://www.canonware.com/download/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips ppc ppc64 x86"
+
+IUSE="debug static-libs stats"
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-strip-optimization.patch" \
+ "${FILESDIR}/${PN}-2.2.1-no-pprof.patch" \
+ "${FILESDIR}/${PN}-2.2.5_fix_html_install.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-jemalloc-prefix=j \
+ $(use_enable debug) \
+ $(use_enable stats)
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install || die
+ dodoc ChangeLog README
+ dohtml doc/jemalloc.html
+
+ use static-libs || find "${ED}" -name '*.a' -exec rm -f {} +
+}
diff --git a/dev-libs/jemalloc/jemalloc-3.3.1.ebuild b/dev-libs/jemalloc/jemalloc-3.3.1.ebuild
new file mode 100644
index 000000000000..3bd29f941655
--- /dev/null
+++ b/dev-libs/jemalloc/jemalloc-3.3.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
+HOMEPAGE="http://www.canonware.com/jemalloc/"
+SRC_URI="http://www.canonware.com/download/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86 ~x64-macos"
+IUSE="debug static-libs stats"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-3.0.0-strip-optimization.patch" \
+ "${FILESDIR}/${PN}-3.0.0-no-pprof.patch" \
+ "${FILESDIR}/${PN}-3.0.0_fix_html_install.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable stats)
+}
+
+src_install() {
+ default
+ dohtml doc/jemalloc.html
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fixup install_name, #437362
+ install_name_tool \
+ -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.1.dylib \
+ "${ED}"/usr/$(get_libdir)/libjemalloc.1.dylib || die
+ fi
+
+ use static-libs || find "${D}" -name '*.a' -delete
+}
diff --git a/dev-libs/jemalloc/jemalloc-3.6.0.ebuild b/dev-libs/jemalloc/jemalloc-3.6.0.ebuild
new file mode 100644
index 000000000000..99720e222b88
--- /dev/null
+++ b/dev-libs/jemalloc/jemalloc-3.6.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-multilib eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
+HOMEPAGE="http://www.canonware.com/jemalloc/"
+SRC_URI="http://www.canonware.com/download/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="debug static-libs stats"
+
+HTML_DOCS=( doc/jemalloc.html )
+
+PATCHES=( "${FILESDIR}/${PN}-3.5.1-strip-optimization.patch"
+ "${FILESDIR}/${PN}-3.5.1-no-pprof.patch"
+ "${FILESDIR}/${PN}-3.5.1_fix_html_install.patch"
+)
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
+
+# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
+# but jemalloc doesn't implement them in its configure; need this here to
+# supress the warnings until automagic is removed from the eclass
+QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
+src_configure() {
+ myeconfargs=(
+ $(use_enable debug)
+ $(use_enable stats)
+ )
+ use sparc && append-cppflags -DLG_QUANTUM=4 -mcpu=ultrasparc
+ # The configure test for page shift requires running code which fails
+ # when cross-compiling. Since it uses _SC_PAGESIZE, and the majority
+ # of systems use 4096 as the base page size, just hardcode 12 here.
+ tc-is-cross-compiler && export je_cv_static_page_shift=12
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fixup install_name, #437362
+ install_name_tool \
+ -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.1.dylib \
+ "${ED}"/usr/$(get_libdir)/libjemalloc.1.dylib || die
+ fi
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
diff --git a/dev-libs/jemalloc/metadata.xml b/dev-libs/jemalloc/metadata.xml
new file mode 100644
index 000000000000..a53e4b43c49d
--- /dev/null
+++ b/dev-libs/jemalloc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mozilla</herd>
+ <longdescription lang="en">
+ Jemalloc is a general-purpose scalable concurrent allocator
+ </longdescription>
+ <use>
+ <flag name='stats'>Enable statistics calculation/reporting</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
new file mode 100644
index 000000000000..e57eed650b43
--- /dev/null
+++ b/dev-libs/json-c/Manifest
@@ -0,0 +1,4 @@
+DIST json-c-0.10.tar.gz 385812 SHA256 274fc9d47c1911fad9caab4db117e4be5d6b68c4547eab0c508d79c4768e170c SHA512 d254eb223ebfb05e828bf039efb280f5e83b9f59116fba3af2892cf1f7732d152f7d0e2d8b77ec32e175b168022c2342f954e97f867c438b349f36b4dfdbd746 WHIRLPOOL 0eab71b6af2bc1ecb54474b69f86eff56fc2c2a756e542f758070dfe52839223b0a90da7af837567d448d1c7c660b003590ec68bff1ffb802cfa44165914b08c
+DIST json-c-0.11.tar.gz 557263 SHA256 28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c SHA512 65ab563fe908d585ba05fff3b77283050ec4f94114ff6e4b916557013d75498271cf65b2660a0aaf74b23beaa80385c80d37ab6a700ba967dd859fa779a81cb0 WHIRLPOOL f47c78b206a49a6e1d2570d041917593f3b889125b47a951ec1347f5c470082113225e86ff593869b5d859c2c815ceda268d4a3c890f53af77fae8dbbf7d97f8
+DIST json-c-0.12.tar.gz 501419 SHA256 000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f SHA512 c959804362386f6b77e9d04b5fedf6d6aff1fcd0ab50250edb25f759b510b402e7ad4b33d1cbadc3337b63a3145d19f310812a9ee351748348304b384dc2dc35 WHIRLPOOL b49f5c96b614302b39737306774b4346d8347afef6ced7067664ac0d68669a1496fe915f229e0d434a87b103ac9982d67c5785eb688b7026c257c7eae95c6eaf
+DIST json-c-0.9.tar.gz 340953 SHA256 702a486c9bf8e19137d484ab5c49b4ad314eb5e1fe37062a72c0a0fa39439475 SHA512 40e4f7efd82fac732ff6da439a1ca95944d4ecfa8a673c7466e93134f29f8863f4d86f4e6e859a7be0096a25837047bd167a625cc0c61d6b919b55c5a47a76e8 WHIRLPOOL 7a666bae6c12ce910815d0d0253a88a024c5fe11a7a5e97b571d426f9de00d1a676f98bc8ccc41d948b5c64b1e768c5e5cdfbad98d63b03152b0e7a6ed1c181e
diff --git a/dev-libs/json-c/files/json-c-0.10-automake-1.13.patch b/dev-libs/json-c/files/json-c-0.10-automake-1.13.patch
new file mode 100644
index 000000000000..285c68b8b8aa
--- /dev/null
+++ b/dev-libs/json-c/files/json-c-0.10-automake-1.13.patch
@@ -0,0 +1,31 @@
+https://github.com/json-c/json-c/commit/36ec47db49277f4a5eda30823cf6d1f238f34991
+
+From 36ec47db49277f4a5eda30823cf6d1f238f34991 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Gst=C3=A4dtner?= <thomas@gstaedtner.net>
+Date: Sun, 3 Mar 2013 00:17:25 +0100
+Subject: [PATCH] configure.in: mv AM_CONFIG_HEADER to AC_CONFIG_HEADER
+
+the former has been deprecated and does not work on newer autoconf
+versions.
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 1a428b6..d68d7a1 100644
+--- a/configure.in
++++ b/configure.in
+@@ -20,8 +20,8 @@ AM_CONDITIONAL(ENABLE_OLDNAME_COMPAT, [test "x${enable_oldname_compat}" != "xno"
+ # Checks for libraries.
+
+ # Checks for header files.
+-AM_CONFIG_HEADER(config.h)
+-AM_CONFIG_HEADER(json_config.h)
++AC_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADER(json_config.h)
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h)
+ AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])])
+--
+1.8.1.6
+
diff --git a/dev-libs/json-c/files/json-c-0.10-flags.patch b/dev-libs/json-c/files/json-c-0.10-flags.patch
new file mode 100644
index 000000000000..8634f8701777
--- /dev/null
+++ b/dev-libs/json-c/files/json-c-0.10-flags.patch
@@ -0,0 +1,6 @@
+--- json-c-0.10/Makefile.am.inc
++++ json-c-0.10/Makefile.am.inc
+@@ -1,2 +1,2 @@
+-AM_CFLAGS = -Wall -Wwrite-strings -Werror -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
++AM_CFLAGS = -Wall -Wwrite-strings -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
+
diff --git a/dev-libs/json-c/files/json-c-0.10-headers.patch b/dev-libs/json-c/files/json-c-0.10-headers.patch
new file mode 100644
index 000000000000..f3486739b9da
--- /dev/null
+++ b/dev-libs/json-c/files/json-c-0.10-headers.patch
@@ -0,0 +1,27 @@
+--- json-c-0.10/json.pc.in
++++ json-c-0.10/json.pc.in
+@@ -8,4 +8,4 @@
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -ljson
+-Cflags: -I${includedir}/json
++Cflags: -I${includedir}/json-c
+--- json-c-0.10/Makefile.am
++++ json-c-0.10/Makefile.am
+@@ -8,7 +8,7 @@
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = json.pc
+
+-libjsonincludedir = $(includedir)/json
++libjsonincludedir = $(includedir)/json-c
+ libjsoninclude_HEADERS = \
+ arraylist.h \
+ bits.h \
+@@ -17,6 +17,7 @@
+ json_config.h \
+ json_inttypes.h \
+ json_object.h \
++ json_object_iterator.h \
+ json_object_private.h \
+ json_tokener.h \
+ json_util.h \
diff --git a/dev-libs/json-c/json-c-0.10-r1.ebuild b/dev-libs/json-c/json-c-0.10-r1.ebuild
new file mode 100644
index 000000000000..fab613e88e7e
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.10-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="mirror://github/${PN}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+
+ # bug 452234
+ "${FILESDIR}"/${P}-headers.patch
+ # bug 466960
+ "${FILESDIR}"/${P}-automake-1.13.patch
+ )
+
+# tests break otherwise
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_test() {
+ export USE_VALGRIND=0 VERBOSE=1
+ autotools-utils_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${S}"/doc/html )
+ autotools-utils_src_install
+
+ # add symlink for projects not using pkgconfig
+ dosym ../json-c /usr/include/json-c/json
+}
diff --git a/dev-libs/json-c/json-c-0.11-r1.ebuild b/dev-libs/json-c/json-c-0.11-r1.ebuild
new file mode 100644
index 000000000000..8f732c804d7c
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.11-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+# tests break otherwise
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ sed -i -e "s:-Werror::" Makefile.am.inc || die
+ autotools-multilib_src_prepare
+}
+
+src_configure() {
+ # Disable old lib compatibility
+ myeconfargs=(--disable-oldname-compat)
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export USE_VALGRIND=0 VERBOSE=1
+ autotools-multilib_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${S}"/doc/html )
+ autotools-multilib_src_install
+
+ # add symlink for projects not using pkgconfig
+ dosym ../json-c /usr/include/json-c/json
+}
diff --git a/dev-libs/json-c/json-c-0.11.ebuild b/dev-libs/json-c/json-c-0.11.ebuild
new file mode 100644
index 000000000000..84b271c6ee19
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.11.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0"
+KEYWORDS="~alpha amd64 arm hppa ia64 ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs"
+
+# tests break otherwise
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ sed -i -e "s:-Werror::" Makefile.am.inc || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # Disable old lib compatibility
+ myeconfargs=(--disable-oldname-compat)
+ autotools-utils_src_configure
+}
+
+src_test() {
+ export USE_VALGRIND=0 VERBOSE=1
+ autotools-utils_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${S}"/doc/html )
+ autotools-utils_src_install
+
+ # add symlink for projects not using pkgconfig
+ dosym ../json-c /usr/include/json-c/json
+}
diff --git a/dev-libs/json-c/json-c-0.12.ebuild b/dev-libs/json-c/json-c-0.12.ebuild
new file mode 100644
index 000000000000..e01bc4881690
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.12.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+# tests break otherwise
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ sed -i -e "s:-Werror::" Makefile.am.inc || die
+ autotools-multilib_src_prepare
+}
+
+src_test() {
+ export USE_VALGRIND=0 VERBOSE=1
+ autotools-multilib_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${S}"/doc/html )
+ autotools-multilib_src_install
+
+ # add symlink for projects not using pkgconfig
+ dosym ../json-c /usr/include/json-c/json
+}
diff --git a/dev-libs/json-c/json-c-0.9-r1.ebuild b/dev-libs/json-c/json-c-0.9-r1.ebuild
new file mode 100644
index 000000000000..0445b63d9d69
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.9-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="http://oss.metaparadigm.com/json-c/"
+SRC_URI="http://oss.metaparadigm.com/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="static-libs"
+
+RDEPEND="!<dev-libs/jsoncpp-0.5.0-r1"
+DEPEND=""
+
+DOCS=( README )
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ dohtml README.html || die "dohtml failed"
+ use static-libs || { find "${ED}" -name '*.la' -exec rm {} + || die; }
+}
diff --git a/dev-libs/json-c/metadata.xml b/dev-libs/json-c/metadata.xml
new file mode 100644
index 000000000000..50ec7e7d3332
--- /dev/null
+++ b/dev-libs/json-c/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <longdescription lang="en">
+"A JSON implementation in C" is probably the better description, and then
+"JSON-C implements a reference counting object model that allows you to
+easily construct JSON objects in C, output them as JSON formatted
+strings and parse JSON formatted strings back into the C
+representation of JSON objects.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
new file mode 100644
index 000000000000..1c1b4c8bdbe6
--- /dev/null
+++ b/dev-libs/json-glib/Manifest
@@ -0,0 +1,2 @@
+DIST json-glib-1.0.2.tar.xz 550340 SHA256 887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a SHA512 c2934298d146749514706bcafda21e47a815480e2a85ae34560a6e4fd9063be2761786b8f8532965b417ccb18f96d2487ca5118c70d6112b3bbcdfe193bfcefd WHIRLPOOL 67ec22e65b847e7395c3f0a10000191b4d9ea296f24c334b0d1d0f06da4859be7c752a046757c64ec0c07c4c6e314108dc4a5a79f048370bf0682b3bd64af7d1
+DIST json-glib-1.0.4.tar.xz 557236 SHA256 80f3593cb6bd13f1465828e46a9f740e2e9bd3cd2257889442b3e62bd6de05cd SHA512 491a2353b7a82015516b5029d400874f35ba9d8ad914eb3f97e6106eaf2daa300147725ffbaaf5a67a6bf0da192beb47cd4edee47ecdb6a4be7dfd5f51463e5b WHIRLPOOL 337bdbd8108c5f94d212c0cb249f514aef10d5cc373ad24687cd52d115fd6c148d50aecfe664423c21f486b8ce2e88d4b8dffd18ac7d3a15332177c5aac88c25
diff --git a/dev-libs/json-glib/json-glib-1.0.2-r1.ebuild b/dev-libs/json-glib/json-glib-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..e9cf5e883c17
--- /dev/null
+++ b/dev-libs/json-glib/json-glib-1.0.2-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="A library providing GLib serialization and deserialization support for the JSON format"
+HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.37.6:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-am-1.20
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+"
+
+src_prepare() {
+ # Do not touch CFLAGS
+ sed -e 's/CFLAGS -g/CFLAGS/' -i "${S}"/configure || die
+}
+
+multilib_src_configure() {
+ # Coverage support is useless, and causes runtime problems
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ --enable-man \
+ --disable-gcov \
+ $(usex debug --enable-debug=yes --enable-debug=minimum) \
+ $(multilib_native_use_enable introspection)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/doc/reference/html doc/reference/html || die
+ fi
+}
+
+multilib_src_compile() { gnome2_src_compile; }
+multilib_src_install() { gnome2_src_install; }
diff --git a/dev-libs/json-glib/json-glib-1.0.2.ebuild b/dev-libs/json-glib/json-glib-1.0.2.ebuild
new file mode 100644
index 000000000000..750460dde420
--- /dev/null
+++ b/dev-libs/json-glib/json-glib-1.0.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="A library providing GLib serialization and deserialization support for the JSON format"
+HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.37.6:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-am-1.20
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # Do not touch CFLAGS
+ sed -e 's/CFLAGS -g/CFLAGS/' -i "${S}"/configure || die
+}
+
+src_configure() {
+ # Coverage support is useless, and causes runtime problems
+ gnome2_src_configure \
+ --enable-man \
+ --disable-gcov \
+ $(usex debug --enable-debug=yes --enable-debug=minimum) \
+ $(use_enable introspection)
+}
diff --git a/dev-libs/json-glib/json-glib-1.0.4.ebuild b/dev-libs/json-glib/json-glib-1.0.4.ebuild
new file mode 100644
index 000000000000..1c156b978c11
--- /dev/null
+++ b/dev-libs/json-glib/json-glib-1.0.4.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="A library providing GLib serialization and deserialization support for the JSON format"
+HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.37.6:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-am-1.20
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+"
+
+src_prepare() {
+ # Do not touch CFLAGS
+ sed -e 's/CFLAGS -g/CFLAGS/' -i "${S}"/configure || die
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ # Coverage support is useless, and causes runtime problems
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ --enable-man \
+ --disable-gcov \
+ $(usex debug --enable-debug=yes --enable-debug=minimum) \
+ $(multilib_native_use_enable introspection)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/doc/reference/html doc/reference/html || die
+ fi
+}
+
+multilib_src_compile() {
+ gnome2_src_compile
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/json-glib/metadata.xml b/dev-libs/json-glib/metadata.xml
new file mode 100644
index 000000000000..3c2c0b88b097
--- /dev/null
+++ b/dev-libs/json-glib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <maintainer>
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <longdescription>JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format described by RFC 4627. Many high-level languages already provide native modules for parsing, generating and manipulating JSON data streams. JSON-GLib is a C library based on GLib and released under the terms of the GNU Lesser General Public License version 2.1. It provides a parser and a generator GObject classes and various wrappers for the complex data types employed by JSON, such as arrays and objects.
+
+JSON-GLib uses GLib native data types and the generic value container GValue for ease of development. It also provides integration with the GObject classes for direct serialization into, and deserialization from, JSON data streams.</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/jsoncpp/Manifest b/dev-libs/jsoncpp/Manifest
new file mode 100644
index 000000000000..82f32f6e2cef
--- /dev/null
+++ b/dev-libs/jsoncpp/Manifest
@@ -0,0 +1,3 @@
+DIST jsoncpp-0.10.2.tar.gz 197188 SHA256 37bb72615018522bb78a5eb425b36dfc79e049c1d5471b724f7ccadeac0ed479 SHA512 8e451e3ba37094445ab098d5b9f7236ac84e2f15d98e2039c565e609b757c2383e91850bd86aca507ca5cd2f733fedc484bb7760eeeee7fe9bace71d97ae0d2e WHIRLPOOL 85f9861e77a7c3cecd5e859adde832b7f12a0c5eae04ecbee203e5d8c4b8b13ba034b4aa6b78a3b981aa392a4ea6a26c2e1d411ae97768d7ed422f71ec2e5d79
+DIST jsoncpp-1.6.2.tar.gz 198824 SHA256 c40e5a2583df633b904525305bda40b622d9971fee1ece7ce48ca723a4907d36 SHA512 b70dc99ec57357943f7b56d013abc6245c1ffdc3c16313bcf72ba624fa5f6d72eebfda0188a229c7757e00e3ad2c19d67048acd33c22260079e37b32000a39a7 WHIRLPOOL 35f337812bda3cb24a9b221578c72d48876427e2fe10c1c57beea308b855c6d48d688d73260bd7915261676bd4463062191948d630bfac53350a855d89a8d7fe
+DIST jsoncpp-src-0.5.0.tar.gz 107466 SHA256 22b14ecd0de8cdad2b6b6839f6d0804d3b84e91f42861ebd843832a26a927433 SHA512 2815d3523f92c33a5be3221161a590a0fddd16cb22e5dc634791535ee44271ec4fbb64f81cc958a87b1f029a8108ed9f169cda5a2d0422f60699ac286386a1bc WHIRLPOOL f6174f08dc647a189fc17f93343a72fb83bea66f27e60707b6bf300a185d4d3e8d5f347dd6f0d06462e45086c7c1dbd352e22ac08fef13d9235a65bad44f0d67
diff --git a/dev-libs/jsoncpp/files/jsoncpp-1.6.2-fix-pkgconfig.patch b/dev-libs/jsoncpp/files/jsoncpp-1.6.2-fix-pkgconfig.patch
new file mode 100644
index 000000000000..5c3420e45004
--- /dev/null
+++ b/dev-libs/jsoncpp/files/jsoncpp-1.6.2-fix-pkgconfig.patch
@@ -0,0 +1,55 @@
+From e6f1cffdd3fb04a0ed96319e6f8df6a7cbdd1557 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 19 May 2015 17:32:31 +0200
+Subject: [PATCH] Fix custom includedir & libdir substitution in pkg-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do not prepend ${prefix} to substituted includedir & libdir
+in the pkg-config file -- if the paths are overriden by user, CMake puts
+absolute paths there (even if user specifies a relative path). Instead,
+use the absolute path provided by CMake and appropriately default
+LIBRARY_INSTALL_DIR & INCLUDE_INSTALL_DIR to absolute paths with
+${CMAKE_INSTALL_PREFIX} prepended.
+
+Fixes: https://github.com/open-source-parsers/jsoncpp/issues/279
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+ CMakeLists.txt | 6 +++---
+ pkg-config/jsoncpp.pc.in | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 30038d5..d31a6ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,11 +25,11 @@ SET(LIB_SUFFIX "" CACHE STRING "Optional arch-dependent suffix for the library i
+
+ SET(RUNTIME_INSTALL_DIR bin
+ CACHE PATH "Install dir for executables and dlls")
+-SET(ARCHIVE_INSTALL_DIR lib${LIB_SUFFIX}
++SET(ARCHIVE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
+ CACHE PATH "Install dir for static libraries")
+-SET(LIBRARY_INSTALL_DIR lib${LIB_SUFFIX}
++SET(LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
+ CACHE PATH "Install dir for shared libraries")
+-SET(INCLUDE_INSTALL_DIR include
++SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include
+ CACHE PATH "Install dir for headers")
+ SET(PACKAGE_INSTALL_DIR lib${LIB_SUFFIX}/cmake
+ CACHE PATH "Install dir for cmake package config files")
+diff --git a/pkg-config/jsoncpp.pc.in b/pkg-config/jsoncpp.pc.in
+index 9613181..3ca4a84 100644
+--- a/pkg-config/jsoncpp.pc.in
++++ b/pkg-config/jsoncpp.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/@LIBRARY_INSTALL_DIR@
+-includedir=${prefix}/@INCLUDE_INSTALL_DIR@
++libdir=@LIBRARY_INSTALL_DIR@
++includedir=@INCLUDE_INSTALL_DIR@
+
+ Name: jsoncpp
+ Description: A C++ library for interacting with JSON
diff --git a/dev-libs/jsoncpp/jsoncpp-0.10.2-r1.ebuild b/dev-libs/jsoncpp/jsoncpp-0.10.2-r1.ebuild
new file mode 100644
index 000000000000..08d77345b80e
--- /dev/null
+++ b/dev-libs/jsoncpp/jsoncpp-0.10.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils python-any-r1
+
+DESCRIPTION="C++ JSON reader and writer"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
+SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( public-domain MIT )"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~arm64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="doc test"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen
+ ${PYTHON_DEPS}
+ )
+ test? (
+ ${PYTHON_DEPS}
+ )"
+RDEPEND=""
+
+PATCHES=(
+ # fix broken path subst in .pc file
+ "${FILESDIR}"/jsoncpp-1.6.2-fix-pkgconfig.patch
+)
+
+pkg_setup() {
+ if use doc || use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DJSONCPP_WITH_TESTS=$(usex test)
+ -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
+ -DJSONCPP_WITH_CMAKE_PACKAGE=ON
+
+ -DBUILD_SHARED_LIBS=ON
+ # Follow Debian, Ubuntu, Arch convention for headers location
+ # bug #452234
+ -DINCLUDE_INSTALL_DIR="${EPREFIX}"/usr/include/jsoncpp
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ "${EPYTHON}" doxybuild.py --doxygen=/usr/bin/doxygen || die
+ fi
+}
+
+src_test() {
+ emake -C "${BUILD_DIR}" jsoncpp_check
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use doc; then
+ dohtml dist/doxygen/jsoncpp*/*
+ fi
+}
diff --git a/dev-libs/jsoncpp/jsoncpp-0.5.0-r1.ebuild b/dev-libs/jsoncpp/jsoncpp-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..5dfeb52e1648
--- /dev/null
+++ b/dev-libs/jsoncpp/jsoncpp-0.5.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit multilib toolchain-funcs python-any-r1
+
+MY_P="${PN}-src-${PV}"
+
+DESCRIPTION="C++ JSON reader and writer"
+HOMEPAGE="http://jsoncpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+LICENSE="public-domain"
+
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="doc"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen
+ ${PYTHON_DEPS}
+ )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+cxx_wrapper() {
+ set -- $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "$@"
+ echo "$@"
+ "$@"
+}
+
+src_compile() {
+ soname=libjsoncpp.so.${PV}
+ cxx_wrapper src/lib_json/*.cpp -Iinclude -shared -fPIC \
+ -Wl,-soname,${soname} -o ${soname} || die
+}
+
+src_install() {
+ # Follow Debian, Ubuntu, Arch convention for headers location, bug #452234 .
+ insinto /usr/include/jsoncpp
+ doins -r include/json
+
+ dolib ${soname}
+ dosym ${soname} /usr/$(get_libdir)/libjsoncpp.so
+
+ if use doc; then
+ ${EPYTHON} doxybuild.py --doxygen=/usr/bin/doxygen || die
+ dohtml dist/doxygen/jsoncpp*/*
+ fi
+}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.6.2-r1.ebuild b/dev-libs/jsoncpp/jsoncpp-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..cbd00fc5d77c
--- /dev/null
+++ b/dev-libs/jsoncpp/jsoncpp-1.6.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils python-any-r1
+
+DESCRIPTION="C++ JSON reader and writer"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
+SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( public-domain MIT )"
+SLOT="0/1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc test"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen
+ ${PYTHON_DEPS}
+ )
+ test? (
+ ${PYTHON_DEPS}
+ )"
+RDEPEND=""
+
+PATCHES=(
+ # fix broken path subst in .pc file
+ "${FILESDIR}"/jsoncpp-1.6.2-fix-pkgconfig.patch
+)
+
+pkg_setup() {
+ if use doc || use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DJSONCPP_WITH_TESTS=$(usex test)
+ -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
+ -DJSONCPP_WITH_CMAKE_PACKAGE=ON
+
+ -DBUILD_SHARED_LIBS=ON
+ # Follow Debian, Ubuntu, Arch convention for headers location
+ # bug #452234
+ -DINCLUDE_INSTALL_DIR="${EPREFIX}"/usr/include/jsoncpp
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ "${EPYTHON}" doxybuild.py --doxygen=/usr/bin/doxygen || die
+ fi
+}
+
+src_test() {
+ emake -C "${BUILD_DIR}" jsoncpp_check
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use doc; then
+ dohtml dist/doxygen/jsoncpp*/*
+ fi
+}
diff --git a/dev-libs/jsoncpp/metadata.xml b/dev-libs/jsoncpp/metadata.xml
new file mode 100644
index 000000000000..75e1f68575ae
--- /dev/null
+++ b/dev-libs/jsoncpp/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>phajdan.jr@gentoo.org</email>
+ <name>Pawel Hajdan jr</name>
+ </maintainer>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">open-source-parsers/jsoncpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/jthread/Manifest b/dev-libs/jthread/Manifest
new file mode 100644
index 000000000000..ece403c2bcf1
--- /dev/null
+++ b/dev-libs/jthread/Manifest
@@ -0,0 +1 @@
+DIST jthread-1.3.1.tar.bz2 8130 SHA256 e62ec3b6d11a83a6b50336c66e192fa97a677a5f627ea996ffa5f5ddb1752936 SHA512 ea369ed8028266d67d2a7aeadbc6dd4859191f563dc2f328ad3622af3cc010e366c446a9d325fd689dd35473e6547e552dd0715a4ab308207f46260382f1603f WHIRLPOOL 302828b1948d5f8827bd96b23f32d45bcf2df53f661daf6c1c718f15aa1dc8d35f0053a0aebaefc9a19ff32776c1efacaffd3890e01ed4c27d464c2e02b3117e
diff --git a/dev-libs/jthread/jthread-1.3.1.ebuild b/dev-libs/jthread/jthread-1.3.1.ebuild
new file mode 100644
index 000000000000..6eb50cde0722
--- /dev/null
+++ b/dev-libs/jthread/jthread-1.3.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="JThread provides some classes to make use of threads easy on different platforms"
+HOMEPAGE="http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread"
+SRC_URI="http://research.edm.uhasselt.be/jori/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+DOCS=( ChangeLog README.TXT TODO doc/manual.tex )
+
+src_prepare() {
+ # do not build static library, if it is not requested
+ if ! use static-libs; then
+ sed -i -e '/jthread-static/d' src/CMakeLists.txt || die 'sed on src/CMakeLists.txt failed'
+ fi
+}
diff --git a/dev-libs/jthread/metadata.xml b/dev-libs/jthread/metadata.xml
new file mode 100644
index 000000000000..b6b8956cde34
--- /dev/null
+++ b/dev-libs/jthread/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/judy/Manifest b/dev-libs/judy/Manifest
new file mode 100644
index 000000000000..0c771722315c
--- /dev/null
+++ b/dev-libs/judy/Manifest
@@ -0,0 +1,2 @@
+DIST Judy-1.0.4.tar.gz 1142724 SHA256 ac3e5c24ac48867543603e78238c7accad77cdd438846379091babfcb5d0c69b SHA512 3a2fcd14a4367910ced5d1da8b46551e2847e02c1faa19c3ecd0ee542bb89c683c8998feb79abee4999a753d26ed5e7bfd9a7e2ed343a7667c7ff0d624ee384f WHIRLPOOL 37f20e67806431d86f61b0b26f2e10d9b4e0de7caffb7c57376faecfa77255e57491d921df0ab29eb7cafc948697efef3422d857394fef5169977ff56ed9ddb6
+DIST Judy-1.0.5.tar.gz 1147847 SHA256 d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb SHA512 1a0d59b092c80d95270a3089cd25ee0ddad1d591101b03784e2e46dfc73bce445a7fb495b449043544a366c09b35b833556053bf3bf65dd00abbd786d26c6980 WHIRLPOOL 94ab23652fba48e8b5d23f5dfc1062e807f47130b12f25c829d82c203f90ca1ddac6c0382035080d613ef891fc419be2de67ef4e9bacba345b3ee49c81df3d58
diff --git a/dev-libs/judy/files/judy-1.0.4-parallel-make.patch b/dev-libs/judy/files/judy-1.0.4-parallel-make.patch
new file mode 100644
index 000000000000..6e3fcbe6b677
--- /dev/null
+++ b/dev-libs/judy/files/judy-1.0.4-parallel-make.patch
@@ -0,0 +1,184 @@
+https://sourceforge.net/tracker/index.php?func=detail&aid=2219175&group_id=55753&atid=478140
+
+=== modified file 'doc/Makefile.am'
+--- doc/Makefile.am 2008-11-03 15:14:54 +0000
++++ doc/Makefile.am 2008-11-03 15:16:21 +0000
+@@ -94,114 +94,93 @@
+ man/man3/JudyHSFreeArray
+
+
++dep_on_Judy = J1T J1S J1U J1F J1N J1L J1P J1FE J1NE J1LE J1PE J1C J1BC J1FA J1MU
++
++$(patsubst %,man/man3/%,$(dep_on_Judy)): man/man3/Judy
+
+ man/man3/Judy:
+ ../tool/jhton ext/Judy_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy
++ cd man/man3 && \
++ for man in $(dep_on_Judy); do \
++ ln -s Judy $$man; \
++ done
+
+ man/man3/Judy1:
+ ../tool/jhton ext/Judy1_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy1
+- cd man/man3; ln -s Judy J1T
+- cd man/man3; ln -s Judy J1S
+- cd man/man3; ln -s Judy J1U
+- cd man/man3; ln -s Judy J1F
+- cd man/man3; ln -s Judy J1N
+- cd man/man3; ln -s Judy J1L
+- cd man/man3; ln -s Judy J1P
+- cd man/man3; ln -s Judy J1FE
+- cd man/man3; ln -s Judy J1NE
+- cd man/man3; ln -s Judy J1LE
+- cd man/man3; ln -s Judy J1PE
+- cd man/man3; ln -s Judy J1C
+- cd man/man3; ln -s Judy J1BC
+- cd man/man3; ln -s Judy J1FA
+- cd man/man3; ln -s Judy J1MU
++
++dep_on_Judy1_funcs = Judy1Test Judy1Set Judy1Unset Judy1First Judy1Next Judy1Last Judy1Prev Judy1FirstEmpty Judy1NextEmpty Judy1LastEmpty Judy1PrevEmpty Judy1Count Judy1ByCount Judy1FreeArray Judy1MemUsed
++
++$(patsubst %,man/man3/%,$(dep_on_Judy1_funcs)): man/man3/Judy1_funcs
+
+ man/man3/Judy1_funcs:
+ ../tool/jhton ext/Judy1_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy1_funcs
+- cd man/man3; ln -s Judy1_funcs Judy1Test
+- cd man/man3; ln -s Judy1_funcs Judy1Set
+- cd man/man3; ln -s Judy1_funcs Judy1Unset
+- cd man/man3; ln -s Judy1_funcs Judy1First
+- cd man/man3; ln -s Judy1_funcs Judy1Next
+- cd man/man3; ln -s Judy1_funcs Judy1Last
+- cd man/man3; ln -s Judy1_funcs Judy1Prev
+- cd man/man3; ln -s Judy1_funcs Judy1FirstEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1NextEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1LastEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1PrevEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1Count
+- cd man/man3; ln -s Judy1_funcs Judy1ByCount
+- cd man/man3; ln -s Judy1_funcs Judy1FreeArray
+- cd man/man3; ln -s Judy1_funcs Judy1MemUsed
++ cd man/man3 && \
++ for man in $(dep_on_Judy1_funcs); do \
++ ln -s Judy1_funcs $$man; \
++ done
++
++dep_on_JudyL= JLG JLI JLD JLF JLN JLL JLP JLFE JLNE JLLE JLPE JLC JLBC JLFA JLMU
++
++$(patsubst %,man/man3/%,$(dep_on_JudyL)): man/man3/JudyL
+
+ man/man3/JudyL:
+ ../tool/jhton ext/JudyL_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyL
+- cd man/man3; ln -s JudyL JLG
+- cd man/man3; ln -s JudyL JLI
+- cd man/man3; ln -s JudyL JLD
+- cd man/man3; ln -s JudyL JLF
+- cd man/man3; ln -s JudyL JLN
+- cd man/man3; ln -s JudyL JLL
+- cd man/man3; ln -s JudyL JLP
+- cd man/man3; ln -s JudyL JLFE
+- cd man/man3; ln -s JudyL JLNE
+- cd man/man3; ln -s JudyL JLLE
+- cd man/man3; ln -s JudyL JLPE
+- cd man/man3; ln -s JudyL JLC
+- cd man/man3; ln -s JudyL JLBC
+- cd man/man3; ln -s JudyL JLFA
+- cd man/man3; ln -s JudyL JLMU
++ cd man/man3 && \
++ for man in $(dep_on_JudyL); do \
++ ln -s JudyL $$man; \
++ done
++
++dep_on_JudyL_funcs = JudyLGet JudyLIns JudyLDel JudyLFirst JudyLNext JudyLLast JudyLPrev JudyLFirstEmpty JudyLNextEmpty JudyLLastEmpty JudyLPrevEmpty JudyLCount JudyLByCount JudyLFreeArray JudyLMemUsed
++
++$(patsubst %,man/man3/%,$(dep_on_JudyL_funcs)): man/man3/JudyL_funcs
+
+ man/man3/JudyL_funcs:
+ ../tool/jhton ext/JudyL_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyL_funcs
+- cd man/man3; ln -s JudyL_funcs JudyLGet
+- cd man/man3; ln -s JudyL_funcs JudyLIns
+- cd man/man3; ln -s JudyL_funcs JudyLDel
+- cd man/man3; ln -s JudyL_funcs JudyLFirst
+- cd man/man3; ln -s JudyL_funcs JudyLNext
+- cd man/man3; ln -s JudyL_funcs JudyLLast
+- cd man/man3; ln -s JudyL_funcs JudyLPrev
+- cd man/man3; ln -s JudyL_funcs JudyLFirstEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLNextEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLLastEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLPrevEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLCount
+- cd man/man3; ln -s JudyL_funcs JudyLByCount
+- cd man/man3; ln -s JudyL_funcs JudyLFreeArray
+- cd man/man3; ln -s JudyL_funcs JudyLMemUsed
++ cd man/man3 && \
++ for man in $(dep_on_JudyL_funcs); do \
++ ln -s JudyL_funcs $$man; \
++ done
++
++dep_on_JudySL = JSLG JSLI JSLD JSLF JSLN JSLL JSLP JSLFA
++
++$(patsubst %,man/man3/%,$(dep_on_JudySL)): man/man3/JudySL
+
+ man/man3/JudySL:
+ ../tool/jhton ext/JudySL_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudySL
+- cd man/man3; ln -s JudySL JSLG
+- cd man/man3; ln -s JudySL JSLI
+- cd man/man3; ln -s JudySL JSLD
+- cd man/man3; ln -s JudySL JSLF
+- cd man/man3; ln -s JudySL JSLN
+- cd man/man3; ln -s JudySL JSLL
+- cd man/man3; ln -s JudySL JSLP
+- cd man/man3; ln -s JudySL JSLFA
++ cd man/man3 && \
++ for man in $(dep_on_JudySL); do \
++ ln -s JudySL $$man; \
++ done
++
++dep_on_JudySL_funcs = JudySLGet JudySLIns JudySLDel JudySLFirst JudySLNext JudySLLast JudySLPrev JudySLFreeArray
++
++$(patsubst %,man/man3/%,$(dep_on_JudySL_funcs)): man/man3/JudySL_funcs
+
+ man/man3/JudySL_funcs:
+ ../tool/jhton ext/JudySL_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudySL_funcs
+- cd man/man3; ln -s JudySL_funcs JudySLGet
+- cd man/man3; ln -s JudySL_funcs JudySLIns
+- cd man/man3; ln -s JudySL_funcs JudySLDel
+- cd man/man3; ln -s JudySL_funcs JudySLFirst
+- cd man/man3; ln -s JudySL_funcs JudySLNext
+- cd man/man3; ln -s JudySL_funcs JudySLLast
+- cd man/man3; ln -s JudySL_funcs JudySLPrev
+- cd man/man3; ln -s JudySL_funcs JudySLFreeArray
++ cd man/man3 && \
++ for man in $(dep_on_JudySL_funcs); do \
++ ln -s JudySL_funcs $$man; \
++ done
++
++dep_on_JudyHS = JHSG JHSI JHSD JHSFA
++
++$(patsubst %,man/man3/%,$(dep_on_JudyHS)): man/man3/JudyHS
+
+ man/man3/JudyHS:
+ ../tool/jhton ext/JudyHS_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyHS
+- cd man/man3; ln -s JudyHS JHSG
+- cd man/man3; ln -s JudyHS JHSI
+- cd man/man3; ln -s JudyHS JHSD
+- cd man/man3; ln -s JudyHS JHSFA
++ cd man/man3 && \
++ for man in $(dep_on_JudyHS); do \
++ ln -s JudyHS $$man; \
++ done
++
++dep_on_JudyHS_funcs = JudyHSGet JudyHSIns JudyHSDel JudyHSFreeArray
++
++$(patsubst %,man/man3/%,$(dep_on_JudyHS_funcs)): man/man3/JudyHS_funcs
+
+ man/man3/JudyHS_funcs:
+ ../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs
+- cd man/man3; ln -s JudyHS_funcs JudyHSGet
+- cd man/man3; ln -s JudyHS_funcs JudyHSIns
+- cd man/man3; ln -s JudyHS_funcs JudyHSDel
+- cd man/man3; ln -s JudyHS_funcs JudyHSFreeArray
++ cd man/man3 && \
++ for man in $(dep_on_JudyHS_funcs); do \
++ ln -s JudyHS_funcs $$man; \
++ done
+
diff --git a/dev-libs/judy/files/judy-1.0.5-parallel-make.patch b/dev-libs/judy/files/judy-1.0.5-parallel-make.patch
new file mode 100644
index 000000000000..b332e2038ff8
--- /dev/null
+++ b/dev-libs/judy/files/judy-1.0.5-parallel-make.patch
@@ -0,0 +1,186 @@
+https://sourceforge.net/tracker/index.php?func=detail&aid=2219175&group_id=55753&atid=478140
+
+=== modified file 'doc/Makefile.am'
+--- doc/Makefile.am 2009-12-27 10:41:45 +0000
++++ doc/Makefile.am 2009-12-27 10:56:50 +0000
+@@ -94,116 +94,95 @@
+ man/man3/JudyHSFreeArray
+
+
++dep_on_Judy = J1T J1S J1U J1F J1N J1L J1P J1FE J1NE J1LE J1PE J1C J1BC J1FA J1MU
++
++$(patsubst %,man/man3/%,$(dep_on_Judy)): man/man3/Judy
+
+ man/man3/Judy:
+ ../tool/jhton ext/Judy_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy
++ cd man/man3 && \
++ for man in $(dep_on_Judy); do \
++ ln -s Judy $$man; \
++ done
+
+ man/man3/Judy1:
+ ../tool/jhton ext/Judy1_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy1
+- cd man/man3; ln -s Judy J1T
+- cd man/man3; ln -s Judy J1S
+- cd man/man3; ln -s Judy J1U
+- cd man/man3; ln -s Judy J1F
+- cd man/man3; ln -s Judy J1N
+- cd man/man3; ln -s Judy J1L
+- cd man/man3; ln -s Judy J1P
+- cd man/man3; ln -s Judy J1FE
+- cd man/man3; ln -s Judy J1NE
+- cd man/man3; ln -s Judy J1LE
+- cd man/man3; ln -s Judy J1PE
+- cd man/man3; ln -s Judy J1C
+- cd man/man3; ln -s Judy J1BC
+- cd man/man3; ln -s Judy J1FA
+- cd man/man3; ln -s Judy J1MU
++
++dep_on_Judy1_funcs = Judy1Test Judy1Set Judy1Unset Judy1First Judy1Next Judy1Last Judy1Prev Judy1FirstEmpty Judy1NextEmpty Judy1LastEmpty Judy1PrevEmpty Judy1Count Judy1ByCount Judy1FreeArray Judy1MemUsed
++
++$(patsubst %,man/man3/%,$(dep_on_Judy1_funcs)): man/man3/Judy1_funcs
+
+ man/man3/Judy1_funcs:
+ ../tool/jhton ext/Judy1_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/Judy1_funcs
+- cd man/man3; ln -s Judy1_funcs Judy1Test
+- cd man/man3; ln -s Judy1_funcs Judy1Set
+- cd man/man3; ln -s Judy1_funcs Judy1Unset
+- cd man/man3; ln -s Judy1_funcs Judy1First
+- cd man/man3; ln -s Judy1_funcs Judy1Next
+- cd man/man3; ln -s Judy1_funcs Judy1Last
+- cd man/man3; ln -s Judy1_funcs Judy1Prev
+- cd man/man3; ln -s Judy1_funcs Judy1FirstEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1NextEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1LastEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1PrevEmpty
+- cd man/man3; ln -s Judy1_funcs Judy1Count
+- cd man/man3; ln -s Judy1_funcs Judy1ByCount
+- cd man/man3; ln -s Judy1_funcs Judy1FreeArray
+- cd man/man3; ln -s Judy1_funcs Judy1MemUsed
++ cd man/man3 && \
++ for man in $(dep_on_Judy1_funcs); do \
++ ln -s Judy1_funcs $$man; \
++ done
++
++dep_on_JudyL= JLG JLI JLD JLF JLN JLL JLP JLFE JLNE JLLE JLPE JLC JLBC JLFA JLMU
++
++$(patsubst %,man/man3/%,$(dep_on_JudyL)): man/man3/JudyL
+
+ man/man3/JudyL:
+ ../tool/jhton ext/JudyL_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyL
+- cd man/man3; ln -s JudyL JLG
+- cd man/man3; ln -s JudyL JLI
+- cd man/man3; ln -s JudyL JLD
+- cd man/man3; ln -s JudyL JLF
+- cd man/man3; ln -s JudyL JLN
+- cd man/man3; ln -s JudyL JLL
+- cd man/man3; ln -s JudyL JLP
+- cd man/man3; ln -s JudyL JLFE
+- cd man/man3; ln -s JudyL JLNE
+- cd man/man3; ln -s JudyL JLLE
+- cd man/man3; ln -s JudyL JLPE
+- cd man/man3; ln -s JudyL JLC
+- cd man/man3; ln -s JudyL JLBC
+- cd man/man3; ln -s JudyL JLFA
+- cd man/man3; ln -s JudyL JLMU
++ cd man/man3 && \
++ for man in $(dep_on_JudyL); do \
++ ln -s JudyL $$man; \
++ done
++
++dep_on_JudyL_funcs = JudyLGet JudyLIns JudyLDel JudyLFirst JudyLNext JudyLLast JudyLPrev JudyLFirstEmpty JudyLNextEmpty JudyLLastEmpty JudyLPrevEmpty JudyLCount JudyLByCount JudyLFreeArray JudyLMemUsed
++
++$(patsubst %,man/man3/%,$(dep_on_JudyL_funcs)): man/man3/JudyL_funcs
+
+ man/man3/JudyL_funcs:
+ ../tool/jhton ext/JudyL_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyL_funcs
+- cd man/man3; ln -s JudyL_funcs JudyLGet
+- cd man/man3; ln -s JudyL_funcs JudyLIns
+- cd man/man3; ln -s JudyL_funcs JudyLDel
+- cd man/man3; ln -s JudyL_funcs JudyLFirst
+- cd man/man3; ln -s JudyL_funcs JudyLNext
+- cd man/man3; ln -s JudyL_funcs JudyLLast
+- cd man/man3; ln -s JudyL_funcs JudyLPrev
+- cd man/man3; ln -s JudyL_funcs JudyLFirstEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLNextEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLLastEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLPrevEmpty
+- cd man/man3; ln -s JudyL_funcs JudyLCount
+- cd man/man3; ln -s JudyL_funcs JudyLByCount
+- cd man/man3; ln -s JudyL_funcs JudyLFreeArray
+- cd man/man3; ln -s JudyL_funcs JudyLMemUsed
++ cd man/man3 && \
++ for man in $(dep_on_JudyL_funcs); do \
++ ln -s JudyL_funcs $$man; \
++ done
++
++dep_on_JudySL = JSLG JSLI JSLD JSLF JSLN JSLL JSLP JSLFA
++
++$(patsubst %,man/man3/%,$(dep_on_JudySL)): man/man3/JudySL
+
+ man/man3/JudySL:
+ ../tool/jhton ext/JudySL_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudySL
+- cd man/man3; ln -s JudySL JSLG
+- cd man/man3; ln -s JudySL JSLI
+- cd man/man3; ln -s JudySL JSLD
+- cd man/man3; ln -s JudySL JSLF
+- cd man/man3; ln -s JudySL JSLN
+- cd man/man3; ln -s JudySL JSLL
+- cd man/man3; ln -s JudySL JSLP
+- cd man/man3; ln -s JudySL JSLFA
++ cd man/man3 && \
++ for man in $(dep_on_JudySL); do \
++ ln -s JudySL $$man; \
++ done
++
++dep_on_JudySL_funcs = JudySLGet JudySLIns JudySLDel JudySLFirst JudySLNext JudySLLast JudySLPrev JudySLFreeArray
++
++$(patsubst %,man/man3/%,$(dep_on_JudySL_funcs)): man/man3/JudySL_funcs
+
+ man/man3/JudySL_funcs:
+ ../tool/jhton ext/JudySL_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudySL_funcs
+- cd man/man3; ln -s JudySL_funcs JudySLGet
+- cd man/man3; ln -s JudySL_funcs JudySLIns
+- cd man/man3; ln -s JudySL_funcs JudySLDel
+- cd man/man3; ln -s JudySL_funcs JudySLFirst
+- cd man/man3; ln -s JudySL_funcs JudySLNext
+- cd man/man3; ln -s JudySL_funcs JudySLLast
+- cd man/man3; ln -s JudySL_funcs JudySLPrev
+- cd man/man3; ln -s JudySL_funcs JudySLFreeArray
++ cd man/man3 && \
++ for man in $(dep_on_JudySL_funcs); do \
++ ln -s JudySL_funcs $$man; \
++ done
++
++dep_on_JudyHS = JHSG JHSI JHSD JHSFA
++
++$(patsubst %,man/man3/%,$(dep_on_JudyHS)): man/man3/JudyHS
+
+ man/man3/JudyHS:
+ ../tool/jhton ext/JudyHS_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyHS
+- cd man/man3; ln -s JudyHS JHSG
+- cd man/man3; ln -s JudyHS JHSI
+- cd man/man3; ln -s JudyHS JHSD
+- cd man/man3; ln -s JudyHS JHSFA
++ cd man/man3 && \
++ for man in $(dep_on_JudyHS); do \
++ ln -s JudyHS $$man; \
++ done
++
++dep_on_JudyHS_funcs = JudyHSGet JudyHSIns JudyHSDel JudyHSFreeArray
++
++$(patsubst %,man/man3/%,$(dep_on_JudyHS_funcs)): man/man3/JudyHS_funcs
+
+ man/man3/JudyHS_funcs:
+ ../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[ ]*$$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs
+- cd man/man3; ln -s JudyHS_funcs JudyHSGet
+- cd man/man3; ln -s JudyHS_funcs JudyHSIns
+- cd man/man3; ln -s JudyHS_funcs JudyHSDel
+- cd man/man3; ln -s JudyHS_funcs JudyHSFreeArray
++ cd man/man3 && \
++ for man in $(dep_on_JudyHS_funcs); do \
++ ln -s JudyHS_funcs $$man; \
++ done
+
+ CLEANFILES = man/man3/*
+
diff --git a/dev-libs/judy/judy-1.0.4.ebuild b/dev-libs/judy/judy-1.0.4.ebuild
new file mode 100644
index 000000000000..91f7a5f59802
--- /dev/null
+++ b/dev-libs/judy/judy-1.0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+MY_P=Judy-${PV}
+
+DESCRIPTION="A C library that implements a dynamic array"
+HOMEPAGE="http://judy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/judy/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-parallel-make.patch"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README
+}
diff --git a/dev-libs/judy/judy-1.0.5.ebuild b/dev-libs/judy/judy-1.0.5.ebuild
new file mode 100644
index 000000000000..962d339aef95
--- /dev/null
+++ b/dev-libs/judy/judy-1.0.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils autotools
+
+DESCRIPTION="A C library that implements a dynamic array"
+HOMEPAGE="http://judy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/judy/Judy-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-parallel-make.patch"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README
+}
diff --git a/dev-libs/judy/metadata.xml b/dev-libs/judy/metadata.xml
new file mode 100644
index 000000000000..f25238699d1f
--- /dev/null
+++ b/dev-libs/judy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>qnikst@gentoo.org</email>
+ <name>Alexander Vershilov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">judy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/keybinder/Manifest b/dev-libs/keybinder/Manifest
new file mode 100644
index 000000000000..d9aac7d6ccae
--- /dev/null
+++ b/dev-libs/keybinder/Manifest
@@ -0,0 +1,2 @@
+DIST keybinder-0.3.0.tar.gz 377765 SHA256 42863ca0174d568a8c02c6fb243fee1681823825e8bcb1718c51611d8e9793bb SHA512 93ed88caa8246286907b9744383487391412b52be534cf085a6090c390bab181dc617721bb9216f29fd8314a40f65e27630d699ac6cb1657e0641a3d472eb22e WHIRLPOOL 5962e6a5cf96aeb7c4fdf920901f3ed461189fa9ce32bff427762a2f99b38fe4239b7129b5f669d46c256a4e7bf1fedf62ee966f05f65547e6921f364d8ff0d2
+DIST keybinder-3.0-0.3.0.tar.gz 346383 SHA256 982a6a5bc0fe1487862814b368e98211b9ec93fb5df3c9c0a88be526e0d2268e SHA512 6c5509b196fea848cda7e600edba2a59f7f65cbd7147e1d8ad2755aca8bb9b34ec68df1c90a456a7be800f049de0c2a4fc635adb60496a6aa32dea25f23dd86a WHIRLPOOL b378e7f2cc17cbe9bec9212df07e268377aea4979ab491d21092a6915fe219014686dbc188474daa2f21d1d48e016a657ae4d54d5c86407fc956c2c17d0398f0
diff --git a/dev-libs/keybinder/keybinder-0.3.0-r200.ebuild b/dev-libs/keybinder/keybinder-0.3.0-r200.ebuild
new file mode 100644
index 000000000000..177e8dbd7ad8
--- /dev/null
+++ b/dev-libs/keybinder/keybinder-0.3.0-r200.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="python? 2:2.6"
+
+inherit eutils python
+
+DESCRIPTION="A library for registering global keyboard shortcuts"
+HOMEPAGE="http://kaizer.se/wiki/keybinder/"
+SRC_URI="http://kaizer.se/publicfiles/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~hppa ~mips ppc ppc64 x86"
+IUSE="+introspection lua python"
+
+RDEPEND=">=x11-libs/gtk+-2.20:2
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrender
+ introspection? ( dev-libs/gobject-introspection )
+ lua? ( >=dev-lang/lua-5.1 )
+ python? (
+ >=dev-python/pygobject-2.15.3:2
+ >=dev-python/pygtk-2.12
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS NEWS README"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ >py-compile
+}
+
+src_configure() {
+ local myconf
+ use lua || myconf='--disable-lua'
+
+ econf \
+ $(use_enable introspection) \
+ $(use_enable python) \
+ ${myconf} \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+ dosym /usr/share/doc/${PF}/html/${PN} /usr/share/gtk-doc/html/${PN}
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize ${PN}
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup ${PN}
+}
diff --git a/dev-libs/keybinder/keybinder-0.3.0-r201.ebuild b/dev-libs/keybinder/keybinder-0.3.0-r201.ebuild
new file mode 100644
index 000000000000..6a1f95ca486c
--- /dev/null
+++ b/dev-libs/keybinder/keybinder-0.3.0-r201.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1
+
+DESCRIPTION="A library for registering global keyboard shortcuts"
+HOMEPAGE="http://kaizer.se/wiki/keybinder/"
+SRC_URI="http://kaizer.se/publicfiles/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
+IUSE="+introspection lua python"
+
+RDEPEND=">=x11-libs/gtk+-2.20:2
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrender
+ introspection? ( dev-libs/gobject-introspection )
+ lua? ( >=dev-lang/lua-5.1 )
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.3:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12[${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS NEWS README"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myconf
+ use lua || myconf='--disable-lua'
+
+ econf \
+ $(use_enable introspection) \
+ $(use_enable python) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/dev-libs/keybinder/keybinder-0.3.0-r300.ebuild b/dev-libs/keybinder/keybinder-0.3.0-r300.ebuild
new file mode 100644
index 000000000000..a115b63befcc
--- /dev/null
+++ b/dev-libs/keybinder/keybinder-0.3.0-r300.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+MY_P=${PN}-3.0-${PV}
+
+DESCRIPTION="A library for registering global keyboard shortcuts"
+HOMEPAGE="http://kaizer.se/wiki/keybinder/"
+SRC_URI="http://kaizer.se/publicfiles/${PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="3"
+KEYWORDS="amd64 arm ~hppa ~mips ppc ppc64 x86"
+IUSE="+introspection"
+
+RDEPEND="x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrender
+ introspection? ( dev-libs/gobject-introspection )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS NEWS README"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ $(use_enable introspection) \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+ dosym /usr/share/doc/${PF}/html/${PN}-3.0 /usr/share/gtk-doc/html/${PN}-3.0
+}
diff --git a/dev-libs/keybinder/metadata.xml b/dev-libs/keybinder/metadata.xml
new file mode 100644
index 000000000000..33b965f5bef7
--- /dev/null
+++ b/dev-libs/keybinder/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ssuominen@gentoo.org</email>
+ <name>Samuli Suominen</name>
+ </maintainer>
+ <use>
+ <flag name='introspection'>Use <pkg>dev-libs/gobject-introspection</pkg> for introspection</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/klibc/Manifest b/dev-libs/klibc/Manifest
new file mode 100644
index 000000000000..df9bca8f52a2
--- /dev/null
+++ b/dev-libs/klibc/Manifest
@@ -0,0 +1,8 @@
+DIST klibc-1.5.25.tar.bz2 510064 SHA256 0b910ec0b2a97d4c775ed06e44ad7bca7be150efdf2a77a19253a573e16367d3 SHA512 e550afb319cd995fb9c7fb086bc8ede550e5e4a48856ff5856e2296f691ba643c9fcc314c5e973f4d5b4f33b543ef4bc10d29b389f83e5418ec860a80e7cac45 WHIRLPOOL d986dcdcc95e2c7846d2eda9338519d5d84f50e94f82f1eee0234a17504ae10abaa75b6c89e9cf4c228690c0cc489d4323d98e5e62cde10cf7a04581026309f3
+DIST klibc-2.0.2.tar.xz 466696 SHA256 1e9d4ba6fe2aeea0bd27d14a9a674c29fb7cf766ff021e9c5f99256cb409474e SHA512 14c862ac58da37db98b40cc03a216643a4d2c424ea1b988f6ea274c999515c6661f711adcf5aac8ed10c7668e05004b8844b0a862c2f32fa28c240dd37003722 WHIRLPOOL 6fea496b32e08e8fd0c54b60997da70db2d6216a8f4a2c6d56ce83485f41c82cce291344ecffac0a38cfa88308033fe768e9b50d2102d803f7b8ff18412100a0
+DIST klibc-2.0.3.tar.xz 468920 SHA256 02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa SHA512 47a27496d8fa7c57279f9215367369dc9bae496f04b023a2e506813efca7db5de766ddcdb227804123a2fff7f6691dbf01cfaaed3396ce149e6b091f356fa233 WHIRLPOOL bba62fc57372053fdf78dac234f5210ce196723a27499da0fbcf4de05d06eee3ad1963ee5919680c3dcea3941c597a035e7110ad87545585b7430abb6d0d4c6b
+DIST klibc-2.0.4.tar.xz 469348 SHA256 7f9a0850586def7cf4faeeb75e5d0f66e613674c524f6e77b0f4d93a26c801cb SHA512 7a01d1744b49f3de64111fefc522b1d63f054199acf671254bc046d6f1d0b6ca68e050c99025bf8303751c2466a5e034677555649ae5909c40997858d393db8d WHIRLPOOL f5dc71b48f118155df512d8ac839b66d361b22ff4e040e49a562722d82f18ac83a8c682bf0b4c59a9b108473f74bebc673d38456cf0ab5b1051071ca3fa9b78e
+DIST klibc_2.0.2-1.debian.tar.gz 21305 SHA256 93f4b9be5a3c725a38b7ac137850311e3cf8d8094874006c7dce793d2b71e469 SHA512 9cbcc39396a49bc37ace79eaefad6e704ddc9f30aba1b39f40dd2888dad06eeeb7b9c1a387cee60a95cf5641f50bd7f225cf8209547c75a8bae8af4285152d91 WHIRLPOOL a42e148550a27426e8f38b54cb4f3b1f355759d573ab27c0ecadb0c68d0afd54a5950471628ec4e2e27ac9c8b9d841940d6b0f2c0a873d4feab7af37e7989a52
+DIST linux-2.6.39.tar.bz2 76096559 SHA256 584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6 SHA512 06cb5aba7c53c68d43afcebbbb9507d8b398b3e994d8a237c66a49374ca569237f074adaa3fccba7f908eab4f51f99bae40656793eab5c2f5ce03cd3a65fa02c WHIRLPOOL 2f2c833ab1d8ddbe3e0b862b71a38d47fd3fc5688ea81cdd818369b09e72fa50481bf84533ddcea992af1130b2ceec10b6ff5eaff393a14ee70639293a555912
+DIST linux-3.12.tar.xz 76384600 SHA256 2e120ec7fde19fa51dc6b6cc11c81860a0775defcad5a5bf910ed9a50e845a02 SHA512 4ba5797e0772726d05c9f2eee66dc6dc2a5033c749ef44764c805a83da739ed5d0c6443b76785e38fe1ef74cc7ade787e48144faed0cfcb6f124f05248c700ff WHIRLPOOL a40195f6b53ba3440cf90a44495f6a59670f750851d1518e2bdfe3b949f0e898d1df5d37e271c31c555087026ddb6cc2c9109b22b9639e3222735e6f650a1417
+DIST linux-3.2.tar.xz 65065516 SHA256 dd96ed02b53fb5d57762e4b1f573460909de472ca588f81ec6660e4a172e7ba7 SHA512 77e9a52d78d6c8e951df1e166023eebe5defc5ef3c45d3ac84b613137b3c2e55cee5693d828ebd06c5034bd89ea2a5f862f55824f2b7839c9ad7212c81e3ecb0 WHIRLPOOL 7cc68baac4441740e2171fbbc4195ee6c0351de099aadaee8cb3487f6d1f8b7e1d3144ee54ba38dbd24d6be431a1ea3b921ffce82ff84df21a98da7bc61c1d17
diff --git a/dev-libs/klibc/files/klibc-1.1-mips32.patch b/dev-libs/klibc/files/klibc-1.1-mips32.patch
new file mode 100644
index 000000000000..8eaf5d136801
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.1-mips32.patch
@@ -0,0 +1,12 @@
+diff -Naurp klibc-1.1.orig/MCONFIG klibc-1.1/MCONFIG
+--- klibc-1.1.orig/MCONFIG 2005-09-20 02:16:17 -0400
++++ klibc-1.1/MCONFIG 2005-09-20 02:16:57 -0400
+@@ -33,7 +33,7 @@ KRNLOBJ = $(SRCROOT)/linux
+ KLIBCVER = -D__KLIBC__=$(shell cut -d. -f1 < $(SRCROOT)/version) \
+ -D__KLIBC_MINOR__=$(shell cut -d. -f2 < $(SRCROOT)/version)
+
+-ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/)
++ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/ -e s/mips64/mips/)
+ CC = $(CROSS)gcc
+ LD = $(CROSS)ld
+ KLIBSRC = $(SRCROOT)/klibc
diff --git a/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch b/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch
new file mode 100644
index 000000000000..a5bb91765287
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch
@@ -0,0 +1,13 @@
+diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
+index c2bfd2f..8066bda 100644
+--- a/usr/klibc/Kbuild
++++ b/usr/klibc/Kbuild
+@@ -152,7 +152,7 @@ # build interp.o
+ targets += interp.o
+
+ quiet_cmd_interp = BUILD $@
+- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
++ cmd_interp = $(KLIBCCC) $(klibccflags) $(EXTRA_KLIBCAFLAGS) -D__ASSEMBLY__ \
+ -DLIBDIR=\"$(SHLIBDIR)\" \
+ -DSOHASH=\"$(SOLIBHASH)\" \
+ -c -o $@ $<
diff --git a/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch b/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch
new file mode 100644
index 000000000000..854d5337057d
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch
@@ -0,0 +1,25 @@
+--- a/scripts/Kbuild.install 2007-03-04 02:52:10.000000000 +0100
++++ b/scripts/Kbuild.install 2007-11-04 15:43:28.000000000 +0100
+@@ -84,6 +84,13 @@
+ # 1) Create directories, install headers and man pages
+ # 2) Tell that we now install binaries
+ # 3) Install binaries by descending
++
++# Arch specific definitions for klibc
++include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
++
++# include/asm-* architecture
++KLIBCASMARCH ?= $(KLIBCARCH)
++
+ .PHONY: header footer descend
+ header:
+ $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
+@@ -95,7 +102,7 @@
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
++ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
+ mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
+ for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
+ $(KLIBCKERNELOBJ)/include2 ; do \
diff --git a/dev-libs/klibc/files/klibc-1.5-sigaction.patch b/dev-libs/klibc/files/klibc-1.5-sigaction.patch
new file mode 100644
index 000000000000..59f422048de1
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5-sigaction.patch
@@ -0,0 +1,37 @@
+---
+ usr/include/arch/ppc/klibc/archsignal.h | 6 ++++++
+ usr/include/arch/sparc/klibc/archsignal.h | 7 -------
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+--- a/usr/include/arch/ppc/klibc/archsignal.h
++++ b/usr/include/arch/ppc/klibc/archsignal.h
+@@ -8,7 +8,13 @@
+ #ifndef _KLIBC_ARCHSIGNAL_H
+ #define _KLIBC_ARCHSIGNAL_H
+
++#ifdef _SIGNAL_H
++#undef _SIGNAL_H
+ #include <asm/signal.h>
++#define _SIGNAL_H
++#else
++#include <asm/signal.h>
++#endif
+ /* No special stuff for this architecture */
+
+ #endif
+--- a/usr/include/arch/sparc/klibc/archsignal.h
++++ b/usr/include/arch/sparc/klibc/archsignal.h
+@@ -11,13 +11,6 @@
+ #define __WANT_POSIX1B_SIGNALS__
+ #include <asm/signal.h>
+
+-struct sigaction {
+- __sighandler_t sa_handler;
+- unsigned long sa_flags;
+- void (*sa_restorer)(void); /* Not used by Linux/SPARC */
+- sigset_t sa_mask;
+-};
+-
+ /* Not actually used by the kernel... */
+ #define SA_RESTORER 0x80000000
+
diff --git a/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch b/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch
new file mode 100644
index 000000000000..0404a66a1ef1
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch
@@ -0,0 +1,26 @@
+diff -Nuar --exclude '*.orig' --exclude '*.rej' klibc-1.5.11.orig/scripts/Kbuild.install klibc-1.5.11/scripts/Kbuild.install
+--- klibc-1.5.11.orig/scripts/Kbuild.install 2008-06-15 17:28:23.000000000 -0700
++++ klibc-1.5.11/scripts/Kbuild.install 2008-06-26 10:14:05.365949576 -0700
+@@ -84,6 +84,13 @@
+ # 1) Create directories, install headers and man pages
+ # 2) Tell that we now install binaries
+ # 3) Install binaries by descending
++
++# Arch specific definitions for klibc
++include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
++
++# include/asm-* architecture
++KLIBCASMARCH ?= $(KLIBCARCH)
++
+ .PHONY: header footer descend
+ header:
+ $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
+@@ -95,7 +102,7 @@
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+- $(Q)set -e ; for d in linux asm asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
++ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
+ for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
+ $(KLIBCKERNELOBJ)/include2 ; do \
+ [ ! -d $$r/$$d ] && continue; \
diff --git a/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff b/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff
new file mode 100644
index 000000000000..8ed2fa044cc9
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff
@@ -0,0 +1,28 @@
+diff -Naur klibc-1.5.8.orig/usr/include/arch/x86_64/sys/io.h klibc-1.5.8/usr/include/arch/x86_64/sys/io.h
+--- klibc-1.5.8.orig/usr/include/arch/x86_64/sys/io.h 2007-12-11 18:20:29.000000000 +0100
++++ klibc-1.5.8/usr/include/arch/x86_64/sys/io.h 2008-06-26 12:04:22.760046895 +0200
+@@ -60,21 +60,21 @@
+ {
+ unsigned char __v;
+ asm volatile ("inb %1,%0" : "=a" (__v) : "dN"(__p));
+- return v;
++ return __v;
+ }
+
+ static __inline__ unsigned short inw(unsigned short __p)
+ {
+ unsigned short __v;
+ asm volatile ("inw %1,%0" : "=a" (__v) : "dN"(__p));
+- return v;
++ return __v;
+ }
+
+ static __inline__ unsigned int inl(unsigned short __p)
+ {
+ unsigned int __v;
+ asm volatile ("inl %1,%0" : "=a" (__v) : "dN"(__p));
+- return v;
++ return __v;
+ }
+
+ /* String I/O macros */
diff --git a/dev-libs/klibc/files/klibc-1.5.20-kbuild.patch b/dev-libs/klibc/files/klibc-1.5.20-kbuild.patch
new file mode 100644
index 000000000000..b47131bfc445
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.20-kbuild.patch
@@ -0,0 +1,20 @@
+diff -urN klibc-1.5.20.orig/usr/klibc/socketcalls/Kbuild klibc-1.5.20/usr/klibc/socketcalls/Kbuild
+--- klibc-1.5.20.orig/usr/klibc/socketcalls/Kbuild 2010-08-25 14:40:28.000000000 -0400
++++ klibc-1.5.20/usr/klibc/socketcalls/Kbuild 2010-11-23 15:40:25.000000000 -0500
+@@ -48,3 +48,6 @@
+ $(obj)/SOCKETCALLS.i \
+ $(src)/socketcommon.h
+ $(call cmd,socketcalls)
++
++PHONY += FORCE
++
+diff -urN klibc-1.5.20.orig/usr/klibc/syscalls/Kbuild klibc-1.5.20/usr/klibc/syscalls/Kbuild
+--- klibc-1.5.20.orig/usr/klibc/syscalls/Kbuild 2010-08-25 14:40:28.000000000 -0400
++++ klibc-1.5.20/usr/klibc/syscalls/Kbuild 2010-11-23 15:40:49.000000000 -0500
+@@ -95,3 +95,6 @@
+ $(src)/syscommon.h $(obj)/syscalls.nrs \
+ $(obj)/typesize.bin FORCE
+ $(call if_changed,syscalls)
++
++PHONY += FORCE
++
diff --git a/dev-libs/klibc/files/klibc-1.5.20-parallel-make.patch b/dev-libs/klibc/files/klibc-1.5.20-parallel-make.patch
new file mode 100644
index 000000000000..8afa2b6b5af6
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.20-parallel-make.patch
@@ -0,0 +1,11 @@
+--- scripts/Kbuild.install.orig 2013-03-14 09:33:32.429919267 -0400
++++ scripts/Kbuild.install 2013-03-14 09:33:55.443820061 -0400
+@@ -95,7 +95,7 @@ header:
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+- $(Q)make -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
++ $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+ $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+ $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
+ $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
diff --git a/dev-libs/klibc/files/klibc-1.5.23-parallel-make.patch b/dev-libs/klibc/files/klibc-1.5.23-parallel-make.patch
new file mode 100644
index 000000000000..f3c98e32aa70
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.23-parallel-make.patch
@@ -0,0 +1,11 @@
+--- klibc-1.5.23/scripts/Kbuild.install.orig
++++ klibc-1.5.23/scripts/Kbuild.install
+@@ -95,7 +95,7 @@
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+- $(Q)make -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
++ $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+ $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+ $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
+ $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
diff --git a/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch b/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch
new file mode 100644
index 000000000000..94a0caee2526
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch
@@ -0,0 +1,12 @@
+diff -Naurp klibc-1.5.7-orig/klcc/klcc.in klibc-1.5.7/klcc/klcc.in
+--- klibc-1.5.7-orig/klcc/klcc.in 2007-12-03 01:17:26.000000000 +0100
++++ klibc-1.5.7/klcc/klcc.in 2007-12-03 01:18:39.000000000 +0100
+@@ -259,7 +259,7 @@ if ( $operation ne '' ) {
+ unlink(@rmobjs);
+
+ if ( $strip && !$rv ) {
+- $rv = mysystem($STRIP, @STRIPFLAGS, $output);
++ $rv = mysystem($STRIP, @STRIPFLAGS, $output || 'a.out');
+ }
+ }
+
diff --git a/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch b/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch
new file mode 100644
index 000000000000..cfbc5f63655f
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch
@@ -0,0 +1,15 @@
+diff -Nuar --exclude '*.g' --exclude '*.cmd' klibc-2.0.2-r1/work/klibc-2.0.2/usr/utils/mkfifo.c klibc-2.0.2.orig/work/klibc-2.0.2/usr/utils/mkfifo.c
+--- klibc-2.0.2-r1/work/klibc-2.0.2/usr/utils/mkfifo.c 2012-10-03 09:41:43.000000000 -0700
++++ klibc-2.0.2.orig/work/klibc-2.0.2/usr/utils/mkfifo.c 2013-12-26 13:19:34.270949780 -0800
+@@ -13,6 +13,11 @@
+
+ char *progname;
+
++int mkfifo (const char *__p, mode_t __m)
++{
++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0);
++}
++
+ static int make_fifo(char *dir)
+ {
+ if (mkfifo(dir, leaf_mode)) {
diff --git a/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch b/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch
new file mode 100644
index 000000000000..7d253977e998
--- /dev/null
+++ b/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch
@@ -0,0 +1,88 @@
+Update header locations for uapi & generated
+
+In the v3.6 kernel, many of the headers were split out into a uapi variant.
+klibc should be using those variants to compile.
+
+There is also a generated subdir, to seperate out generated headers.
+
+The old kernel header location needs to be included as well, because
+linux/compiler.h is available only in the base include directory.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar klibc-2.0.3.orig/scripts/Kbuild.klibc klibc-2.0.3/scripts/Kbuild.klibc
+--- klibc-2.0.3.orig/scripts/Kbuild.klibc 2013-12-03 10:53:46.000000000 -0800
++++ klibc-2.0.3/scripts/Kbuild.klibc 2013-12-26 14:39:07.113906101 -0800
+@@ -77,7 +77,10 @@
+ KLIBCCFLAGS :=
+
+ # Defaults for arch to override
+-KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include
++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated \
++ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include
+
+ # Arch specific definitions for klibc
+ include $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
+@@ -116,6 +119,9 @@
+-KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include \
++KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include/uapi \
++ -I$(KLIBCKERNELSRC)/include/generated/uapi \
++ -I$(KLIBCKERNELSRC)/include/generated \
++ -I$(KLIBCKERNELSRC)/include \
+ $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)/include2 \
+ -I$(KLIBCKERNELOBJ)/include -I$(srctree)/include) \
+ $(KLIBCARCHINCFLAGS)
+
+ # klibc definitions
+diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/i386/MCONFIG klibc-2.0.3/usr/klibc/arch/i386/MCONFIG
+--- klibc-2.0.3.orig/usr/klibc/arch/i386/MCONFIG 2013-12-03 10:53:46.000000000 -0800
++++ klibc-2.0.3/usr/klibc/arch/i386/MCONFIG 2013-12-26 14:44:56.349161344 -0800
+@@ -34,3 +34,6 @@
+
+ # Asm includes for i386 are in the merged x86 tree
+-KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include
++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include
+diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/ppc/MCONFIG klibc-2.0.3/usr/klibc/arch/ppc/MCONFIG
+--- klibc-2.0.3.orig/usr/klibc/arch/ppc/MCONFIG 2013-12-03 10:53:46.000000000 -0800
++++ klibc-2.0.3/usr/klibc/arch/ppc/MCONFIG 2013-12-26 14:44:56.350161362 -0800
+@@ -24,6 +24,9 @@
+
+ # The kernel so far has both asm-ppc* and asm-powerpc.
+-KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include
++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include
+
+ # The asm include files live in asm-powerpc
+ KLIBCASMARCH = powerpc
+diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/ppc64/MCONFIG klibc-2.0.3/usr/klibc/arch/ppc64/MCONFIG
+--- klibc-2.0.3.orig/usr/klibc/arch/ppc64/MCONFIG 2013-12-03 10:53:46.000000000 -0800
++++ klibc-2.0.3/usr/klibc/arch/ppc64/MCONFIG 2013-12-26 14:44:56.350161362 -0800
+@@ -22,6 +22,9 @@
+
+ # The kernel so far has both asm-ppc* and asm-powerpc.
+-KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include
++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \
++ -I$(KLIBCKERNELOBJ)/arch/powerpc/include
+
+ # The asm include files live in asm-powerpc
+ KLIBCASMARCH = powerpc
+diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/x86_64/MCONFIG klibc-2.0.3/usr/klibc/arch/x86_64/MCONFIG
+--- klibc-2.0.3.orig/usr/klibc/arch/x86_64/MCONFIG 2013-12-03 10:53:46.000000000 -0800
++++ klibc-2.0.3/usr/klibc/arch/x86_64/MCONFIG 2013-12-26 14:44:54.522128579 -0800
+@@ -37,3 +37,6 @@
+
+ # Asm includes for x86_64 are in the merged x86 tree
+-KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include
++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \
++ -I$(KLIBCKERNELOBJ)/arch/x86/include
diff --git a/dev-libs/klibc/files/klibc.m4 b/dev-libs/klibc/files/klibc.m4
new file mode 100644
index 000000000000..389226974506
--- /dev/null
+++ b/dev-libs/klibc/files/klibc.m4
@@ -0,0 +1,94 @@
+# klibc.m4 serial 99
+## Copyright (C) 1995-2003 Free Software Foundation, Inc.
+## This file is free software, distributed under the terms of the GNU
+## General Public License. As a special exception to the GNU General
+## Public License, this file may be distributed as part of a program
+## that contains a configuration script generated by Autoconf, under
+## the same distribution terms as the rest of that program.
+##
+## This file can can be used in projects which are not available under
+## the GNU General Public License or the GNU Library General Public
+## License but which still want to provide support for the GNU gettext
+## functionality.
+## Please note that the actual code of the KLIBC Library is partly covered
+## by the GNU Library General Public License, and party copyrighted by the
+## Regents of The University of California, and the rest is covered by a
+## MIT style license.
+
+# Authors:
+# Martin Schlemmer <azarah@nosferatu.za.org>, 2005.
+
+
+# AC_CHECK_KLIBC
+# --------------
+# Check if the user wants KLIBC support enabled. If so, set KLIBC=yes and
+# fill in KLIBC_PREFIX, KLIBC_BINDIR, KLIBC_SBINDIR, KLIBC_LIBDIR and
+# KLIBC_INCLUDEDIR. CC is also set to the proper klcc executable.
+# NOTE: This should be called before AC_PROG_CC, and before header, function
+# or type checks.
+AC_DEFUN([AC_CHECK_KLIBC],
+[AC_BEFORE([$0], [AC_PROG_CC])
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_ARG_ENABLE([klibc],
+ [AS_HELP_STRING([--enable-klibc],
+ [Enable linking to klibc [no]. You need at
+ least klibc-1.0 or later for this. Set KLCC
+ to the absolute file name of klcc if not in
+ the PATH])],
+ [KLIBC=$enableval], [KLIBC=no])
+AC_ARG_ENABLE([klibc-layout],
+ [AS_HELP_STRING([--enable-klibc-layout],
+ [Enable installing binaries, libraries and
+ headers into the klibc prefix [yes] ])],
+ [if test "X$KLIBC" != Xno; then
+ KLIBC_LAYOUT=$enableval
+ else
+ KLIBC_LAYOUT=no
+ fi],
+ [if test "X$KLIBC" != Xno; then
+ KLIBC_LAYOUT=yes
+ else
+ KLIBC_LAYOUT=no
+ fi])
+
+if test "X$KLIBC" != Xno; then
+ # Basic cross compiling support. I do not think it is wise to use
+ # AC_CHECK_TOOL, because if we are cross compiling, we do not want
+ # just 'klcc' to be returned ...
+ if test "${host_alias}" != "${build_alias}"; then
+ AC_CHECK_PROGS([KLCC], [${host_alias}-klcc], [no])
+ else
+ AC_CHECK_PROGS([KLCC], [klcc], [no])
+ fi
+ if test "X$KLCC" = Xno; then
+ AC_MSG_ERROR([cannot find klibc frontend 'klcc'!])
+ fi
+
+ CC="$KLCC"
+ CFLAGS="-Os"
+
+ KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)"
+ KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)"
+ KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)"
+ KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin"
+ KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)"
+ KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)"
+
+ if test "X$KLIBC_LAYOUT" != Xno; then
+ prefix="$KLIBC_PREFIX"
+ bindir="$KLIBC_BIN_DIR"
+ sbindir="$KLIBC_SBIN_DIR"
+ libdir="$KLIBC_LIB_DIR"
+ includedir="$KLIBC_INCLUDE_DIR"
+ fi
+
+ # At least KLIBC_LIB_DIR should be valid, else klibc is too old or
+ # something went wrong
+ if test ! -d "$KLIBC_LIB_DIR"; then
+ AC_MSG_ERROR([your klibc installation is too old or not functional!])
+ fi
+fi
+
+AC_SUBST(KLIBC)
+])# AC_CHECK_KLIBC
+
diff --git a/dev-libs/klibc/klibc-1.5.25.ebuild b/dev-libs/klibc/klibc-1.5.25.ebuild
new file mode 100644
index 000000000000..2c131f6e47f7
--- /dev/null
+++ b/dev-libs/klibc/klibc-1.5.25.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc"
+KV_MAJOR="2" KV_MINOR="6" KV_SUB="39"
+PKV_EXTRA=""
+if [ -n "${PKV_EXTRA}" ]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.bz2"
+fi
+OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.bz2"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.bz2
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha amd64 ~arm ia64 -mips ~ppc ~ppc64 ~sparc x86"
+SLOT="0"
+IUSE="debug"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86|amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.bz2 ${P}.tar.bz2
+ [ -n "${PKV}" ] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.bz2
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/klibc-2.0.2-r1.ebuild b/dev-libs/klibc/klibc-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..52fdcb50b857
--- /dev/null
+++ b/dev-libs/klibc/klibc-2.0.2-r1.ebuild
@@ -0,0 +1,295 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+EAPI=5
+K_TARBALL_SUFFIX="xz"
+
+inherit eutils multilib toolchain-funcs flag-o-matic
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc"
+KV_MAJOR="3" KV_MINOR="x" KV_SUB="2"
+PKV_EXTRA=""
+if [[ ${PKV_EXTRA} ]]; then
+ if [[ ${KV_MAJOR} == 2 ]]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ else
+ PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ fi
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
+fi
+if [[ ${KV_MAJOR} == 2 ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+else
+ OKV="${KV_MAJOR}.${KV_SUB}"
+fi
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="debug test custom-cflags"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
+ amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX}
+}
+
+src_prepare() {
+ [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTLD="$(tc-getBUILD_LD)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+ append-ldflags -z noexecstack
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+ find "${D}"/usr/${libdir}/klibc/include -type f \
+ \( -name '.install' -o -name '..install.cmd' \) -delete || die
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/klibc-2.0.2.ebuild b/dev-libs/klibc/klibc-2.0.2.ebuild
new file mode 100644
index 000000000000..af0158ba64f7
--- /dev/null
+++ b/dev-libs/klibc/klibc-2.0.2.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+EAPI=5
+K_TARBALL_SUFFIX="xz"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc"
+KV_MAJOR="3" KV_MINOR="x" KV_SUB="2"
+PKV_EXTRA=""
+if [[ ${PKV_EXTRA} ]]; then
+ if [[ ${KV_MAJOR} == 2 ]]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ else
+ PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ fi
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
+fi
+if [[ ${KV_MAJOR} == 2 ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+else
+ OKV="${KV_MAJOR}.${KV_SUB}"
+fi
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
+ amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX}
+}
+
+src_prepare() {
+ [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTLD="$(tc-getBUILD_LD)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+ find "${D}"/usr/${libdir}/klibc/include -type f \
+ \( -name '.install' -o -name '..install.cmd' \) -delete || die
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/klibc-2.0.3-r1.ebuild b/dev-libs/klibc/klibc-2.0.3-r1.ebuild
new file mode 100644
index 000000000000..81969b9a7a4d
--- /dev/null
+++ b/dev-libs/klibc/klibc-2.0.3-r1.ebuild
@@ -0,0 +1,316 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+EAPI=5
+K_TARBALL_SUFFIX="xz"
+
+inherit eutils multilib toolchain-funcs flag-o-matic
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc/ https://www.kernel.org/pub/linux/libs/klibc/"
+KV_MAJOR="3" KV_MINOR="x" KV_SUB="12"
+PKV_EXTRA=""
+if [[ ${PKV_EXTRA} ]]; then
+ if [[ ${KV_MAJOR} == 2 ]]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ else
+ PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ fi
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
+fi
+if [[ ${KV_MAJOR} == 2 ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+else
+ OKV="${KV_MAJOR}.${KV_SUB}"
+fi
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
+DEBIAN_PV=2.0.2
+DEBIAN_PR=1
+DEBIAN_A="${PN}_${DEBIAN_PV}-${DEBIAN_PR}.debian.tar.gz"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
+ mirror://debian/pool/main/k/klibc/${DEBIAN_A}
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="debug test custom-cflags"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
+ amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|arm64|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX} ${DEBIAN_A}
+}
+
+src_prepare() {
+ [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+
+ # The inline definition from sys/stat.h does not seem to get used
+ # So just copy it to make this compile for now
+ epatch "${FILESDIR}"/klibc-2.0.2-mkfifo.patch
+
+ # Newer kernels have some headers in the uapi dir
+ epatch "${FILESDIR}"/klibc-2.0.3-kernel-uapi.patch
+
+ # Borrow the debian fixes too
+ for p in $(<"${S}"/debian/patches/series) ; do
+ epatch "${S}/debian/patches/${p}"
+ done
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTLD="$(tc-getBUILD_LD)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+ append-ldflags -z noexecstack
+ append-flags -nostdlib
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+ find "${D}"/usr/${libdir}/klibc/include -type f \
+ \( -name '.install' -o -name '..install.cmd' \) -delete || die
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/klibc-2.0.3.ebuild b/dev-libs/klibc/klibc-2.0.3.ebuild
new file mode 100644
index 000000000000..6a9b53ca8d10
--- /dev/null
+++ b/dev-libs/klibc/klibc-2.0.3.ebuild
@@ -0,0 +1,304 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+EAPI=5
+K_TARBALL_SUFFIX="xz"
+
+inherit eutils multilib toolchain-funcs flag-o-matic
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc"
+KV_MAJOR="3" KV_MINOR="x" KV_SUB="2"
+PKV_EXTRA=""
+if [[ ${PKV_EXTRA} ]]; then
+ if [[ ${KV_MAJOR} == 2 ]]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ else
+ PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ fi
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
+fi
+if [[ ${KV_MAJOR} == 2 ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+else
+ OKV="${KV_MAJOR}.${KV_SUB}"
+fi
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="debug test custom-cflags"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
+ amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|arm64|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX}
+}
+
+src_prepare() {
+ [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+
+ # The inline definition from sys/stat.h does not seem to get used
+ # So just copy it to make this compile for now
+ epatch "${FILESDIR}"/klibc-2.0.2-mkfifo.patch
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTLD="$(tc-getBUILD_LD)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+ append-ldflags -z noexecstack
+ append-flags -nostdlib
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+ find "${D}"/usr/${libdir}/klibc/include -type f \
+ \( -name '.install' -o -name '..install.cmd' \) -delete || die
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/klibc-2.0.4.ebuild b/dev-libs/klibc/klibc-2.0.4.ebuild
new file mode 100644
index 000000000000..81969b9a7a4d
--- /dev/null
+++ b/dev-libs/klibc/klibc-2.0.4.ebuild
@@ -0,0 +1,316 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
+# This still needs major work.
+# But it is significently better than the previous version.
+# In that it will now build on biarch systems, such as ppc64-32ul.
+
+# NOTES:
+# ======
+# We need to bring in the kernel sources seperately
+# Because they have to be configured in a way that differs from the copy in
+# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
+# unfortunetly.
+# This will be able to go away once the klibc author updates his code
+# to build again the headers provided by the kernel's 'headers_install' target.
+
+EAPI=5
+K_TARBALL_SUFFIX="xz"
+
+inherit eutils multilib toolchain-funcs flag-o-matic
+
+DESCRIPTION="A minimal libc subset for use with initramfs"
+HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc/ https://www.kernel.org/pub/linux/libs/klibc/"
+KV_MAJOR="3" KV_MINOR="x" KV_SUB="12"
+PKV_EXTRA=""
+if [[ ${PKV_EXTRA} ]]; then
+ if [[ ${KV_MAJOR} == 2 ]]; then
+ PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ else
+ PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
+ fi
+ PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
+fi
+if [[ ${KV_MAJOR} == 2 ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
+else
+ OKV="${KV_MAJOR}.${KV_SUB}"
+fi
+KERNEL_URI="
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
+DEBIAN_PV=2.0.2
+DEBIAN_PR=1
+DEBIAN_A="${PN}_${DEBIAN_PV}-${DEBIAN_PR}.debian.tar.gz"
+SRC_URI="
+ mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
+ mirror://debian/pool/main/k/klibc/${DEBIAN_A}
+ ${PATCH_URI}
+ ${KERNEL_URI}"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="debug test custom-cflags"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+KS="${WORKDIR}/linux-${OKV}"
+
+# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
+QA_EXECSTACK="*"
+# Do not strip
+RESTRICT="strip"
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
+ amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|arm64|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+# For a given Gentoo ARCH,
+# specify the kernel defconfig most relevant
+kernel_defconfig() {
+ a="${1:${ARCH}}"
+ # most, but not all arches have a sanely named defconfig
+ case ${a} in
+ ppc64) echo ppc64_defconfig ;;
+ ppc) echo pmac32_defconfig ;;
+ sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
+ *) echo defconfig ;;
+ esac
+}
+
+src_unpack() {
+ unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX} ${DEBIAN_A}
+}
+
+src_prepare() {
+ [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
+ cd "${S}"
+
+ # Symlink /usr/src/linux to ${S}/linux
+ ln -snf "${KS}" linux
+ #ln -snf "/usr" linux
+
+ # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
+ epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
+
+ # Fix usage of -s, bug #201006
+ epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
+
+ # The inline definition from sys/stat.h does not seem to get used
+ # So just copy it to make this compile for now
+ epatch "${FILESDIR}"/klibc-2.0.2-mkfifo.patch
+
+ # Newer kernels have some headers in the uapi dir
+ epatch "${FILESDIR}"/klibc-2.0.3-kernel-uapi.patch
+
+ # Borrow the debian fixes too
+ for p in $(<"${S}"/debian/patches/series) ; do
+ epatch "${S}/debian/patches/${p}"
+ done
+}
+
+# klibc has it's own ideas of arches
+# They reflect userspace strictly.
+# This functions maps from a Gentoo ARCH, to an arch that klibc expects
+# Look at klibc-${S}/usr/klibc/arch for a list of these arches
+klibc_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ amd64) echo x86_64;;
+ mips) die 'TODO: Use the $ABI' ;;
+ x86) echo i386;;
+ *) echo ${a} ;;
+ esac
+}
+
+src_compile() {
+ local myargs="all"
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTLD="$(tc-getBUILD_LD)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ cd "${KS}"
+ emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
+ if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
+ [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
+ # The delete and insert are seperate statements
+ # so that they are reliably used.
+ sed -i \
+ -e '/CONFIG_AEABI/d' \
+ -e '1iCONFIG_AEABI=y' \
+ -e '/CONFIG_OABI_COMPAT/d' \
+ -e '1iCONFIG_OABI_COMPAT=y' \
+ "${KS}"/.config \
+ "${S}"/defconfig
+ fi
+ emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
+
+ cd "${S}"
+
+ use debug && myargs="${myargs} V=1"
+ use test && myargs="${myargs} test"
+ append-ldflags -z noexecstack
+ append-flags -nostdlib
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} || die "Compile failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ ARCH="${myARCH}" ABI="${myABI}"
+}
+
+src_install() {
+ local myargs
+ local myARCH="${ARCH}" myABI="${ABI}"
+ # TODO: For cross-compiling
+ # You should set ARCH and ABI here
+ CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
+ KLIBCARCH="$(klibc_arch ${ARCH})"
+ KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
+ libdir="$(get_libdir)"
+ # This should be the defconfig corresponding to your userspace!
+ # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
+ defconfig=$(kernel_defconfig ${ARCH})
+
+ use debug && myargs="${myargs} V=1"
+
+ local klibc_prefix
+ if tc-is-cross-compiler ; then
+ klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
+ else
+ klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
+ fi
+
+ unset ABI ARCH # Unset these, because they interfere
+ unset KBUILD_OUTPUT # we are using a private copy
+
+ emake \
+ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
+ EXTRA_KLIBCLDFLAGS="-z noexecstack" \
+ HOSTLDFLAGS="-z noexecstack" \
+ KLIBCOPTFLAGS='-nostdlib' \
+ HOSTCC="${HOSTCC}" CC="${CC}" \
+ HOSTLD="${HOSTLD}" LD="${LD}" \
+ INSTALLDIR="/usr/${libdir}/klibc" \
+ INSTALLROOT="${D}" \
+ KLIBCARCH=${KLIBCARCH} \
+ KLIBCASMARCH=${KLIBCASMARCH} \
+ SHLIBDIR="/${libdir}" \
+ libdir="/usr/${libdir}" \
+ mandir="/usr/share/man" \
+ T="${T}" \
+ $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
+ $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
+ $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
+ ${myargs} \
+ install || die "Install failed!"
+
+ #SHLIBDIR="/${libdir}" \
+
+ # klibc doesn't support prelinking, so we need to mask it
+ cat > "${T}/70klibc" <<-EOF
+ PRELINK_PATH_MASK="/usr/${libdir}/klibc"
+ EOF
+
+ doenvd "${T}"/70klibc
+
+ # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
+ # Actually I have no idea, why the includes have those weird-ass permissions
+ # on a particular system, might be due to inherited permissions from parent
+ # directory
+ find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
+ find "${D}"/usr/${libdir}/klibc/include -type f \
+ \( -name '.install' -o -name '..install.cmd' \) -delete || die
+
+ # Hardlinks becoming copies
+ for x in gunzip zcat ; do
+ rm -f "${D}/${klibc_prefix}/bin/${x}"
+ dosym gzip "${klibc_prefix}/bin/${x}"
+ done
+
+ # Restore now, so we can use the tc- functions
+ ARCH="${myARCH}" ABI="${myABI}"
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"
+ insinto /usr/share/aclocal
+ doins contrib/klibc.m4
+
+ dodoc README usr/klibc/CAVEATS
+ docinto gzip; dodoc usr/gzip/README
+ fi
+
+ # Fix up the symlink
+ # Mainly for merged arches
+ linkname="${D}/usr/${libdir}/klibc/include/asm"
+ if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
+ ln -snf asm-${KLIBCASMARCH} "${linkname}"
+ fi
+}
+
+src_test() {
+ if ! tc-is-cross-compiler ; then
+ cd "${S}"/usr/klibc/tests
+ ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
+ BROKEN_TESTS="fcntl fnmatch testrand48"
+ failed=0
+ for t in $ALL_TESTS ; do
+ if has $t $BROKEN_TESTS ; then
+ echo "=== $t SKIP"
+ else
+ echo -n "=== $t "
+ ./$t </dev/null >/dev/null
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ echo PASS
+ else
+ echo FAIL
+ failed=1
+ fi
+ fi
+ done
+ [ $failed -ne 0 ] && die "Some tests failed."
+ fi
+}
diff --git a/dev-libs/klibc/metadata.xml b/dev-libs/klibc/metadata.xml
new file mode 100644
index 000000000000..74d25af22b2e
--- /dev/null
+++ b/dev-libs/klibc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>kernel-misc</herd>
+</pkgmetadata>
diff --git a/dev-libs/kpathsea/Manifest b/dev-libs/kpathsea/Manifest
new file mode 100644
index 000000000000..1414e9fe1a9c
--- /dev/null
+++ b/dev-libs/kpathsea/Manifest
@@ -0,0 +1,16 @@
+DIST kpathsea-texmf.d-4.tar.xz 11148 SHA256 d5cc455db13afb9a229892380f835e57e932aedf8d02c8f12895ce682888b88e SHA512 a2906e4f8ec0fdbe31d618878a0633ab52f8dc71ef31d7608190d1f37bf3003b6d2c204520edc249c0c49b8f7308f24a283ca9510033378442093a8194a7bea5 WHIRLPOOL ba1a9aec8f5c040f7124d0720d2600bdb9253d82c859249c871576ac1c5255b81d0b14c3cd381ff8b2e5aae021e694383f93fee3459603615f7187daef35ec2e
+DIST kpathsea-texmf.d-5.tar.xz 11180 SHA256 85d9e1ed697859952a3ba273314f8670454016f3cd1988f0ea17f0cab8630a19 SHA512 23e8134340ae6f10baddef91f642a34c9289d84ccf791bd66779e794cfeed4eeadebd8cb1062e2e545a042e9c64cc9121f893279ddf776aae11c30baffc7f3af WHIRLPOOL b432effa293c410d019b20fa9dc848f3e67b71bb66af27b4e41ed814df688b933ffb30831411358222e170f75c38d2733e671c8224025516cc9c2aed0be8599d
+DIST kpathsea-texmf.d-6.tar.xz 11232 SHA256 9aeccecaf9ba51d25147605b10150047e1f8353942e288a4529b6f28bda2bda8 SHA512 7073c7fb25a53414604395ef02f526e556049b4d296d762fe0b78858d82e0122f0b1fa0b8342e8f81c603e1c1f799702235dcdff08bf56797798e29a15581a9e WHIRLPOOL 919281c784c2efe49e7b0b88c2915ebeadda90251718cfa612a98f9dfa4ed01f4e6b5d3de13fc22f22b4b589f77feeb6d3955e461ea54572f283be20f6246ead
+DIST kpathsea-texmf.d-7.tar.xz 11292 SHA256 9cc7563b54ffc5f75f88e120e5eae21643eae5e97a804bea2bee1f2e33bb4472 SHA512 972a370bcc3534542a8392f0e0066d277bd83f68e684f7a02cf46fa490bec6f2a1f9dde04081f965178a019adb220cf44bc8e4d5862ac70597de64ea8a7e5902 WHIRLPOOL 2ac681e84ac5818bb2332bf5ed15d74c3a09f6b78dced71158ecd0a5b4f49991c10bf143c44c1766c80e784d39199a84319dbec4ff8e86eba58f71268613f949
+DIST texlive-20120701-source.tar.xz 131904044 SHA256 9666617d5dac3e82578e696835cc9f251ee0a56d162d86dff08659ac5dcb6c81 SHA512 0e8653aa21094e079900d17256f0768ac5514690a3725d96923d5fdc7633484d611441df1af8c674b38b9ce6a8845a9004976cd00635742dfc6837aa433caf5f WHIRLPOOL 9d570a1bd58cca8baed399ab53eb767c7c3db607c00363ce563e14dfccdd235703c538e6a651aa7f2934adf21f8477775f1547f9e7f3d957b89af644c89bcb57
+DIST texlive-20130530-source.tar.xz 179963948 SHA256 a905832e4c04dd1cb16db4bb7baacb78fbc19682bd33ac2697a3a85ce78d79d4 SHA512 4aa85273a675af2453f09777b7cb348c18add77410d72f562c6586f6814d4e7c34b6f3690e3453020654fb0a265339fcabf590d9155367d52846224499af334c WHIRLPOOL 3affaf25d3936505d971599092964b0f0e97d107d22dbac6a85ad547e1d2726a6a09c5075fecb0c6ff8c88bc1bd09d78f95902f76eb76c608f8a7bc42dd6bc33
+DIST texlive-20140525-source.tar.xz 41657688 SHA256 08bb4eb02923ac65ce1183612c6b64da185904f26a1660f5ca4f902d055795be SHA512 09169af15d806abd721e55ffc20ed684c0a7ad60783272d49fabfe9c88857c4abd15b60f30e3f5511ceda1982fdc1d33db8265f97e374bfa5b250dbb5612f8ad WHIRLPOOL fd7fffeeaf319bca5333f6d5d8d9cc6517f76ffe5b2793a73604d844cb7474d83c23826f98d4d11ea5e1a35c0f273e12b2fe6f5945f9880a9577fedad6625014
+DIST texlive-20150521-source.tar.xz 45459552 SHA256 ed9bcd7bdce899c3c27c16a8c5c3017c4f09e1d7fd097038351b72497e9d4669 SHA512 9d06bb88c489715787ce619c4c6b5e2d4251e1db8d48ae7fe2d1a253634c76bc6d7282ef9c93c77847845cae01eafb58dfb37ba3fb83a6d223f0d7fe8f5d3855 WHIRLPOOL e19e4cf9c6122e8a2e80d3ad62171591a2d53317792ce69d7b2afdd6978d397c873565d597b1457d23ba6f5b5de33750955690a92fb6c34d814c075397b67a0b
+DIST texlive-module-kpathsea-2012.tar.xz 30060 SHA256 528044bcea040d00016c5b22c10a856774368ff4d030907a84647a05dadafc08 SHA512 e89d4a37c0b4555a38f20bf9020355f01416a2483ff2b9535343b678442ec8547663da5e2a2fb84c32d4db621bebf7fb878df52e20fb32123985aaa9d61e44cb WHIRLPOOL 3f332ae9f5409370f9966e29418d22a57af7e1e483c6b24828afaeac8644a73dd658418e1d45d487bf8325770113a3c5593351c39852a7374bf85a481179bfc8
+DIST texlive-module-kpathsea-2013.tar.xz 30120 SHA256 1891e7c6b57aca72d2b6d749526ee49bffe62f10736875c886d7bc1e02eeb8a0 SHA512 7642cebecf5ebe916aee0f8f19d1740e3e3f234454429cb5f88d550f41ec93e8fbfebdf7de0a893bd22cec17222adc9f8c2e6756dd22b21a34ad181baf0753a9 WHIRLPOOL 8d7be24abc8485d29e3fed363d43d0da5d657d98f3de4f28e6ee2f632b0609b846f26b9ccb82fa86b42a449ce21b75742f63db7fe264a0fe2befb1a6de62055f
+DIST texlive-module-kpathsea-2014.tar.xz 30212 SHA256 41b824f75f885f5ec94996230aac840d10403168200ea681d1bd851aab8c661d SHA512 f66a933201fd9d10a47906a4c19c8a54d36a8a1f7be0e2c25a7014e0a52f094c563b6684a2c639ec96ee51aacfd6d725dd77ff50b7d8c6a7c26f45586803c999 WHIRLPOOL e97afa0286f8c4ffb11239172129c805b6d0f845c8cf9e51d1b08045590a8148b3ae3dadc398ffe8558d1e34dc30221351f07f8caf392b5210d0eee0e4b1e130
+DIST texlive-module-kpathsea-2015.tar.xz 30512 SHA256 a026c0880c1884daaeab664cc0e25a6c3325c4d2181cc946b3332716804e4a2a SHA512 7bbb389ce368decdcf8f50a352636e95584e8d6b052cbeb3b0498c88d9147807c37aa0bd81b2860c9cb11d0d0ac4e8a4eef069876fb3ef737c9ac77fac192ab0 WHIRLPOOL 99ae57ca8103eeeaaf38c969a98353fa9dbb7c7edce1389ee7c9a022107157c5193f785b7f8c99f44b66bac6c56b43c0ed06b473b23051db7936fadaa5f6032b
+DIST texlive-module-kpathsea.doc-2012.tar.xz 1092220 SHA256 df92d722d168a527669e4b093217c6595b1cb30eb65f55bbf80d29745ad9ca3b SHA512 ef455d4cf755bb7aa06f475cfc50dd00343331fb4d985334866121306eda697aed0131b0591efb94bc87710b7eb9bdd9eb0ea4d567779e2684ca33e21e8bf645 WHIRLPOOL 66e76ac53a62e120b3dc39c8e76bac29126d799ba9dc8b5963e6722f6c3c908b2fa04071416d6218f5e4e99ed4852103dc61de7e413d8502f876fecaf7f3ec8d
+DIST texlive-module-kpathsea.doc-2013.tar.xz 1086956 SHA256 2697dd13f35e0c51254c0857fecc4cf480d7ab1799325e4996e7a39380b77b38 SHA512 8bab0f70815b0298c62be560974d213c2e29b95bf06181598d976c962e1ecb66da5a3d6facd711adfd70dc1bdb64228b2916cdac568c1165324e348b0adda678 WHIRLPOOL b6ca6dd58b8b4216f4bb256aef4f206b8413afec911d42365ddfc59f10a62b4ef342eeea56ede962236fc90cd4e2a08e27f4705e892b32f8b4b427ecc8d03a4a
+DIST texlive-module-kpathsea.doc-2014.tar.xz 998516 SHA256 d3a1829dfaa17955988fe018c84849a2ff9530a313f9394535d97ddd9602a0ae SHA512 12ae3d32930e42f80ff3fa354b3bbce3716cc2cbd682be6d4a72153bff29d28006f1bf1c3d6e945778cd2caf8380fb35cad169da6a0bf1c59f45752d4dcc61cf WHIRLPOOL 159dae0fa66337e22066498ccc3bb79bebaae9b281131921b953a68e728afaa75e13ea999a74db2c6ed981f6eb6073494628c2fe9343bf8e9e96d49eeff06dab
+DIST texlive-module-kpathsea.doc-2015.tar.xz 1004596 SHA256 17d99c5a106ac6340a49c633932f9dedec5b34dcdc71f89a5e9da6bca185ed75 SHA512 1413d6c8a0e1dbf1c50446fcf6b0e3c83e3dd2f35505268c8e7a38d4c8bd97e4c46ec345c4ff9c868a01fd7d5db630498b484224094f0ac96d8f1afaf14b60b7 WHIRLPOOL 826d8601ee677c2832865b8616ce2c4673ed27b821d3537d1ba81d0ec58d770a7ed3dab9dc78be791330baa7100eac033af556cc98b9ca0f795271c1e4ec14b8
diff --git a/dev-libs/kpathsea/files/invocname.patch b/dev-libs/kpathsea/files/invocname.patch
new file mode 100644
index 000000000000..28ccc55a2960
--- /dev/null
+++ b/dev-libs/kpathsea/files/invocname.patch
@@ -0,0 +1,19 @@
+Preserve API for now. This has been renamed for TeX Live 2011.
+
+Index: texlive-20110627-source/texk/kpathsea/types.h
+===================================================================
+--- texlive-20110627-source.orig/texk/kpathsea/types.h
++++ texlive-20110627-source/texk/kpathsea/types.h
+@@ -280,8 +280,12 @@ extern KPSEDLL kpathsea kpse_def;
+
+ #undef kpse_invocation_name
+ #define kpse_invocation_name kpse_def_inst.invocation_name
++#undef program_invocation_name
++#define program_invocation_name kpse_def_inst.invocation_name
+ #undef kpse_invocation_short_name
+ #define kpse_invocation_short_name kpse_def_inst.invocation_short_name
++#undef program_invocation_short_name
++#define program_invocation_short_name kpse_def_inst.invocation_short_name
+
+ #endif /* KPSE_COMPAT_API */
+
diff --git a/dev-libs/kpathsea/files/texmf-update b/dev-libs/kpathsea/files/texmf-update
new file mode 100644
index 000000000000..a877823e7c1e
--- /dev/null
+++ b/dev-libs/kpathsea/files/texmf-update
@@ -0,0 +1,165 @@
+#!/bin/bash
+#
+# Utility to update Gentoo TeXLive distribution configuration files
+#
+
+echo "Configuring TeXLive ..."
+
+PATH=/bin:/usr/bin
+
+# Fix for all those with altered umask for root
+umask 022
+
+# Make sure we have a correct environment, bug #30432
+# The list of env. vars is taken from the INSTALL file
+for texvar in AFMFONTS BIBINPUTS BSTINPUTS DVILJFONTS DVIPSFONTS \
+ DVIPSHEADERS GFFONTS GLYPHFONTS INDEXSTYLE MFBASES MFINPUTS \
+ MFPOOL MFTINPUTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS \
+ OFMFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PKFONTS PSHEADERS \
+ T1FONTS T1INPUTS TEXBIB TEXCONFIG TEXDOCS TEXFONTMAPS TEXFONTS \
+ TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF TEXMFDBS TEXMFINI \
+ TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS TEXSOURCES TFMFONTS TRFONTS \
+ VFFONTS XDVIFONTS XDVIVFS ; do
+
+ if [ "${!texvar}" ]; then
+ if ! $(echo ${!texvar} | grep '^:\|::\|:$' &>/dev/null) ; then
+ export ${texvar}="${!texvar}:"
+ fi
+ fi
+done
+
+if [ "$TEXINPUTS" ]; then
+ if $(echo ${TEXINPUTS} | grep '/usr/share/texmf' &>/dev/null) ; then
+ export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|/usr/share/texmf/*:\?||g')
+ elif $(echo ${TEXINPUTS} | grep '/var/lib/texmf' &>/dev/null) ; then
+ export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|/var/lib/texmf/*:\?||g')
+ fi
+fi
+
+MKTEMP_COMMAND="mktemp -t tmp.XXXXXXXXXX"
+DIFF_COMMAND="cmp -s"
+TEMP_FILE="`${MKTEMP_COMMAND}`"
+
+if [ -z "${TEMP_FILE}" ]; then
+ exit
+fi
+
+# check whether config files for fmtutil and updmap have changed
+STATUS_FMTUTIL="0"
+STATUS_UPDMAP="0"
+
+if [ -d /etc/texmf/texmf.d ]; then
+ echo "Generating /etc/texmf/web2c/texmf.cnf from /etc/texmf/texmf.d ..."
+ cat /etc/texmf/texmf.d/*.cnf > "/etc/texmf/web2c/texmf.cnf"
+fi
+
+if [ -d /etc/texmf/fmtutil.d ]; then
+ echo "Generating /etc/texmf/web2c/fmtutil.cnf from /etc/texmf/fmtutil.d ..."
+ if [ -f /etc/texmf/web2c/fmtutil.cnf ]; then
+ cp -f /etc/texmf/web2c/fmtutil.cnf ${TEMP_FILE}
+ else
+ touch ${TEMP_FILE}
+ fi
+ cat /etc/texmf/fmtutil.d/*.cnf > "/etc/texmf/web2c/fmtutil.cnf"
+ ${DIFF_COMMAND} /etc/texmf/web2c/fmtutil.cnf ${TEMP_FILE}
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+else
+# if no regeneration took place:
+# always regenerate the formats to be on the safe side
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}3"
+fi
+
+if [ -d /etc/texmf/updmap.d ]; then
+ if [ -f /etc/texmf/web2c/updmap.cfg ]; then
+ cp -f /etc/texmf/web2c/updmap.cfg ${TEMP_FILE}
+ else
+ touch ${TEMP_FILE}
+ fi
+ echo "Generating /etc/texmf/web2c/updmap.cfg from /etc/texmf/updmap.d ..."
+ cat /etc/texmf/updmap.d/*.cfg > "/etc/texmf/web2c/updmap.cfg"
+ ${DIFF_COMMAND} /etc/texmf/web2c/updmap.cfg ${TEMP_FILE}
+ STATUS_UPDMAP="${STATUS_UPDMAP}$?"
+else
+# if no regeneration could be done:
+# always regenerate the maps to be on the safe side
+ STATUS_UPDMAP="${STATUS_UPDMAP}3"
+fi
+
+echo "Generating ls-R files"
+mktexlsr &>/dev/null
+
+# Generate language.dat file, from texlive install-pkg.sh
+X=`kpsewhich language.dat`
+Z=`dirname $X`
+if [ -n "$X" -a -f "$Z/language.dat" -a -f "$Z/language.us" ] ; then
+ echo "Generating language.dat file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.dat" "${TEMP_FILE}"
+
+ cat "$Z/language.us" > "$Z/language.dat"
+ for i in /etc/texmf/language.dat.d/language.*.dat; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.dat"
+ done
+
+ ${DIFF_COMMAND} "$Z/language.dat" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+# Generate language.def file.
+if [ -n "$X" -a -f "$Z/language.def" -a -f "$Z/language.us.def" ] ; then
+ echo "Generating language.def file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.def" "${TEMP_FILE}"
+
+ cat "$Z/language.us.def" > "$Z/language.def"
+ for i in /etc/texmf/language.def.d/language.*.def; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.def"
+ done
+ cat << EOF >> "$Z/language.def"
+%%% No changes may be made beyond this point.
+
+\uselanguage {USenglish} %%% This MUST be the last line of the file.
+EOF
+
+ ${DIFF_COMMAND} "$Z/language.def" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+# Generate language.dat.lua file.
+if [ -n "$X" -a -f "$Z/language.dat.lua" -a -f "$Z/language.us.lua" ] ; then
+ echo "Generating language.dat.lua file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.dat.lua" "${TEMP_FILE}"
+
+ cat "$Z/language.us.lua" > "$Z/language.dat.lua"
+ for i in /etc/texmf/language.dat.lua.d/language.*.dat.lua; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.dat.lua"
+ done
+ printf "}\n" >> "$Z/language.dat.lua"
+
+ ${DIFF_COMMAND} "$Z/language.dat.lua" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+if [ "${STATUS_FMTUTIL}" -ne 0 ] ; then
+ echo "Generating format files ..."
+ fmtutil-sys --all &>/dev/null
+else
+ echo "Skipping format files, since they are unchanged"
+fi
+
+if [ "${STATUS_UPDMAP}" -ne 0 ] ; then
+ echo "Generating font maps..."
+ updmap-sys &>/dev/null
+else
+ echo "Skipping font maps, since they are unchanged"
+fi
+
+rm -f ${TEMP_FILE}
+
+echo
+echo "Use 'texconfig font ro'(rw) to disable (enable) font generation for users"
+echo
diff --git a/dev-libs/kpathsea/files/texmf-update-r1 b/dev-libs/kpathsea/files/texmf-update-r1
new file mode 100644
index 000000000000..f97d527c720f
--- /dev/null
+++ b/dev-libs/kpathsea/files/texmf-update-r1
@@ -0,0 +1,165 @@
+#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
+#
+# Utility to update Gentoo TeXLive distribution configuration files
+#
+
+echo "Configuring TeXLive ..."
+
+PATH="@GENTOO_PORTAGE_EPREFIX@"/bin:"@GENTOO_PORTAGE_EPREFIX@"/usr/bin
+
+# Fix for all those with altered umask for root
+umask 022
+
+# Make sure we have a correct environment, bug #30432
+# The list of env. vars is taken from the INSTALL file
+for texvar in AFMFONTS BIBINPUTS BSTINPUTS DVILJFONTS DVIPSFONTS \
+ DVIPSHEADERS GFFONTS GLYPHFONTS INDEXSTYLE MFBASES MFINPUTS \
+ MFPOOL MFTINPUTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS \
+ OFMFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PKFONTS PSHEADERS \
+ T1FONTS T1INPUTS TEXBIB TEXCONFIG TEXDOCS TEXFONTMAPS TEXFONTS \
+ TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF TEXMFDBS TEXMFINI \
+ TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS TEXSOURCES TFMFONTS TRFONTS \
+ VFFONTS XDVIFONTS XDVIVFS ; do
+
+ if [ "${!texvar}" ]; then
+ if ! $(echo ${!texvar} | grep '^:\|::\|:$' &>/dev/null) ; then
+ export ${texvar}="${!texvar}:"
+ fi
+ fi
+done
+
+if [ "$TEXINPUTS" ]; then
+ if $(echo ${TEXINPUTS} | grep '@GENTOO_PORTAGE_EPREFIX@/usr/share/texmf' &>/dev/null) ; then
+ export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|@GENTOO_PORTAGE_EPREFIX@/usr/share/texmf/*:\?||g')
+ elif $(echo ${TEXINPUTS} | grep '@GENTOO_PORTAGE_EPREFIX@/var/lib/texmf' &>/dev/null) ; then
+ export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|@GENTOO_PORTAGE_EPREFIX@/var/lib/texmf/*:\?||g')
+ fi
+fi
+
+MKTEMP_COMMAND="mktemp -t tmp.XXXXXXXXXX"
+DIFF_COMMAND="cmp -s"
+TEMP_FILE="`${MKTEMP_COMMAND}`"
+
+if [ -z "${TEMP_FILE}" ]; then
+ exit
+fi
+
+# check whether config files for fmtutil and updmap have changed
+STATUS_FMTUTIL="0"
+STATUS_UPDMAP="0"
+
+if [ -d "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/texmf.d ]; then
+ echo "Generating @GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/texmf.cnf from @GENTOO_PORTAGE_EPREFIX@/etc/texmf/texmf.d ..."
+ cat "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/texmf.d/*.cnf > "@GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/texmf.cnf"
+fi
+
+if [ -d "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/fmtutil.d ]; then
+ echo "Generating @GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/fmtutil.cnf from @GENTOO_PORTAGE_EPREFIX@/etc/texmf/fmtutil.d ..."
+ if [ -f "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/fmtutil.cnf ]; then
+ cp -f "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/fmtutil.cnf ${TEMP_FILE}
+ else
+ touch ${TEMP_FILE}
+ fi
+ cat "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/fmtutil.d/*.cnf > "@GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/fmtutil.cnf"
+ ${DIFF_COMMAND} "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/fmtutil.cnf ${TEMP_FILE}
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+else
+# if no regeneration took place:
+# always regenerate the formats to be on the safe side
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}3"
+fi
+
+if [ -d "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/updmap.d ]; then
+ if [ -f "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/updmap.cfg ]; then
+ cp -f "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/updmap.cfg ${TEMP_FILE}
+ else
+ touch ${TEMP_FILE}
+ fi
+ echo "Generating @GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/updmap.cfg from @GENTOO_PORTAGE_EPREFIX@/etc/texmf/updmap.d ..."
+ cat "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/updmap.d/*.cfg > "@GENTOO_PORTAGE_EPREFIX@/etc/texmf/web2c/updmap.cfg"
+ ${DIFF_COMMAND} "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/web2c/updmap.cfg ${TEMP_FILE}
+ STATUS_UPDMAP="${STATUS_UPDMAP}$?"
+else
+# if no regeneration could be done:
+# always regenerate the maps to be on the safe side
+ STATUS_UPDMAP="${STATUS_UPDMAP}3"
+fi
+
+echo "Generating ls-R files"
+mktexlsr &>/dev/null
+
+# Generate language.dat file, from texlive install-pkg.sh
+X=`kpsewhich language.dat`
+Z=`dirname $X`
+if [ -n "$X" -a -f "$Z/language.dat" -a -f "$Z/language.us" ] ; then
+ echo "Generating language.dat file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.dat" "${TEMP_FILE}"
+
+ cat "$Z/language.us" > "$Z/language.dat"
+ for i in "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/language.dat.d/language.*.dat; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.dat"
+ done
+
+ ${DIFF_COMMAND} "$Z/language.dat" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+# Generate language.def file.
+if [ -n "$X" -a -f "$Z/language.def" -a -f "$Z/language.us.def" ] ; then
+ echo "Generating language.def file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.def" "${TEMP_FILE}"
+
+ cat "$Z/language.us.def" > "$Z/language.def"
+ for i in "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/language.def.d/language.*.def; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.def"
+ done
+ cat << EOF >> "$Z/language.def"
+%%% No changes may be made beyond this point.
+
+\uselanguage {USenglish} %%% This MUST be the last line of the file.
+EOF
+
+ ${DIFF_COMMAND} "$Z/language.def" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+# Generate language.dat.lua file.
+if [ -n "$X" -a -f "$Z/language.dat.lua" -a -f "$Z/language.us.lua" ] ; then
+ echo "Generating language.dat.lua file"
+
+ # Save the old one, we will check if it has changed
+ cp -f "$Z/language.dat.lua" "${TEMP_FILE}"
+
+ cat "$Z/language.us.lua" > "$Z/language.dat.lua"
+ for i in "@GENTOO_PORTAGE_EPREFIX@"/etc/texmf/language.dat.lua.d/language.*.dat.lua; do
+ [ -f "$i" ] && cat "$i" >> "$Z/language.dat.lua"
+ done
+ printf "}\n" >> "$Z/language.dat.lua"
+
+ ${DIFF_COMMAND} "$Z/language.dat.lua" "${TEMP_FILE}"
+ STATUS_FMTUTIL="${STATUS_FMTUTIL}$?"
+fi
+
+if [ "${STATUS_FMTUTIL}" -ne 0 ] ; then
+ echo "Generating format files ..."
+ fmtutil-sys --all &>/dev/null
+else
+ echo "Skipping format files, since they are unchanged"
+fi
+
+if [ "${STATUS_UPDMAP}" -ne 0 ] ; then
+ echo "Generating font maps..."
+ updmap-sys &>/dev/null
+else
+ echo "Skipping font maps, since they are unchanged"
+fi
+
+rm -f ${TEMP_FILE}
+
+echo
+echo "Use 'texconfig font ro'(rw) to disable (enable) font generation for users"
+echo
diff --git a/dev-libs/kpathsea/kpathsea-6.1.0_p20120701.ebuild b/dev-libs/kpathsea/kpathsea-6.1.0_p20120701.ebuild
new file mode 100644
index 000000000000..677e3a00e0a6
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.1.0_p20120701.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit texlive-common eutils libtool
+
+TEXMFD_VERSION="4"
+
+DESCRIPTION="Library implementing generic path searching, configuration, and TeX-specific file searching"
+HOMEPAGE="http://tug.org/texlive/"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
+ mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc source static-libs"
+
+DEPEND="!<app-text/texlive-core-2010
+ !app-text/ptex"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_VERSION=2012
+EXTRA_TL_MODULES="kpathsea"
+EXTRA_TL_DOC_MODULES="kpathsea.doc"
+
+for i in ${EXTRA_TL_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${EXTRA_TL_DOC_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+SRC_URI="${SRC_URI} ) "
+
+src_prepare() {
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf/web2c" install
+ find "${D}" -name '*.la' -delete
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dodir /var/cache/fonts
+ fperms 1777 /var/cache/fonts
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf"
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf"
+
+ dosym /etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym /etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc BUGS ChangeLog NEWS PROJECTS README
+}
+
+pkg_postinst() {
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/kpathsea-6.1.1_p20130530.ebuild b/dev-libs/kpathsea/kpathsea-6.1.1_p20130530.ebuild
new file mode 100644
index 000000000000..a1291cd1f959
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.1.1_p20130530.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit texlive-common eutils libtool prefix
+
+TEXMFD_VERSION="5"
+
+DESCRIPTION="Library implementing generic path searching, configuration, and TeX-specific file searching"
+HOMEPAGE="http://tug.org/texlive/"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
+ mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc source static-libs"
+
+DEPEND="!<app-text/texlive-core-2013
+ !app-text/ptex"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_VERSION=2013
+EXTRA_TL_MODULES="kpathsea"
+EXTRA_TL_DOC_MODULES="kpathsea.doc"
+
+for i in ${EXTRA_TL_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${EXTRA_TL_DOC_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+SRC_URI="${SRC_URI} ) "
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+src_prepare() {
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+ cp "${FILESDIR}/texmf-update-r1" "${S}"/texmf-update
+ eprefixify "${S}"/texmf-update
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
+ find "${D}" -name '*.la' -delete
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dodir /var/cache/fonts
+ fperms 1777 /var/cache/fonts
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf"
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf"
+
+ dosym /etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym /etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ newsbin "${S}/texmf-update" texmf-update
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc BUGS ChangeLog NEWS PROJECTS README
+}
+
+pkg_postinst() {
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/kpathsea-6.2.0_p20140525.ebuild b/dev-libs/kpathsea/kpathsea-6.2.0_p20140525.ebuild
new file mode 100644
index 000000000000..2d0cb5f91c05
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.2.0_p20140525.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit texlive-common eutils libtool prefix
+
+TEXMFD_VERSION="6"
+
+DESCRIPTION="Library implementing generic path searching, configuration, and TeX-specific file searching"
+HOMEPAGE="http://tug.org/texlive/"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
+ mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV%_p*}"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc source static-libs"
+
+DEPEND="!<app-text/texlive-core-2013
+ !app-text/ptex"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_VERSION=2014
+EXTRA_TL_MODULES="kpathsea"
+EXTRA_TL_DOC_MODULES="kpathsea.doc"
+
+for i in ${EXTRA_TL_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${EXTRA_TL_DOC_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+SRC_URI="${SRC_URI} ) "
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+src_prepare() {
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+ cp "${FILESDIR}/texmf-update-r1" "${S}"/texmf-update
+ eprefixify "${S}"/texmf-update
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
+ find "${D}" -name '*.la' -delete
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dodir /var/cache/fonts
+ fperms 1777 /var/cache/fonts
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf"
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf"
+
+ dosym /etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym /etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ newsbin "${S}/texmf-update" texmf-update
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc ChangeLog NEWS PROJECTS README
+}
+
+pkg_postinst() {
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/kpathsea-6.2.1_p20150521.ebuild b/dev-libs/kpathsea/kpathsea-6.2.1_p20150521.ebuild
new file mode 100644
index 000000000000..2a3e6cb0aa36
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.2.1_p20150521.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit texlive-common eutils libtool prefix
+
+TEXMFD_VERSION="7"
+
+DESCRIPTION="Library implementing generic path searching, configuration, and TeX-specific file searching"
+HOMEPAGE="http://tug.org/texlive/"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
+ mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc source static-libs"
+
+DEPEND="!<app-text/texlive-core-2013
+ !app-text/ptex"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_VERSION=2015
+EXTRA_TL_MODULES="kpathsea"
+EXTRA_TL_DOC_MODULES="kpathsea.doc"
+
+for i in ${EXTRA_TL_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${EXTRA_TL_DOC_MODULES} ; do
+ SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
+done
+SRC_URI="${SRC_URI} ) "
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+src_prepare() {
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+ cp "${FILESDIR}/texmf-update-r1" "${S}"/texmf-update
+ eprefixify "${S}"/texmf-update
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
+ find "${D}" -name '*.la' -delete
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dodir /var/cache/fonts
+ fperms 1777 /var/cache/fonts
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf"
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf"
+
+ dosym /etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym /etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ newsbin "${S}/texmf-update" texmf-update
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc ChangeLog NEWS PROJECTS README
+}
+
+pkg_postinst() {
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/metadata.xml b/dev-libs/kpathsea/metadata.xml
new file mode 100644
index 000000000000..709c45b017d6
--- /dev/null
+++ b/dev-libs/kpathsea/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tex</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/kqoauth/Manifest b/dev-libs/kqoauth/Manifest
new file mode 100644
index 000000000000..96b792cd56f9
--- /dev/null
+++ b/dev-libs/kqoauth/Manifest
@@ -0,0 +1 @@
+DIST kqoauth-0.98.tar.gz 37059 SHA256 9d6c43d98bda559cf4fbb055843a46479e08381527a317edcd9823f2b4990671 SHA512 f89e0f046fb7fd7812548f94c460d7c18d4881972e155a99e07503e97fd46b6eada0de9f2c3a94af33ef5b1b3b489bbd5dc6738cee104fe2d11ed62e681c7979 WHIRLPOOL 3a955f7ef9ebd5e5c4e7ff8a6885623ec231a4e8048dced58f480db8063aa854043184ecaa051c1fde8a85d2e8f0aaf1ecd60a98ce05c10f0186dd2d95b76e08
diff --git a/dev-libs/kqoauth/kqoauth-0.98-r1.ebuild b/dev-libs/kqoauth/kqoauth-0.98-r1.ebuild
new file mode 100644
index 000000000000..51ed29588ead
--- /dev/null
+++ b/dev-libs/kqoauth/kqoauth-0.98-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2 vcs-snapshot
+
+DESCRIPTION="Library for Qt that implements the OAuth 1.0 authentication specification"
+HOMEPAGE="https://github.com/kypeli/kQOAuth"
+SRC_URI="https://github.com/kypeli/kQOAuth/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # prevent tests from beeing built at src_compile
+ sed -i -e '/SUBDIRS/s/ tests//' ${PN}.pro || die "sed on ${PN}.pro failed"
+ # respect libdir
+ sed -e 's:{INSTALL_PREFIX}/lib:[QT_INSTALL_LIBS]:g' -i src/src.pro || die "sed on src.pro failed"
+
+ qt4-r2_src_prepare
+}
diff --git a/dev-libs/kqoauth/kqoauth-0.98.ebuild b/dev-libs/kqoauth/kqoauth-0.98.ebuild
new file mode 100644
index 000000000000..ba411804d98f
--- /dev/null
+++ b/dev-libs/kqoauth/kqoauth-0.98.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2 vcs-snapshot
+
+DESCRIPTION="Library for Qt that implements the OAuth 1.0 authentication specification"
+HOMEPAGE="https://github.com/kypeli/kQOAuth"
+SRC_URI="https://github.com/kypeli/kQOAuth/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # prevent tests from beeing built at src_compile
+ sed -i -e '/SUBDIRS/s/ tests//' ${PN}.pro || die "sed on ${PN}.pro failed"
+
+ qt4-r2_src_prepare
+}
diff --git a/dev-libs/kqoauth/metadata.xml b/dev-libs/kqoauth/metadata.xml
new file mode 100644
index 000000000000..d5189377d9b8
--- /dev/null
+++ b/dev-libs/kqoauth/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>leechcraft</herd>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kypeli/kQOAuth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/legousbtower/Manifest b/dev-libs/legousbtower/Manifest
new file mode 100644
index 000000000000..c95b94d4947b
--- /dev/null
+++ b/dev-libs/legousbtower/Manifest
@@ -0,0 +1 @@
+DIST legousbtower-0.5.4.tar.gz 22782 SHA256 8f61267ab2036d1936fe70f49b454a23e151021bbcd7d4ed1663810bdee7f8bb SHA512 169cf31d4585bf3b7bd9aded76d202bb14e285f644f8aa10a6f4bf6d99e6f28efc33c65922388cdfa17a1bfc0dbc777edc1fb45484155543a42117eaba6fb7e7 WHIRLPOOL f98e4639828454b5a8c347a6b8b099802af194c0574ab52407e76dc188b780fc15dfef9f6b60f683f1121ba033a3f29f9e2ffdacb9dfa4e0a574f154312ef7d2
diff --git a/dev-libs/legousbtower/files/20-lego.rules b/dev-libs/legousbtower/files/20-lego.rules
new file mode 100644
index 000000000000..ddd5470b9315
--- /dev/null
+++ b/dev-libs/legousbtower/files/20-lego.rules
@@ -0,0 +1 @@
+SYSFS{product}=="LEGO USB Tower", NAME="usb/%k", SYMLINK="usb/lego%n", GROUP="usb"
diff --git a/dev-libs/legousbtower/legousbtower-0.5.4.ebuild b/dev-libs/legousbtower/legousbtower-0.5.4.ebuild
new file mode 100644
index 000000000000..feeb25ec6171
--- /dev/null
+++ b/dev-libs/legousbtower/legousbtower-0.5.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit linux-mod
+
+DESCRIPTION="The lego mindstorms usb tower headers and/or modules"
+SRC_URI="mirror://sourceforge/legousb/${P}.tar.gz"
+HOMEPAGE="http://legousb.sourceforge.net/"
+
+SLOT="0"
+LICENSE="MPL-1.0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+src_compile()
+{
+ if [ ${KV_MINOR} -eq 4 ] ; then
+ econf || die "Configuration failed"
+ emake || die "Compilation failed"
+ fi
+}
+
+src_install() {
+ if [ ${KV_MINOR} -eq 4 ] ; then
+ einstall || die "Make Install Failed"
+ else
+ insinto /usr/include/LegoUSB
+ doins include/legousbtower.h
+ insinto /lib/udev/rules.d
+ doins "${FILESDIR}"/20-lego.rules
+ fi
+ dodoc README
+}
+
+pkg_postinst() {
+ if [ ${KV_MINOR} -eq 4 ] ; then
+ elog "You are using the 2.4 kernel series."
+ elog "These are unsupported."
+ else
+ elog "You are using the 2.6 kernel series."
+ elog "This package only provides the header file."
+ elog "You need to enable the lego usb tower option in the kernel."
+ fi
+}
diff --git a/dev-libs/legousbtower/metadata.xml b/dev-libs/legousbtower/metadata.xml
new file mode 100644
index 000000000000..93565528cbf4
--- /dev/null
+++ b/dev-libs/legousbtower/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ <name>Default assignee for orphaned packages</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">legousb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/leveldb/Manifest b/dev-libs/leveldb/Manifest
new file mode 100644
index 000000000000..017cd05794fc
--- /dev/null
+++ b/dev-libs/leveldb/Manifest
@@ -0,0 +1,9 @@
+DIST leveldb-1.10.0.tar.gz 204270 SHA256 84a4ab34671e1271d895f093932f8c8cfecb45b2e085da738671599825d12f62 SHA512 ba9829a203c25d00184b77382ee8db6b383058c527771a795443e0d3ae02b93dd29c3362f12fd89b08ac24f784b7ed2f3e3325b30abe2763df1cc9e4b8a12948 WHIRLPOOL d9b46a0f6586203091f2b89e4d141f8c7ba65ea994a2352d7f063796f50ba0e7a8c2d3a93ac2591a554b293ac8cb8a6eb26bfb2879f8859cb985db2cfd5985ae
+DIST leveldb-1.11.0.tar.gz 205413 SHA256 f2eaffcb60d6368088a7ef0c2b889132ea42483fed541a7601fa22e54a8839ac SHA512 2b01227d3339d5ab09a6488e43f4b92f1c8f23d9d9b3a1636710aadfebb2a291622b83d636c96314a651f7a774ec39b404490dcf7cd4ac6ec2997d5d651582aa WHIRLPOOL 410e0433a3eaabc838af22e6667c07e639c64da0143cc4af4ca88bb44dc74dabd749e90d2bb5766a448d8c0e952f7a099a593a558eb89cf43cab4f0404cd6ad1
+DIST leveldb-1.12.0.tar.gz 205436 SHA256 a50b44bcae9680c2872081df98395a34a1ac3162ea41f646676e53fb5f691108 SHA512 b0798ecc598a7dcee38887867521face02b11ec93bc55e28fb3e1e16fb9c4d2068564f7779849a0dc0d758ee9665c2297c004947bedd149e392c129fc39a921f WHIRLPOOL 834777dfa5f7e6ecfd1360185ac31389d8e2c92679f496f6925b902caccb42fa05523016bbb6908ffe2ad8c543d2c14f7913a79384f5e8aa05a75efd5be58cc4
+DIST leveldb-1.13.0.tar.gz 207718 SHA256 083497a48ff54a3470ab5085730306a536013c0db54db6854bd9c8638c4f33f7 SHA512 f7fd7421a0c00fadae44cae4be8a473a8827472229bf95aed0642401943f4fdf3d14026270dce59cd7bda2b2a2856d92c253a360c80ea8188a3fb52985b7e3e9 WHIRLPOOL a30a26bb40cf2573f5b135bbb28761f49ade8b478c5862462ce37b875d16802d01c2801353ec418db19d2f55c65fa3ef7e4fa63afaf4f3926dd19b471bc56487
+DIST leveldb-1.14.0.tar.gz 208282 SHA256 9122d2c248ba40d6ce46d0c3e4738fcfa941d0d93fdba20a101471a98e8b00a3 SHA512 c8dc837b77b7aa0be4fca03f31061685534d4280c59b929e5c3e7ef9ceb29e7ea75f8836a55c9df49cd3bc67143d91a2512fc5d9a181f440ec4961a256c77108 WHIRLPOOL 445589cb1f6f540a5a0cc395907f04bb785ea98441d6c9ea19eee6888ebbcc659cf9b9a44a87693336b9cf14a0645de43c0761ad9aafadbd33f157ef05687a6e
+DIST leveldb-1.15.0.tar.gz 205691 SHA256 d7c4ec571ef2ee9719f31db06344a1eba495e6abeeac1bc349d0d38a911c6680 SHA512 af5b18a7750ac553659075c1c34aa2fddf6322b6837f096589cf5908c7050fd19053cd98d19fd7097e0840392b318f0166360d3a0595adcaaabcfdf393246775 WHIRLPOOL 10136e1b8686ef2993e4b45b371bf749972fe84e0cd615bf18fc85de676e589951689adefc3a14625e66cf6cc4f70ffd99bf0c832209a97ceccee834853a7503
+DIST leveldb-1.17.tar.gz 207037 SHA256 a538ccdc5b9d42f7d64578d186eb17dc3a1b3dbbb3c14bbe0cbff961456bddd1 SHA512 d35401a92fa2b59c46e97ab94a9c70d0d5f97dbc7868a75354e088489338c078f47feaa3371489c481317b45ace6bd207d29676f5c18076ced86aa3f9fa44e58 WHIRLPOOL c3790b0cb38219cd609d9efe0568f47cd31515334ef1cbaff7e5efb97b300de113509833978688ae22d94aa7c9a0aa8c4d35268de1cb678a974dce6f7607a91f
+DIST leveldb-1.18.tar.gz 209376 SHA256 4aa1a7479bc567b95a59ac6fb79eba49f61884d6fd400f20b7af147d54c5cee5 SHA512 3d9c55a7bf8692914784ec33c273704ce9978496b071c7b661708f049d0d4ccd51a44441f50c3e536725caeb9896575192f52708a4bb1c0222cecdeec89919a3 WHIRLPOOL 3d6434919d49b23e6ae7305c189a8823032d9f350fbf429513e4ec851ee3974b4a272c9fc5265d551e849f8929266d8b40698951c6b55b333d7e37b2d5819cad
+DIST leveldb-1.9.0.tar.gz 203872 SHA256 b2699b04e5aba8e98382c4955b94725d1f76bd0b5decd60c5628205b717a1d4f SHA512 47b0a3272eef2d677ddeb8d0c973e59a1be4bff580528c3bc3f83a654f41485ecc86892d9124ce21ef747c220f98cdad687436849dc978adfd42f8c8c05b9160 WHIRLPOOL 301ba45968095420ff72da36f128bd916d4e039385270eecd8e077aac3781ed12931c9a7d426842e197fd62a99ad6477e5eabbca7524fcba2a185a702f4ef22a
diff --git a/dev-libs/leveldb/files/leveldb-1.18-configure.patch b/dev-libs/leveldb/files/leveldb-1.18-configure.patch
new file mode 100644
index 000000000000..ba30fc731ad5
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.18-configure.patch
@@ -0,0 +1,52 @@
+we'll handle configure ourselves in src_configure
+
+--- a/Makefile
++++ b/Makefile
+@@ -14,9 +14,6 @@ OPT ?= -O2 -DNDEBUG
+ # OPT ?= -O2 -g2 -DNDEBUG
+ #-----------------------------------------------
+
+-# detect what platform we're building on
+-$(shell CC="$(CC)" CXX="$(CXX)" TARGET_OS="$(TARGET_OS)" \
+- ./build_detect_platform build_config.mk ./)
+ # this file is generated by the previous line to set build flags and sources
+ include build_config.mk
+
+
+control snappy/tcmalloc explicitly
+
+--- a/build_detect_platform
++++ a/build_detect_platform
+@@ -190,6 +190,7 @@
+ COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX"
+ fi
+
++if [ "${USE_SNAPPY:-auto}" = "auto" ]; then
+ # Test whether Snappy library is installed
+ # http://code.google.com/p/snappy/
+ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT 2>/dev/null <<EOF
+@@ -197,15 +198,24 @@
+ int main() {}
+ EOF
+ if [ "$?" = 0 ]; then
++ USE_SNAPPY="yes"
++ fi
++fi
++ if [ "$USE_SNAPPY" = "yes" ]; then
+ COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY"
+ PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
+ fi
+
++if [ "${USE_TCMALLOC:-auto}" = "auto" ]; then
+ # Test whether tcmalloc is available
+ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF
+ int main() {}
+ EOF
+ if [ "$?" = 0 ]; then
++ USE_TCMALLOC="yes"
++ fi
++fi
++ if [ "$USE_TCMALLOC" = "yes" ]; then
+ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
+ fi
+
diff --git a/dev-libs/leveldb/files/leveldb-1.18-mips.patch b/dev-libs/leveldb/files/leveldb-1.18-mips.patch
new file mode 100644
index 000000000000..379223d210b6
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.18-mips.patch
@@ -0,0 +1,48 @@
+https://github.com/google/leveldb/pull/272
+
+From f216400e702a51c900f2ce0285fdd6a21d3dd87b Mon Sep 17 00:00:00 2001
+From: Ben Chan <benchan@chromium.org>
+Date: Thu, 11 Sep 2014 21:38:48 -0700
+Subject: [PATCH] CHROMIUMOS: Add memory barrier implementation for MIPS.
+
+This CL is based on the patch authored by David Turner <digit@google.com>,
+see https://code.google.com/p/leveldb/issues/detail?id=109
+
+BUG=chromium:413517
+TEST=`emerge-{x86,amd64,arm,mipsel-o32}-generic leveldb`
+
+Reviewed-on: https://chromium-review.googlesource.com/217834
+---
+ port/atomic_pointer.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h
+index 35ae550..341909e 100644
+--- a/port/atomic_pointer.h
++++ b/port/atomic_pointer.h
+@@ -36,6 +36,8 @@
+ #define ARCH_CPU_X86_FAMILY 1
+ #elif defined(__ARMEL__)
+ #define ARCH_CPU_ARM_FAMILY 1
++#elif defined(__mips__)
++#define ARCH_CPU_MIPS_FAMILY 1
+ #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
+ #define ARCH_CPU_PPC_FAMILY 1
+ #endif
+@@ -83,6 +85,13 @@ inline void MemoryBarrier() {
+ }
+ #define LEVELDB_HAVE_MEMORY_BARRIER
+
++// MIPS
++#elif defined(ARCH_CPU_MIPS_FAMILY) && defined(__GNUC__)
++inline void MemoryBarrier() {
++ __asm__ __volatile__("sync" : : : "memory");
++}
++#define LEVELDB_HAVE_MEMORY_BARRIER
++
+ #endif
+
+ // AtomicPointer built using platform-specific MemoryBarrier()
+--
+2.3.0
+
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch b/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch
new file mode 100644
index 000000000000..d25fe01f6835
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch
@@ -0,0 +1,35 @@
+diff --git a/build_detect_platform b/build_detect_platform
+index 5801d20..4b4bb0d 100755
+--- a/build_detect_platform
++++ b/build_detect_platform
+@@ -169,20 +169,30 @@ EOF
+
+ # Test whether Snappy library is installed
+ # http://code.google.com/p/snappy/
++if [ "${USE_SNAPPY:-auto}" = "auto" ]; then
+ $CXX $CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
+ #include <snappy.h>
+ int main() {}
+ EOF
+ if [ "$?" = 0 ]; then
++ USE_SNAPPY="yes"
++ fi
++fi
++ if [ "$USE_SNAPPY" = "yes" ]; then
+ COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY"
+ PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
+ fi
+
+ # Test whether tcmalloc is available
++if [ "${USE_TCMALLOC:-auto}" = "auto" ]; then
+ $CXX $CXXFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null <<EOF
+ int main() {}
+ EOF
+ if [ "$?" = 0 ]; then
++ USE_TCMALLOC="yes"
++ fi
++fi
++ if [ "$USE_TCMALLOC" = "yes" ]; then
+ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
+ fi
+ fi
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch b/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch
new file mode 100644
index 000000000000..1c21dbe09ff5
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch
@@ -0,0 +1,81 @@
+diff -ur leveldb-1.9.0.orig/db/db_test.cc leveldb-1.9.0/db/db_test.cc
+--- leveldb-1.9.0.orig/db/db_test.cc 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/db/db_test.cc 2014-03-28 22:58:59.000000000 +0000
+@@ -139,7 +139,7 @@
+
+ Status s = target()->NewWritableFile(f, r);
+ if (s.ok()) {
+- if (strstr(f.c_str(), ".sst") != NULL) {
++ if (strstr(f.c_str(), ".sst") != NULL || strstr(f.c_str(), ".ldb") != NULL) {
+ *r = new SSTableFile(this, *r);
+ } else if (strstr(f.c_str(), "MANIFEST") != NULL) {
+ *r = new ManifestFile(this, *r);
+diff -ur leveldb-1.9.0.orig/db/filename.cc leveldb-1.9.0/db/filename.cc
+--- leveldb-1.9.0.orig/db/filename.cc 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/db/filename.cc 2014-03-28 23:07:48.000000000 +0000
+@@ -34,6 +34,11 @@
+ return MakeFileName(name, number, "sst");
+ }
+
++std::string LDBTableFileName(const std::string& name, uint64_t number) {
++ assert(number > 0);
++ return MakeFileName(name, number, "ldb");
++}
++
+ std::string DescriptorFileName(const std::string& dbname, uint64_t number) {
+ assert(number > 0);
+ char buf[100];
+@@ -106,7 +111,7 @@
+ Slice suffix = rest;
+ if (suffix == Slice(".log")) {
+ *type = kLogFile;
+- } else if (suffix == Slice(".sst")) {
++ } else if (suffix == Slice(".sst") || suffix == Slice(".ldb")) {
+ *type = kTableFile;
+ } else if (suffix == Slice(".dbtmp")) {
+ *type = kTempFile;
+diff -ur leveldb-1.9.0.orig/db/filename.h leveldb-1.9.0/db/filename.h
+--- leveldb-1.9.0.orig/db/filename.h 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/db/filename.h 2014-03-28 23:07:43.000000000 +0000
+@@ -36,6 +36,7 @@
+ // in the db named by "dbname". The result will be prefixed with
+ // "dbname".
+ extern std::string TableFileName(const std::string& dbname, uint64_t number);
++extern std::string LDBTableFileName(const std::string& dbname, uint64_t number);
+
+ // Return the name of the descriptor file for the db named by
+ // "dbname" and the specified incarnation number. The result will be
+diff -ur leveldb-1.9.0.orig/db/repair.cc leveldb-1.9.0/db/repair.cc
+--- leveldb-1.9.0.orig/db/repair.cc 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/db/repair.cc 2014-03-28 23:13:28.000000000 +0000
+@@ -263,6 +263,14 @@
+ std::string fname = TableFileName(dbname_, t->meta.number);
+ int counter = 0;
+ Status status = env_->GetFileSize(fname, &t->meta.file_size);
++ if (!status.ok()) {
++ // Try alternate file name.
++ fname = LDBTableFileName(dbname_, t->meta.number);
++ Status s2 = env_->GetFileSize(fname, &t->meta.file_size);
++ if (s2.ok()) {
++ status = Status::OK();
++ }
++ }
+ if (status.ok()) {
+ Iterator* iter = table_cache_->NewIterator(
+ ReadOptions(), t->meta.number, t->meta.file_size);
+diff -ur leveldb-1.9.0.orig/db/table_cache.cc leveldb-1.9.0/db/table_cache.cc
+--- leveldb-1.9.0.orig/db/table_cache.cc 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/db/table_cache.cc 2014-03-28 23:12:39.000000000 +0000
+@@ -54,6 +54,12 @@
+ RandomAccessFile* file = NULL;
+ Table* table = NULL;
+ s = env_->NewRandomAccessFile(fname, &file);
++ if (!s.ok()) {
++ std::string ldb_fname = LDBTableFileName(dbname_, file_number);
++ if (env_->NewRandomAccessFile(ldb_fname, &file).ok()) {
++ s = Status::OK();
++ }
++ }
+ if (s.ok()) {
+ s = Table::Open(*options_, file, file_size, &table);
+ }
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch b/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch
new file mode 100644
index 000000000000..0df587a3f9c9
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch
@@ -0,0 +1,60 @@
+--- leveldb-1.9.0.orig/Makefile 2013-01-07 21:07:29.000000000 +0000
++++ leveldb-1.9.0/Makefile 2014-03-28 22:11:05.000000000 +0000
+@@ -61,37 +61,45 @@
+ # Should we build shared libraries?
+ ifneq ($(PLATFORM_SHARED_EXT),)
+
++SHARED1 = $(PLATFORM_SHARED_EXT)
++
+ ifneq ($(PLATFORM_SHARED_VERSIONED),true)
+-SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
+ SHARED2 = $(SHARED1)
+ SHARED3 = $(SHARED1)
+-SHARED = $(SHARED1)
++SHARED=%.$(SHARED1)
+ else
+ # Update db.h if you change these.
+ SHARED_MAJOR = 1
+ SHARED_MINOR = 9
+-SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
+ SHARED2 = $(SHARED1).$(SHARED_MAJOR)
+ SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR)
+-SHARED = $(SHARED1) $(SHARED2) $(SHARED3)
+-$(SHARED1): $(SHARED3)
+- ln -fs $(SHARED3) $(SHARED1)
+-$(SHARED2): $(SHARED3)
+- ln -fs $(SHARED3) $(SHARED2)
++SHARED=%.$(SHARED1) %.$(SHARED2) %.$(SHARED3)
++%.$(SHARED1): %.$(SHARED3)
++ ln -fs $< $@
++%.$(SHARED2): %.$(SHARED3)
++ ln -fs $< $@
+ endif
+
+-$(SHARED3):
+- $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SOURCES) -o $(SHARED3) $(LIBS)
++%.SHARED: $(SHARED)
++ @true
++
++%.$(SHARED3):
++ $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$*.$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $^ -o $@ $(LIBS)
++
++libleveldb.$(SHARED3): $(SOURCES)
++libmemenv.$(SHARED3): $(MEMENV_SOURCES)
++
++.SECONDARY: $(subst %,libleveldb,$(SHARED)) $(subst %,libmemenv,$(SHARED))
+
+ endif # PLATFORM_SHARED_EXT
+
+-all: $(SHARED) $(LIBRARY)
++all: libleveldb.SHARED $(LIBRARY)
+
+ check: all $(PROGRAMS) $(TESTS)
+ for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
+
+ clean:
+- -rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(SHARED) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
++ -rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(subst %,libleveldb,$(SHARED)) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
+ -rm -rf ios-x86/* ios-arm/*
+
+ $(LIBRARY): $(LIBOBJECTS)
diff --git a/dev-libs/leveldb/leveldb-1.10.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..79db7a2a2680
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.10.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.11.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.11.0-r1.ebuild
new file mode 100644
index 000000000000..79db7a2a2680
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.11.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.12.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..79db7a2a2680
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.12.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.13.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.13.0-r1.ebuild
new file mode 100644
index 000000000000..79db7a2a2680
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.13.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.14.0.ebuild b/dev-libs/leveldb/leveldb-1.14.0.ebuild
new file mode 100644
index 000000000000..7d05e71e60b1
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.14.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild
new file mode 100644
index 000000000000..4008eff31828
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cp "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" "${S}/patch"
+ sed -i 's/\(^ SHARED_MINOR =\).*/\1 15/' "${S}/patch"
+ epatch "${S}/patch"
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a libmemenv.SHARED
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+ dolib.so libmemenv*$(get_libname)*
+}
diff --git a/dev-libs/leveldb/leveldb-1.15.0.ebuild b/dev-libs/leveldb/leveldb-1.15.0.ebuild
new file mode 100644
index 000000000000..7d05e71e60b1
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.15.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.17.ebuild b/dev-libs/leveldb/leveldb-1.17.ebuild
new file mode 100644
index 000000000000..a80706c56823
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.17.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator
+
+GITCRAP="e353fbc7ea81"
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+#SRC_URI="https://${PN}.googlecode.com/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="http://dev.gentoo.org/~floppym/dist/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-${GITCRAP}"
+
+src_prepare() {
+ local SHARED_MINOR=$(get_version_component_range 2)
+ cp "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" "${S}/patch"
+ sed -i "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" "${S}/patch"
+ epatch "${S}/patch"
+
+ # lacks execution bit
+ chmod +x "${S}"/build_detect_platform || die
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a libmemenv.SHARED
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+ dolib.so libmemenv*$(get_libname)*
+}
diff --git a/dev-libs/leveldb/leveldb-1.18-r1.ebuild b/dev-libs/leveldb/leveldb-1.18-r1.ebuild
new file mode 100644
index 000000000000..6eed5f75a689
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.18-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="http://leveldb.org/ https://github.com/google/leveldb"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.18-mips.patch
+ epatch "${FILESDIR}"/${PN}-1.18-configure.patch #541186
+
+ local SHARED_MINOR=$(get_version_component_range 2)
+ sed \
+ -e "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" \
+ "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" > memenv-so.patch
+ epatch memenv-so.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+
+ TARGET_OS="Linux" \
+ USE_SNAPPY=$(usex snappy) \
+ USE_TCMALLOC=no \
+ TMPDIR=${T} \
+ sh -x ./build_detect_platform build_config.mk ./
+}
+
+src_compile() {
+ emake $(usex static-libs 'libmemenv.a' 'LIBRARY=') all libmemenv.SHARED
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/*
+ # This matches the path Debian picked. Upstream provides no guidance.
+ insinto /usr/include/leveldb/helpers
+ doins helpers/memenv/memenv.h
+
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a libmemenv.a
+ dolib.so libmemenv*$(get_libname)*
+}
diff --git a/dev-libs/leveldb/leveldb-1.18.ebuild b/dev-libs/leveldb/leveldb-1.18.ebuild
new file mode 100644
index 000000000000..65427878977e
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.18.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.18-mips.patch
+
+ local SHARED_MINOR=$(get_version_component_range 2)
+ sed \
+ -e "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" \
+ "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" > memenv-so.patch
+ epatch memenv-so.patch
+
+ # lacks execution bit
+ chmod +x build_detect_platform || die
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs 'libmemenv.a' 'LIBRARY=') all libmemenv.SHARED
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a libmemenv.a
+ dolib.so libmemenv*$(get_libname)*
+}
diff --git a/dev-libs/leveldb/leveldb-1.9.0-r5.ebuild b/dev-libs/leveldb/leveldb-1.9.0-r5.ebuild
new file mode 100644
index 000000000000..7c76f69ffee1
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.9.0-r5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ~ppc64 x86"
+IUSE="+snappy static-libs"
+
+DEPEND="
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-configure.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild b/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild
new file mode 100644
index 000000000000..b5ee4e054082
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ~ppc64 x86"
+IUSE="+snappy static-libs"
+
+DEPEND="
+ snappy? (
+ app-arch/snappy
+ static-libs? ( app-arch/snappy[static-libs] )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.9.0-configure.patch
+ epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
+}
+
+src_configure() {
+ # These vars all get picked up by build_detect_platform
+ # which the Makefile runs for us automatically.
+ tc-export AR CC CXX
+ export OPT="-DNDEBUG ${CPPFLAGS}"
+ # Probably needs more filling out
+ export TARGET_OS
+ case ${CHOST} in
+ *) TARGET_OS="Linux";;
+ esac
+ export USE_SNAPPY=$(usex snappy)
+ export USE_TCMALLOC=no
+}
+
+src_compile() {
+ emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ insinto /usr/include
+ doins -r include/* helpers/memenv/memenv.h
+ dolib.so libleveldb*$(get_libname)*
+ use static-libs && dolib.a libleveldb.a
+ dolib.a libmemenv.a
+}
diff --git a/dev-libs/leveldb/metadata.xml b/dev-libs/leveldb/metadata.xml
new file mode 100644
index 000000000000..16d6745c22cf
--- /dev/null
+++ b/dev-libs/leveldb/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergstroem</name>
+ </maintainer>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <use>
+ <flag name="snappy">support the snappy compression library</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">google/leveldb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libIDL/Manifest b/dev-libs/libIDL/Manifest
new file mode 100644
index 000000000000..e2ad40cd5c6d
--- /dev/null
+++ b/dev-libs/libIDL/Manifest
@@ -0,0 +1 @@
+DIST libIDL-0.8.14.tar.bz2 427149 SHA256 c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220 SHA512 906dde087908acd64b209fe466a89ae52a6ea23601cb30092063a6e062b1b6640fc2d5f422efcdd52b2b36ce20e6c244da6205fde0bdcec787fe64058be7adac WHIRLPOOL c466c0f67c68f72ca11a7d32bb1b1e4bb19a2282873142680e5d65bff4771874e76eec638c75f1e75563f3002e66883fc327943283cb1eb9250a30490dcf88ea
diff --git a/dev-libs/libIDL/libIDL-0.8.14.ebuild b/dev-libs/libIDL/libIDL-0.8.14.ebuild
new file mode 100644
index 000000000000..194a02037c15
--- /dev/null
+++ b/dev-libs/libIDL/libIDL-0.8.14.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GNOME_TARBALL_SUFFIX="bz2"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2
+
+DESCRIPTION="CORBA tree builder"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-libs/glib-2.4:2"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ virtual/yacc
+ virtual/pkgconfig"
+
+DOCS="AUTHORS BUGS ChangeLog HACKING MAINTAINERS NEWS README"
+G2CONF="--disable-static"
diff --git a/dev-libs/libIDL/metadata.xml b/dev-libs/libIDL/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/libIDL/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libRocket/Manifest b/dev-libs/libRocket/Manifest
new file mode 100644
index 000000000000..a0c54f76284a
--- /dev/null
+++ b/dev-libs/libRocket/Manifest
@@ -0,0 +1,2 @@
+DIST libRocket-1.2.1_p20130110.tar.xz 845572 SHA256 5661f0d1b0a3e19b9f2856b9927ed7ec4ad6939e732230832cd701bf078a732b SHA512 1c474e0cad2e13ebe6102cd5d31c3fa61370d23062c31fd7703ec431f0da56f008c9711b49b73d8a9b32af0313e2cb3aa8c46888a36044fef05c15fe1cbc23b5 WHIRLPOOL 52ef88ebc35ac762c6b50fbaed8713b2568f80bc65390e696537f4935eaf1c4182a64b414fd6bfadb3e1a6cadb0589fcb20bc12c26e3ea87edaf342b5ff09bb6
+DIST libRocket-1.3.0.0.tar.gz 1858846 SHA256 574e992ac0bb62c1aa782114986d440ade69f4408971d0fb4ddc5922df761b75 SHA512 579fb5b9ca48b44999ca9c64e5fde3f28b83b12487928d34cf6e2834e60c4fff06c845832d38387f4ba639e2bd906b96940da4ce5e4c73625c48c6658726d3bd WHIRLPOOL a72c72c38780bc4dba9fbdb14365b675579e0a4d251c88bcf780fa076c16728c09c9ba7dff733d8f54da8064184e585ea568e12275f8e7ab86d55333a6242b0f
diff --git a/dev-libs/libRocket/files/libRocket-1.2.1-build.patch b/dev-libs/libRocket/files/libRocket-1.2.1-build.patch
new file mode 100644
index 000000000000..e578b441f42b
--- /dev/null
+++ b/dev-libs/libRocket/files/libRocket-1.2.1-build.patch
@@ -0,0 +1,44 @@
+From: Julian Ospald <hasufell@gentoo.org>
+--- Build/CMakeLists.txt
++++ Build/CMakeLists.txt
+@@ -11,6 +11,9 @@
+
+ project(libRocket C CXX)
+
++# paths
++include(GNUInstallDirs)
++
+ set(LIBROCKET_VERSION_MAJOR 1)
+ set(LIBROCKET_VERSION_MINOR 2)
+ set(LIBROCKET_VERSION_PATCH 1)
+@@ -131,8 +134,8 @@
+ endif()
+
+ install(TARGETS ${NAME}
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endforeach(library)
+
+@@ -237,7 +240,7 @@
+ endif()
+ endif()
+
+- set(SAMPLES_DIR opt/Rocket/Samples)
++ set(SAMPLES_DIR opt/Rocket/Samples CACHE PATH "path to samples dir")
+
+ # The samples use the shell library
+ include_directories(${PROJECT_SOURCE_DIR}/Samples/shell/include)
+@@ -256,8 +259,8 @@
+ target_link_libraries(${sample_LIBRARIES})
+
+ install(TARGETS shell
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+
+ list(APPEND samples treeview customlog drag loaddocument)
diff --git a/dev-libs/libRocket/files/libRocket-1.3.0.0-build.patch b/dev-libs/libRocket/files/libRocket-1.3.0.0-build.patch
new file mode 100644
index 000000000000..e578b441f42b
--- /dev/null
+++ b/dev-libs/libRocket/files/libRocket-1.3.0.0-build.patch
@@ -0,0 +1,44 @@
+From: Julian Ospald <hasufell@gentoo.org>
+--- Build/CMakeLists.txt
++++ Build/CMakeLists.txt
+@@ -11,6 +11,9 @@
+
+ project(libRocket C CXX)
+
++# paths
++include(GNUInstallDirs)
++
+ set(LIBROCKET_VERSION_MAJOR 1)
+ set(LIBROCKET_VERSION_MINOR 2)
+ set(LIBROCKET_VERSION_PATCH 1)
+@@ -131,8 +134,8 @@
+ endif()
+
+ install(TARGETS ${NAME}
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endforeach(library)
+
+@@ -237,7 +240,7 @@
+ endif()
+ endif()
+
+- set(SAMPLES_DIR opt/Rocket/Samples)
++ set(SAMPLES_DIR opt/Rocket/Samples CACHE PATH "path to samples dir")
+
+ # The samples use the shell library
+ include_directories(${PROJECT_SOURCE_DIR}/Samples/shell/include)
+@@ -256,8 +259,8 @@
+ target_link_libraries(${sample_LIBRARIES})
+
+ install(TARGETS shell
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+
+ list(APPEND samples treeview customlog drag loaddocument)
diff --git a/dev-libs/libRocket/libRocket-1.2.1_p20130110-r1.ebuild b/dev-libs/libRocket/libRocket-1.2.1_p20130110-r1.ebuild
new file mode 100644
index 000000000000..e5b4ef3c6f12
--- /dev/null
+++ b/dev-libs/libRocket/libRocket-1.2.1_p20130110-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils eutils python-r1 multilib-minimal
+
+DESCRIPTION="A HTML/CSS User Interface library"
+HOMEPAGE="http://librocket.com/"
+SRC_URI="http://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="python samples"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}]
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost[${PYTHON_USEDEP}]
+ )
+ samples? (
+ virtual/opengl
+ x11-libs/libXext
+ x11-libs/libX11
+ )"
+DEPEND="${RDEPEND}"
+
+DOCS=( changelog.txt readme.md )
+
+python_BUILD_DIR=${WORKDIR}/${P}_build_python
+CMAKE_USE_DIR="${S}"/Build
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DSAMPLES_DIR=/usr/share/${PN}/samples
+ )
+
+ if multilib_is_native_abi ; then
+ mycmakeargs+=( $(cmake-utils_use_build samples SAMPLES) )
+ else
+ mycmakeargs+=( -DBUILD_SAMPLES=OFF )
+ fi
+
+ cmake-utils_src_configure
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ cfgpybind() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=ON
+ -DCMAKE_SKIP_RPATH=YES
+ )
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_configure
+ }
+ einfo "configuring python binding"
+ python_foreach_impl cfgpybind
+ fi
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ local abi_build_dir=${BUILD_DIR}
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ buildpybind() {
+ cp "${abi_build_dir}"/{libRocketCore*,libRocketControls*} "${python_BUILD_DIR}-${EPYTHON}"/ || die
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_make _rocketcontrols/fast _rocketcore/fast
+ }
+ einfo "compiling python binding"
+ python_foreach_impl buildpybind
+ fi
+ fi
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ instpybind() {
+ python_domodule "${S}"/bin/rocket.py
+ exeinto "$(python_get_sitedir)"
+ doexe ${python_BUILD_DIR}-${EPYTHON}/_rocket{core,controls}.so
+ }
+ einfo "installing python binding"
+ python_foreach_impl instpybind
+ fi
+ fi
+}
diff --git a/dev-libs/libRocket/libRocket-1.2.1_p20130110.ebuild b/dev-libs/libRocket/libRocket-1.2.1_p20130110.ebuild
new file mode 100644
index 000000000000..6f75e7f0285d
--- /dev/null
+++ b/dev-libs/libRocket/libRocket-1.2.1_p20130110.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils eutils python-r1
+
+DESCRIPTION="A HTML/CSS User Interface library"
+HOMEPAGE="http://librocket.com/"
+SRC_URI="http://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="python samples"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="media-libs/freetype
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost[python]
+ )
+ samples? (
+ virtual/opengl
+ x11-libs/libXext
+ x11-libs/libX11
+ )"
+DEPEND="${RDEPEND}"
+
+python_BUILD_DIR=${WORKDIR}/${P}_build_python
+CMAKE_USE_DIR="${S}"/Build
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=OFF
+ $(cmake-utils_use_build samples SAMPLES)
+ -DSAMPLES_DIR=/usr/share/${PN}/samples
+ )
+
+ cmake-utils_src_configure
+
+ if use python ; then
+ cfgpybind() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=ON
+ -DCMAKE_SKIP_RPATH=YES
+ )
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_configure
+ }
+ einfo "configuring python binding"
+ python_foreach_impl cfgpybind
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use python ; then
+ buildpybind() {
+ cp "${WORKDIR}"/${P}_build/{libRocketCore*,libRocketControls*} "${python_BUILD_DIR}-${EPYTHON}"/ || die
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_make _rocketcontrols/fast _rocketcore/fast
+ }
+ einfo "compiling python binding"
+ python_foreach_impl buildpybind
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use python ; then
+ instpybind() {
+ python_domodule bin/rocket.py
+ exeinto "$(python_get_sitedir)"
+ doexe ${python_BUILD_DIR}-${EPYTHON}/_rocket{core,controls}.so
+ }
+ einfo "installing python binding"
+ python_foreach_impl instpybind
+ fi
+}
diff --git a/dev-libs/libRocket/libRocket-1.3.0.0.ebuild b/dev-libs/libRocket/libRocket-1.3.0.0.ebuild
new file mode 100644
index 000000000000..135043c652b5
--- /dev/null
+++ b/dev-libs/libRocket/libRocket-1.3.0.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils eutils python-r1 multilib-minimal
+
+DESCRIPTION="A HTML/CSS User Interface library"
+HOMEPAGE="http://librocket.com/"
+SRC_URI="https://github.com/libRocket/libRocket/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="python samples"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}]
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost[${PYTHON_USEDEP}]
+ )
+ samples? (
+ virtual/opengl
+ x11-libs/libXext
+ x11-libs/libX11
+ )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}-release-${PV}
+
+DOCS=( changelog.txt readme.md )
+
+python_BUILD_DIR=${WORKDIR}/${P}_build_python
+CMAKE_USE_DIR="${S}"/Build
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DSAMPLES_DIR=/usr/share/${PN}/samples
+ )
+
+ if multilib_is_native_abi ; then
+ mycmakeargs+=( $(cmake-utils_use_build samples SAMPLES) )
+ else
+ mycmakeargs+=( -DBUILD_SAMPLES=OFF )
+ fi
+
+ cmake-utils_src_configure
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ cfgpybind() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=ON
+ -DCMAKE_SKIP_RPATH=YES
+ )
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_configure
+ }
+ einfo "configuring python binding"
+ python_foreach_impl cfgpybind
+ fi
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ local abi_build_dir=${BUILD_DIR}
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ buildpybind() {
+ cp "${abi_build_dir}"/{libRocketCore*,libRocketControls*} "${python_BUILD_DIR}-${EPYTHON}"/ || die
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_make _rocketcontrols/fast _rocketcore/fast
+ }
+ einfo "compiling python binding"
+ python_foreach_impl buildpybind
+ fi
+ fi
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ instpybind() {
+ python_domodule "${S}"/bin/rocket.py
+ exeinto "$(python_get_sitedir)"
+ doexe ${python_BUILD_DIR}-${EPYTHON}/_rocket{core,controls}.so
+ }
+ einfo "installing python binding"
+ python_foreach_impl instpybind
+ fi
+ fi
+}
diff --git a/dev-libs/libRocket/libRocket-9999.ebuild b/dev-libs/libRocket/libRocket-9999.ebuild
new file mode 100644
index 000000000000..8f98fc148ffc
--- /dev/null
+++ b/dev-libs/libRocket/libRocket-9999.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils git-2 python-r1 multilib-minimal
+
+DESCRIPTION="A HTML/CSS User Interface library"
+HOMEPAGE="http://librocket.com/"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/hasufell/libRocket.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="python samples"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}]
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost[${PYTHON_USEDEP}]
+ )
+ samples? (
+ virtual/opengl
+ x11-libs/libXext
+ x11-libs/libX11
+ )"
+DEPEND="${RDEPEND}"
+
+DOCS=( changelog.txt readme.md )
+
+python_BUILD_DIR=${WORKDIR}/${P}_build_python
+CMAKE_USE_DIR="${S}"/Build
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DSAMPLES_DIR=/usr/share/${PN}/samples
+ )
+
+ if multilib_is_native_abi ; then
+ mycmakeargs+=( $(cmake-utils_use_build samples SAMPLES) )
+ else
+ mycmakeargs+=( -DBUILD_SAMPLES=OFF )
+ fi
+
+ cmake-utils_src_configure
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ cfgpybind() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON_BINDINGS=ON
+ -DCMAKE_SKIP_RPATH=YES
+ )
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_configure
+ }
+ einfo "configuring python binding"
+ python_foreach_impl cfgpybind
+ fi
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ local abi_build_dir=${BUILD_DIR}
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ buildpybind() {
+ cp "${abi_build_dir}"/{libRocketCore*,libRocketControls*} "${python_BUILD_DIR}-${EPYTHON}"/ || die
+ BUILD_DIR="${python_BUILD_DIR}-${EPYTHON}" cmake-utils_src_make _rocketcontrols/fast _rocketcore/fast
+ }
+ einfo "compiling python binding"
+ python_foreach_impl buildpybind
+ fi
+ fi
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi ; then
+ if use python ; then
+ instpybind() {
+ python_domodule "${S}"/bin/rocket.py
+ exeinto "$(python_get_sitedir)"
+ doexe ${python_BUILD_DIR}-${EPYTHON}/_rocket{core,controls}.so
+ }
+ einfo "installing python binding"
+ python_foreach_impl instpybind
+ fi
+ fi
+}
diff --git a/dev-libs/libRocket/metadata.xml b/dev-libs/libRocket/metadata.xml
new file mode 100644
index 000000000000..1649dd24542c
--- /dev/null
+++ b/dev-libs/libRocket/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name='samples'>Build samples</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/dev-libs/libaio/Manifest b/dev-libs/libaio/Manifest
new file mode 100644
index 000000000000..e55d7cfdf9ff
--- /dev/null
+++ b/dev-libs/libaio/Manifest
@@ -0,0 +1 @@
+DIST libaio-0.3.110.tar.gz 42270 SHA256 e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e SHA512 664295d330d6e9adc005e2331e77582619625b479ffc2b81728ba6a682487380ee936079c4a69d35144b458bbe35c612f4ed9b32e913bd7e109b824345763eb3 WHIRLPOOL 21666b6d14e8091a52941b54b1c6d882dd495ed2d5ca9047a7951ee44e90aa33348ade0d3e4e7f12076a264b64b354a06cd96433cb39e18fc87b3655b59767af
diff --git a/dev-libs/libaio/files/libaio-0.3.106-build.patch b/dev-libs/libaio/files/libaio-0.3.106-build.patch
new file mode 100644
index 000000000000..812c2a4b0ea4
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.106-build.patch
@@ -0,0 +1,17 @@
+--- src/Makefile.orig 2006-07-09 19:46:41.000000000 -0700
++++ src/Makefile 2006-07-09 19:51:00.000000000 -0700
+@@ -2,11 +2,10 @@
+ includedir=$(prefix)/include
+ libdir=$(prefix)/lib
+
+-ARCH := $(shell uname -m | sed -e s/i.86/i386/)
+-CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC
+-SO_CFLAGS=-shared $(CFLAGS)
++CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
++SO_CFLAGS=-shared $(CFLAGS)
+ L_CFLAGS=$(CFLAGS)
+-LINK_FLAGS=
++LINK_FLAGS=-lgcc -lrt $(LDFLAGS)
+
+ soname=libaio.so.1
+ minor=0
diff --git a/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch b/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch
new file mode 100644
index 000000000000..d1ec1403a0e9
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch
@@ -0,0 +1,17 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -42,10 +42,12 @@
+ $(CC) $(L_CFLAGS) -c -o $@ $<
+
+
++AR ?= ar
++RANLIB ?= ranlib
+ libaio.a: $(libaio_objs)
+ rm -f libaio.a
+- ar r libaio.a $^
+- ranlib libaio.a
++ $(AR) r libaio.a $^
++ $(RANLIB) libaio.a
+
+ $(libname): $(libaio_sobjs) libaio.map
+ $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
diff --git a/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch b/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch
new file mode 100644
index 000000000000..6ecd7f10d5ba
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch
@@ -0,0 +1,101 @@
+for arches that lack magic assembly (arm, blackfin, etc...), implement support
+using standard syscall() function
+
+--- src/libaio.h
++++ src/libaio.h
+@@ -49,38 +49,34 @@ typedef enum io_iocb_cmd {
+ IO_CMD_PWRITEV = 8,
+ } io_iocb_cmd_t;
+
+-#if defined(__i386__) /* little endian, 32 bits */
++/* little endian, 32 bits */
++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \
++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__)
+ #define PADDED(x, y) x; unsigned y
+ #define PADDEDptr(x, y) x; unsigned y
+ #define PADDEDul(x, y) unsigned long x; unsigned y
++
++/* little endian, 64 bits */
+ #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__)
+ #define PADDED(x, y) x, y
+ #define PADDEDptr(x, y) x
+ #define PADDEDul(x, y) unsigned long x
+-#elif defined(__powerpc64__) /* big endian, 64 bits */
++
++/* big endian, 64 bits */
++#elif defined(__powerpc64__) || defined(__s390x__) || \
++ (defined(__sparc__) && defined(__arch64__))
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x,y) x
+ #define PADDEDul(x, y) unsigned long x
+-#elif defined(__PPC__) /* big endian, 32 bits */
++
++/* big endian, 32 bits */
++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \
++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \
++ defined(__hppa__) || defined(__frv__) || defined(__avr32__)
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x, y) unsigned y; x
+ #define PADDEDul(x, y) unsigned y; unsigned long x
+-#elif defined(__s390x__) /* big endian, 64 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x,y) x
+-#define PADDEDul(x, y) unsigned long x
+-#elif defined(__s390__) /* big endian, 32 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x, y) unsigned y; x
+-#define PADDEDul(x, y) unsigned y; unsigned long x
+-#elif defined(__sparc__) && defined(__arch64__) /* big endian, 64 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x,y) x
+-#define PADDEDul(x, y) unsigned long x
+-#elif defined(__sparc__) /* big endian, 32 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x, y) unsigned y; x
+-#define PADDEDul(x, y) unsigned y; unsigned long x
++
+ #else
+ #error endian?
+ #endif
+--- /dev/null
++++ src/syscall-generic.h
+@@ -0,0 +1,29 @@
++#include <errno.h>
++#include <unistd.h>
++#include <sys/syscall.h>
++
++#define _body_io_syscall(sname, args...) \
++{ \
++ int ret = syscall(__NR_##sname, ## args); \
++ return ret < 0 ? -errno : ret; \
++}
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) \
++_body_io_syscall(sname, (long)arg1)
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1,type2 arg2) \
++_body_io_syscall(sname, (long)arg1, (long)arg2)
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1,type2 arg2,type3 arg3) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3)
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4)
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \
++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5)
+--- src/syscall.h
++++ src/syscall.h
+@@ -25,5 +25,6 @@
+ #elif defined(__sparc__)
+ #include "syscall-sparc.h"
+ #else
+-#error "add syscall-arch.h"
++#warning "using generic syscall method"
++#include "syscall-generic.h"
+ #endif
diff --git a/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch b/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch
new file mode 100644
index 000000000000..c47273631f05
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch
@@ -0,0 +1,31 @@
+based on fedora ptach
+
+--- libaio-0.3.107/src/Makefile
++++ libaio-0.3.107/src/Makefile
+@@ -1,6 +1,7 @@
+ prefix=/usr
+-includedir=$(prefix)/include
+-libdir=$(prefix)/lib
++includedir=/usr/include
++libdir=/usr/lib
++usrlibdir=$(libdir)
+
+ ARCH := $(shell uname -m | sed -e s/i.86/i386/)
+ CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC
+@@ -51,11 +52,11 @@
+ $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
+
+ install: $(all_targets)
+- install -D -m 644 libaio.h $(includedir)/libaio.h
+- install -D -m 644 libaio.a $(libdir)/libaio.a
+- install -D -m 755 $(libname) $(libdir)/$(libname)
+- ln -sf $(libname) $(libdir)/$(soname)
+- ln -sf $(libname) $(libdir)/libaio.so
++ install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h
++ install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a
++ install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname)
++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/$(soname)
++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/libaio.so
+
+ $(libaio_objs): libaio.h
+
diff --git a/dev-libs/libaio/files/libaio-0.3.107-sparc.patch b/dev-libs/libaio/files/libaio-0.3.107-sparc.patch
new file mode 100644
index 000000000000..92bcd5325e86
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.107-sparc.patch
@@ -0,0 +1,151 @@
+ripped from fedora
+
+--- libaio-0.3.107/src/libaio.h
++++ libaio-0.3.107/src/libaio.h
+@@ -73,6 +73,14 @@
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x, y) unsigned y; x
+ #define PADDEDul(x, y) unsigned y; unsigned long x
++#elif defined(__sparc__) && defined(__arch64__) /* big endian, 64 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x,y) x
++#define PADDEDul(x, y) unsigned long x
++#elif defined(__sparc__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
+ #else
+ #error endian?
+ #endif
+--- libaio-0.3.107/src/syscall.h
++++ libaio-0.3.107/src/syscall.h
+@@ -22,6 +22,8 @@
+ #include "syscall-s390.h"
+ #elif defined(__alpha__)
+ #include "syscall-alpha.h"
++#elif defined(__sparc__)
++#include "syscall-sparc.h"
+ #else
+ #error "add syscall-arch.h"
+ #endif
+--- libaio-0.3.107/src/syscall-sparc.h
++++ libaio-0.3.107/src/syscall-sparc.h
+@@ -0,0 +1,118 @@
++#include <errno.h>
++
++#define __NR_io_setup 268
++#define __NR_io_destroy 269
++#define __NR_io_submit 270
++#define __NR_io_cancel 271
++#define __NR_io_getevents 272
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res >= 0) \
++ return (type) __res; \
++errno = -__res; \
++return -1; \
++}
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1,type2 arg2) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res >= 0) \
++ return (type) __res; \
++errno = -__res; \
++return -1; \
++}
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1,type2 arg2,type3 arg3) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++errno = -__res; \
++return -1; \
++}
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++register long __o3 __asm__ ("o3") = (long)(arg4); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++errno = -__res; \
++return -1; \
++}
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
++ type5,arg5) \
++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++register long __o3 __asm__ ("o3") = (long)(arg4); \
++register long __o4 __asm__ ("o4") = (long)(arg5); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++errno = -__res; \
++return -1; \
++}
diff --git a/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch b/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch
new file mode 100644
index 000000000000..fea3aeeee420
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch
@@ -0,0 +1,62 @@
+From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 17 Jan 2010 17:07:48 -0500
+Subject: [PATCH] add a generic syscall() fallback
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/syscall-generic.h | 29 +++++++++++++++++++++++++++++
+ src/syscall.h | 3 ++-
+ 2 files changed, 31 insertions(+), 1 deletions(-)
+ create mode 100644 src/syscall-generic.h
+
+diff --git a/src/syscall-generic.h b/src/syscall-generic.h
+new file mode 100644
+index 0000000..24d7c7c
+--- /dev/null
++++ b/src/syscall-generic.h
+@@ -0,0 +1,29 @@
++#include <errno.h>
++#include <unistd.h>
++#include <sys/syscall.h>
++
++#define _body_io_syscall(sname, args...) \
++{ \
++ int ret = syscall(__NR_##sname, ## args); \
++ return ret < 0 ? -errno : ret; \
++}
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) \
++_body_io_syscall(sname, (long)arg1)
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1,type2 arg2) \
++_body_io_syscall(sname, (long)arg1, (long)arg2)
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1,type2 arg2,type3 arg3) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3)
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4)
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \
++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5)
+diff --git a/src/syscall.h b/src/syscall.h
+index 78becfe..d954af0 100644
+--- a/src/syscall.h
++++ b/src/syscall.h
+@@ -25,5 +25,6 @@
+ #elif defined(__arm__)
+ #include "syscall-arm.h"
+ #else
+-#error "add syscall-arch.h"
++#warning "using generic syscall method"
++#include "syscall-generic.h"
+ #endif
+--
+1.7.3.1
+
diff --git a/dev-libs/libaio/files/libaio-0.3.109-install.patch b/dev-libs/libaio/files/libaio-0.3.109-install.patch
new file mode 100644
index 000000000000..9c049fcbf5cd
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-install.patch
@@ -0,0 +1,45 @@
+From 2e34caef82a2367a85de4f06daf5e5a92f61e845 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 17 Jan 2010 17:10:14 -0500
+Subject: [PATCH] fix up install paths
+
+This is similar to the Fedora patch, but this uses more common conventions
+like "DESTDIR" instead of "destdir".
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/Makefile | 11 ++++++-----
+ 1 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 687c7be..ee431a1 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,6 +1,7 @@
+ prefix=/usr
+ includedir=$(prefix)/include
+ libdir=$(prefix)/lib
++usrlibdir=$(libdir)
+
+ CFLAGS ?= -g -fomit-frame-pointer -O2
+ CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
+@@ -53,11 +54,11 @@ $(libname): $(libaio_sobjs) libaio.map
+ $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
+
+ install: $(all_targets)
+- install -D -m 644 libaio.h $(includedir)/libaio.h
+- install -D -m 644 libaio.a $(libdir)/libaio.a
+- install -D -m 755 $(libname) $(libdir)/$(libname)
+- ln -sf $(libname) $(libdir)/$(soname)
+- ln -sf $(libname) $(libdir)/libaio.so
++ install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h
++ install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a
++ install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname)
++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/$(soname)
++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/libaio.so
+
+ $(libaio_objs): libaio.h
+
+--
+1.7.3.1
+
diff --git a/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
new file mode 100644
index 000000000000..de66f2110f22
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
@@ -0,0 +1,19 @@
+Do not ignore return value of ftruncate(): testcases are compiled with -Werror,
+and ftruncate is declared with attribute warn_unused_result.
+--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100
++++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100
+@@ -9,12 +9,13 @@
+ {
+ long long min = 0, max = 9223372036854775807LL;
+ char c = 0;
++ int ret;
+
+ while (max - min > 1) {
+ if (pwrite64(fd, &c, 1, (min + max) / 2) == -1)
+ max = (min + max) / 2;
+ else {
+- ftruncate(fd, 0);
++ ret = ftruncate(fd, 0); assert(ret == 0);
+ min = (min + max) / 2;
+ }
+ }
diff --git a/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch b/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch
new file mode 100644
index 000000000000..1a4e6ef12303
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch
@@ -0,0 +1,73 @@
+From be673c7afd7a86b89fbe2e09c758f2de3482d19b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 17 Jan 2010 17:07:24 -0500
+Subject: [PATCH] unify LE/BE 32/64bit logic and add more arches
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/libaio.h | 36 +++++++++++++++---------------------
+ 1 files changed, 15 insertions(+), 21 deletions(-)
+
+diff --git a/src/libaio.h b/src/libaio.h
+index ffe8259..4a6c9fb 100644
+--- a/src/libaio.h
++++ b/src/libaio.h
+@@ -49,40 +49,34 @@ typedef enum io_iocb_cmd {
+ IO_CMD_PWRITEV = 8,
+ } io_iocb_cmd_t;
+
+-#if defined(__i386__) /* little endian, 32 bits */
++/* little endian, 32 bits */
++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \
++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__)
+ #define PADDED(x, y) x; unsigned y
+ #define PADDEDptr(x, y) x; unsigned y
+ #define PADDEDul(x, y) unsigned long x; unsigned y
++
++/* little endian, 64 bits */
+ #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__)
+ #define PADDED(x, y) x, y
+ #define PADDEDptr(x, y) x
+ #define PADDEDul(x, y) unsigned long x
+-#elif defined(__powerpc64__) /* big endian, 64 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x,y) x
+-#define PADDEDul(x, y) unsigned long x
+-#elif defined(__PPC__) /* big endian, 32 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x, y) unsigned y; x
+-#define PADDEDul(x, y) unsigned y; unsigned long x
+-#elif defined(__s390x__) /* big endian, 64 bits */
++
++/* big endian, 64 bits */
++#elif defined(__powerpc64__) || defined(__s390x__) || \
++ (defined(__sparc__) && defined(__arch64__))
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x,y) x
+ #define PADDEDul(x, y) unsigned long x
+-#elif defined(__s390__) /* big endian, 32 bits */
+-#define PADDED(x, y) unsigned y; x
+-#define PADDEDptr(x, y) unsigned y; x
+-#define PADDEDul(x, y) unsigned y; unsigned long x
+-#elif defined(__arm__)
+-# if defined (__ARMEB__) /* big endian, 32 bits */
++
++/* big endian, 32 bits */
++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \
++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \
++ defined(__hppa__) || defined(__frv__) || defined(__avr32__)
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x, y) unsigned y; x
+ #define PADDEDul(x, y) unsigned y; unsigned long x
+-# else /* little endian, 32 bits */
+-#define PADDED(x, y) x; unsigned y
+-#define PADDEDptr(x, y) x; unsigned y
+-#define PADDEDul(x, y) unsigned long x; unsigned y
+-# endif
++
+ #else
+ #error endian?
+ #endif
+--
+1.7.3.1
+
diff --git a/dev-libs/libaio/files/libaio-0.3.109-x32.patch b/dev-libs/libaio/files/libaio-0.3.109-x32.patch
new file mode 100644
index 000000000000..1d2c2a9050fa
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-x32.patch
@@ -0,0 +1,63 @@
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826
+
+Upstream-Status: Pending
+
+Properly load arguments 5 an 6 for x86-64 syscall
+Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
+syscall so that it works with both x32 and x86-64.
+
+Received this patch from H.J. Lu <hjl.tools@gmail.com>
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2011/12/02
+
+--- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700
++++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800
+@@ -1,8 +1,18 @@
++#ifndef __NR_io_setup
+ #define __NR_io_setup 206
++#endif
++#ifndef __NR_io_destroy
+ #define __NR_io_destroy 207
++#endif
++#ifndef __NR_io_getevents
+ #define __NR_io_getevents 208
++#endif
++#ifndef __NR_io_submit
+ #define __NR_io_submit 209
++#endif
++#ifndef __NR_io_cancel
+ #define __NR_io_cancel 210
++#endif
+
+ #define __syscall_clobber "r11","rcx","memory"
+ #define __syscall "syscall"
+@@ -42,10 +52,11 @@ return __res; \
+ type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
+ { \
+ long __res; \
+-__asm__ volatile ("movq %5,%%r10 ;" __syscall \
++register long __a4 asm ("r10") = (long) arg4; \
++__asm__ volatile (__syscall \
+ : "=a" (__res) \
+ : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
+- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
++ "d" ((long)(arg3)),"r" (__a4)); \
+ return __res; \
+ }
+
+@@ -54,10 +65,11 @@ return __res; \
+ type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
+ { \
+ long __res; \
+-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \
++register long __a4 asm ("r10") = (long) arg4; \
++register long __a5 asm ("r8") = (long) arg5; \
++__asm__ volatile ( __syscall \
+ : "=a" (__res) \
+ : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
+- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \
+- __syscall_clobber,"r8","r10" ); \
++ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \
+ return __res; \
+ }
diff --git a/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch b/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch
new file mode 100644
index 000000000000..4567ac946681
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch
@@ -0,0 +1,25 @@
+From 3bf96bb62370035dba18d4b25459406b32365cfc Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 26 Mar 2014 23:10:18 -0400
+Subject: [PATCH] respect env CPPFLAGS
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/Makefile b/src/Makefile
+index 49f448f..b918c8b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -5,6 +5,7 @@ usrlibdir=$(libdir)
+
+ CFLAGS ?= -g -fomit-frame-pointer -O2
+ CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
++CFLAGS += $(CPPFLAGS)
+ SO_CFLAGS=-shared $(CFLAGS)
+ L_CFLAGS=$(CFLAGS)
+ LINK_FLAGS=
+--
+1.9.1
+
diff --git a/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch b/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch
new file mode 100644
index 000000000000..2933cf5244bc
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch
@@ -0,0 +1,30 @@
+From 0cc7dc108d0b2288b40d82bb2fd1fd8bdc08f764 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 26 Mar 2014 23:07:58 -0400
+Subject: [PATCH] make -Werror into an optional flag
+
+This lets distros disable the flag as random errors might come up with
+different compiler flags and older/newer toolchain versions.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ harness/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/harness/Makefile b/harness/Makefile
+index 2a88e71..cf8c90d 100644
+--- a/harness/Makefile
++++ b/harness/Makefile
+@@ -6,7 +6,8 @@ PROGS:=$(PARTPROGS) $(EXTRAPROGS)
+ HARNESS_SRCS:=main.c
+ # io_queue.c
+
+-CFLAGS+=-Wall -Werror -I../src -g -O
++CFLAGS_WERROR?=-Werror
++CFLAGS+=-Wall $(CFLAGS_WERROR) -I../src -g -O
+ #-lpthread -lrt
+
+ all: $(PROGS)
+--
+1.9.1
+
diff --git a/dev-libs/libaio/libaio-0.3.110.ebuild b/dev-libs/libaio/libaio-0.3.110.ebuild
new file mode 100644
index 000000000000..a772baf97c40
--- /dev/null
+++ b/dev-libs/libaio/libaio-0.3.110.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib-minimal toolchain-funcs flag-o-matic
+
+DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
+HOMEPAGE="https://git.fedorahosted.org/cgit/libaio.git/ http://lse.sourceforge.net/io/aio.html"
+SRC_URI="https://fedorahosted.org/releases/${PN:0:1}/${PN:1:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.3.109-install.patch \
+ "${FILESDIR}"/${PN}-0.3.109-x32.patch \
+ "${FILESDIR}"/${PN}-0.3.109-testcase-8.patch \
+ "${FILESDIR}"/${PN}-0.3.110-cppflags.patch \
+ "${FILESDIR}"/${PN}-0.3.110-optional-werror.patch
+
+ local sed_args=(
+ -e "/^prefix=/s:/usr:${EPREFIX}/usr:"
+ -e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
+ )
+ if ! use static-libs; then
+ sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
+ # Tests require the static library to be built.
+ use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
+ fi
+ sed -i "${sed_args[@]}" src/Makefile Makefile || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ if use arm ; then
+ # When building for thumb, we can't allow frame pointers.
+ # http://crbug.com/464517
+ if $(tc-getCPP) ${CFLAGS} ${CPPFLAGS} - <<<$'#ifndef __thumb__\n#error\n#endif' >&/dev/null ; then
+ append-flags -fomit-frame-pointer
+ fi
+ fi
+}
+
+_emake() {
+ CC=$(tc-getCC) \
+ AR=$(tc-getAR) \
+ RANLIB=$(tc-getRANLIB) \
+ ABI_LIBDIR=$(get_libdir) \
+ CFLAGS_WERROR= \
+ emake "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_test() {
+ mkdir -p testdir || die
+ # 'make check' breaks with sandbox, 'make partcheck' works
+ _emake partcheck prefix="${S}/src" libdir="${S}/src"
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ doman man/*
+ dodoc ChangeLog TODO
+
+ # move crap to / for multipath-tools #325355
+ gen_usr_ldscript -a aio
+
+ # This lib is a bare minimal shim on top of kernel syscalls.
+ export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n')
+}
diff --git a/dev-libs/libaio/metadata.xml b/dev-libs/libaio/metadata.xml
new file mode 100644
index 000000000000..f739e440b654
--- /dev/null
+++ b/dev-libs/libaio/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>gokturk@binghamton.edu</email>
+ <name>Gokturk Yuksek</name>
+ <description>Primary Maintainer, Assign bugs</description>
+</maintainer>
+<longdescription>Library to provide user-level kernel Asynchronous I/O (AIO)
+ support for Linux (needs kernel patches as of 2.6.12)</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libappindicator/Manifest b/dev-libs/libappindicator/Manifest
new file mode 100644
index 000000000000..762d87cf6297
--- /dev/null
+++ b/dev-libs/libappindicator/Manifest
@@ -0,0 +1 @@
+DIST libappindicator-12.10.0.tar.gz 535562 SHA256 d5907c1f98084acf28fd19593cb70672caa0ca1cf82d747ba6f4830d4cc3b49f SHA512 317a22a23c8ed84e74207b64b2e9683992d1fb7208176637a051dfe925974f966d1cfa31e650b45eaf839ab61641dee8fbebc8a07882a09b0dd766d88b8d5b9a WHIRLPOOL fdf1d3afbe82d287da688295e6f999656a4dd8e0a1c75aeffa9fd83c69b97cfd37e682f0ca4aff42d30e99b0add8a9e75f870d8a6a72e5337e1afd67ffe618eb
diff --git a/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch b/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch
new file mode 100644
index 000000000000..6a5e15f3c0b1
--- /dev/null
+++ b/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch
@@ -0,0 +1,72 @@
+--- bindings/Makefile.am 2015-07-10 10:04:18.091199191 +0200
++++ bindings/Makefile.am 2015-07-10 10:19:47.047974439 +0200
+@@ -3,8 +3,10 @@
+ vala
+ else
+ SUBDIRS = \
+- python \
+ vala
++if HAS_PYTHON
++SUBDIRS += python
++endif
+ endif
+
+ if HAS_MONO
+--- configure.ac 2015-07-16 13:28:41.007502838 +0200
++++ configure.ac_new 2015-07-16 13:53:18.118602877 +0200
+@@ -188,25 +188,37 @@
+ PYGTK_REQUIRED=2.14.0
+ PYGOBJECT_REQUIRED=0.22
+
+-AM_PATH_PYTHON(2.3.5)
+-AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
++AC_ARG_ENABLE([python],
++ AC_HELP_STRING([--enable-python], [Enable python for GTK2 build]),,
++ [enable_python=yes])
+
+-PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
++if test x"$with_gtk" = x"3" ; then
++ enable_python=no
++fi
++
++AM_CONDITIONAL(HAS_PYTHON, test x"${enable_python}" != x"no")
++
++if test x"$enable_python" != x"no" ; then
++ AM_PATH_PYTHON(2.3.5)
++ AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
++
++ PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
+ [
+ pygtk-2.0 >= $PYGTK_REQUIRED
+ gtk+-2.0 >= $GTK_REQUIRED_VERSION
+ pygobject-2.0 >= $PYGOBJECT_REQUIRED
+ ])
+
+-AC_MSG_CHECKING(for pygtk defs)
+-PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
+-AC_SUBST(PYGTK_DEFSDIR)
+-AC_MSG_RESULT($PYGTK_DEFSDIR)
+-
+-AC_MSG_CHECKING(for pygtk codegen)
+-PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
+-AC_SUBST(PYGTK_CODEGEN)
+-AC_MSG_RESULT($PYGTK_CODEGEN)
++ AC_MSG_CHECKING(for pygtk defs)
++ PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
++ AC_SUBST(PYGTK_DEFSDIR)
++ AC_MSG_RESULT($PYGTK_DEFSDIR)
++
++ AC_MSG_CHECKING(for pygtk codegen)
++ PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
++ AC_SUBST(PYGTK_CODEGEN)
++ AC_MSG_RESULT($PYGTK_CODEGEN)
++fi
+
+ #########################
+ # Check if build tests
+@@ -278,4 +290,5 @@
+ Tests: $enable_tests
+ Mono tests: $have_nunit
+ gcov: $use_gcov
++ Python: $enable_python
+ ])
diff --git a/dev-libs/libappindicator/libappindicator-12.10.0-r1.ebuild b/dev-libs/libappindicator/libappindicator-12.10.0-r1.ebuild
new file mode 100644
index 000000000000..b3acba689e21
--- /dev/null
+++ b/dev-libs/libappindicator/libappindicator-12.10.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.16"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils vala
+
+DESCRIPTION="A library to allow applications to export a menu into the Unity Menu bar"
+HOMEPAGE="http://launchpad.net/libappindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.98
+ >=dev-libs/glib-2.26:2
+ >=dev-libs/libdbusmenu-0.6.2[gtk3]
+ >=dev-libs/libindicator-12.10.0:3
+ >=x11-libs/gtk+-3.2:3
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ introspection? ( $(vala_depend) )
+"
+
+src_prepare() {
+ # Don't use -Werror
+ sed -i -e 's/ -Werror//' {src,tests}/Makefile.{am,in} || die
+
+ # Disable MONO for now because of http://bugs.gentoo.org/382491
+ sed -i -e '/^MONO_REQUIRED_VERSION/s:=.*:=9999:' configure || die
+ use introspection && vala_src_prepare
+}
+
+src_configure() {
+ # http://bugs.gentoo.org/409133
+ export APPINDICATOR_PYTHON_CFLAGS=' '
+ export APPINDICATOR_PYTHON_LIBS=' '
+
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-html-dir=/usr/share/doc/${PF}/html \
+ --with-gtk=3
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libappindicator/libappindicator-12.10.0-r200.ebuild b/dev-libs/libappindicator/libappindicator-12.10.0-r200.ebuild
new file mode 100644
index 000000000000..8f99794f0222
--- /dev/null
+++ b/dev-libs/libappindicator/libappindicator-12.10.0-r200.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.16"
+VALA_USE_DEPEND="vapigen"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib-minimal python-single-r1 vala
+
+DESCRIPTION="A library to allow applications to export a menu into the Unity Menu bar"
+HOMEPAGE="http://launchpad.net/libappindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection python"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.98[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.26:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libdbusmenu-0.6.2[gtk,${MULTILIB_USEDEP}]
+ >=dev-libs/libindicator-12.10.0:0[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:2[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ introspection? ( $(vala_depend) )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Don't use -Werror
+ sed -i -e 's/ -Werror//' {src,tests}/Makefile.{am,in} || die
+
+ epatch "${FILESDIR}"/${P}-conditional-py-bindings.patch
+ eautoreconf
+
+ # Disable MONO for now because of http://bugs.gentoo.org/382491
+ sed -i -e '/^MONO_REQUIRED_VERSION/s:=.*:=9999:' configure || die
+}
+
+multilib_src_configure() {
+ if multilib_is_native_abi; then
+ local -x VALAC VAPIGEN_VAPIDIR PKG_CONFIG_PATH
+ use introspection && vala_src_prepare
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=2 \
+ $(multilib_native_use_enable introspection) \
+ $(multilib_native_use_enable python)
+}
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog
+
+ prune_libtool_files --modules
+
+ # installed by slot 3 as well
+ rm -r "${D}"usr/share/gtk-doc || die
+}
diff --git a/dev-libs/libappindicator/libappindicator-12.10.0-r300.ebuild b/dev-libs/libappindicator/libappindicator-12.10.0-r300.ebuild
new file mode 100644
index 000000000000..e334366c9572
--- /dev/null
+++ b/dev-libs/libappindicator/libappindicator-12.10.0-r300.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.16"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils multilib-minimal vala
+
+DESCRIPTION="A library to allow applications to export a menu into the Unity Menu bar"
+HOMEPAGE="http://launchpad.net/libappindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.98[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.26:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libdbusmenu-0.6.2[gtk3,${MULTILIB_USEDEP}]
+ >=dev-libs/libindicator-12.10.0:3[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ introspection? ( $(vala_depend) )
+"
+
+src_prepare() {
+ # Don't use -Werror
+ sed -i -e 's/ -Werror//' {src,tests}/Makefile.{am,in} || die
+
+ epatch "${FILESDIR}"/${P}-conditional-py-bindings.patch
+ eautoreconf
+
+ # Disable MONO for now because of http://bugs.gentoo.org/382491
+ sed -i -e '/^MONO_REQUIRED_VERSION/s:=.*:=9999:' configure || die
+}
+
+multilib_src_configure() {
+ if multilib_is_native_abi; then
+ local -x VALAC VAPIGEN_VAPIDIR PKG_CONFIG_PATH
+ use introspection && vala_src_prepare
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=3 \
+ $(multilib_native_use_enable introspection)
+}
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libappindicator/metadata.xml b/dev-libs/libappindicator/metadata.xml
new file mode 100644
index 000000000000..0bf274070abc
--- /dev/null
+++ b/dev-libs/libappindicator/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">libappindicator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libassuan/Manifest b/dev-libs/libassuan/Manifest
new file mode 100644
index 000000000000..88fe96b935a6
--- /dev/null
+++ b/dev-libs/libassuan/Manifest
@@ -0,0 +1,5 @@
+DIST libassuan-2.1.1.tar.bz2 538155 SHA256 23e2d67779b88e90d29fe1df6b157109f1c2a647d0f1b2a0f4295bb3c0b2039d SHA512 ab32da1fe8a5240866412214b26be54641efbdd67510c53bb40c46a051b4d03b81406ae2ff4dc2ef51e21a7278e3f1705fe12dca4bd4ebfef84e109dd86d599e WHIRLPOOL 3476c7a6032073f4276e9282b59878774726fcb1d76def51a92be76a75f5dca6ab8a621598e479557f1412e35d01d4fd83d5d2d9f1dc42bbb519e7dc0396de84
+DIST libassuan-2.1.2.tar.bz2 516026 SHA256 39f8a7c9349aaaf7ccd937b90660153ec4d2d4df2465018754e5bcae5b1db77b SHA512 a45b1db8521f547eafbf4ddeaa5b1a19dd47be32e1b02103b2c46c0c86291ba2c2124c25151311a90bb2837f8e42fce7b61d9316606b3b19dbabafc57549386b WHIRLPOOL 99928abc5379f0eddf3e3e0d9536969503b2284bdea0040964a8ed072469df61652b906cbaf597234462e565cb60bd2495d772feec34b7c3330bc1416aa710c9
+DIST libassuan-2.1.3.tar.bz2 516087 SHA256 fa2170b353c928eb59610e0700c34947f1890634ddf7bcf2366c9c88b4f51d1a SHA512 ff9f6bd3287139307d42cf6fa9445487bf159db9dde2205246eaba2539f6162b419fdd53863929037550b71c2c12f14a39b60086fa6648e532bab498eee935a6 WHIRLPOOL 15e334f6f8ff9a06c72e57f5b7e550765bef96f0bf129c6066d7e066ff727c71e9bf790478350f02c13b5456baa087cbc52924114f67fe236326d6e0149b0fa6
+DIST libassuan-2.2.0.tar.bz2 516800 SHA256 7df58ed70be4b694f77efd1f3b3f103c6311b6b71e04a370382f9fe8204f6ec6 SHA512 716aa957408d51f518f3efd7238af34daab7889e2c2a8ca9611ba0c60db086062c4533c047caab4d41ef20d3cc6a7185ff2e4f06c9113eb177a961f20e877d99 WHIRLPOOL 576a834fdecab1b5adce68819a866067e9b5b6b02d96ea7060875712df547d7dab33ffb94f168b994240df867b4fc2797b51301ccb89113919d0d6661289b50d
+DIST libassuan-2.2.1.tar.bz2 542381 SHA256 949285bb79345362cb72a40c798defefc007031c60f2f10251720bf60a9de2de SHA512 7788c7c1163bbad659e308d7dc4254f9d6c27ff6bf9d9fad2ef7b9f07392799a3c0f57c6cbcc5f39aecaabb9ba8150044a969099b8d53d2eaf47d6022f1d9c4b WHIRLPOOL 2c6d8038b58122f0e2215f99f472400295c0f4a97dd65b4e0b78ffaf242d3e6b79d4eb3cec9e894e43ec307010e57111b5da08cce66bed2b37501680e6064772
diff --git a/dev-libs/libassuan/libassuan-2.1.1.ebuild b/dev-libs/libassuan/libassuan-2.1.1.ebuild
new file mode 100644
index 000000000000..ec7e5c43346b
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="http://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ rm -f "${ED}"usr/lib*/${PN}.la
+}
diff --git a/dev-libs/libassuan/libassuan-2.1.2.ebuild b/dev-libs/libassuan/libassuan-2.1.2.ebuild
new file mode 100644
index 000000000000..1d1e06198813
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.1.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="http://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+ default
+
+ elibtoolize # for Solaris .so
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ rm -f "${ED}"usr/lib*/${PN}.la
+}
diff --git a/dev-libs/libassuan/libassuan-2.1.3.ebuild b/dev-libs/libassuan/libassuan-2.1.3.ebuild
new file mode 100644
index 000000000000..a30846348512
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.1.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool eutils
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="http://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+ default
+
+ # for Solaris .so
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ prune_libtool_files
+}
diff --git a/dev-libs/libassuan/libassuan-2.2.0.ebuild b/dev-libs/libassuan/libassuan-2.2.0.ebuild
new file mode 100644
index 000000000000..a30846348512
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.2.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool eutils
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="http://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+ default
+
+ # for Solaris .so
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ prune_libtool_files
+}
diff --git a/dev-libs/libassuan/libassuan-2.2.1.ebuild b/dev-libs/libassuan/libassuan-2.2.1.ebuild
new file mode 100644
index 000000000000..c21c40b170cb
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.2.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool eutils
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="http://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+ default
+
+ # for Solaris .so
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ prune_libtool_files
+}
diff --git a/dev-libs/libassuan/metadata.xml b/dev-libs/libassuan/metadata.xml
new file mode 100644
index 000000000000..5105fdad42ee
--- /dev/null
+++ b/dev-libs/libassuan/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+<longdescription>
+In an ideal world, Assuan is irrelevant. Assuan's primary use is to
+allow a client to interact with a non-persistent server. Using Assuan,
+this is accomplished by forking a subprocess and communicating with it
+via, for example, a pipe or unix domain socket. This method is neither
+elegant nor efficient especially when there is a lot of data spread
+across several transactions: not only is there a penalty for an
+increased number of context switches, but also a significant amount of
+data is MEMCPYed from the client to a file descriptor and from the file
+descriptor to the server.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libatasmart/Manifest b/dev-libs/libatasmart/Manifest
new file mode 100644
index 000000000000..ba5314d3e027
--- /dev/null
+++ b/dev-libs/libatasmart/Manifest
@@ -0,0 +1,2 @@
+DIST libatasmart-0.19.tar.xz 251204 SHA256 61f0ea345f63d28ab2ff0dc352c22271661b66bf09642db3a4049ac9dbdb0f8d SHA512 ec9edb019c477873b01289ba365ad0ed0946505d651c1f6f83a63ef61b3976a5db6439c8a0c74d9a55325db9a3a587ad6f655f8d1af9387b0d08356eccabdb62 WHIRLPOOL edb1296494806bbc83054110a12f703e428cfe4f340936b4393d226c702a15e97e5c6c82310fbb745d288202a9036d15eed7dd8b1ef982391dc579814db2669e
+DIST libatasmart_0.19-2.debian.tar.gz 6511 SHA256 dcfe568cd42d952b1eb633894e213f913564a0e0e62e24ae37a4578bc420ac25 SHA512 78e86b0c1d2a56dddc8d9ac97ee325871e319ad2226f1fbd5a048d792cd05e5d8162d282c1f767086da5329cd1ee67b37fbb5a2fd3c950f84e9efab11abcf754 WHIRLPOOL 127e381b100076b9c343603d4ea76cd98264643db2f3240da4a3005a3514365ff0d15f1994e99c2b06c133640f04cc68f9fdb17e7f814a3520cb9b5591a0f8a6
diff --git a/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild b/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild
new file mode 100644
index 000000000000..51ac79287aae
--- /dev/null
+++ b/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+PATCH_LEVEL=2
+
+DESCRIPTION="A small and lightweight parser library for ATA S.M.A.R.T. hard disks"
+HOMEPAGE="http://0pointer.de/blog/projects/being-smart.html"
+SRC_URI="http://0pointer.de/public/${P}.tar.xz
+ mirror://debian/pool/main/liba/${PN}/${PN}_${PV}-${PATCH_LEVEL}.debian.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86"
+IUSE="static-libs"
+
+RDEPEND="virtual/udev"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="README"
+
+src_prepare() {
+ # http://bugs.gentoo.org/470874
+ local d="${WORKDIR}"/debian/patches
+ sed -i -e '/#/d' "${d}"/series || die
+ EPATCH_SOURCE="${d}" epatch $(<"${d}"/series)
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libatasmart/libatasmart-0.19.ebuild b/dev-libs/libatasmart/libatasmart-0.19.ebuild
new file mode 100644
index 000000000000..2cd1c629a4d0
--- /dev/null
+++ b/dev-libs/libatasmart/libatasmart-0.19.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="A small and lightweight parser library for ATA S.M.A.R.T. hard disks"
+HOMEPAGE="http://0pointer.de/blog/projects/being-smart.html"
+SRC_URI="http://0pointer.de/public/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86"
+IUSE="static-libs"
+
+RDEPEND="virtual/udev"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="README"
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libatasmart/metadata.xml b/dev-libs/libatasmart/metadata.xml
new file mode 100644
index 000000000000..9879e83b822e
--- /dev/null
+++ b/dev-libs/libatasmart/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest
new file mode 100644
index 000000000000..82f180044c7f
--- /dev/null
+++ b/dev-libs/libatomic_ops/Manifest
@@ -0,0 +1,7 @@
+DIST gc-7.2alpha4.tar.gz 1091329 SHA256 0b40a7a5d129e3028a3b1a7f0c6b9ae1d01aca14fe179c44cf10f4c5438649f9 SHA512 79c4439989c181add9b80467b1c19d2b61a5e7c510a84a61ee27017220ef56a2b0f4945a4e850019a6c0fe7a9cb3a982ef656b97d988d8e6f3c3fb8270a3e783 WHIRLPOOL 5f3445e8880df63077b11586334933a4c034d0e3b94c44cd585bf0d4b3fa1c8573252327b153ca6b7c9e04495ac3b91069b55fe90204844af569708e8a490b86
+DIST gc-7.2alpha6.tar.gz 1241386 SHA256 ebf425b254773d565e1690287641ed177716a78e952c96fec917edbc64535c16 SHA512 19e8cbb5d4698998a07725dedc204fd707ef3d47a0184129b418e4da44814f0016a834b6ac3766f754e76376441dfbad4b86e8e1b6ada8446f54e70f590628e4 WHIRLPOOL ed399a9cd4785d3d0b9090dce0591e7d8bdd93a5ce4ab0eeee1dba6cb1ae1392328df551f183d25200a0de7dcb93d526691f9b27391c9df49ee5a32643da7256
+DIST gc-7.2d.tar.gz 1263064 SHA256 d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e SHA512 5b342754a1efeef0cf78983b7a0e48a36495beac04fc881ab356b26dc153b343e940ec7af070f4fc875be44adc559f7be995919fe9229f68d2e0237cdbeaabcc WHIRLPOOL 441507f8d8a9ee6d19a25ef0a1b11068a60b15b40a5c484cc3133e48e7ed1c498ce7cc05924d34b0bb6a63f8cb437a696d66f45dca1e256e792f5180081b6051
+DIST libatomic_ops-1.1.tar.gz 178581 SHA256 f5fb0d89b5b26a7f0bb00c92463aeb62a425c491391bc7e36660a1ac0b5a1f13 SHA512 888efe425ee5e6a8008eb047dcb6db6577af73705a172010f1ef413510dfe8127977b37fe18a54be528ed3a0f0b1a7edc5e2ecc147fd6d9d3a7fe5ecaa9a1253 WHIRLPOOL c5c3c059f039de663965d030af3bd6c87e4fadd49b9a2740a96522f0ab68cefc6c39cf980fdd1d7d5b2aa2719172e13f8a122d3b77eb3eabd86ede15494c9f97
+DIST libatomic_ops-1.2.tar.gz 183780 SHA256 a3d8768aa8fd2f6ae79be2d756b3a6b48816b3889ae906be3d5ffb2de5a5c781 SHA512 b3eb524b900f3da46730b4b158e73897f0443269b78ea429812d91f1468d17cccbf15dfd522301724049fe73aced38bf1567aff7b680795da392760890ed83bf WHIRLPOOL 3d9887d167895d7f4c1066eb0fe4c09d2c3ce4852ad84e38a190cc92ef877fd060ef7f235a7470ca1da3bb58c02d5eb2dcfd2115c1c238c27265df844bb27673
+DIST libatomic_ops-7.4.0.tar.gz 455143 SHA256 2875ccc29254d3375dab9c5930c42df342f148f8cd7c646621dbf03f8c1d5b5a SHA512 3a2f6eac7c5f0fe0abaf8650047b8ec1c9c5abe732982a294a2afa920b588e17d64cb9f05a44be31b8cca9e52cc5ac79a26e1779bf60169c228344df4bbe86a9 WHIRLPOOL 32f213bddb235dc0657655d5320262a033d6f54a911077edddfa2d1c4f58568cd1e503cb2a305c0d3538c2c5d306efc4ac5d56f0fed510e6694883f093300e6b
+DIST libatomic_ops-7_4_2.tar.gz 115132 SHA256 2616be0a2f70f7e3eb12f131a36e32723ed5a1928f17b886c3e7c62f7ed14339 SHA512 3d06d5de930a369dd2af4413d8f573993eb927b45941ae8eba14ada91abd34a6baf31e1030d1ef6aa02bd6a2d8d59f9f306dd8dda6a68cf552a2745041111b2e WHIRLPOOL b2b90458b8bbc2660461c64f018c514652132cf65f7afd6a3719cd62fda95304523beff1ca4cab97cf730e25e3881bbaa3dc1e9b461a447b1956818c858b30ad
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-fix-makefile-am-generic.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-fix-makefile-am-generic.patch
new file mode 100644
index 000000000000..7b1f898ef9b6
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-fix-makefile-am-generic.patch
@@ -0,0 +1,19 @@
+diff -u -r a//doc/Makefile.am b//doc/Makefile.am
+--- a//doc/Makefile.am 2005-03-22 00:05:19.000000000 +0200
++++ b//doc/Makefile.am 2010-04-18 20:08:13.000000000 +0300
+@@ -1,3 +1,3 @@
+ # installed documentation
+ #
+-dist_pkgdata_DATA=COPYING LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt
++dist_pkgdata_DATA=COPYING LICENSING.txt README.txt README_stack.txt README_malloc.txt README_win32.txt
+diff -u -r a//src/atomic_ops/sysdeps/Makefile.am b//src/atomic_ops/sysdeps/Makefile.am
+--- a//src/atomic_ops/sysdeps/Makefile.am 2005-09-28 02:53:16.000000000 +0300
++++ b//src/atomic_ops/sysdeps/Makefile.am 2010-04-18 20:04:03.000000000 +0300
+@@ -25,7 +25,6 @@
+ README \
+ \
+ gcc/alpha.h gcc/arm.h gcc/x86.h \
+- gcc/hppa.h gcc/ia64.h \
+ gcc/powerpc.h gcc/sparc.h \
+ gcc/hppa.h gcc/m68k.h gcc/s390.h \
+ gcc/ia64.h gcc/x86_64.h gcc/cris.h \
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch
new file mode 100644
index 000000000000..41171ed86e69
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch
@@ -0,0 +1,11 @@
+--- src/atomic_ops/sysdeps/gcc/powerpc.h 2006-03-29 09:49:14.000000000 +1100
++++ src/atomic_ops/sysdeps/gcc/powerpc.h 2007-08-27 10:51:00.000000000 +1000
+@@ -72,7 +72,7 @@
+ /* registers. I always got "impossible constraint" when I */
+ /* tried the "y" constraint. */
+ __asm__ __volatile__ (
+- "lwz %0,%1\n"
++ "lwz%X1 %0,%1\n"
+ "cmpw cr7,%0,%0\n"
+ "bne- cr7,1f\n"
+ "1: isync\n"
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch
new file mode 100644
index 000000000000..9b6baa188cf7
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch
@@ -0,0 +1,46 @@
+--- src/atomic_ops/sysdeps/gcc/powerpc.h.orig 2006-03-28 22:49:14.000000000 +0000
++++ src/atomic_ops/sysdeps/gcc/powerpc.h 2007-06-08 23:10:07.000000000 +0000
+@@ -63,6 +63,8 @@
+ /* seems to be that a data dependent branch followed by an isync is */
+ /* cheaper. And the documentation is fairly explicit that this also */
+ /* has acquire semantics. */
++/* ppc64 uses ld not lwz */
++#if defined(__powerpc64__) || defined(__ppc64__) || defined(__64BIT__)
+ AO_INLINE AO_t
+ AO_load_acquire(volatile AO_t *addr)
+ {
+@@ -72,7 +74,7 @@
+ /* registers. I always got "impossible constraint" when I */
+ /* tried the "y" constraint. */
+ __asm__ __volatile__ (
+- "lwz %0,%1\n"
++ "ld %0,%1\n"
+ "cmpw cr7,%0,%0\n"
+ "bne- cr7,1f\n"
+ "1: isync\n"
+@@ -80,7 +82,25 @@
+ : "m"(*addr) : "memory", "cc");
+ return result;
+ }
++#else
++AO_INLINE AO_t
++AO_load_acquire(volatile AO_t *addr)
++{
++ AO_t result;
+
++ /* FIXME: We should get gcc to allocate one of the condition */
++ /* registers. I always got "impossible constraint" when I */
++ /* tried the "y" constraint. */
++ __asm__ __volatile__ (
++ "lwz %0,%1\n"
++ "cmpw cr7,%0,%0\n"
++ "bne- cr7,1f\n"
++ "1: isync\n"
++ : "=r" (result)
++ : "m"(*addr) : "memory", "cc");
++ return result;
++}
++#endif
+ #define AO_HAVE_load_acquire
+
+ /* We explicitly specify store_release, since it relies */
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-sh4.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-sh4.patch
new file mode 100644
index 000000000000..4e8dd66a3554
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-sh4.patch
@@ -0,0 +1,59 @@
+--- libatomic_ops/src/atomic_ops.h
++++ libatomic_ops/src/atomic_ops.h
+@@ -228,6 +228,10 @@
+ # if defined(__cris__) || defined(CRIS)
+ # include "atomic_ops/sysdeps/gcc/cris.h"
+ # endif
++# if defined(__sh__) || defined(SH4)
++# include "atomic_ops/sysdeps/gcc/sh.h"
++# define AO_CAN_EMUL_CAS
++# endif /* __sh__ */
+ #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
+
+ #if defined(__INTEL_COMPILER) && !defined(AO_USE_PTHREAD_DEFS)
+only in patch2:
+unchanged:
+--- libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
++++ libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
+@@ -29,6 +29,7 @@
+ gcc/powerpc.h gcc/sparc.h \
+ gcc/hppa.h gcc/m68k.h gcc/s390.h \
+ gcc/ia64.h gcc/x86_64.h gcc/cris.h \
++ gcc/sh.h \
+ \
+ icc/ia64.h \
+ \
+--- libatomic_ops/src/atomic_ops/sysdeps/gcc/sh.h
++++ libatomic_ops/src/atomic_ops/sysdeps/gcc/sh.h
+@@ -0,0 +1,31 @@
++/*
++ * Copyright (c) 2009 by Takashi YOSHII. All rights reserved.
++ *
++ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
++ * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
++ *
++ * Permission is hereby granted to use or copy this program
++ * for any purpose, provided the above notices are retained on all copies.
++ * Permission to modify the code and to distribute modified code is granted,
++ * provided the above notices are retained, and a notice that the code was
++ * modified is included with the above copyright notice.
++ */
++
++#include "../all_atomic_load_store.h"
++#include "../ordered.h"
++
++/* sh has tas.b(byte) only */
++#include "../test_and_set_t_is_char.h"
++
++AO_INLINE AO_TS_VAL_t
++AO_test_and_set_full(volatile AO_TS_t *addr)
++{
++ int oldval;
++ __asm__ __volatile__(
++ "tas.b @%1; movt %0"
++ : "=r" (oldval)
++ : "r" (addr)
++ : "t", "memory");
++ return oldval? AO_TS_CLEAR : AO_TS_SET;
++}
++#define AO_HAVE_test_and_set_full
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-x32.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-x32.patch
new file mode 100644
index 000000000000..2edc6958f360
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-x32.patch
@@ -0,0 +1,43 @@
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e3a384578f677c05d812d99c2c92aa13670bd06a
+
+Upstream-Status: Pending
+
+Remove the `q' suffix on x86-64 atomic instructions.
+
+We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
+which is defined as "unsigned long". "unsigned long" is 32bit for x32
+and 64bit for x86-64. The register operand in x86-64 atomic instructions
+is sufficient to properly determine the register size.
+
+Received this patch from H.J. Lu <hjl.tools@gmail.com>
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/02
+
+--- libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h.x32 2005-09-28 17:16:38.000000000 -0700
++++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h 2011-12-02 09:29:54.265251875 -0800
+@@ -60,7 +60,7 @@ AO_fetch_and_add_full (volatile AO_t *p,
+ {
+ AO_t result;
+
+- __asm__ __volatile__ ("lock; xaddq %0, %1" :
++ __asm__ __volatile__ ("lock; xadd %0, %1" :
+ "=r" (result), "=m" (*p) : "0" (incr), "m" (*p)
+ : "memory");
+ return result;
+@@ -111,7 +111,7 @@ AO_int_fetch_and_add_full (volatile unsi
+ AO_INLINE void
+ AO_or_full (volatile AO_t *p, AO_t incr)
+ {
+- __asm__ __volatile__ ("lock; orq %1, %0" :
++ __asm__ __volatile__ ("lock; or %1, %0" :
+ "=m" (*p) : "r" (incr), "m" (*p) : "memory");
+ }
+
+@@ -136,7 +136,7 @@ AO_compare_and_swap_full(volatile AO_t *
+ AO_t old, AO_t new_val)
+ {
+ char result;
+- __asm__ __volatile__("lock; cmpxchgq %3, %0; setz %1"
++ __asm__ __volatile__("lock; cmpxchg %3, %0; setz %1"
+ : "=m"(*addr), "=q"(result)
+ : "m"(*addr), "r" (new_val), "a"(old) : "memory");
+ return (int) result;
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha4-x32.patch b/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha4-x32.patch
new file mode 100644
index 000000000000..ac2b57fb1722
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha4-x32.patch
@@ -0,0 +1,43 @@
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e3a384578f677c05d812d99c2c92aa13670bd06a
+
+Upstream-Status: Pending
+
+Remove the `q' suffix on x86-64 atomic instructions.
+
+We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
+which is defined as "unsigned long". "unsigned long" is 32bit for x32
+and 64bit for x86-64. The register operand in x86-64 atomic instructions
+is sufficient to properly determine the register size.
+
+Received this patch from H.J. Lu <hjl.tools@gmail.com>
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/02
+
+--- a/src/atomic_ops/sysdeps/gcc/x86_64.h
++++ b/src/atomic_ops/sysdeps/gcc/x86_64.h
+@@ -56,7 +56,7 @@ AO_fetch_and_add_full (volatile AO_t *p,
+ {
+ AO_t result;
+
+- __asm__ __volatile__ ("lock; xaddq %0, %1" :
++ __asm__ __volatile__ ("lock; xadd %0, %1" :
+ "=r" (result), "=m" (*p) : "0" (incr), "m" (*p)
+ : "memory");
+ return result;
+@@ -106,7 +106,7 @@ AO_int_fetch_and_add_full (volatile unsi
+ AO_INLINE void
+ AO_or_full (volatile AO_t *p, AO_t incr)
+ {
+- __asm__ __volatile__ ("lock; orq %1, %0" :
++ __asm__ __volatile__ ("lock; or %1, %0" :
+ "=m" (*p) : "r" (incr), "m" (*p) : "memory");
+ }
+
+@@ -131,7 +131,7 @@ AO_compare_and_swap_full(volatile AO_t *
+ AO_t old, AO_t new_val)
+ {
+ char result;
+- __asm__ __volatile__("lock; cmpxchgq %3, %0; setz %1"
++ __asm__ __volatile__("lock; cmpxchg %3, %0; setz %1"
+ : "=m"(*addr), "=q"(result)
+ : "m"(*addr), "r" (new_val), "a"(old) : "memory");
+ return (int) result;
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha6-x32.patch b/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha6-x32.patch
new file mode 100644
index 000000000000..838e4a8d27f1
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-7.2_alpha6-x32.patch
@@ -0,0 +1,46 @@
+Adopted from
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e3a384578f677c05d812d99c2c92aa13670bd06a
+
+Upstream-Status: Pending
+
+Remove the `q' suffix on x86-64 atomic instructions.
+
+We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
+which is defined as "unsigned long". "unsigned long" is 32bit for x32
+and 64bit for x86-64. The register operand in x86-64 atomic instructions
+is sufficient to properly determine the register size.
+
+Received this patch from H.J. Lu <hjl.tools@gmail.com>
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/02
+
+diff --git a/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h b/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h
+index 0f68c1e..3bcde88 100644
+--- a/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h
++++ b/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h
+@@ -47,7 +47,7 @@ AO_fetch_and_add_full (volatile AO_t *p, AO_t incr)
+ {
+ AO_t result;
+
+- __asm__ __volatile__ ("lock; xaddq %0, %1" :
++ __asm__ __volatile__ ("lock; xadd %0, %1" :
+ "=r" (result), "=m" (*p) : "0" (incr), "m" (*p)
+ : "memory");
+ return result;
+@@ -93,7 +93,7 @@ AO_int_fetch_and_add_full (volatile unsigned int *p, unsigned int incr)
+ AO_INLINE void
+ AO_or_full (volatile AO_t *p, AO_t incr)
+ {
+- __asm__ __volatile__ ("lock; orq %1, %0" :
++ __asm__ __volatile__ ("lock; or %1, %0" :
+ "=m" (*p) : "r" (incr), "m" (*p) : "memory");
+ }
+ #define AO_HAVE_or_full
+@@ -123,7 +123,7 @@ AO_compare_and_swap_full(volatile AO_t *addr, AO_t old, AO_t new_val)
+ return (int)__sync_bool_compare_and_swap(addr, old, new_val);
+ # else
+ char result;
+- __asm__ __volatile__("lock; cmpxchgq %3, %0; setz %1"
++ __asm__ __volatile__("lock; cmpxchg %3, %0; setz %1"
+ : "=m" (*addr), "=a" (result)
+ : "m" (*addr), "r" (new_val), "a" (old) : "memory");
+ return (int) result;
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-7.4.0-docs.patch b/dev-libs/libatomic_ops/files/libatomic_ops-7.4.0-docs.patch
new file mode 100644
index 000000000000..06c03677f605
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-7.4.0-docs.patch
@@ -0,0 +1,19 @@
+--- libatomic_ops-7.4.0/doc/Makefile.am
++++ libatomic_ops-7.4.0/doc/Makefile.am
+@@ -1,4 +1,4 @@
+ # installed documentation
+ #
+-dist_pkgdata_DATA=LICENSING.txt README.txt README_stack.txt \
++dist_doc_DATA=README.txt README_stack.txt \
+ README_malloc.txt README_win32.txt
+--- libatomic_ops-7.4.0/Makefile.am
++++ libatomic_ops-7.4.0/Makefile.am
+@@ -6,8 +6,6 @@
+ pkgconfig_DATA = pkgconfig/atomic_ops.pc
+ noinst_DATA = pkgconfig/atomic_ops-uninstalled.pc
+
+-dist_pkgdata_DATA = COPYING README.md
+-
+ EXTRA_DIST = autogen.sh
+
+ #distclean-local:
diff --git a/dev-libs/libatomic_ops/libatomic_ops-1.1.ebuild b/dev-libs/libatomic_ops/libatomic_ops-1.1.ebuild
new file mode 100644
index 000000000000..201223bae498
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-1.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/research/linux/atomic_ops/download/${P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 -x86 -x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+ emake pkgdatadir="/usr/share/doc/${PF}" DESTDIR="${D}" install
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-1.2-r1.ebuild b/dev-libs/libatomic_ops/libatomic_ops-1.2-r1.ebuild
new file mode 100644
index 000000000000..c2f73ddba0b8
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-1.2-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/research/linux/atomic_ops/download/${P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+src_unpack(){
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-ppc64-load_acquire.patch
+ epatch "${FILESDIR}"/${P}-ppc-asm.patch
+ epatch "${FILESDIR}"/${P}-sh4.patch
+ epatch "${FILESDIR}"/${P}-fix-makefile-am-generic.patch
+ epatch "${FILESDIR}"/${P}-x32.patch
+ eautoreconf
+}
+
+src_install() {
+ emake pkgdatadir="${EPREFIX}/usr/share/doc/${PF}" DESTDIR="${D}" install || die
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-1.2.ebuild b/dev-libs/libatomic_ops/libatomic_ops-1.2.ebuild
new file mode 100644
index 000000000000..ebd26ec0ff12
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-1.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/research/linux/atomic_ops/download/${P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_unpack(){
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-ppc64-load_acquire.patch
+}
+
+src_install() {
+ emake pkgdatadir="/usr/share/doc/${PF}" DESTDIR="${D}" install || die
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha4.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha4.ebuild
new file mode 100644
index 000000000000..3ed5a8a2624e
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV/_}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/gc-${PV/_}/libatomic_ops
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-7.2_alpha4-x32.patch
+ sed -i \
+ -e "/^pkgdatadir/s:/.*:/doc/${PF}:" \
+ doc/Makefile.in || die
+ find -type f -exec touch -r . {} +
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ find "${ED}" '(' -name COPYING -o -name LICENSING.txt ')' -delete
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha6.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha6.ebuild
new file mode 100644
index 000000000000..034fc8efaa72
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.2_alpha6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV/_}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/gc-${PV/_}/libatomic_ops
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-x32.patch
+ sed -i \
+ -e "/^pkgdatadir/s:/.*:/doc/${PF}:" \
+ doc/Makefile.in || die
+ find -type f -exec touch -r . {} +
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ find "${ED}" '(' -name COPYING -o -name LICENSING.txt ')' -delete
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.2d.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.2d.ebuild
new file mode 100644
index 000000000000..15d79eb42a2a
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.2d.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit toolchain-funcs
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV/_}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/gc-${PV/d}/libatomic_ops
+
+src_prepare() {
+ sed -i \
+ -e "/^pkgdatadir/s:/.*:/doc/${PF}:" \
+ doc/Makefile.in || die
+ find -type f -exec touch -r . {} +
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ find "${ED}" '(' -name COPYING -o -name LICENSING.txt ')' -delete
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.4.0.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.4.0.ebuild
new file mode 100644
index 000000000000..6dd372650f32
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="http://www.hpl.hp.com/research/linux/atomic_ops/"
+SRC_URI="http://www.hpl.hp.com/research/linux/atomic_ops/download/${P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-docs.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.4.2.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.4.2.ebuild
new file mode 100644
index 000000000000..5ce444299494
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.4.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+MY_P=${PN}-${PV//./_}
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="https://github.com/ivmai/libatomic_ops/"
+SRC_URI="https://github.com/ivmai/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/${PN}-${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-7.4.0-docs.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
diff --git a/dev-libs/libatomic_ops/metadata.xml b/dev-libs/libatomic_ops/metadata.xml
new file mode 100644
index 000000000000..45883ebb6e92
--- /dev/null
+++ b/dev-libs/libatomic_ops/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="github">ivmai/libatomic_ops</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libattica/Manifest b/dev-libs/libattica/Manifest
new file mode 100644
index 000000000000..f12e18592a95
--- /dev/null
+++ b/dev-libs/libattica/Manifest
@@ -0,0 +1 @@
+DIST attica-0.4.2.tar.bz2 57093 SHA256 3b9c53770862c0b21b7af7ea15951c35831126022bb8d052760d9cf8bd7ee4f8 SHA512 cef5d5c4bf01ed45ed8b59db354a4ac7949de435a45e4f753c847cadc15855e25997dedf1ff20c7bc4a2724d2cdba15139c54f0682df7d8cc8750de5be6f716e WHIRLPOOL b35c3a072a44031f61e7f048336f552a95a1d9f77838552fc19fbbcf22e66dfa297b9ffccd30cf434be7fe6485209bf6e4622cfa0637a519de6ee5318a947833
diff --git a/dev-libs/libattica/libattica-0.4.2.ebuild b/dev-libs/libattica/libattica-0.4.2.ebuild
new file mode 100644
index 000000000000..3080325b75bd
--- /dev/null
+++ b/dev-libs/libattica/libattica-0.4.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_P="${P#lib}"
+MY_PN="${PN#lib}"
+
+if [[ $PV = *9999* ]]; then
+ EGIT_REPO_URI="git://anongit.kde.org/attica"
+ KEYWORDS=""
+ scm_eclass=git-2
+else
+ SRC_URI="mirror://kde/stable/${MY_PN}/${MY_P}.tar.bz2"
+ KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+inherit cmake-utils ${scm_eclass}
+
+DESCRIPTION="A library providing access to Open Collaboration Services"
+HOMEPAGE="http://www.kde.org/"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+IUSE="debug test"
+
+RDEPEND="
+ dev-qt/qtcore:4
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-qt/qtgui:4
+ dev-qt/qttest:4
+ )
+"
+
+DOCS=( AUTHORS ChangeLog README )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ local mycmakeargs=(
+ -DQT4_BUILD=true
+ $(cmake-utils_use test ATTICA_ENABLE_TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libattica/metadata.xml b/dev-libs/libattica/metadata.xml
new file mode 100644
index 000000000000..8d1e86a9cefb
--- /dev/null
+++ b/dev-libs/libattica/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>kde</herd>
+</pkgmetadata>
diff --git a/dev-libs/libax25/Manifest b/dev-libs/libax25/Manifest
new file mode 100644
index 000000000000..a897c2f7c919
--- /dev/null
+++ b/dev-libs/libax25/Manifest
@@ -0,0 +1 @@
+DIST libax25-0.0.12-rc4.tar.gz 335535 SHA256 051bd736c3f3f3b242b3efea91af37f2e8d5afaebb5fe6e1df050bb1f6aeb986 SHA512 d11ed19cf72b8eed22c6cbaa5f45f0eb3b96672a6c9334a095da36b622a0453b0d7b72f75f7aa5753c9cf10636d5b10c36fe9b445481e04f7cba711609f7a812 WHIRLPOOL df3cbab97bbd3d067822de8f81c6314c38547afe63a105f25d135cda16685bb7baa17bcb0ce55aa2689973d2f82e1239eba39faf15b0c3d437ff0ef3d5797a70
diff --git a/dev-libs/libax25/libax25-0.0.12_rc4.ebuild b/dev-libs/libax25/libax25-0.0.12_rc4.ebuild
new file mode 100644
index 000000000000..1dd75ee008a2
--- /dev/null
+++ b/dev-libs/libax25/libax25-0.0.12_rc4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools-utils versionator
+
+MY_P=${PN}-$(replace_version_separator 3 '-')
+
+DESCRIPTION="AX.25 library for hamradio applications"
+HOMEPAGE="http://www.linux-ax25.org/"
+SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_install() {
+ autotools-utils_src_install installconf
+}
diff --git a/dev-libs/libax25/metadata.xml b/dev-libs/libax25/metadata.xml
new file mode 100644
index 000000000000..723553c89120
--- /dev/null
+++ b/dev-libs/libax25/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tomjbe@gentoo.org</email>
+ <name>Thomas Beierlein</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libbase58/Manifest b/dev-libs/libbase58/Manifest
new file mode 100644
index 000000000000..6c24c1c260f8
--- /dev/null
+++ b/dev-libs/libbase58/Manifest
@@ -0,0 +1,2 @@
+DIST libbase58-0.1.1.tar.gz 6564 SHA256 51f665b52efc99b7a8205101569a0580a7d7defda1c4597e6e467c164f86a206 SHA512 c47cb7f891c54a8b07a01f033312baa97b7722965cc0c5003fb8591dedc304dd3ff408e8b31ee4b0634b58f6a7f0be55bee039a1fd8e24fdb62f7a72c4be7c3b WHIRLPOOL ec72557af9269a47a33c4d75260821b606b75a644ded2f4f30f02657fc3a6586240f91d76718b219e7cbde8a636987f5145405faa9603c2c19022aeeac1be878
+DIST v0.1.0.tar.gz 5807 SHA256 43ac21173353c3d284406986501d15972f589b6d9247f61766b7acbf1f5a7a4a SHA512 8bfeeb194736cae291308b281f23f49774943dc0151863ddf99b92b657c0151a9873a110f79679e81f14bf0ecf3cf00bf43f517a24d5e89d032a0a5ebed1a358 WHIRLPOOL ba3baed348e4e7265ad14c04f7fca9b728ebd026a61275e4aaa852268f2513bc001610f013159b72c0367255a4c2d3d69b18c7b693c5e6eab6269c4894b6667c
diff --git a/dev-libs/libbase58/libbase58-0.1.0.ebuild b/dev-libs/libbase58/libbase58-0.1.0.ebuild
new file mode 100644
index 000000000000..fa5c386094ca
--- /dev/null
+++ b/dev-libs/libbase58/libbase58-0.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="C implementation of Bitcoin's base58 encoding"
+HOMEPAGE="https://github.com/luke-jr/libbase58"
+LICENSE="MIT"
+
+SRC_URI="https://github.com/luke-jr/${PN}/archive/v${PV}.tar.gz"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
+IUSE="tools"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable tools tool)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libbase58/libbase58-0.1.1.ebuild b/dev-libs/libbase58/libbase58-0.1.1.ebuild
new file mode 100644
index 000000000000..ddfff16ee8d0
--- /dev/null
+++ b/dev-libs/libbase58/libbase58-0.1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="C implementation of Bitcoin's base58 encoding"
+HOMEPAGE="https://github.com/luke-jr/libbase58"
+LICENSE="MIT"
+
+SRC_URI="https://github.com/luke-jr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
+IUSE="tools"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable tools tool)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libbase58/metadata.xml b/dev-libs/libbase58/metadata.xml
new file mode 100644
index 000000000000..47e36dad83d9
--- /dev/null
+++ b/dev-libs/libbase58/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke_gentoo_bitcoin@dashjr.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <use>
+ <flag name="tools">Build command line base58 tool</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">luke-jr/libbase58</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libbegemot/Manifest b/dev-libs/libbegemot/Manifest
new file mode 100644
index 000000000000..812778eb0bdb
--- /dev/null
+++ b/dev-libs/libbegemot/Manifest
@@ -0,0 +1 @@
+DIST libbegemot-1.11.tar.gz 266310 SHA256 b08b44844075deada7704a58e71f7a3508f5f474ccde2086fcf20e77777a0655 SHA512 ea5b0b548ad4240aa945ee9376e13a8ec5848bd9675f7fdc57c3daf1e79735e442c44a550430617a1048d5a0cef06adc9b48d45f42cca9f6049e3f3d0571e627 WHIRLPOOL 3dc40e27664bd965b4721f4be285132ca06390961ff49cbeff06dd201d7e05880b9b2378c7d878efb3a13cfeda9b023950e928f19c33052701ea68a286984b4d
diff --git a/dev-libs/libbegemot/libbegemot-1.11.ebuild b/dev-libs/libbegemot/libbegemot-1.11.ebuild
new file mode 100644
index 000000000000..e74a9ca58a0c
--- /dev/null
+++ b/dev-libs/libbegemot/libbegemot-1.11.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit libtool
+
+DESCRIPTION="begemot utility function library"
+HOMEPAGE="http://people.freebsd.org/~harti/"
+SRC_URI="http://people.freebsd.org/~harti/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+
+src_compile() {
+ elibtoolize
+ econf || die "econf failed"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc README
+}
diff --git a/dev-libs/libbegemot/metadata.xml b/dev-libs/libbegemot/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/dev-libs/libbegemot/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/dev-libs/libbrahe/Manifest b/dev-libs/libbrahe/Manifest
new file mode 100644
index 000000000000..77a15aafb7ed
--- /dev/null
+++ b/dev-libs/libbrahe/Manifest
@@ -0,0 +1 @@
+DIST libbrahe-1.1.0.tar.gz 344264 SHA256 7280de227300c2697cd012cdfb430446d5920fcc576e8858213057310a4767d0 SHA512 54f2d0c9c1c04429fab59d365d6a4144eed29a400edccd7ed9e5d19876565071ac76686da73e7f84c857057c8c52e1b85d2e257203724cbd9f1877d76024927f WHIRLPOOL 08f5bb1b5c741c9626fe3ca728ac1a99d31efd3a859aeba354f596445fb8ff195cd48603d10d3993ee412ecde9c96fd60b65447f4332771bcb868ed52182be93
diff --git a/dev-libs/libbrahe/files/1.1.0-missing_libs.patch b/dev-libs/libbrahe/files/1.1.0-missing_libs.patch
new file mode 100644
index 000000000000..7466f917f9da
--- /dev/null
+++ b/dev-libs/libbrahe/files/1.1.0-missing_libs.patch
@@ -0,0 +1,7 @@
+--- src/Makefile.am.orig 2008-05-01 02:21:34.000000000 +0200
++++ src/Makefile.am 2008-05-01 02:21:47.000000000 +0200
+@@ -14,3 +14,4 @@
+
+ AM_CFLAGS = -std=gnu99 -pedantic -Wall -Wno-format
+ DEFS = -I. -I$(srcdir)
++LIBS = -lm
diff --git a/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild b/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..6493c8672870
--- /dev/null
+++ b/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="A Heterogenous C Library of Numeric Functions"
+HOMEPAGE="http://www.coyotegulch.com/products/brahe/"
+SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+
+IUSE="static-libs"
+
+DOCS=( AUTHORS ChangeLog NEWS )
+PATCHES=( "${FILESDIR}/${PV}-missing_libs.patch" )
diff --git a/dev-libs/libbrahe/metadata.xml b/dev-libs/libbrahe/metadata.xml
new file mode 100644
index 000000000000..8434377a6047
--- /dev/null
+++ b/dev-libs/libbrahe/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/libbsd/Manifest b/dev-libs/libbsd/Manifest
new file mode 100644
index 000000000000..8ef159dd96fd
--- /dev/null
+++ b/dev-libs/libbsd/Manifest
@@ -0,0 +1 @@
+DIST libbsd-0.7.0.tar.xz 322908 SHA256 0f3b0e17e5c34c038126e0a04351b11e23c6101a7d0ce3beeab29bb6415c10bb SHA512 2c4c8fb2ae7fb5e5aab90f7a59a679220922dfeeaf0d54f80976914fcd507171bb9359f0837c32499e63a0f3e9342c9dcd387a466b359d20e3790ddc8ca17cea WHIRLPOOL 06083651f5678362d3422f96e59d30d8010493f9d1c8c43a94f7ab310daead491c70bce7838cc8302cb448e4a8fa99c7456f0ba9a3b411b292829ba949712b59
diff --git a/dev-libs/libbsd/libbsd-0.7.0.ebuild b/dev-libs/libbsd/libbsd-0.7.0.ebuild
new file mode 100644
index 000000000000..1099b74be8f8
--- /dev/null
+++ b/dev-libs/libbsd/libbsd-0.7.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib
+
+DESCRIPTION="An library to provide useful functions commonly found on BSD systems"
+HOMEPAGE="http://libbsd.freedesktop.org/wiki/"
+SRC_URI="http://${PN}.freedesktop.org/releases/${P}.tar.xz"
+
+LICENSE="BSD BSD-2 BSD-4 ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ppc ppc64 sparc x86"
+IUSE="static-libs"
+
+DOCS="ChangeLog README TODO"
+
+pkg_setup() {
+ local f="${ROOT}/usr/$(get_libdir)/${PN}.a"
+ local m="You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
+ if ! has_version ${CATEGORY}/${PN}; then
+ if [[ -e ${f} ]]; then
+ eerror "${m}"
+ die "${m}"
+ fi
+ fi
+}
+
+src_configure() {
+ # The build system will install libbsd-ctor.a despite of USE="-static-libs"
+ # which is correct, see:
+ # http://cgit.freedesktop.org/libbsd/commit/?id=c5b959028734ca2281250c85773d9b5e1d259bc8
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libbsd/metadata.xml b/dev-libs/libbsd/metadata.xml
new file mode 100644
index 000000000000..2953eb8e0471
--- /dev/null
+++ b/dev-libs/libbsd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+</pkgmetadata>
diff --git a/dev-libs/libbson/Manifest b/dev-libs/libbson/Manifest
new file mode 100644
index 000000000000..c4e3b8af2e88
--- /dev/null
+++ b/dev-libs/libbson/Manifest
@@ -0,0 +1,2 @@
+DIST libbson-0.98.0.tar.gz 4451923 SHA256 5e792a3c4d296a8b9e4316f1c58e94819223c4512ba4a790cf9e7086ef614995 SHA512 9bae7593198c8ac358978bd6a065d65fb872a15fd43d11839ad5dff1ffbe0362b06cd4bde08032a2c11e8633789328b5d504cd032b7636dc525f6df3e6fd641d WHIRLPOOL ed6350ef59fa596f6414010362999896648c491a906b4ad9f5e11bac549acf975083d3b6ea8d4e0eff0e3ae35a7db784303120d3855b7f2bb21373a318f44516
+DIST libbson-1.1.2.tar.gz 4492014 SHA256 acd8026d4e5bf5034b699af136236a8a38c06613d1800fdf54721fe66280b6ae SHA512 03e2ee337445286c14b846cd7545707959b1d351fa466c6292379a85e48ea1a171dae37dd7aff092212239ad59aac6f1ab216ee5de74ef00a8a2a124559e34da WHIRLPOOL 10a4fee34bcc12a730899553d62405784673ee5beecf63a624fb1527c9dddd0403d855a7557f6a35167bffee2b2ebb9f7d3b7ddc64d2e12cc39d95afe89e0db6
diff --git a/dev-libs/libbson/libbson-0.98.0.ebuild b/dev-libs/libbson/libbson-0.98.0.ebuild
new file mode 100644
index 000000000000..a26025e52779
--- /dev/null
+++ b/dev-libs/libbson/libbson-0.98.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A BSON utility library"
+HOMEPAGE="https://github.com/mongodb/libbson"
+SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="debug examples static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ # https://github.com/mongodb/mongo-c-driver/issues/54
+ sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
+ tests/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-hardening \
+ --disable-optimizations \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ doman doc/*.3
+
+ use static-libs || find "${D}" -name '*.la' -delete
+
+ if use examples; then
+ insinto /usr/share/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/dev-libs/libbson/libbson-1.1.2.ebuild b/dev-libs/libbson/libbson-1.1.2.ebuild
new file mode 100644
index 000000000000..48a63432068f
--- /dev/null
+++ b/dev-libs/libbson/libbson-1.1.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A BSON utility library"
+HOMEPAGE="https://github.com/mongodb/libbson"
+SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="debug examples static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ # https://github.com/mongodb/mongo-c-driver/issues/54
+ sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
+ tests/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-hardening \
+ --disable-optimizations \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ doman doc/*.3
+
+ use static-libs || find "${D}" -name '*.la' -delete
+
+ if use examples; then
+ insinto /usr/share/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/dev-libs/libbson/metadata.xml b/dev-libs/libbson/metadata.xml
new file mode 100644
index 000000000000..de62fb54a58c
--- /dev/null
+++ b/dev-libs/libbson/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Ultrabug</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Proxy Maintainer. CC on bugs</description>
+ </maintainer>
+ <longdescription lang="en">A BSON utility library.</longdescription>
+ <upstream>
+ <remote-id type="github">mongodb/libbson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libbulletml/Manifest b/dev-libs/libbulletml/Manifest
new file mode 100644
index 000000000000..902ccdf0ed7c
--- /dev/null
+++ b/dev-libs/libbulletml/Manifest
@@ -0,0 +1 @@
+DIST libbulletml-0.0.6.tar.bz2 94529 SHA256 c7770f37c5a870ce2f2640c83378c0ee4da9d77bcdd286ce33d0de6c4d5f4524 SHA512 4428d8088eefd2a1336eb963e8c65188b67a82d875cdcb51bad9ca7aa3c864b3453464daf1e6691d52120332fe3a078b9827136d214d9ca87fdd0cb81bb60150 WHIRLPOOL 6c43a7c41ab3f6a36fba0474724923286eb41bf916cdccccb7081e367a44096b260fccb8729f81fd691140124ef78ef81e96e4782c39e9d566fd3830f9fd14bf
diff --git a/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc43.patch b/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc43.patch
new file mode 100644
index 000000000000..f7e9bfbab9b1
--- /dev/null
+++ b/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc43.patch
@@ -0,0 +1,31 @@
+--- src/calc.yy
++++ src/calc.yy
+@@ -8,6 +8,7 @@
+
+ #include <cmath>
+ #include <cctype>
++#include <cstring>
+
+ #include <vector>
+ #include <sstream>
+--- src/tinyxml/tinyxml.h
++++ src/tinyxml/tinyxml.h
+@@ -28,6 +28,8 @@
+ #include <string>
+ #include <stdio.h>
+ #include <assert.h>
++#include <cstring>
++#include <cstdlib>
+
+ class TiXmlDocument;
+ class TiXmlElement;
+--- src/tinyxml/tinyxmlparser.cpp
++++ src/tinyxml/tinyxmlparser.cpp
+@@ -24,6 +24,7 @@
+
+ #include "tinyxml.h"
+ #include <ctype.h>
++#include <cstring>
+
+ const char* TiXmlBase::SkipWhiteSpace( const char* p )
+ {
diff --git a/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc46.patch b/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc46.patch
new file mode 100644
index 000000000000..47e0dc411ac9
--- /dev/null
+++ b/dev-libs/libbulletml/files/libbulletml-0.0.6-gcc46.patch
@@ -0,0 +1,20 @@
+--- calc.yy.old 2011-05-18 12:26:38.701666366 +0200
++++ calc.yy 2011-05-18 12:27:43.020672135 +0200
+@@ -17,7 +17,7 @@
+ #include "formula.h"
+ #include "formula-variables.h"
+
+-int yyerror(char* s);
++int yyerror(const char* s);
+ int yylex();
+
+ const char* yyinStr;
+@@ -149,7 +149,7 @@
+ return c;
+ }
+
+-int yyerror(char* s) {
++int yyerror(const char* s) {
+ printf("yyerror: %s\n", s);
+ return 0;
+ }
diff --git a/dev-libs/libbulletml/libbulletml-0.0.6.ebuild b/dev-libs/libbulletml/libbulletml-0.0.6.ebuild
new file mode 100644
index 000000000000..eab29bbfacad
--- /dev/null
+++ b/dev-libs/libbulletml/libbulletml-0.0.6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="A Library of Bullet Markup Language"
+HOMEPAGE="http://shinh.skr.jp/libbulletml/index_en.html"
+SRC_URI="http://shinh.skr.jp/libbulletml/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-libs/boost"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${PN#lib}/src
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-gcc46.patch
+ rm -r boost || die
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+}
+
+src_install() {
+ dolib.a libbulletml.a
+
+ insinto /usr/include/bulletml
+ doins *.h
+
+ insinto /usr/include/bulletml/tinyxml
+ doins tinyxml/tinyxml.h
+
+ insinto /usr/include/bulletml/ygg
+ doins ygg/ygg.h
+
+ dodoc ../README*
+}
diff --git a/dev-libs/libbulletml/metadata.xml b/dev-libs/libbulletml/metadata.xml
new file mode 100644
index 000000000000..d3c2cc926f0b
--- /dev/null
+++ b/dev-libs/libbulletml/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/dev-libs/libburn/Manifest b/dev-libs/libburn/Manifest
new file mode 100644
index 000000000000..1e243e64bcd0
--- /dev/null
+++ b/dev-libs/libburn/Manifest
@@ -0,0 +1,2 @@
+DIST libburn-1.3.8.tar.gz 967404 SHA256 46266bdd4b37ca9700a44bbd8dbfbf3526423ede25751fd2f0211b2b5ce29283 SHA512 4f279319b49bc5f5d42751fcab16bfe949e14e6e1018f9138bcc9f8e10a298ecf9795780d5f8807c5c2bf1cc0332f931b709f1fb5809f30abb8054297370f3c6 WHIRLPOOL a814ab1c88b70b03788d490c1d6f9305878613d529fdd58df65a13bc683cf2e6c4e877192f85ffca07474a866115a34ef3932e838097e88db08d73554ed2ad3c
+DIST libburn-1.4.0.tar.gz 970395 SHA256 6c975abae4ae1f80e47fc5d1e235f85157f73e954c84627a5ef85d8b1b95ae94 SHA512 33c6eabe79343c9ebd198fb7c23900cac6b92b6834d80d2060062c48ca32a243566ebb3f86b51c5d149ef6aef4da2eaa340b3094960b0bce1fd67c0b82ee75f1 WHIRLPOOL 82f8186e9471a2046c627261da831250d0c60a9a1f8f6658a4238b2c35480b153a949189a5b89235449602919a33b81ff0c9fc728cef1757979e54080089a9d7
diff --git a/dev-libs/libburn/libburn-1.3.8.ebuild b/dev-libs/libburn/libburn-1.3.8.ebuild
new file mode 100644
index 000000000000..f6c8a8c7ab2b
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.3.8.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Libburn is an open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="http://libburnia-project.org"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+IUSE="cdio debug static-libs track-src-odirect"
+
+RDEPEND="cdio? ( >=dev-libs/libcdio-0.83 )"
+DEPEND="$RDEPEND
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable track-src-odirect) \
+ --enable-pkg-check-modules \
+ $(use_enable cdio libcdio) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dohtml cdrskin/cdrskin_eng.html
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libburn/libburn-1.4.0.ebuild b/dev-libs/libburn/libburn-1.4.0.ebuild
new file mode 100644
index 000000000000..bf3b79fa415e
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Libburn is an open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="http://libburnia-project.org"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cdio debug static-libs track-src-odirect"
+
+RDEPEND="cdio? ( >=dev-libs/libcdio-0.83 )"
+DEPEND="$RDEPEND
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable track-src-odirect) \
+ --enable-pkg-check-modules \
+ $(use_enable cdio libcdio) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dohtml cdrskin/cdrskin_eng.html
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libburn/metadata.xml b/dev-libs/libburn/metadata.xml
new file mode 100644
index 000000000000..3bdc33646cf4
--- /dev/null
+++ b/dev-libs/libburn/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>media-optical</herd>
+<maintainer>
+<email>billie@gentoo.org</email>
+<name>Daniel Pielmeier</name>
+</maintainer>
+<longdescription lang="en">
+Libburn is an open-source library for reading, mastering and writing optical
+discs.
+</longdescription>
+<use>
+<flag name="track-src-odirect">Read track input with O_DIRECT (see man 2 open),
+this may deliver a better write performance in some situations</flag>
+<flag name="cdio">Enable EXPERIMENTAL use of libcdio as system adapter</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libcaldav/Manifest b/dev-libs/libcaldav/Manifest
new file mode 100644
index 000000000000..84ae26f17c52
--- /dev/null
+++ b/dev-libs/libcaldav/Manifest
@@ -0,0 +1 @@
+DIST libcaldav-0.6.2.tar.gz 513852 SHA256 3d73db7cb31179dac2eeec850f8d770b8c8df283691a5bed2572c0fa71602d02 SHA512 a6d9c70f0cb7699644504e88934f7942b0840e81e89304ada50200d778e51e95dca08d0a0748636455295a03535a52559a07f58a15dd5ef1d4520dd3b0fc1aba WHIRLPOOL 64411fd93866a2bb206ed8e6041dd442f7d8870a5946f9b8e0a3e0f4a8ac78eae16516c35d38d9f607f8bc4a01109b034400d4e860ecfca21a3da389773db703
diff --git a/dev-libs/libcaldav/libcaldav-0.6.2.ebuild b/dev-libs/libcaldav/libcaldav-0.6.2.ebuild
new file mode 100644
index 000000000000..25ad8752bbcf
--- /dev/null
+++ b/dev-libs/libcaldav/libcaldav-0.6.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="C library implementing client support for CalDAV"
+HOMEPAGE="http://libcaldav.sourceforge.net/"
+SRC_URI="mirror://sourceforge/libcaldav/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/glib
+ net-misc/curl[ssl,gnutls(+),curl_ssl_gnutls(+)]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ )
+"
+
+src_configure() {
+ econf $(use_enable doc)
+}
diff --git a/dev-libs/libcaldav/metadata.xml b/dev-libs/libcaldav/metadata.xml
new file mode 100644
index 000000000000..09de2a8dfde2
--- /dev/null
+++ b/dev-libs/libcaldav/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libcaldav</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libcdio-paranoia/Manifest b/dev-libs/libcdio-paranoia/Manifest
new file mode 100644
index 000000000000..cfc77c1ab2b8
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/Manifest
@@ -0,0 +1,2 @@
+DIST libcdio-paranoia-10.2+0.90+1.tar.gz 634050 SHA256 7608c8e3195ba438aa1ae05b60d76ef9aacbcc27233a3eb03a0439abea464be6 SHA512 c3d00b57f22deb19be929ba87f41bbd83fc51ca66e8ccc1da7acb4131d85449fdd38161cc3ec0f1714fc0571e219d72029b5a72f853c139aa479695df783aad6 WHIRLPOOL 920d8d8f377dd6ae4f95e777d3c926250b24572d27fcf7171ec5cdf434dbbf5b084b30448303d9ae93328eee7003d763df082455d318440fb9a5f3d0e9c9e7db
+DIST libcdio-paranoia-10.2+0.93+1.tar.gz 686055 SHA256 4617792b4eb301de45b61732bdc0617447ad06b53068ae45db37695275c0dd4c SHA512 2bb418c99ef037aeb90ba3db841ea9182c5bc401e74c6f4b552730e6c8561552f7d3e27be71ef4fbb07b4fcd9db418a4fe330d5278e8f41cdd99c757aa4b8bc6 WHIRLPOOL 2109ff999820e63b07853ea26c059e3f60af4b2ac42083f122551dbf7e8b78d5ad522df209f236040bd355dc134d68d4ef3345c57c65bc7392327667d1facd38
diff --git a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch
new file mode 100644
index 000000000000..fc83c96511f9
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch
@@ -0,0 +1,26 @@
+http://bugs.gentoo.org/455374
+http://github.com/rocky/libcdio-paranoia/issues/1
+http://savannah.gnu.org/bugs/index.php?38273
+
+--- configure.ac
++++ configure.ac
+@@ -74,6 +74,8 @@
+ dnl Checks for programs.
+ AC_AIX
+
++AC_PROG_MKDIR_P
++
+ if test "x$GCC" != "xyes"
+ then
+ AC_MSG_WARN([
+--- doc/ja/Makefile.am
++++ doc/ja/Makefile.am
+@@ -25,7 +25,7 @@
+
+ install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(mandir)$(mansubdir)"
++ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(mandir)$(mansubdir)"
+ @list='$(man1_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild
new file mode 100644
index 000000000000..aec42f4cca4c
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+MY_P=${PN}-10.2+${PV/_p/+}
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils autotools-multilib
+
+DESCRIPTION="an advanced CDDA reader with error correction"
+HOMEPAGE="http://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
+
+# COPYING-GPL from cdparanoia says "2 or later"
+# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
+# clause "or later" so we use LGPL-2.1 without +
+LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="+cxx static-libs test"
+
+RDEPEND="app-eselect/eselect-cdparanoia
+ >=dev-libs/libcdio-0.90-r1[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r10
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.90-mkdir_p.patch
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
+ autotools-multilib_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-maintainer-mode
+ --disable-example-progs
+ $(use_enable cxx)
+ --disable-cpp-progs
+ --with-cd-paranoia-name=libcdio-paranoia
+ )
+ autotools-multilib_src_configure
+}
+
+pkg_postinst() {
+ eselect cdparanoia update ifunset
+}
+
+pkg_postrm() {
+ eselect cdparanoia update ifunset
+}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild
new file mode 100644
index 000000000000..9cbcb0eab65c
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+MY_P=${PN}-10.2+${PV/_p/+}
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils autotools-multilib
+
+DESCRIPTION="an advanced CDDA reader with error correction"
+HOMEPAGE="http://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
+
+# COPYING-GPL from cdparanoia says "2 or later"
+# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
+# clause "or later" so we use LGPL-2.1 without +
+LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="+cxx static-libs test"
+
+RDEPEND="app-eselect/eselect-cdparanoia
+ >=dev-libs/libcdio-0.93[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r10
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS )
+
+src_prepare() {
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
+ autotools-multilib_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-maintainer-mode
+ --disable-example-progs
+ $(use_enable cxx)
+ --disable-cpp-progs
+ --with-cd-paranoia-name=libcdio-paranoia
+ )
+ autotools-multilib_src_configure
+}
+
+pkg_postinst() {
+ eselect cdparanoia update ifunset
+}
+
+pkg_postrm() {
+ eselect cdparanoia update ifunset
+}
diff --git a/dev-libs/libcdio-paranoia/metadata.xml b/dev-libs/libcdio-paranoia/metadata.xml
new file mode 100644
index 000000000000..e1774e3d9ad7
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+</pkgmetadata>
diff --git a/dev-libs/libcdio/Manifest b/dev-libs/libcdio/Manifest
new file mode 100644
index 000000000000..f1ea68e4e9ed
--- /dev/null
+++ b/dev-libs/libcdio/Manifest
@@ -0,0 +1,2 @@
+DIST libcdio-0.92.tar.gz 2710084 SHA256 3336bf352aff43b5023e41a6d23525172a3b4ee433c467bd0fab5b8becb33fad SHA512 aeeb51c87f966683a1f10960e4d000098603adfbd8036cff17f62afa5de08a2dbe4f8df7d1bc1fd0438c0ac5f868b2950ed9379ea17b7d98fbd23ef023777747 WHIRLPOOL 051ba189fef5f28ae8ac98caab7bdb7468423f53d7b423e1a2416a8741339ff5aed76115a665f91d406254462c87cf84274a1b777a8f39064624fe908ff1fb0c
+DIST libcdio-0.93.tar.gz 2723371 SHA256 4972cd22fd8d0e8bff922d35c7a645be0db0ab0e7b3dfaecc9cd8272429d6975 SHA512 a2ea7a1f219e1abdbbb42633003e10ff77b6a879133c96a0c8e7a80fe205c08a48bade1d9941c6493f24d6eb2ed410469b57e19d9740a4400266a6f3f9d3da91 WHIRLPOOL ff54f71de82fcb659c2de85e5b1090974273e938a3cd8c6353e37fa7e3c6d793d404eaeb43bebe03e73c51dfde8c6db458911ae799fdce75723a06f8ce7689f8
diff --git a/dev-libs/libcdio/libcdio-0.92.ebuild b/dev-libs/libcdio/libcdio-0.92.ebuild
new file mode 100644
index 000000000000..50759e092a14
--- /dev/null
+++ b/dev-libs/libcdio/libcdio-0.92.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="A library to encapsulate CD-ROM reading and control"
+HOMEPAGE="http://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/15" # subslot is based on SONAME
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cddb +cxx minimal static-libs test"
+
+RDEPEND="
+ !minimal? (
+ >=sys-libs/ncurses-5.7-r7
+ cddb? ( >=media-libs/libcddb-1.3.2 )
+ )
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r10
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ sys-apps/sed
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+DOCS="AUTHORS ChangeLog NEWS README* THANKS TODO"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/cdio/cdio_config.h
+ /usr/include/cdio/version.h
+)
+
+src_prepare() {
+ sed \
+ -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
+ -i configure || die
+
+ elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
+}
+
+multilib_src_configure() {
+ local util_switch
+ if ! multilib_is_native_abi || use minimal ; then
+ util_switch="--without"
+ else
+ util_switch="--with"
+ fi
+
+ # Tests fail if ECONF_SOURCE is not relative
+ ECONF_SOURCE="../${P}" econf \
+ --disable-maintainer-mode \
+ $(use_enable cxx) \
+ --disable-cpp-progs \
+ --disable-example-progs \
+ $(use_enable static-libs static) \
+ $(use_enable cddb) \
+ --disable-vcd-info \
+ ${util_switch}-{cd-drive,cd-info,cdda-player,cd-read,iso-info,iso-read}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libcdio/libcdio-0.93.ebuild b/dev-libs/libcdio/libcdio-0.93.ebuild
new file mode 100644
index 000000000000..35b586fe85d8
--- /dev/null
+++ b/dev-libs/libcdio/libcdio-0.93.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="A library to encapsulate CD-ROM reading and control"
+HOMEPAGE="http://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/15" # subslot is based on SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cddb +cxx minimal static-libs test"
+
+RDEPEND="
+ !minimal? (
+ >=sys-libs/ncurses-5.7-r7
+ cddb? ( >=media-libs/libcddb-1.3.2 )
+ )
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r10
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ sys-apps/sed
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+DOCS="AUTHORS ChangeLog NEWS README* THANKS TODO"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/cdio/cdio_config.h
+ /usr/include/cdio/version.h
+)
+
+src_prepare() {
+ sed \
+ -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
+ -i configure || die
+
+ elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
+}
+
+multilib_src_configure() {
+ local util_switch
+ if ! multilib_is_native_abi || use minimal ; then
+ util_switch="--without"
+ else
+ util_switch="--with"
+ fi
+
+ # Tests fail if ECONF_SOURCE is not relative
+ ECONF_SOURCE="../${P}" econf \
+ --disable-maintainer-mode \
+ $(use_enable cxx) \
+ --disable-cpp-progs \
+ --disable-example-progs \
+ $(use_enable static-libs static) \
+ $(use_enable cddb) \
+ --disable-vcd-info \
+ ${util_switch}-{cd-drive,cd-info,cdda-player,cd-read,iso-info,iso-read}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libcdio/metadata.xml b/dev-libs/libcdio/metadata.xml
new file mode 100644
index 000000000000..4c3108f98b0d
--- /dev/null
+++ b/dev-libs/libcdio/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <use>
+ <flag name="minimal">
+ Only build the libcdio library and little more, just to be used to
+ link against from multimedia players. With this USE flag enabled,
+ none of the command-line utilities are built, nor is the CDDA library.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libcec/Manifest b/dev-libs/libcec/Manifest
new file mode 100644
index 000000000000..de40dfd12d37
--- /dev/null
+++ b/dev-libs/libcec/Manifest
@@ -0,0 +1,3 @@
+DIST libcec-2.1.3.tar.gz 1087121 SHA256 2aa88451b528184b02077ee8c6cd10e2f89121a6a05b1b35b4b792b03108a9d1 SHA512 79ddab6e1572030d860fa2ba43db7ed4ea6eb7914d3b9936c9de622f1328c1795ae3076d0c6abde193fa610a7916439f8cebdcf3bf22b59f6546ac591b4e5956 WHIRLPOOL e8400d037dee3bdb007b5e731aa794ac5dcf94ad1d4c1d1cbe39c059c77f2b2785288f3fbc987fa64eafb1dc0e2a96a9575a3cb5740edf25088c586a1b628e3d
+DIST libcec-2.1.4.tar.gz 1093796 SHA256 79bef5232a5c9ab987ca3a2d4bfcaeb80480fd26f502dc1a996fe845d90fe147 SHA512 e2107b2003e003de8efea4b46a7776516652a2b27a0e0983a763324b3ac1ed2995cb0adb76e2f450bea72a1a0bdecfc5b3408fa702c74189204d694f5e9d2d8a WHIRLPOOL 4b8120755cf08dbc7ae8f2a5314f6c4e0c2ddc059b138ab594a26f7ac931cb34536a5bb2894a65902f1ba093007c1b08abeaf4306edef95059af8c85edad3e99
+DIST libcec-2.2.0.tar.gz 1099150 SHA256 fd4f47a18d6e0f4b9e6f5831280207ee2b2a5fc2741ae32ae09ad12a8aa52917 SHA512 7932a45e581e207aa651e9fe72450fda52b0441fb48e40e971a530f9d5d26b87e6446322393750d85bae223519dc2a73613352a3fe42939eff2c5f8863a09cd7 WHIRLPOOL ff8581c21e280fda6333aec840cbc08fd8d23ffa795fe173076d1863c0b8fdc86fb7838c2035940dac61362ec1c74054e6e450fff7ba5426ff57a2016c6eab83
diff --git a/dev-libs/libcec/files/libcec-1.8.1-eintr-retry.patch b/dev-libs/libcec/files/libcec-1.8.1-eintr-retry.patch
new file mode 100644
index 000000000000..7b472d0aaf6b
--- /dev/null
+++ b/dev-libs/libcec/files/libcec-1.8.1-eintr-retry.patch
@@ -0,0 +1,30 @@
+From 8f6c59829bb84edc66ce0edb0a4d5b7335a941c6 Mon Sep 17 00:00:00 2001
+From: Josef Fruehwirth <fruehwirth@gmail.com>
+Date: Sat, 18 Aug 2012 14:07:04 +0200
+Subject: [PATCH] Retry m_port->Read(..) if an EINTR errror occurs instead of
+ closing the connection.
+
+---
+ src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp b/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp
+index 70e45ac..3fc05eb 100644
+--- a/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp
++++ b/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp
+@@ -393,7 +393,11 @@ bool CUSBCECAdapterCommunication::ReadFromDevice(uint32_t iTimeout, size_t iSize
+ if (!IsOpen())
+ return false;
+
+- iBytesRead = m_port->Read(buff, sizeof(uint8_t) * iSize, iTimeout);
++ do {
++ /* retry Read() if it was interrupted */
++ iBytesRead = m_port->Read(buff, sizeof(uint8_t) * iSize, iTimeout);
++ } while(m_port->GetErrorNumber() == EINTR);
++
+
+ if (m_port->GetErrorNumber())
+ {
+--
+1.7.10
+
diff --git a/dev-libs/libcec/libcec-2.1.3.ebuild b/dev-libs/libcec/libcec-2.1.3.ebuild
new file mode 100644
index 000000000000..24197aca8487
--- /dev/null
+++ b/dev-libs/libcec/libcec-2.1.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils linux-info vcs-snapshot
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="http://libcec.pulse-eight.com"
+SRC_URI="http://github.com/Pulse-Eight/${PN}/tarball/${P} -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug static-libs"
+
+RDEPEND="virtual/udev"
+DEPEND="${RDEPEND}
+ dev-libs/lockdev
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+src_prepare() {
+ sed -i '/^CXXFLAGS/s:-fPIC::' configure.ac || die
+ sed -i '/^CXXFLAGS/s:-Werror::' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static) \
+ $(use_enable debug) \
+ --enable-optimisation \
+ --disable-rpi \
+ --disable-cubox
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/libcec/libcec-2.1.4.ebuild b/dev-libs/libcec/libcec-2.1.4.ebuild
new file mode 100644
index 000000000000..559be7c88a2b
--- /dev/null
+++ b/dev-libs/libcec/libcec-2.1.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils linux-info
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="http://libcec.pulse-eight.com"
+SRC_URI="http://github.com/Pulse-Eight/${PN}/archive/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm ~amd64 ~x86"
+IUSE="debug static-libs"
+
+RDEPEND="virtual/udev
+ dev-libs/lockdev"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_prepare() {
+ sed -i '/^CXXFLAGS/s:-fPIC::' configure.ac || die
+ sed -i '/^CXXFLAGS/s:-Werror::' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static) \
+ $(use_enable debug) \
+ --enable-optimisation \
+ --disable-rpi \
+ --disable-cubox
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/libcec/libcec-2.2.0.ebuild b/dev-libs/libcec/libcec-2.2.0.ebuild
new file mode 100644
index 000000000000..ee8dcfc7983f
--- /dev/null
+++ b/dev-libs/libcec/libcec-2.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils linux-info
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="http://libcec.pulse-eight.com"
+SRC_URI="http://github.com/Pulse-Eight/${PN}/archive/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm ~amd64 ~x86"
+IUSE="cubox debug exynos raspberry-pi static-libs xrandr"
+
+RDEPEND="virtual/udev
+ dev-libs/lockdev
+ xrandr? ( x11-libs/libXrandr )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_prepare() {
+ sed -i '/^CXXFLAGS/s:-fPIC::' configure.ac || die
+ sed -i '/^CXXFLAGS/s:-Werror::' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable cubox ) \
+ $(use_enable debug) \
+ $(use_enable exynos) \
+ $(use_enable raspberry-pi rpi) \
+ $(use_enable static-libs static) \
+ --enable-optimisation
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/libcec/metadata.xml b/dev-libs/libcec/metadata.xml
new file mode 100644
index 000000000000..cbd0140d04d2
--- /dev/null
+++ b/dev-libs/libcec/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>thev00d00@gentoo.org</email>
+ <name>Ian Whyman</name>
+ </maintainer>
+ <use>
+ <flag name="cubox">Enable support for enable support for the TDA995x</flag>
+ <flag name="exynos">Enable support for Exynos chipsets</flag>
+ <flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
+ <flag name="xrandr">Enable detection of active HDMI using xrandr extensions</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Pulse-Eight/libcec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libcgroup/Manifest b/dev-libs/libcgroup/Manifest
new file mode 100644
index 000000000000..62dae46a1e56
--- /dev/null
+++ b/dev-libs/libcgroup/Manifest
@@ -0,0 +1 @@
+DIST libcgroup-0.41.tar.bz2 500120 SHA256 e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51 SHA512 1aedb02cd2ce3bc2e2a328a247a92976ad0978ca4d3aee4eb671fbcc6bb270348efc78dcf84f27fc500f8bfb9bb57c7d6e4d429ef2bc69e4e5118b7cd895a6bd WHIRLPOOL 3941ec9362dd7da1c5d1b9eaf2b44303982a04d460ab92946201b1fe952c2f94e19950e9a08104c262eb982d8e64bcf290f1b95115aaba11d8b1457b715a3646
diff --git a/dev-libs/libcgroup/files/cgconfig.confd b/dev-libs/libcgroup/files/cgconfig.confd
new file mode 100644
index 000000000000..e41730ae0ea5
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/cgconfig: config file for /etc/init.d/cgconfig
+
+# Configuration file location
+#CONFIG_FILE=/etc/cgroup/cgconfig.conf
diff --git a/dev-libs/libcgroup/files/cgconfig.initd b/dev-libs/libcgroup/files/cgconfig.initd
new file mode 100644
index 000000000000..65278f1eb479
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.initd
@@ -0,0 +1,117 @@
+#!/sbin/runscript
+#
+# Control Groups Configuration Startup
+#
+# This script runs the cgconfigparser utility to parse and setup
+# the control group filesystem. It uses ${CONFIG_FILE}
+# and parses the configuration specified in there.
+#
+CGCONFIGPARSER="/usr/sbin/cgconfigparser"
+CGROUP_FS="cgroup"
+CONFIG_FILE=${CONFIG_FILE:-"/etc/cgroup/cgconfig.conf"}
+MOUNTS_FILE="/proc/mounts"
+RULES_FILE="/etc/cgroup/cgrules.conf"
+
+# Support multiple mount points
+MAX_INDEX=0
+declare -a MOUNT_POINTS MOUNT_OPTIONS
+
+move_all_to_init_class() {
+ local i
+ for i in $(seq 1 ${MAX_INDEX}); do
+ cd ${MOUNT_POINTS[$i]}
+
+ if grep -qw ${MOUNT_POINTS[$i]} ${MOUNTS_FILE}; then
+ local directory
+ for directory in $(find . -depth -type d); do
+ if [[ ${directory} != "." ]]; then
+ # cat fails with "Argument list too long" error
+ sed -nu p < ${directory}/tasks > tasks
+ rmdir ${directory}
+ fi
+ done
+ else
+ ewarn "Resource control filesystem not mounted"
+ fi
+
+ cd - >/dev/null
+ done
+}
+
+parse_mounts() {
+ local device mount_point fs_type options other
+ while read device mount_point fs_type options other; do
+ if grep -q ${device} <<< ${CGROUP_FS}; then
+ let MAX_INDEX++
+ MOUNT_POINTS[${MAX_INDEX}]=${mount_point}
+ MOUNT_OPTIONS[${MAX_INDEX}]=${options}
+ fi
+ done < ${MOUNTS_FILE}
+}
+
+umount_fs() {
+ local i
+ for i in $(seq 1 ${MAX_INDEX}); do
+ umount ${MOUNT_POINTS[$i]}
+ rmdir ${MOUNT_POINTS[$i]}
+ done
+}
+
+start() {
+ ebegin "Starting cgconfig service"
+
+ # Mount filesystem and create cgroups
+ if ! ${CGCONFIGPARSER} -l ${CONFIG_FILE} >/dev/null; then
+ eend 1 "Failed to parse ${CONFIG_FILE}"
+ return 1
+ fi
+
+ parse_mounts
+
+ # Find default cgroup name in rules file
+ local default_cgroup
+ if [[ -f ${RULES_FILE} ]]; then
+ local user controller
+ read user controller default_cgroup <<< $(grep -m1 '^\*\s' ${RULES_FILE})
+ if [[ $default_cgroup == "*" ]]; then
+ ewarn "${RULES_FILE} incorrect"
+ ewarn "Overriding it"
+ default_cgroup=
+ fi
+ fi
+ # Use predefined name if none was found
+ if [[ -z ${default_cgroup} ]]; then
+ default_cgroup=sysdefault
+ fi
+
+ # Create a default cgroup for tasks to return back to
+ local i
+ for i in $(seq 1 ${MAX_INDEX}); do
+ # Ignore if directory already exists
+ mkdir -p ${MOUNT_POINTS[$i]}/${default_cgroup}
+ find ${MOUNT_POINTS[$i]}/ -name tasks | xargs chmod a+rw
+ chmod go-w ${MOUNT_POINTS[$i]}/tasks
+
+ # Special rule for cpusets
+ if grep -qw cpuset <<< ${MOUNT_OPTIONS[$i]}; then
+ cat ${MOUNT_POINTS[$i]}/cpuset.cpus > ${MOUNT_POINTS[$i]}/${default_cgroup}/cpuset.cpus
+ cat ${MOUNT_POINTS[$i]}/cpuset.mems > ${MOUNT_POINTS[$i]}/${default_cgroup}/cpuset.mems
+ fi
+
+ # Classify everything to default cgroup
+ local j
+ for j in $(ps --no-headers -eL o tid); do
+ echo $j > ${MOUNT_POINTS[$i]}/${default_cgroup}/tasks 2>/dev/null
+ done
+ done
+
+ eend 0
+}
+
+stop() {
+ ebegin "Stopping cgconfig service"
+ parse_mounts
+ move_all_to_init_class
+ umount_fs
+ eend 0
+}
diff --git a/dev-libs/libcgroup/files/cgred.confd b/dev-libs/libcgroup/files/cgred.confd
new file mode 100644
index 000000000000..663ffc0c7dbd
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgred.confd
@@ -0,0 +1,17 @@
+# /etc/conf.d/cgred.conf: config file for /etc/init.d/cgred
+
+# Uncomment the following line to log to specified file instead of syslog
+#LOG_FILE="/var/log/cgrulesengd.log"
+
+# Uncomment the second line to run CGroup Rules Engine in non-daemon mode
+#NODAEMON=""
+NODAEMON="--nodaemon"
+
+# Uncomment the second line to disable logging for CGroup Rules Engine
+# Uncomment the third line to enable more verbose logging.
+#LOG=""
+LOG="--nolog"
+#LOG="-v"
+
+# PID file
+PID_FILE=/var/run/cgred.pid
diff --git a/dev-libs/libcgroup/files/cgred.initd b/dev-libs/libcgroup/files/cgred.initd
new file mode 100644
index 000000000000..9c14364adfdf
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgred.initd
@@ -0,0 +1,41 @@
+#!/sbin/runscript
+#
+# CGroups Rules Engine Daemon
+#
+# This is a daemon for automatically classifying processes into cgroups based
+# on UID/GID.
+#
+opts="${opts} reload"
+
+CGRULESENGD="/usr/sbin/cgrulesengd"
+PID_FILE=${PID_FILE:-"/var/run/cgred.pid"}
+
+depend() {
+ need cgconfig
+ use logger
+}
+
+start() {
+ local options="${NODAEMON} ${LOG}"
+ if [[ -n "${LOG_FILE}" ]]; then
+ options="${options} --log-file=${LOG_FILE}"
+ fi
+
+ ebegin "Starting CGroup Rules Engine Daemon"
+ start-stop-daemon --start --pidfile "${PID_FILE}" --make-pidfile \
+ --background --exec "${CGRULESENGD}" -- ${options} >/dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping CGroup Rules Engine Daemon"
+ start-stop-daemon --stop --pidfile "${PID_FILE}" --exec "${CGRULESENGD}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading CGroup Rules Engine Daemon"
+ start-stop-daemon --stop --signal USR2 --oknodo --background \
+ --pidfile "${PID_FILE}" --make-pidfile --exec "${CGRULESENGD}"
+ eend $?
+}
diff --git a/dev-libs/libcgroup/files/libcgroup-0.41-reorder-headers.patch b/dev-libs/libcgroup/files/libcgroup-0.41-reorder-headers.patch
new file mode 100644
index 000000000000..78a3d09a3a08
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-0.41-reorder-headers.patch
@@ -0,0 +1,28 @@
+libcgroup-internal.h: reorder the header stacking.
+
+`man 3 fts` not only specifies the headers to be included, but
+also the order. <fts.h> must be included after <sys/types.h>
+and <sys/stats.h>. On glibc and uClibc systems, an incorrect
+order does not pose a problem, but on musl this leads to undefine
+types such as dev_t and friends.
+
+Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
+
+diff -Naur libcgroup-0.41.orig/src/libcgroup-internal.h libcgroup-0.41/src/libcgroup-internal.h
+--- libcgroup-0.41.orig/src/libcgroup-internal.h 2015-07-13 21:08:26.740965713 -0400
++++ libcgroup-0.41/src/libcgroup-internal.h 2015-07-13 21:09:40.774962164 -0400
+@@ -21,12 +21,12 @@
+ #endif
+
+ #include "config.h"
+-#include <fts.h>
+ #include <libcgroup.h>
+ #include <limits.h>
+ #include <pthread.h>
+-#include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
++#include <fts.h>
+ #include <setjmp.h>
+
+ /* Maximum number of mount points/controllers */
diff --git a/dev-libs/libcgroup/files/libcgroup-0.41-replace_DECLS.patch b/dev-libs/libcgroup/files/libcgroup-0.41-replace_DECLS.patch
new file mode 100644
index 000000000000..770109310c67
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-0.41-replace_DECLS.patch
@@ -0,0 +1,225 @@
+Replace __BEGIN_DECLS and __END_DECLS with extern "C".
+
+The macros __BEGIN_DECLS and __END_DECLS are a GNU-ism found in
+glibc and uClibc, but not musl. We replace them by the more general
+extern "C" { ... } block exposed only if we have __cplusplus.
+
+Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
+
+diff -Naur libcgroup-0.41.orig/include/libcgroup/config.h libcgroup-0.41/include/libcgroup/config.h
+--- libcgroup-0.41.orig/include/libcgroup/config.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/config.h 2015-07-11 23:19:20.451977284 +0000
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_config 5. Configuration
+@@ -107,6 +109,8 @@
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /*_LIBCGROUP_CONFIG_H*/
+diff -Naur libcgroup-0.41.orig/include/libcgroup/error.h libcgroup-0.41/include/libcgroup/error.h
+--- libcgroup-0.41.orig/include/libcgroup/error.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/error.h 2015-07-11 23:19:34.253977328 +0000
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_errors 6. Error handling
+@@ -99,6 +101,8 @@
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+diff -Naur libcgroup-0.41.orig/include/libcgroup/groups.h libcgroup-0.41/include/libcgroup/groups.h
+--- libcgroup-0.41.orig/include/libcgroup/groups.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/groups.h 2015-07-11 23:19:40.305977347 +0000
+@@ -11,7 +11,9 @@
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * Flags for cgroup_delete_cgroup_ext().
+@@ -577,6 +579,8 @@
+ */
+
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_GROUPS_H */
+diff -Naur libcgroup-0.41.orig/include/libcgroup/init.h libcgroup-0.41/include/libcgroup/init.h
+--- libcgroup-0.41.orig/include/libcgroup/init.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/init.h 2015-07-11 23:19:46.369977366 +0000
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_init 1. Initialization
+@@ -58,6 +60,8 @@
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+diff -Naur libcgroup-0.41.orig/include/libcgroup/iterators.h libcgroup-0.41/include/libcgroup/iterators.h
+--- libcgroup-0.41.orig/include/libcgroup/iterators.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/iterators.h 2015-07-11 23:19:53.353977388 +0000
+@@ -11,7 +11,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_iterators 3. Iterators
+@@ -423,6 +425,8 @@
+ * @}
+ */
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_ITERATORS_H */
+diff -Naur libcgroup-0.41.orig/include/libcgroup/log.h libcgroup-0.41/include/libcgroup/log.h
+--- libcgroup-0.41.orig/include/libcgroup/log.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/log.h 2015-07-11 23:19:58.922977406 +0000
+@@ -11,7 +11,9 @@
+
+ #include <stdarg.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_log 7. Logging
+@@ -142,6 +144,8 @@
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_LOG_H */
+diff -Naur libcgroup-0.41.orig/include/libcgroup/tasks.h libcgroup-0.41/include/libcgroup/tasks.h
+--- libcgroup-0.41.orig/include/libcgroup/tasks.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/include/libcgroup/tasks.h 2015-07-11 23:20:03.329977420 +0000
+@@ -12,7 +12,9 @@
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /** Flags for cgroup_change_cgroup_uid_gid(). */
+ enum cgflags {
+@@ -204,6 +206,8 @@
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_TASKS_H */
+diff -Naur libcgroup-0.41.orig/src/daemon/cgrulesengd.h libcgroup-0.41/src/daemon/cgrulesengd.h
+--- libcgroup-0.41.orig/src/daemon/cgrulesengd.h 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/daemon/cgrulesengd.h 2015-07-11 23:20:34.282977519 +0000
+@@ -17,7 +17,9 @@
+
+ #include <features.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include "libcgroup.h"
+@@ -119,7 +121,9 @@
+ */
+ void cgre_catch_term(int signum);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _CGRULESENGD_H */
+
+diff -Naur libcgroup-0.41.orig/src/libcgroup-internal.h libcgroup-0.41/src/libcgroup-internal.h
+--- libcgroup-0.41.orig/src/libcgroup-internal.h 2015-07-11 23:16:37.497976764 +0000
++++ libcgroup-0.41/src/libcgroup-internal.h 2015-07-11 23:20:22.299977481 +0000
+@@ -16,7 +16,9 @@
+
+ #define __LIBCG_INTERNAL
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include <fts.h>
+@@ -279,6 +281,8 @@
+ */
+ int cg_chmod_path(const char *path, mode_t mode, int owner_is_umask);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
diff --git a/dev-libs/libcgroup/files/libcgroup-0.41-replace_INLCUDES.patch b/dev-libs/libcgroup/files/libcgroup-0.41-replace_INLCUDES.patch
new file mode 100644
index 000000000000..191de87d814d
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-0.41-replace_INLCUDES.patch
@@ -0,0 +1,74 @@
+Replace INCLUDES with AM_CPPFLAGS in Makefile.am
+
+We replace the deprecated INCLUDES with AM_CPPFLAGS in all
+Makefile.am's.
+
+Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
+
+diff -Naur libcgroup-0.41.orig/src/Makefile.am libcgroup-0.41/src/Makefile.am
+--- libcgroup-0.41.orig/src/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/Makefile.am 2015-07-13 14:36:38.922428040 +0000
+@@ -9,7 +9,7 @@
+
+ CLEANFILES = lex.c parse.c parse.h
+
+-INCLUDES = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ lib_LTLIBRARIES = libcgroup.la
+ libcgroup_la_SOURCES = parse.h parse.y lex.l api.c config.c libcgroup-internal.h libcgroup.map wrapper.c log.c
+ libcgroup_la_LIBADD = -lpthread
+diff -Naur libcgroup-0.41.orig/src/bindings/Makefile.am libcgroup-0.41/src/bindings/Makefile.am
+--- libcgroup-0.41.orig/src/bindings/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/bindings/Makefile.am 2015-07-13 14:37:12.267428146 +0000
+@@ -1,5 +1,5 @@
+ SUBDIRS = .
+-INCLUDES = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+
+ lib_LTLIBRARIES = _libcgroup.la
+ _libcgroup_la_SOURCES = libcgroup.c
+@@ -11,5 +11,5 @@
+
+ libcgroup.c: libcgroup.p $(top_srcdir)/include/libcgroup.h
+ cp libcgroup.p libcgroup.i
+- $(CC) $(INCLUDES) -DSWIG -E $(top_srcdir)/include/libcgroup.h >> libcgroup.i
++ $(CC) $(CPPFLAGS) -DSWIG -E $(top_srcdir)/include/libcgroup.h >> libcgroup.i
+ $(SWIG) -python -o libcgroup.c libcgroup.i
+diff -Naur libcgroup-0.41.orig/src/daemon/Makefile.am libcgroup-0.41/src/daemon/Makefile.am
+--- libcgroup-0.41.orig/src/daemon/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/daemon/Makefile.am 2015-07-13 14:36:55.781428093 +0000
+@@ -1,4 +1,4 @@
+-INCLUDES = -I $(top_srcdir)/include
++AM_CPPFLAGS = -I $(top_srcdir)/include
+
+ if WITH_DAEMON
+
+diff -Naur libcgroup-0.41.orig/src/pam/Makefile.am libcgroup-0.41/src/pam/Makefile.am
+--- libcgroup-0.41.orig/src/pam/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/pam/Makefile.am 2015-07-13 14:36:28.768428007 +0000
+@@ -1,4 +1,4 @@
+-INCLUDES = -I $(top_srcdir)/include
++AM_CPPFLAGS = -I $(top_srcdir)/include
+
+ if WITH_PAM
+
+diff -Naur libcgroup-0.41.orig/src/tools/Makefile.am libcgroup-0.41/src/tools/Makefile.am
+--- libcgroup-0.41.orig/src/tools/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/src/tools/Makefile.am 2015-07-13 14:36:19.098427976 +0000
+@@ -1,4 +1,4 @@
+-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
+ LDADD = $(top_builddir)/src/.libs/libcgroup.la
+
+ if WITH_TOOLS
+diff -Naur libcgroup-0.41.orig/tests/Makefile.am libcgroup-0.41/tests/Makefile.am
+--- libcgroup-0.41.orig/tests/Makefile.am 2014-01-13 14:05:56.000000000 +0000
++++ libcgroup-0.41/tests/Makefile.am 2015-07-13 14:37:23.146428181 +0000
+@@ -1,6 +1,6 @@
+ SUBDIRS = tools
+
+-INCLUDES = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ LDADD = $(top_builddir)/src/.libs/libcgroup.la
+
+ # compile the tests, but do not install them
diff --git a/dev-libs/libcgroup/libcgroup-0.41-r1.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r1.ebuild
new file mode 100644
index 000000000000..439a6429920c
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-0.41-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils flag-o-matic linux-info pam
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="http://libcg.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/libcg/${PN}/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="+daemon elibc_musl pam static-libs +tools"
+
+RDEPEND="pam? ( virtual/pam )"
+
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ elibc_musl? ( sys-libs/fts-standalone )
+ "
+REQUIRED_USE="daemon? ( tools )"
+
+DOCS=(README_daemon README README_systemd INSTALL)
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-replace_DECLS.patch
+ epatch "${FILESDIR}"/${P}-replace_INLCUDES.patch
+ epatch "${FILESDIR}"/${P}-reorder-headers.patch
+
+ # Change rules file location
+ sed -e 's:/etc/cgrules.conf:/etc/cgroup/cgrules.conf:' \
+ -i src/libcgroup-internal.h || die "sed failed"
+ sed -e 's:\(pam_cgroup_la_LDFLAGS.*\):\1\ -avoid-version:' \
+ -i src/pam/Makefile.am || die "sed failed"
+ sed -e 's#/var/run#/run#g' -i configure.in || die "sed failed"
+
+ eautoreconf
+}
+
+src_configure() {
+ local my_conf
+
+ if use pam; then
+ my_conf=" --enable-pam-module-dir=$(getpam_mod_dir) "
+ fi
+
+ use elibc_musl && append-ldflags "-lfts"
+ econf \
+ $(use_enable daemon) \
+ $(use_enable pam) \
+ $(use_enable tools) \
+ ${my_conf}
+}
+
+src_test() {
+ # Use mount cgroup to build directory
+ # sandbox restricted to trivial build,
+ # possible kill Diego tanderbox ;)
+ true
+}
+
+src_install() {
+ prune_libtool_files --all
+
+ insinto /etc/cgroup
+ doins samples/*.conf || die
+
+ if use tools; then
+ newconfd "${FILESDIR}"/cgconfig.confd cgconfig || die
+ newinitd "${FILESDIR}"/cgconfig.initd cgconfig || die
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}"/cgred.confd cgred || die
+ newinitd "${FILESDIR}"/cgred.initd cgred || die
+ fi
+}
+
+pkg_postinst() {
+ elog "Read the kernel docs on cgroups, related schedulers, and the"
+ elog "block I/O controllers. The Redhat Resource Management Guide"
+ elog "is also helpful. DO NOT enable the cgroup namespace subsytem"
+ elog "if you want a custom config, rule processing, etc. This option"
+ elog "should only be enabled for a VM environment. The UID wildcard"
+ elog "rules seem to work only without a custom config (since wildcards"
+ elog "don't work in config blocks). Specific user-id configs *do*"
+ elog "work, but be careful about how the mem limits add up if using"
+ elog "the memory.limit_* directives. There should be a basic task"
+ elog "partitioning into the default group when running cgred with no"
+ elog "specific config blocks or rules (other than the mount directive)."
+ elog "See the docs for the pam module config, and as always, RTFM..."
+}
diff --git a/dev-libs/libcgroup/libcgroup-0.41.ebuild b/dev-libs/libcgroup/libcgroup-0.41.ebuild
new file mode 100644
index 000000000000..df8b956101bb
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-0.41.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils linux-info pam autotools-utils
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="http://libcg.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/libcg/${PN}/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 x86"
+IUSE="+daemon debug pam static-libs +tools debug"
+
+RDEPEND="pam? ( virtual/pam )"
+
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ "
+REQUIRED_USE="daemon? ( tools )"
+
+DOCS=(README_daemon README README_systemd INSTALL)
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+
+ # Change rules file location
+ sed -e 's:/etc/cgrules.conf:/etc/cgroup/cgrules.conf:' \
+ -i src/libcgroup-internal.h || die "sed failed"
+ sed -e 's:\(pam_cgroup_la_LDFLAGS.*\):\1\ -avoid-version:' \
+ -i src/pam/Makefile.am || die "sed failed"
+ sed -e 's#/var/run#/run#g' -i configure.in || die "sed failed"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local my_conf
+
+ if use pam; then
+ my_conf=" --enable-pam-module-dir=$(getpam_mod_dir) "
+ fi
+
+ local myeconfargs=(
+ $(use_enable daemon)
+ $(use_enable debug)
+ $(use_enable pam)
+ $(use_enable tools)
+ ${my_conf}
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ # Use mount cgroup to build directory
+ # sandbox restricted to trivial build,
+ # possible kill Diego tanderbox ;)
+ true
+}
+
+src_install() {
+ autotools-utils_src_install
+ prune_libtool_files --all
+
+ insinto /etc/cgroup
+ doins samples/*.conf || die
+
+ if use tools; then
+ newconfd "${FILESDIR}"/cgconfig.confd cgconfig || die
+ newinitd "${FILESDIR}"/cgconfig.initd cgconfig || die
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}"/cgred.confd cgred || die
+ newinitd "${FILESDIR}"/cgred.initd cgred || die
+ fi
+}
+
+pkg_postinst() {
+ elog "Read the kernel docs on cgroups, related schedulers, and the"
+ elog "block I/O controllers. The Redhat Resource Management Guide"
+ elog "is also helpful. DO NOT enable the cgroup namespace subsytem"
+ elog "if you want a custom config, rule processing, etc. This option"
+ elog "should only be enabled for a VM environment. The UID wildcard"
+ elog "rules seem to work only without a custom config (since wildcards"
+ elog "don't work in config blocks). Specific user-id configs *do*"
+ elog "work, but be careful about how the mem limits add up if using"
+ elog "the memory.limit_* directives. There should be a basic task"
+ elog "partitioning into the default group when running cgred with no"
+ elog "specific config blocks or rules (other than the mount directive)."
+ elog "See the docs for the pam module config, and as always, RTFM..."
+}
diff --git a/dev-libs/libcgroup/metadata.xml b/dev-libs/libcgroup/metadata.xml
new file mode 100644
index 000000000000..a9bc388e0b4d
--- /dev/null
+++ b/dev-libs/libcgroup/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <longdescription>
+ This package provides configuration and command-line tools, as well as a
+ rules processing daemon for working with kernel control groups.
+ </longdescription>
+ <use>
+ <flag name="daemon">Install the configuration tools and init/config files.</flag>
+ <flag name="tools">Install the cgroup rules processing daemon and init/config files.</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">libcg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libchewing/Manifest b/dev-libs/libchewing/Manifest
new file mode 100644
index 000000000000..c5123f411130
--- /dev/null
+++ b/dev-libs/libchewing/Manifest
@@ -0,0 +1,2 @@
+DIST libchewing-0.3.3.tar.bz2 1798134 SHA256 72a0de12b86c4d5f6468a68d88c736227ff16fa7a915f8595ffe5a31cae95eae SHA512 24df8d4a1dab72b32bca03bb1086223248a261d522e703c662aad53cfb16fef74691623361d275b8d811d4a0e6bc2b23b044248f7d3982dc657c9872de1de005 WHIRLPOOL 12b67dc7aa3c34fefe66bed995642d021b5c2997d706b7bb73319a0c26b3f9291c771f6308c50bc1cb3e319ff8848a09bf0aec1ed713eb55706bf11cdefdb824
+DIST libchewing-0.4.0.tar.gz 3367957 SHA256 128eae0616c8b4dadaecfb8982304241e65e2eb397001144ba5ed451ec197cc2 SHA512 8ac2a50531867dd628ed0c084a30b22e24cd102671b9ce23b008fb54d049c07135a8af205186e4ed719077cef6739e230fdcbd33cab0821a9bfab5b8fb4248c7 WHIRLPOOL a7ed4841fac60d402c710a8775b74e61bdb6ed6790ce33221bce1efc9b111192251b60bedbd04654d6afb8264d784600794be402d02c04f802bbe6ba03b54984
diff --git a/dev-libs/libchewing/files/0.3.3-cflags.patch b/dev-libs/libchewing/files/0.3.3-cflags.patch
new file mode 100644
index 000000000000..dba1093c5ae6
--- /dev/null
+++ b/dev-libs/libchewing/files/0.3.3-cflags.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -153,7 +122,6 @@
+ if test x$LIBDEBUG = x"true"; then
+ AC_DEFINE(ENABLE_DEBUG, 1,
+ [Define to 1 if you want native library runtime debugging code enabled])
+- CFLAGS="$CFLAGS -g"
+ fi
+ AC_SUBST(LIBDEBUG)
+
diff --git a/dev-libs/libchewing/files/0.3.3-strncat-fix.patch b/dev-libs/libchewing/files/0.3.3-strncat-fix.patch
new file mode 100644
index 000000000000..8f2676c0c2b7
--- /dev/null
+++ b/dev-libs/libchewing/files/0.3.3-strncat-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/tree.c b/src/tree.c
+index 7e8f665..89ad0d5 100644
+--- a/src/tree.c
++++ b/src/tree.c
+@@ -586,7 +586,7 @@ static void LoadChar( char *buf, int buf_len, uint16 phoneSeq[], int nPhoneSeq )
+ memset(buf, 0, buf_len);
+ for ( i = 0; i < nPhoneSeq; i++ ) {
+ GetCharFirst( &word, phoneSeq[ i ] );
+- strncat(buf, word.word, buf_len);
++ strncat(buf, word.word, buf_len - strlen(buf) - 1);
+ }
+ buf[ buf_len - 1 ] = '\0';
+ }
diff --git a/dev-libs/libchewing/files/0.3.3-tinfo.patch b/dev-libs/libchewing/files/0.3.3-tinfo.patch
new file mode 100644
index 000000000000..10692e72c8ed
--- /dev/null
+++ b/dev-libs/libchewing/files/0.3.3-tinfo.patch
@@ -0,0 +1,43 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,38 +91,8 @@
+ AM_CONDITIONAL(ENABLE_UNIT_TEST, test x$enable_check = "xyes")
+
+ # Checks for ncursesw
+-OLDCFLAGS=$CFLAGS
+-LIB_NAME=ncursesw
+-NCURSESW_CFLAGS=
+-NCURSESW_LIBS=
+-for p in "$HOME/include" "$prefix/include" /usr/local/include /usr/include
+-do
+- if test -f "$p/ncursesw/ncurses.h"
+- then
+- NCURSESW_CFLAGS="-I$p"
+- AC_DEFINE(HAVE_NCURSESW_NCURSES_H, 1, [ Define to 1 if you have the <ncursesw/ncurses.h> header file. ])
+- break
+- elif test -f "$p/ncurses/ncurses.h"
+- then
+- NCURSESW_CFLAGS="-I$p"
+- AC_DEFINE(HAVE_NCURSES_NCURSES_H, 1, [ Define to 1 if you have the <ncurses/ncurses.h> header file. ])
+- break
+- fi
+-done
+-
+-for p in "$HOME/lib" "$prefix/lib" /usr/local/lib /usr/lib
+-do
+- if test -f "$p/libncursesw.so"
+- then
+- if test "$p" != x/usr/lib
+- then
+- NCURSESW_LIBS="-L$p -lncursesw"
+- else
+- NCURSESW_LIBS="-lncursesw"
+- fi
+- break
+- fi
+-done
++PKG_CHECK_MODULES(NCURSESW,ncursesw,
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H, 1, [ Define to 1 if you have the <ncursesw/ncurses.h> header file. ]),)
+
+ enable_ncursesw=yes
+ if test -z "$NCURSESW_CFLAGS"; then
diff --git a/dev-libs/libchewing/libchewing-0.3.3-r1.ebuild b/dev-libs/libchewing/libchewing-0.3.3-r1.ebuild
new file mode 100644
index 000000000000..16d0346b1b95
--- /dev/null
+++ b/dev-libs/libchewing/libchewing-0.3.3-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="Library for Chinese Phonetic input method"
+HOMEPAGE="http://chewing.csie.net/"
+SRC_URI="http://chewing.csie.net/download/libchewing/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="
+ virtual/pkgconfig
+ test? (
+ sys-libs/ncurses[unicode]
+ >=dev-libs/check-0.9.4
+ )
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-cflags.patch \
+ "${FILESDIR}"/${PV}-strncat-fix.patch \
+ "${FILESDIR}"/${PV}-tinfo.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_test() {
+ # test subdirectory is not enabled by default; this means that we
+ # have to make it explicit.
+ emake -C test check
+}
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+src_install() {
+ default
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libchewing/libchewing-0.3.3.ebuild b/dev-libs/libchewing/libchewing-0.3.3.ebuild
new file mode 100644
index 000000000000..6bb12c5ffdec
--- /dev/null
+++ b/dev-libs/libchewing/libchewing-0.3.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit multilib toolchain-funcs eutils
+
+DESCRIPTION="Library for Chinese Phonetic input method"
+HOMEPAGE="http://chewing.csie.net/"
+SRC_URI="http://chewing.csie.net/download/libchewing/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc ~ppc64 x86"
+IUSE="debug test static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ sys-libs/ncurses[unicode]
+ >=dev-libs/check-0.9.4
+ )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-strncat-fix.patch
+}
+
+src_configure() {
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ econf $(use_enable debug) \
+ $(use_enable static-libs static) || die
+}
+
+src_test() {
+ # test subdirectory is not enabled by default; this means that we
+ # have to make it explicit.
+ emake -C test check || die "emake check failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ find "${ED}"usr/$(get_libdir)/ -name '*.la' -delete || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die
+}
diff --git a/dev-libs/libchewing/libchewing-0.4.0-r1.ebuild b/dev-libs/libchewing/libchewing-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..d55968297ea8
--- /dev/null
+++ b/dev-libs/libchewing/libchewing-0.4.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="Library for Chinese Phonetic input method"
+HOMEPAGE="http://chewing.csie.net/"
+SRC_URI="https://github.com/chewing/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~ppc ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="
+ virtual/pkgconfig
+ test? (
+ sys-libs/ncurses[unicode]
+ >=dev-libs/check-0.9.4
+ )
+ dev-db/sqlite:3
+"
+
+DOCS=( AUTHORS NEWS README.md TODO )
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --with-sqlite3 \
+ --disable-gcov
+}
+
+src_test() {
+ # test subdirectory is not enabled by default; this means that we
+ # have to make it explicit.
+ emake -C test check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libchewing/metadata.xml b/dev-libs/libchewing/metadata.xml
new file mode 100644
index 000000000000..fa2e6e5c074d
--- /dev/null
+++ b/dev-libs/libchewing/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cjk</herd>
+ <upstream>
+ <remote-id type="github">chewing/libchewing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
new file mode 100644
index 000000000000..202fbdef193c
--- /dev/null
+++ b/dev-libs/libclc/Manifest
@@ -0,0 +1,3 @@
+DIST libclc-0.0.1_pre20140101.tar.xz 27528 SHA256 990820e918a14b6ef2941ce44e2dca0c6a4025dda8a299af7da8c75bdc40a409 SHA512 460ff4e0c06116000f5f91e35e6118eb117c91b1678473fd25512924e3095693cdd1024db69f9f361c744254df5c2bf8c209096fbad15f48915f3cdd3159ea84 WHIRLPOOL c0753f27925336b45591d2e5d4cda30a685d85629fdcb5dbb8110f59306bed3cdee701c6312ec7da56e1c943a50bdc301d7c59e6b1155bbc1d6da03fb305e0a7
+DIST libclc-0.0.1_pre20141027.tar.xz 43784 SHA256 91f2c78fc31c76112899ce30b529f0dc3fa893f7c839727511d967f751c7d8f3 SHA512 bd63f5e29406e9961b6a33a3a45475563ea26505e7665f1ab2fba060151e15c7a02e5ceaf7f16ae55f23fcd0001be3b8acb57045eccdd5b8b7d2e5c684b84097 WHIRLPOOL 4bdb39324512ca7ac497c63d5d2e00e98c89f78be316368705eb697e268a4f7bedf60b212b93de79ef1258588a3661f5abcd040abe91d70371a1daabadda38f1
+DIST libclc-0.1.0_pre20150305.tar.xz 45492 SHA256 5c221bc70438d50cc5893797ebd59a444910e057ccfce0671f3cdeb118854806 SHA512 5d6aa3d80da161fb987f954a1c192a06bab59de345e31a7fa55be1947feb14439f00e0d1a92d146428bfe257ab4be6ab949b9147e0650e2156124f5e9db7270c WHIRLPOOL 3fed78801b25cdcd56411847a679a511775ca7b42582d0b6791dfbe9ff544e15325cf4e5d528458d4db0334d400d4770ccdefd60db56043cc3508ce82862b1cc
diff --git a/dev-libs/libclc/files/libclc-llvm-3.5-compat.patch b/dev-libs/libclc/files/libclc-llvm-3.5-compat.patch
new file mode 100644
index 000000000000..34b4899e0623
--- /dev/null
+++ b/dev-libs/libclc/files/libclc-llvm-3.5-compat.patch
@@ -0,0 +1,83 @@
+diff -urpN libclc-0.0.1_pre20140101.orig/utils/prepare-builtins.cpp libclc-0.0.1_pre20140101/utils/prepare-builtins.cpp
+--- libclc-0.0.1_pre20140101.orig/utils/prepare-builtins.cpp 2014-09-22 13:08:50.236934929 -0700
++++ libclc-0.0.1_pre20140101/utils/prepare-builtins.cpp 2014-09-22 13:12:43.164665140 -0700
+@@ -1,4 +1,3 @@
+-#include "llvm/ADT/OwningPtr.h"
+ #include "llvm/Bitcode/ReaderWriter.h"
+ #include "llvm/IR/Function.h"
+ #include "llvm/IR/GlobalVariable.h"
+@@ -7,11 +6,28 @@
+ #include "llvm/Support/CommandLine.h"
+ #include "llvm/Support/ManagedStatic.h"
+ #include "llvm/Support/MemoryBuffer.h"
++#include "llvm/Support/FileSystem.h"
+ #include "llvm/Support/raw_ostream.h"
+-#include "llvm/Support/system_error.h"
++#include "llvm/Support/ErrorOr.h"
+ #include "llvm/Support/ToolOutputFile.h"
+ #include "llvm/Config/config.h"
+
++#define LLVM_350_AND_NEWER \
++ (LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 5))
++
++#if LLVM_350_AND_NEWER
++#include <system_error>
++
++#define ERROR_CODE std::error_code
++#define UNIQUE_PTR std::unique_ptr
++#else
++#include "llvm/ADT/OwningPtr.h"
++#include "llvm/Support/system_error.h"
++
++#define ERROR_CODE error_code
++#define UNIQUE_PTR OwningPtr
++#endif
++
+ using namespace llvm;
+
+ static cl::opt<std::string>
+@@ -31,11 +47,26 @@ int main(int argc, char **argv) {
+ std::auto_ptr<Module> M;
+
+ {
+- OwningPtr<MemoryBuffer> BufferPtr;
+- if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr))
++#if LLVM_350_AND_NEWER
++ ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr =
++ MemoryBuffer::getFile(InputFilename);
++ std::unique_ptr<MemoryBuffer> &BufferPtr = BufferOrErr.get();
++ if (std::error_code ec = BufferOrErr.getError())
++#else
++ UNIQUE_PTR<MemoryBuffer> BufferPtr;
++ if (ERROR_CODE ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr))
++#endif
+ ErrorMessage = ec.message();
+- else
++ else {
++#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR > 4)
++ ErrorOr<Module *> ModuleOrErr = parseBitcodeFile(BufferPtr.get(), Context);
++ if (ERROR_CODE ec = ModuleOrErr.getError())
++ ErrorMessage = ec.message();
++ M.reset(ModuleOrErr.get());
++#else
+ M.reset(ParseBitcodeFile(BufferPtr.get(), Context, &ErrorMessage));
++#endif
++ }
+ }
+
+ if (M.get() == 0) {
+@@ -65,10 +95,12 @@ int main(int argc, char **argv) {
+ }
+
+ std::string ErrorInfo;
+- OwningPtr<tool_output_file> Out
++ UNIQUE_PTR<tool_output_file> Out
+ (new tool_output_file(OutputFilename.c_str(), ErrorInfo,
+-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR > 3)
++#if (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR == 4)
+ sys::fs::F_Binary));
++#elif LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 5)
++ sys::fs::F_None));
+ #else
+ raw_fd_ostream::F_Binary));
+ #endif
diff --git a/dev-libs/libclc/libclc-0.0.1_pre20140101-r1.ebuild b/dev-libs/libclc/libclc-0.0.1_pre20140101-r1.ebuild
new file mode 100644
index 000000000000..595ceeae8ae4
--- /dev/null
+++ b/dev-libs/libclc/libclc-0.0.1_pre20140101-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+EGIT_REPO_URI="http://llvm.org/git/${PN}.git"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit base python-any-r1 $GIT_ECLASS
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="http://libclc.llvm.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz ${SRC_PATCHES}"
+fi
+
+LICENSE="|| ( MIT BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="
+ >=sys-devel/clang-3.4
+ >=sys-devel/llvm-3.4
+ <sys-devel/clang-3.6
+ <sys-devel/llvm-3.6"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+src_unpack() {
+ if [[ $PV = 9999* ]]; then
+ git-2_src_unpack
+ else
+ default
+ mv ${PN}-*/ ${P} || die
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/libclc-llvm-3.5-compat.patch"
+}
+
+src_configure() {
+ ./configure.py \
+ --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \
+ --prefix="${EPREFIX}/usr" || die
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
diff --git a/dev-libs/libclc/libclc-0.0.1_pre20141027.ebuild b/dev-libs/libclc/libclc-0.0.1_pre20141027.ebuild
new file mode 100644
index 000000000000..ed10b2011c94
--- /dev/null
+++ b/dev-libs/libclc/libclc-0.0.1_pre20141027.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+EGIT_REPO_URI="http://llvm.org/git/${PN}.git"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit base python-any-r1 $GIT_ECLASS
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="http://libclc.llvm.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz ${SRC_PATCHES}"
+fi
+
+LICENSE="|| ( MIT BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="
+ >=sys-devel/clang-3.5
+ >=sys-devel/llvm-3.5
+ <sys-devel/clang-3.6
+ <sys-devel/llvm-3.6"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+src_unpack() {
+ if [[ $PV = 9999* ]]; then
+ git-2_src_unpack
+ else
+ default
+ mv ${PN}-*/ ${P} || die
+ fi
+}
+
+src_configure() {
+ ./configure.py \
+ --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \
+ --prefix="${EPREFIX}/usr" || die
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
diff --git a/dev-libs/libclc/libclc-0.1.0_pre20150305.ebuild b/dev-libs/libclc/libclc-0.1.0_pre20150305.ebuild
new file mode 100644
index 000000000000..d2c5cd376512
--- /dev/null
+++ b/dev-libs/libclc/libclc-0.1.0_pre20150305.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+EGIT_REPO_URI="http://llvm.org/git/${PN}.git"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+inherit base python-any-r1 $GIT_ECLASS
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="http://libclc.llvm.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz ${SRC_PATCHES}"
+fi
+
+LICENSE="|| ( MIT BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="
+ >=sys-devel/clang-3.6
+ >=sys-devel/llvm-3.6"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+src_unpack() {
+ if [[ $PV = 9999* ]]; then
+ git-r3_src_unpack
+ else
+ default
+ mv ${PN}-*/ ${P} || die
+ fi
+}
+
+src_configure() {
+ ./configure.py \
+ --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \
+ --prefix="${EPREFIX}/usr" || die
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
diff --git a/dev-libs/libclc/metadata.xml b/dev-libs/libclc/metadata.xml
new file mode 100644
index 000000000000..01c4c004e735
--- /dev/null
+++ b/dev-libs/libclc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/dev-libs/libcli/Manifest b/dev-libs/libcli/Manifest
new file mode 100644
index 000000000000..b8eda382bb85
--- /dev/null
+++ b/dev-libs/libcli/Manifest
@@ -0,0 +1,2 @@
+DIST libcli-1.9.4.tar.gz 27960 SHA256 c1e56ff2e55a879b7c89b5808aea76063512d9a24cffd601aa3d9a84cd6a7928 SHA512 51de601733029f696cbfa435639addeef33ec52c390352164db96f1c14a375eca90e890134958178aaf77e57eaf05dda8bdbbc08df637767e820bfc65360b747 WHIRLPOOL 79b3b33262a05083dba0a7fbf64950aae123438c260bcebec431eef232419db114c351adec43302e6d321c9e438e1054d297066e268523f19c09351330095866
+DIST libcli-1.9.7.tar.gz 29557 SHA256 7ddda6b6e044a1498cf3a27e49ed5d7b97840bbe5a036c43fb0532b5e431886c SHA512 b2dacfd40bc068ddcc0dc3d60576ef2f7d7e2af80b93c6e7ae899d654afca6f0f8d2df2b33c9c8e760bdbea9aa2eaf757029d46032dcf307341f78f1a8f4f66f WHIRLPOOL 0bc14f3d27e04c7ea9f4421aac59c2269ba4fb12b821bf8bebe7330a6350c89430118444cf746baae587dc8b21c56d24ae87fe1a6d5ce3617ebbf1d9ceb63b6d
diff --git a/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch b/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch
new file mode 100644
index 000000000000..0dd8e13d67fc
--- /dev/null
+++ b/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch
@@ -0,0 +1,11 @@
+--- Makefile~ 2008-07-28 03:13:16.000000000 +0200
++++ Makefile 2010-09-12 15:39:05.000000000 +0200
+@@ -28,7 +28,7 @@
+ libcli.o: libcli.h
+
+ clitest: clitest.o $(LIB)
+- $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -L. -lcli
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< -L. -lcli
+
+ clitest.exe: clitest.c libcli.o
+ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< libcli.o -lws2_32
diff --git a/dev-libs/libcli/files/libcli-1.9.7-libdir.patch b/dev-libs/libcli/files/libcli-1.9.7-libdir.patch
new file mode 100644
index 000000000000..99f817095adc
--- /dev/null
+++ b/dev-libs/libcli/files/libcli-1.9.7-libdir.patch
@@ -0,0 +1,24 @@
+--- libcli-1.9.7/Makefile
++++ libcli-1.9.7/Makefile
+@@ -1,6 +1,7 @@
+ UNAME = $(shell sh -c 'uname -s 2>/dev/null || echo not')
+ DESTDIR =
+ PREFIX = /usr/local
++libdir = $(PREFIX)/lib
+
+ MAJOR = 1
+ MINOR = 9
+@@ -50,10 +51,10 @@
+ rm -f *.o $(LIB)* $(LIB_STATIC) clitest
+
+ install: $(LIB)
+- install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
++ install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(libdir)
+ install -m 0644 libcli.h $(DESTDIR)$(PREFIX)/include
+- install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(PREFIX)/lib
+- cd $(DESTDIR)$(PREFIX)/lib && \
++ install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(libdir)
++ cd $(DESTDIR)$(libdir) && \
+ ln -fs $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(LIB).$(MAJOR).$(MINOR) && \
+ ln -fs $(LIB).$(MAJOR).$(MINOR) $(LIB)
+
diff --git a/dev-libs/libcli/libcli-1.9.4-r1.ebuild b/dev-libs/libcli/libcli-1.9.4-r1.ebuild
new file mode 100644
index 000000000000..38761de80045
--- /dev/null
+++ b/dev-libs/libcli/libcli-1.9.4-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Cisco-style (telnet) command-line interface library"
+
+HOMEPAGE="http://sites.dparrish.com/libcli"
+SRC_URI="http://libcli.googlecode.com/files/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ # Support /lib{32,64}
+ sed -i 's:$(PREFIX)/lib:$(libdir):g' Makefile || die
+ sed -i 's:PREFIX = /usr/local:&\nlibdir = $(PREFIX)/lib:' Makefile || die
+
+ # Make this respect LDFLAGS, bug #334913
+ epatch "${FILESDIR}/${PN}-1.9.4-ldflags.patch"
+}
+
+src_compile() {
+ emake OPTIM="" DEBUG="" CC="$(tc-getCC)"
+}
+
+src_install() {
+ emake DESTDIR="${ED}" \
+ PREFIX="/usr" \
+ OPTIM="" \
+ DEBUG="" \
+ libdir="/usr/$(get_libdir)" \
+ install
+
+ dobin clitest
+ dodoc README
+}
diff --git a/dev-libs/libcli/libcli-1.9.7.ebuild b/dev-libs/libcli/libcli-1.9.7.ebuild
new file mode 100644
index 000000000000..8406ca4af133
--- /dev/null
+++ b/dev-libs/libcli/libcli-1.9.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Cisco-style (telnet) command-line interface library"
+
+HOMEPAGE="http://sites.dparrish.com/libcli"
+SRC_URI="https://github.com/dparrish/libcli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.9.7-libdir.patch" \
+ "${FILESDIR}/${PN}-1.9.4-ldflags.patch"
+}
+
+src_compile() {
+ emake OPTIM="" DEBUG="" \
+ CC="$(tc-getCC)" AR="$(tc-getAR)"
+}
+
+src_install() {
+ emake DESTDIR="${ED}" PREFIX="/usr" \
+ libdir="/usr/$(get_libdir)" install
+
+ dobin clitest
+ dodoc README
+}
diff --git a/dev-libs/libcli/metadata.xml b/dev-libs/libcli/metadata.xml
new file mode 100644
index 000000000000..a094f1afe782
--- /dev/null
+++ b/dev-libs/libcli/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <longdescription lang="en">libcli provides a shared library for including a Cisco-like command-line
+ interface into other software. It's a telnet interface which supports
+ command-line editing, history, authentication and callbacks for a
+ user-definable function tree.</longdescription>
+ <upstream>
+ <remote-id type="github">dparrish/libcli</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libclsync/Manifest b/dev-libs/libclsync/Manifest
new file mode 100644
index 000000000000..22e7548b65c7
--- /dev/null
+++ b/dev-libs/libclsync/Manifest
@@ -0,0 +1 @@
+DIST clsync-0.4.1.tar.gz 253890 SHA256 3f14a72d7c3c1747ea908e373f25bd1918ce00450492fbb7094549db6bf21e27 SHA512 875280f706026d44806b92c22fa58d016136b2792f67a6b7e77f932465081da7a1ebaf22c25e538e4b58bfe04cd1cd5450ecab99c3df53ddd2a0fa966442d444 WHIRLPOOL 10ab11821766f7d16d03993069ac4da5fe362a1e5977ea6721e49ada7044d3659e59b507b03be4de09609b0a0ca9d7878407d7b6e1f40df5dbe1d041dac373cb
diff --git a/dev-libs/libclsync/libclsync-0.4.1.ebuild b/dev-libs/libclsync/libclsync-0.4.1.ebuild
new file mode 100644
index 000000000000..bc030b358432
--- /dev/null
+++ b/dev-libs/libclsync/libclsync-0.4.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN=${PN#lib}
+MY_P="${MY_PN}-${PV}"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/xaionaro/${MY_PN}.git"
+else
+ SRC_URI="https://github.com/xaionaro/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+inherit autotools
+
+DESCRIPTION="Control and monitoring library for clsync"
+HOMEPAGE="http://ut.mephi.ru/oss/clsync https://github.com/xaionaro/clsync"
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="debug extra-debug extra-hardened hardened static-libs"
+REQUIRED_USE="
+ extra-debug? ( debug )
+ extra-hardened? ( hardened )
+"
+
+DEPEND="virtual/pkgconfig "
+RDEPEND="=app-doc/clsync-docs-0.4*"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ local harden_level=0
+ use hardened && harden_level=1
+ use extra-hardened && harden_level=2
+
+ local debug_level=0
+ use debug && debug_level=1
+ use extra-debug && debug_level=2
+
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --enable-socket-library \
+ --disable-clsync \
+ --enable-debug=${debug_level} \
+ --enable-paranoid=${harden_level} \
+ --without-bsm \
+ --without-kqueue \
+ --disable-capabilities \
+ --disable-cluster \
+ --enable-socket \
+ --disable-highload-locks \
+ --disable-unshare \
+ --disable-seccomp \
+ --without-libcgroup \
+ --without-gio \
+ --with-inotify=native \
+ --without-mhash
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+ use static-libs || find "${ED}" -name "*.a" -delete || die "failed to remove static libs"
+
+ # docs go into clsync-docs
+ rm -rf "${ED}/usr/share/doc" || die
+}
+
+pkg_postinst() {
+ einfo "clsync instances you are going to use _must_ be compiled"
+ einfo "with control-socket support"
+}
diff --git a/dev-libs/libclsync/metadata.xml b/dev-libs/libclsync/metadata.xml
new file mode 100644
index 000000000000..d22e515d9082
--- /dev/null
+++ b/dev-libs/libclsync/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <longdescription>
+ Libclsync is a library for remote control and monitoring of
+ <pkg>app-admin/clsync</pkg> processes.
+</longdescription>
+ <use>
+ <flag name="extra-debug">Enable extra debugging. This will hurt performance badly. Be ready for tons of output.</flag>
+ <flag name="extra-hardened">Enable extra security checks. This may hurt performance.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">xaionaro/clsync</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libconfig/Manifest b/dev-libs/libconfig/Manifest
new file mode 100644
index 000000000000..dc45cf7cc4db
--- /dev/null
+++ b/dev-libs/libconfig/Manifest
@@ -0,0 +1,2 @@
+DIST libconfig-1.4.9.tar.gz 688158 SHA256 09c8979252e60193e2969e9b0e1cd597f7820087867989b2f0939ad164473041 SHA512 49a4318c1b8a5f15dc0cefaf25c481f95008e413696420d5e8cacb7a6ce7e600b84c4b7e7365373cee62e392e14556ff31d65c1e084a9b7ab2153a55cbf787a7 WHIRLPOOL 3d64dfb7cfd21c769738791236d6f6f4b01d296d060c21767f441f644b0d0bba62b5782bd7129dcc2657377200e59a345a5f197a67b5579e2193447fdefc1d25
+DIST libconfig-1.5.tar.gz 644432 SHA256 e31daa390d8e4461c8830512fe2e13ba1a3d6a02a2305a02429eec61e68703f6 SHA512 16bead52ee8c880b25fd1ee6fa83c115dc51830f2f7954389bd8b72cc0e6fc05fc63fe415bd929851894a9f3a1127d51cfc4223149514246e9566305556b7bcd WHIRLPOOL ef3718b1ec4485202d1fd03db035419b6c0179e4c4eb47e74ff93b467677c4f53cf9d70d5eb7aa6230dab7a4115e5fae0fc4ed191f1bfc6d0c3c252ee5d90944
diff --git a/dev-libs/libconfig/files/libconfig-1.4.9-out-of-source-build.patch b/dev-libs/libconfig/files/libconfig-1.4.9-out-of-source-build.patch
new file mode 100644
index 000000000000..fe7c2cc42bec
--- /dev/null
+++ b/dev-libs/libconfig/files/libconfig-1.4.9-out-of-source-build.patch
@@ -0,0 +1,16 @@
+--- a/libconfig-1.4.9/tests/Makefile.am
++++ b/libconfig-1.4.9/tests/Makefile.am
+@@ -3,10 +3,10 @@
+
+ libconfig_tests_SOURCES = tests.c
+
+-libconfig_tests_CPPFLAGS = -I../tinytest -I../lib
++libconfig_tests_CPPFLAGS = -I$(top_srcdir)/tinytest -I$(top_srcdir)/lib
+
+-libconfig_tests_LDADD = -L../tinytest -ltinytest \
+- -L../lib/.libs -lconfig
++libconfig_tests_LDADD = -L$(top_builddir)/tinytest -ltinytest \
++ -L$(top_builddir)/lib/.libs -lconfig
+
+
+ EXTRA_DIST = \
diff --git a/dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch b/dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch
new file mode 100644
index 000000000000..d109b60d4363
--- /dev/null
+++ b/dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch
@@ -0,0 +1,11 @@
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -3,7 +3,7 @@
+
+ libconfig_tests_SOURCES = tests.c
+
+-libconfig_tests_CPPFLAGS = -I$(top_srcdir)/tinytest -I../lib
++libconfig_tests_CPPFLAGS = -I$(top_srcdir)/tinytest -I$(top_srcdir)/lib
+
+ libconfig_tests_LDADD = -L$(top_builddir)/tinytest -ltinytest \
+ -L$(top_builddir)/lib/.libs -lconfig
diff --git a/dev-libs/libconfig/libconfig-1.4.9-r1.ebuild b/dev-libs/libconfig/libconfig-1.4.9-r1.ebuild
new file mode 100644
index 000000000000..45b0e656906d
--- /dev/null
+++ b/dev-libs/libconfig/libconfig-1.4.9-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF="1"
+inherit eutils autotools-multilib
+
+DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
+HOMEPAGE="http://www.hyperrealm.com/libconfig/libconfig.html"
+SRC_URI="http://www.hyperrealm.com/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips ppc ppc64 sparc x86 ~x86-linux"
+IUSE="+cxx examples static-libs"
+
+DEPEND="
+ sys-devel/libtool
+ sys-devel/bison"
+
+PATCHES=( "${FILESDIR}/${P}-out-of-source-build.patch" )
+
+src_prepare() {
+ sed -i configure.ac -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable cxx)
+ --disable-examples
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_test() {
+ # It responds to check but that does not work as intended
+ emake test
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+
+ if use examples; then
+ find examples/ -name "Makefile.*" -delete || die
+ local dir
+ for dir in examples/c examples/c++; do
+ insinto /usr/share/doc/${PF}/${dir}
+ doins ${dir}/*
+ done
+ fi
+}
diff --git a/dev-libs/libconfig/libconfig-1.5.ebuild b/dev-libs/libconfig/libconfig-1.5.ebuild
new file mode 100644
index 000000000000..1835e65e2a58
--- /dev/null
+++ b/dev-libs/libconfig/libconfig-1.5.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF="1"
+inherit eutils autotools-multilib
+
+DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
+HOMEPAGE="http://www.hyperrealm.com/libconfig/libconfig.html"
+SRC_URI="http://www.hyperrealm.com/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-linux"
+IUSE="+cxx examples static-libs"
+
+DEPEND="
+ sys-devel/libtool
+ sys-devel/bison"
+
+PATCHES=( "${FILESDIR}/${PN}-1.5-out-of-source-build.patch" )
+
+src_prepare() {
+ sed -i configure.ac -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable cxx)
+ --disable-examples
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_test() {
+ # It responds to check but that does not work as intended
+ emake test
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+
+ if use examples; then
+ find examples -name "Makefile.*" -delete || die
+ dodoc -r examples
+ fi
+}
diff --git a/dev-libs/libconfig/metadata.xml b/dev-libs/libconfig/metadata.xml
new file mode 100644
index 000000000000..4c4e44ce9334
--- /dev/null
+++ b/dev-libs/libconfig/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libcoyotl/Manifest b/dev-libs/libcoyotl/Manifest
new file mode 100644
index 000000000000..27d1a8dfed1c
--- /dev/null
+++ b/dev-libs/libcoyotl/Manifest
@@ -0,0 +1 @@
+DIST libcoyotl-3.1.0.tar.gz 346384 SHA256 540cb2e131cc345f94eaa1a7682532e200b57efd6b6a5e2d9e68aa7819f63860 SHA512 18d0a71204dc57d44f73fe03fd88c2a040e83615557cf1f018c22ad7c9a11d793c7f71df8e10a156b9fd4fae910882ed6cec37f9e57efd3546ffc15fa82a51b5 WHIRLPOOL 66a08ae5827ce9bf7ab5d532dc29485fc4b82e15005cad5a91f1e9fbc27b9fdd64889d0c9f68bbc7e7fd6463b6dcee552ed906c149bb6727f01931c213404ca4
diff --git a/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch b/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch
new file mode 100644
index 000000000000..4d3391e21161
--- /dev/null
+++ b/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch
@@ -0,0 +1,32 @@
+diff -NrU5 libcoyotl-3.1.0.orig/libcoyotl/command_line.cpp libcoyotl-3.1.0/libcoyotl/command_line.cpp
+--- libcoyotl-3.1.0.orig/libcoyotl/command_line.cpp 2008-03-21 22:41:41.000000000 +0100
++++ libcoyotl-3.1.0/libcoyotl/command_line.cpp 2008-03-21 22:41:59.000000000 +0100
+@@ -30,10 +30,13 @@
+ // http://www.coyotegulch.com
+ //
+ //-----------------------------------------------------------------------
+
+ #include "command_line.h"
++
++#include <cstring>
++
+ using namespace libcoyotl;
+
+ command_line::command_line(int argc, char * argv[], const set<string> & bool_opts)
+ : m_options(),
+ m_inputs(),
+diff -NrU5 libcoyotl-3.1.0.orig/libcoyotl/sortutil.h libcoyotl-3.1.0/libcoyotl/sortutil.h
+--- libcoyotl-3.1.0.orig/libcoyotl/sortutil.h 2008-03-21 22:41:41.000000000 +0100
++++ libcoyotl-3.1.0/libcoyotl/sortutil.h 2008-03-21 22:41:59.000000000 +0100
+@@ -34,10 +34,11 @@
+ //-----------------------------------------------------------------------
+
+ #if !defined(LIBCOYOTL_SORTUTIL_H)
+ #define LIBCOYOTL_SORTUTIL_H
+
++#include <climits>
+ #include <stdexcept>
+
+ namespace libcoyotl
+ {
+
diff --git a/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch b/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch
new file mode 100644
index 000000000000..443cbe2a8657
--- /dev/null
+++ b/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch
@@ -0,0 +1,11 @@
+--- libcoyotl/maze_renderer.cpp.ORIG 2005-10-10 06:48:30.000000000 +0200
++++ libcoyotl/maze_renderer.cpp 2013-04-12 10:29:31.127689828 +0200
+@@ -36,6 +36,8 @@
+ #include "maze_renderer.h"
+ using namespace libcoyotl;
+
++#include <string.h>
++
+ #include <stdexcept>
+ using namespace std;
+
diff --git a/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild b/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild
new file mode 100644
index 000000000000..7159b000282a
--- /dev/null
+++ b/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils autotools
+
+DESCRIPTION="A collection of portable C++ classes"
+HOMEPAGE="http://www.coyotegulch.com/products/libcoyotl/"
+SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc static-libs"
+
+RDEPEND="media-libs/libpng:0="
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-gcc-4.3.patch"
+ epatch "${FILESDIR}/${PV}-gcc-4.7.patch"
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ ac_cv_prog_HAVE_DOXYGEN="false" econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ cd docs
+ doxygen libcoyotl.doxygen || die "generating docs failed"
+ fi
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ if use doc ; then
+ dohtml docs/html/*
+ fi
+}
diff --git a/dev-libs/libcoyotl/metadata.xml b/dev-libs/libcoyotl/metadata.xml
new file mode 100644
index 000000000000..8434377a6047
--- /dev/null
+++ b/dev-libs/libcoyotl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/libcroco/Manifest b/dev-libs/libcroco/Manifest
new file mode 100644
index 000000000000..8d2f1da1906b
--- /dev/null
+++ b/dev-libs/libcroco/Manifest
@@ -0,0 +1 @@
+DIST libcroco-0.6.8.tar.xz 464992 SHA256 ea6e1b858c55219cefd7109756bff5bc1a774ba7a55f7d3ccd734d6b871b8570 SHA512 acfbebb59e5ea1e70da41f35970fb40a58331a1258eee6c981a575fdd23b420b4cc6d8983c90ad1e6afc0a461e675cb24667e03cfc8ec1aa5e9918e606913413 WHIRLPOOL 704fd5d6df6d62c15645b9901b807e5fd8916567fd32b975f4bd0ce013126617cc16e6a14fc334d0733012cfde8403978f5a23c1254fcdfae156a0720fa266e7
diff --git a/dev-libs/libcroco/libcroco-0.6.8-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.8-r1.ebuild
new file mode 100644
index 000000000000..44c1cb5464c2
--- /dev/null
+++ b/dev-libs/libcroco/libcroco-0.6.8-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
+HOMEPAGE="http://git.gnome.org/browse/libcroco/"
+
+LICENSE="LGPL-2"
+SLOT="0.6"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ --disable-static \
+ $([[ ${CHOST} == *-darwin* ]] && echo --disable-Bsymbolic)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/reference/html docs/reference/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README TODO"
+ einstalldocs
+}
diff --git a/dev-libs/libcroco/libcroco-0.6.8.ebuild b/dev-libs/libcroco/libcroco-0.6.8.ebuild
new file mode 100644
index 000000000000..d00c4812e2fe
--- /dev/null
+++ b/dev-libs/libcroco/libcroco-0.6.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2
+
+DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
+HOMEPAGE="http://git.gnome.org/browse/libcroco/"
+
+LICENSE="LGPL-2"
+SLOT="0.6"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+RDEPEND="dev-libs/glib:2
+ >=dev-libs/libxml2-2.4.23"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig"
+
+src_prepare() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README TODO"
+ G2CONF+=" --disable-static"
+ [[ ${CHOST} == *-darwin* ]] && G2CONF+=" --disable-Bsymbolic"
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ gnome2_src_prepare
+}
diff --git a/dev-libs/libcroco/metadata.xml b/dev-libs/libcroco/metadata.xml
new file mode 100644
index 000000000000..3960e8e41fa6
--- /dev/null
+++ b/dev-libs/libcroco/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription>
+The Libcroco project is an effort to build a generic Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be used by GNOME applications in need of CSS support.
+
+provided is :
+A parser module with : A SAC like api and A CSSOM like api.
+A CSS2 selection engine
+An XML/CSS layout/rendering engine
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libcss/Manifest b/dev-libs/libcss/Manifest
new file mode 100644
index 000000000000..e3c50b232a5c
--- /dev/null
+++ b/dev-libs/libcss/Manifest
@@ -0,0 +1,4 @@
+DIST libcss-0.4.0-src.tar.gz 461842 SHA256 0be9509d9d352abdeec87764c1f8ba13950d9dc4f63acade0477209b7fd21748 SHA512 d4e583ed84ceaec5cc92c52c7789cd61d2e345f02536b2d04e5a2198243db029adefa2f14edfba09a6754bc366b2e58d4eb7951ff4849c638f54b192dd25495f WHIRLPOOL 6ff05baf8f057fcf2c99cbd71f4c55f10a92aa306d1b3f696cb93da8ffb9d6c47845b6b4487ac167f87449a963f84bd8c207b4c2adb4bd109c3d3d329477a803
+DIST libcss-0.5.0-src.tar.gz 465574 SHA256 ecaa09b07d4ecfd4644163bc0f0332b81aaaffbb9a373465e15e44e06666faf1 SHA512 50cc8427778d2fa265ae547895322e912b2f03e08ff100a2f7366e12fdf6e360a861d128a350ebdd3af3e674cc0a04a8dfa6e0217675aafcf3475593f1a5905f WHIRLPOOL 3312934529c8c25ea5dff119accf6c8437d00edbd749c918ec9686dd545d602b222f5348c0a1a25091b36d0b0d7dea5bc3c3c8e9cf2cf53e78396dc3b5db102a
+DIST netsurf-buildsystem-1.2.tar.gz 38914 SHA256 3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61 SHA512 963e8a5033e8ef70595507f24fea3d9697eefb50ad7f92a6d3c913501c7026f12ec6d48f92b75e352b32f212f6216b8d8455aff25fa8d8d0fc12a3b19a875a1c WHIRLPOOL e56a520ae284089d0f36f06a6891ebb5b208ca847c74340c18581340e457c20ae9365999dc13284f438b965dcd7e85f04b93d1c1f22cadf6f7c1e2cef81d528c
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libcss/files/libcss-0.4.0-glibc2.20.patch b/dev-libs/libcss/files/libcss-0.4.0-glibc2.20.patch
new file mode 100644
index 000000000000..77ce079f1a13
--- /dev/null
+++ b/dev-libs/libcss/files/libcss-0.4.0-glibc2.20.patch
@@ -0,0 +1,17 @@
+--- libcss-0.4.0/Makefile
++++ libcss-0.4.0/Makefile
+@@ -15,13 +15,7 @@
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+-# BeOS/Haiku/AmigaOS4 standard library headers create warnings
+-ifneq ($(TARGET),beos)
+- ifneq ($(TARGET),amiga)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+- endif
+-endif
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libcss/files/libcss-0.5.0-glibc2.20.patch b/dev-libs/libcss/files/libcss-0.5.0-glibc2.20.patch
new file mode 100644
index 000000000000..e8c1e7decf21
--- /dev/null
+++ b/dev-libs/libcss/files/libcss-0.5.0-glibc2.20.patch
@@ -0,0 +1,17 @@
+--- libcss-0.5.0/Makefile
++++ libcss-0.5.0/Makefile
+@@ -15,13 +15,7 @@
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+-# BeOS/Haiku/AmigaOS4 standard library headers create warnings
+-ifneq ($(HOST),i586-pc-haiku)
+- ifneq ($(findstring amigaos,$(HOST)),amigaos)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+- endif
+-endif
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libcss/libcss-0.4.0.ebuild b/dev-libs/libcss/libcss-0.4.0.ebuild
new file mode 100644
index 000000000000..773f64cf9260
--- /dev/null
+++ b/dev-libs/libcss/libcss-0.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="test"
+
+RDEPEND=">=dev-libs/libparserutils-0.2.0-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=dev-libs/libwapcaplet-0.2.1-r1[static-libs?,${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc2.20.patch )
diff --git a/dev-libs/libcss/libcss-0.5.0-r1.ebuild b/dev-libs/libcss/libcss-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..51fa8ff6589d
--- /dev/null
+++ b/dev-libs/libcss/libcss-0.5.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="test"
+
+RDEPEND=">=dev-libs/libparserutils-0.2.1-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=dev-libs/libwapcaplet-0.2.2-r1[static-libs?,${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc2.20.patch )
diff --git a/dev-libs/libcss/metadata.xml b/dev-libs/libcss/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/libcss/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libdaemon/Manifest b/dev-libs/libdaemon/Manifest
new file mode 100644
index 000000000000..5d4aaee7301e
--- /dev/null
+++ b/dev-libs/libdaemon/Manifest
@@ -0,0 +1 @@
+DIST libdaemon-0.14.tar.gz 340474 SHA256 fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834 SHA512 a96b25c09bd63cc192c1c5f8b5bf34cc6ad0c32d42ac14b520add611423b6ad3d64091a47e0c7ab9a94476a5e645529abccea3ed6b23596567163fba88131ff2 WHIRLPOOL e1f57dbf3089c666cf068c1e3113c01e68566545198b36f82b8174e5b6f52c466d8e5586ed818b5ccedeec9dba461ee2e878621b95e45962f62e9d7602f8f575
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild
new file mode 100644
index 000000000000..77f82a3c1dd5
--- /dev/null
+++ b/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit libtool eutils
+
+DESCRIPTION="Simple library for creating daemon processes in C"
+HOMEPAGE="http://0pointer.de/lennart/projects/libdaemon/"
+SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc examples static-libs"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+DOCS=( "README" )
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --localstatedir=/var \
+ --disable-examples \
+ --disable-lynx \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ einfo "Building documentation"
+ emake doxygen
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+
+ if use doc; then
+ ln -sf doc/reference/html reference
+ dohtml -r doc/README.html doc/style.css reference
+ doman doc/reference/man/man*/*
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc examples/testd.c
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PF}/{README.html,style.css} || die "rm failed"
+}
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild
new file mode 100644
index 000000000000..78569d7cb8a9
--- /dev/null
+++ b/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool eutils multilib-minimal
+
+DESCRIPTION="Simple library for creating daemon processes in C"
+HOMEPAGE="http://0pointer.de/lennart/projects/libdaemon/"
+SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc examples static-libs"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+DOCS=( "README" )
+
+src_prepare() {
+ epatch_user
+
+ # doxygen is broken with out-of-source builds
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --localstatedir=/var \
+ --disable-examples \
+ --disable-lynx \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use doc; then
+ einfo "Building documentation"
+ emake doxygen
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use doc; then
+ ln -sf doc/reference/html reference
+ dohtml -r doc/README.html doc/style.css reference
+ doman doc/reference/man/man*/*
+ fi
+
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+
+ if use examples; then
+ docinto examples
+ dodoc examples/testd.c
+ fi
+
+ rm "${ED}"/usr/share/doc/${PF}/{README.html,style.css} || die "rm failed"
+}
diff --git a/dev-libs/libdaemon/metadata.xml b/dev-libs/libdaemon/metadata.xml
new file mode 100644
index 000000000000..2b43b61bb059
--- /dev/null
+++ b/dev-libs/libdaemon/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>eva@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libdbusmenu-qt/Manifest b/dev-libs/libdbusmenu-qt/Manifest
new file mode 100644
index 000000000000..3a1841d250a2
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/Manifest
@@ -0,0 +1,2 @@
+DIST libdbusmenu-qt-0.9.2.tar.xz 242888 SHA256 ecd1108f637c4c58946aff2aba70010f8060bd87c1acc85a917c2b3f43cf406d SHA512 93471a03cfc127babc58cf07b1caa30ae901ad2d213790d5085117f331a6cea0d2ab6b5ba21abdf582c40f172ff8e8168a185fa1a27d7d367a01a3b6ed731155 WHIRLPOOL b38e23c9def7802040c8ce94bcce6a644cf5e088a90fda091a2ba75b5a332b36d97f00d998f8c1b1942101eceecdb8c78612fcb3ee5f0604de98f65aa33cb3f7
+DIST libdbusmenu-qt_0.9.3+14.10.20140619.orig.tar.gz 46641 SHA256 e531b29388317f48e22c652c7111e9c7750aa7d429a72742c49a1c8af1e61968 SHA512 791c1904a1c960a94bba2c624469d8a9c1c76e14fc40917feb5aeb8c55acc6c68a0b03509037440f35ad8416710cbe705c1b117b23a9a684b6ff0d919d1d5e18 WHIRLPOOL b76294a4c9cdf943594f685aeae13e12db8d6f0b85f4a86031023c15072cdae619ff70c95e8db40eaeb9acb8d234e48e45ca79899c835b068387df040f688160
diff --git a/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.2-optionaltests.patch b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.2-optionaltests.patch
new file mode 100644
index 000000000000..35df4632eae5
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.2-optionaltests.patch
@@ -0,0 +1,17 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -59,8 +59,13 @@
+ DESTINATION lib${LIB_SUFFIX}/pkgconfig
+ )
+
++
++option(BUILD_TESTS "Build tests" ON)
++
+ add_subdirectory(src)
+-add_subdirectory(tests)
++if(BUILD_TESTS)
++ add_subdirectory(tests)
++endif(BUILD_TESTS)
+ add_subdirectory(tools)
+
+ if(WITH_DOC)
diff --git a/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20140619-optionaltests.patch b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20140619-optionaltests.patch
new file mode 100644
index 000000000000..7f6d82eb00db
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20140619-optionaltests.patch
@@ -0,0 +1,16 @@
+--- CMakeLists.txt.old 2014-10-10 21:14:47.139654992 +0200
++++ CMakeLists.txt 2014-10-10 21:16:17.114656451 +0200
+@@ -90,8 +90,12 @@
+ )
+
+ add_subdirectory(src)
++
++option(BUILD_TESTS "Build tests for qt4" ON)
+ if (NOT USE_QT5) # TODO port tests to Qt5
+-add_subdirectory(tests)
++ if(BUILD_TESTS)
++ add_subdirectory(tests)
++ endif(BUILD_TESTS)
+ endif()
+ add_subdirectory(tools)
+
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.2.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.2.ebuild
new file mode 100644
index 000000000000..364dcf362370
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+QT_DEPEND="4.6.3"
+EBZR_REPO_URI="lp:libdbusmenu-qt"
+
+[[ ${PV} == 9999* ]] && BZR_ECLASS="bzr"
+inherit cmake-utils virtualx ${BZR_ECLASS}
+
+DESCRIPTION="A library providing Qt implementation of DBusMenu specification"
+HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
+if [[ ${PV} == 9999* ]] ; then
+ KEYWORDS=""
+else
+ #SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
+ # upstream has no permissions to use some kde written code so repack git
+ # repo every time
+ SRC_URI="http://dev.gentoo.org/~creffett/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="debug doc"
+
+RDEPEND="
+ >=dev-qt/qtcore-${QT_DEPEND}:4
+ >=dev-qt/qtdbus-${QT_DEPEND}:4
+ >=dev-qt/qtgui-${QT_DEPEND}:4
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? (
+ dev-libs/qjson
+ >=dev-qt/qttest-${QT_DEPEND}:4
+ )
+"
+
+DOCS=( NEWS README )
+PATCHES=( "${FILESDIR}/${P}-optionaltests.patch" )
+
+# tests fail due to missing conection to dbus
+RESTRICT="test"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_with doc)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local builddir=${CMAKE_BUILD_DIR}
+
+ CMAKE_BUILD_DIR=${CMAKE_BUILD_DIR}/tests \
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+
+ CMAKE_BUILD_DIR=${builddir}
+}
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619-r1.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619-r1.ebuild
new file mode 100644
index 000000000000..074b9de65523
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EBZR_REPO_URI="lp:libdbusmenu-qt"
+
+[[ ${PV} == 9999* ]] && BZR_ECLASS="bzr"
+inherit multibuild multilib virtualx ${BZR_ECLASS} cmake-multilib
+
+DESCRIPTION="A library providing Qt implementation of DBusMenu specification"
+HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
+if [[ ${PV} == 9999* ]] ; then
+ KEYWORDS=""
+else
+ MY_PV=${PV/_pre/+14.10.}
+ SRC_URI="http://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz"
+ # upstream has no permissions to use some kde written code so repack git
+ # repo every time
+ #SRC_URI="http://dev.gentoo.org/~scarabeus/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ PATCHES=( "${FILESDIR}/${P}-optionaltests.patch" )
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="debug doc +qt4 qt5"
+S=${WORKDIR}/${PN}-${MY_PV}
+
+REQUIRED_USE="|| ( qt4 qt5 )"
+
+RDEPEND="
+ qt4? (
+ >=dev-qt/qtcore-4.8.6:4[${MULTILIB_USEDEP}]
+ >=dev-qt/qtdbus-4.8.6:4[${MULTILIB_USEDEP}]
+ >=dev-qt/qtgui-4.8.6:4[${MULTILIB_USEDEP}]
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? (
+ dev-libs/qjson[${MULTILIB_USEDEP}]
+ qt4? ( >=dev-qt/qttest-4.8.6:4[${MULTILIB_USEDEP}] )
+ qt5? ( dev-qt/qttest:5 )
+ )
+"
+
+DOCS=( NEWS README )
+
+# tests fail due to missing connection to dbus
+RESTRICT="test"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usex qt4 4) $(usex qt5 5) )
+}
+
+src_prepare() {
+ [[ ${PV} == 9999* ]] && bzr_src_prepare
+ cmake-utils_src_prepare
+
+ comment_add_subdirectory tools
+ use test || comment_add_subdirectory tests
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_with doc)
+ -DUSE_QT${QT_MULTIBUILD_VARIANT}=ON
+ -DQT_QMAKE_EXECUTABLE="/usr/$(get_libdir)/qt${QT_MULTIBUILD_VARIANT}/bin/qmake"
+ )
+ cmake-utils_src_configure
+}
+
+src_configure() {
+ myconfigure() {
+ local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT}
+ if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
+ cmake-multilib_src_configure
+ elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
+ multilib_src_configure
+ fi
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ mycompile() {
+ if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
+ cmake-multilib_src_compile
+ elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
+ cmake-utils_src_compile
+ fi
+ }
+
+ multibuild_foreach_variant mycompile
+}
+
+src_install() {
+ myinstall() {
+ if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
+ cmake-multilib_src_install
+ elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
+ cmake-utils_src_install
+ fi
+ }
+
+ multibuild_foreach_variant myinstall
+}
+
+src_test() {
+ mytest() {
+ if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
+ cmake-multilib_src_test
+ elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
+ multilib_src_test
+ fi
+ }
+
+ multibuild_foreach_variant mytest
+}
+
+multilib_src_test() {
+ local builddir=${BUILD_DIR}
+
+ BUILD_DIR=${BUILD_DIR}/tests \
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+
+ BUILD_DIR=${builddir}
+}
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619.ebuild
new file mode 100644
index 000000000000..eed4adb7047b
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20140619.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EBZR_REPO_URI="lp:libdbusmenu-qt"
+
+[[ ${PV} == 9999* ]] && BZR_ECLASS="bzr"
+inherit cmake-utils multibuild virtualx ${BZR_ECLASS}
+
+DESCRIPTION="A library providing Qt implementation of DBusMenu specification"
+HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
+if [[ ${PV} == 9999* ]] ; then
+ KEYWORDS=""
+else
+ MY_PV=${PV/_pre/+14.10.}
+ SRC_URI="http://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz"
+ # upstream has no permissions to use some kde written code so repack git
+ # repo every time
+ #SRC_URI="http://dev.gentoo.org/~scarabeus/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ PATCHES=( "${FILESDIR}/${P}-optionaltests.patch" )
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="debug doc +qt4 qt5"
+S=${WORKDIR}/${PN}-${MY_PV}
+
+REQUIRED_USE="|| ( qt4 qt5 )"
+
+RDEPEND="
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? (
+ dev-libs/qjson
+ qt4? ( dev-qt/qttest:4 )
+ qt5? ( dev-qt/qttest:5 )
+ )
+"
+
+DOCS=( NEWS README )
+
+# tests fail due to missing connection to dbus
+RESTRICT="test"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
+}
+
+src_prepare() {
+ [[ ${PV} == 9999* ]] && bzr_src_prepare
+ cmake-utils_src_prepare
+
+ use test || comment_add_subdirectory tests
+}
+
+src_configure() {
+ myconfigure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_with doc)
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} = qt4 ]] ; then
+ mycmakeargs+=( -DUSE_QT4=ON )
+ fi
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]] ; then
+ mycmakeargs+=( -DUSE_QT5=ON )
+ fi
+
+ cmake-utils_src_configure
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_test() {
+ mytest() {
+ local builddir=${BUILD_DIR}
+
+ BUILD_DIR=${BUILD_DIR}/tests \
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+
+ BUILD_DIR=${builddir}
+ }
+
+ multibuild_foreach_variant mytest
+}
+
+src_install() {
+ multibuild_foreach_variant cmake-utils_src_install
+}
diff --git a/dev-libs/libdbusmenu-qt/metadata.xml b/dev-libs/libdbusmenu-qt/metadata.xml
new file mode 100644
index 000000000000..8edeb15eb987
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">ubuntu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdbusmenu/Manifest b/dev-libs/libdbusmenu/Manifest
new file mode 100644
index 000000000000..3bd215e27f44
--- /dev/null
+++ b/dev-libs/libdbusmenu/Manifest
@@ -0,0 +1 @@
+DIST libdbusmenu-12.10.2.tar.gz 735730 SHA256 9d6ad4a0b918b342ad2ee9230cce8a095eb601cb0cee6ddc1122d0481f9d04c9 SHA512 cf2e50dc3adbf35d0a4ccdd62a3efd9fae2d079b8d06e6522b70f077f89ac2cf72188e380f476e38d184b69549e90b801bf1e32174fa94bbe612dd52aec94496 WHIRLPOOL 3e75fd0bcbadcff8f4e4cd3a2be33a3aa7cf715413b1a67c5430b9420a965d64db2d988fa5c21fc42c6458ad4ed479c400b28b8a94074cb7223ab0a03ad985eb
diff --git a/dev-libs/libdbusmenu/files/libdbusmenu-12.10.2-gtk2-signal-fix.patch b/dev-libs/libdbusmenu/files/libdbusmenu-12.10.2-gtk2-signal-fix.patch
new file mode 100644
index 000000000000..6d270f1370bf
--- /dev/null
+++ b/dev-libs/libdbusmenu/files/libdbusmenu-12.10.2-gtk2-signal-fix.patch
@@ -0,0 +1,36 @@
+=== modified file 'libdbusmenu-gtk/parser.c'
+--- libdbusmenu-gtk/parser.c 2013-06-18 19:59:44 +0000
++++ libdbusmenu-gtk/parser.c 2013-11-03 02:46:23 +0000
+@@ -97,9 +97,7 @@
+ gpointer data);
+ static void item_inserted_cb (GtkContainer * menu,
+ GtkWidget * widget,
+-#ifdef HAVE_GTK3
+ gint position,
+-#endif
+ gpointer data);
+ static void item_removed_cb (GtkContainer * menu,
+ GtkWidget * widget,
+@@ -431,11 +429,7 @@
+
+ pdata->shell = menu;
+ pdata->item_inserted_handler_id = g_signal_connect (G_OBJECT (menu),
+-#ifdef HAVE_GTK3
+ "insert",
+-#else
+- "child-added",
+-#endif
+ G_CALLBACK (item_inserted_cb),
+ mi);
+ pdata->item_removed_handler_id = g_signal_connect (G_OBJECT (menu),
+@@ -1394,9 +1388,7 @@
+ static void
+ item_inserted_cb (GtkContainer *menu,
+ GtkWidget *widget,
+-#ifdef HAVE_GTK3
+ gint position,
+-#endif
+ gpointer data)
+ {
+ DbusmenuMenuitem *menuitem = (DbusmenuMenuitem *)data;
+
diff --git a/dev-libs/libdbusmenu/libdbusmenu-12.10.2-r2.ebuild b/dev-libs/libdbusmenu/libdbusmenu-12.10.2-r2.ebuild
new file mode 100644
index 000000000000..7f3e1667987d
--- /dev/null
+++ b/dev-libs/libdbusmenu/libdbusmenu-12.10.2-r2.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+VALA_MIN_API_VERSION=0.16
+VALA_USE_DEPEND=vapigen
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic multilib-minimal python-single-r1 vala
+
+DESCRIPTION="Library to pass menu structure across DBus"
+HOMEPAGE="http://launchpad.net/dbusmenu"
+SRC_URI="http://launchpad.net/${PN/lib}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug gtk gtk3 +introspection"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
+ >=dev-libs/json-glib-0.13.4[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.32[${MULTILIB_USEDEP}]
+ dev-libs/libxml2[${MULTILIB_USEDEP}]
+ gtk? ( x11-libs/gtk+:2[introspection?,${MULTILIB_USEDEP}] )
+ gtk3? ( >=x11-libs/gtk+-3.2:3[introspection?,${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+ !<${CATEGORY}/${PN}-0.5.1-r200"
+DEPEND="${RDEPEND}
+ app-text/gnome-doc-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ introspection? ( $(vala_depend) )"
+
+src_prepare() {
+ if use introspection; then
+ vala_src_prepare
+ export VALA_API_GEN="${VAPIGEN}"
+ fi
+ python_fix_shebang tools
+
+ # remove reliance on custom Ubuntu hacks in old GTK+2
+ epatch "${FILESDIR}/${P}-gtk2-signal-fix.patch"
+ epatch_user
+}
+
+multilib_src_configure() {
+ append-flags -Wno-error #414323
+
+ local myconf=(
+ --disable-gtk
+ --disable-static
+ --disable-silent-rules
+ --disable-scrollkeeper
+ # dumper extra tool is only for GTK+-2.x, tests use valgrind which is stupid
+ --disable-dumper
+ $(multilib_native_use_enable introspection)
+ $(multilib_native_use_enable introspection vala)
+ $(use_enable debug massivedebugging)
+ )
+ local ECONF_SOURCE=${S}
+ econf "${myconf[@]}"
+
+ GTK_VARIANTS=( $(usex gtk 2 '') $(usex gtk3 3 '') )
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ local top_builddir=${BUILD_DIR}
+
+ gtk_configure() {
+ local gtkconf=(
+ "${myconf[@]}"
+ --enable-gtk
+ --with-gtk="${MULTIBUILD_VARIANT}"
+ )
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ econf "${gtkconf[@]}"
+
+ rm -r libdbusmenu-glib || die
+ ln -s "${top_builddir}"/libdbusmenu-glib libdbusmenu-glib || die
+ }
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant gtk_configure
+}
+
+gtk_emake() {
+ emake -C "${BUILD_DIR}"/libdbusmenu-gtk "${@}"
+ multilib_is_native_abi && \
+ emake -C "${BUILD_DIR}"/docs/libdbusmenu-gtk "${@}"
+}
+
+multilib_src_compile() {
+ emake
+
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+ gtk_emake
+}
+
+src_test() { :; } #440192
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+ gtk_emake -j1 install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ # kill old symlinks that Portage will preserve and break install
+ if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib ]]; then
+ rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib" || die
+ fi
+ if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk ]]; then
+ rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk" || die
+ fi
+}
diff --git a/dev-libs/libdbusmenu/metadata.xml b/dev-libs/libdbusmenu/metadata.xml
new file mode 100644
index 000000000000..85f766a03bc0
--- /dev/null
+++ b/dev-libs/libdbusmenu/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="gtk" restrict="&gt;=dev-libs/libdbusmenu-12.10.2-r2">Enable support for GTK+2</flag>
+ <flag name="gtk3">Enable support for GTK+3</flag>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> for introspection</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">dbusmenu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdivecomputer/Manifest b/dev-libs/libdivecomputer/Manifest
new file mode 100644
index 000000000000..d742d7e701d7
--- /dev/null
+++ b/dev-libs/libdivecomputer/Manifest
@@ -0,0 +1,2 @@
+DIST libdivecomputer-0.4.1.tar.gz 481798 SHA256 7d64032d2e5cd4d6315ebb7ed5bcccc9399166d40228ae2e96e435749b950a0a SHA512 a1104981b1820ea93c3b3e389e42996f9199c5a4c37daf16e9577d8fd29b21440521d1ea5f89ec2df2861b582fd2e748d35eb811ad0d484eacce7d13d39bf88f WHIRLPOOL 7bc1d3a856f3f41cd3126ea1df61ead93e549c39442355f7730c3f0db981e1663c1ca86ee0db0b850bc3af55af0694100a1df7ce0754af665be3dc3c9388e919
+DIST libdivecomputer-0.4.2.tar.gz 487401 SHA256 f3c5d0229de9dd82602e309273d0eb48fb0ee07fdcfc1ff8206edb6ba5154460 SHA512 590aca350d86d17a889f47238ad46f0a6a1353b5f7ed67c64a9bae303a010ab042e94a73a36c6f05f2d03d10c80b1fae49431ad581b3024db83b81711d5d1048 WHIRLPOOL c6cd91feae2a0a87bc7fc09021239f7210b99b27e51b372d35090304ce91c2166ac077d211a3aecd18ce7d89bb191c9cf6496bc9f6ddd727832de6eca74c91c3
diff --git a/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild b/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild
new file mode 100644
index 000000000000..566d7aae6dab
--- /dev/null
+++ b/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer"
+ GIT_ECLASS="git-2"
+ AUTOTOOLIZE=yes
+ KEYWORDS=""
+else
+ KEYWORDS="~amd64 ~x86"
+fi
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit eutils autotools-utils ${GIT_ECLASS}
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
+fi
+
+DESCRIPTION="Library for communication with dive computers from various manufacturers"
+HOMEPAGE="http://www.divesoftware.org/libdc"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+IUSE="usb +static-libs -tools"
+
+RDEPEND="usb? ( virtual/libusb:1 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ -n ${AUTOTOOLIZE} ]]; then
+ autotools-utils_src_prepare
+ else
+ epatch_user
+ fi
+}
+
+src_configure() {
+ autotools-utils_src_configure
+
+ if ! use tools ; then
+ sed -i 's|examples||' Makefile || die "sed failed"
+ fi
+}
+
+src_compile() {
+ autotools-utils_src_compile
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use tools ; then
+ einfo "prefixing tools with 'dctool_'"
+ pushd "${D}/usr/bin/"
+ for file in * ; do
+ mv "${file}" "dctool_${file}" || die "prefixing tools failed"
+ done
+ popd
+ fi
+}
+
+pkg_postinst() {
+ if use tools ; then
+ elog "The 'tools' USE flag has been enabled,"
+ elog "to avoid file collisions, all ${PN}"
+ elog "related tools have been prefixed with 'dctool_'"
+ fi
+}
diff --git a/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild b/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild
new file mode 100644
index 000000000000..566d7aae6dab
--- /dev/null
+++ b/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer"
+ GIT_ECLASS="git-2"
+ AUTOTOOLIZE=yes
+ KEYWORDS=""
+else
+ KEYWORDS="~amd64 ~x86"
+fi
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit eutils autotools-utils ${GIT_ECLASS}
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
+fi
+
+DESCRIPTION="Library for communication with dive computers from various manufacturers"
+HOMEPAGE="http://www.divesoftware.org/libdc"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+IUSE="usb +static-libs -tools"
+
+RDEPEND="usb? ( virtual/libusb:1 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ -n ${AUTOTOOLIZE} ]]; then
+ autotools-utils_src_prepare
+ else
+ epatch_user
+ fi
+}
+
+src_configure() {
+ autotools-utils_src_configure
+
+ if ! use tools ; then
+ sed -i 's|examples||' Makefile || die "sed failed"
+ fi
+}
+
+src_compile() {
+ autotools-utils_src_compile
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use tools ; then
+ einfo "prefixing tools with 'dctool_'"
+ pushd "${D}/usr/bin/"
+ for file in * ; do
+ mv "${file}" "dctool_${file}" || die "prefixing tools failed"
+ done
+ popd
+ fi
+}
+
+pkg_postinst() {
+ if use tools ; then
+ elog "The 'tools' USE flag has been enabled,"
+ elog "to avoid file collisions, all ${PN}"
+ elog "related tools have been prefixed with 'dctool_'"
+ fi
+}
diff --git a/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild b/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild
new file mode 100644
index 000000000000..9764283903e7
--- /dev/null
+++ b/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer"
+ GIT_ECLASS="git-2"
+ AUTOTOOLS_AUTORECONF=1
+ KEYWORDS=""
+else
+ KEYWORDS="~amd64 ~x86"
+fi
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit eutils autotools-utils ${GIT_ECLASS}
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
+fi
+
+DESCRIPTION="Library for communication with dive computers from various manufacturers"
+HOMEPAGE="http://www.divesoftware.org/libdc"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+IUSE="usb +static-libs -tools"
+
+RDEPEND="usb? ( virtual/libusb:1 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ autotools-utils_src_configure
+
+ if ! use tools ; then
+ sed -i 's|examples||' Makefile || die "sed failed"
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use tools ; then
+ einfo "prefixing tools with 'dctool_'"
+ pushd "${D}/usr/bin/"
+ for file in * ; do
+ mv "${file}" "dctool_${file}" || die "prefixing tools failed"
+ done
+ popd
+ fi
+}
+
+pkg_postinst() {
+ if use tools ; then
+ elog "The 'tools' USE flag has been enabled,"
+ elog "to avoid file collisions, all ${PN}"
+ elog "related tools have been prefixed with 'dctool_'"
+ fi
+}
diff --git a/dev-libs/libdivecomputer/metadata.xml b/dev-libs/libdivecomputer/metadata.xml
new file mode 100644
index 000000000000..567d2b150e41
--- /dev/null
+++ b/dev-libs/libdivecomputer/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>me@bearsh.org</email>
+ <name>Martin Gysel</name>
+ <description>Proxied maintainer. Assign bugs to him.</description>
+ </maintainer>
+ <maintainer>
+ <email>aaron@flappyport.com</email>
+ <name>Aaron Bauman</name>
+ <description>Proxied maintainer. CC him on bugs.</description>
+ </maintainer>
+ <longdescription lang="en">
+ Library for communication with dive computers from various manufacturers.
+ </longdescription>
+ <use>
+ <flag name="tools">Install tools that can be used to test the library.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libdivsufsort/Manifest b/dev-libs/libdivsufsort/Manifest
new file mode 100644
index 000000000000..e8af15873b19
--- /dev/null
+++ b/dev-libs/libdivsufsort/Manifest
@@ -0,0 +1 @@
+DIST libdivsufsort-2.0.1.tar.bz2 263931 SHA256 55c02c86ea1763f581e0f50440008c554b8da2272129adee4ac84cb1362018bc SHA512 cfdcaeabcc5d785533a2532b5fccd72dec36dd8dd9925ef8752b75086da6ee2a93f6a907a881091253ae3155eff29337ce127d3daa42e3867212a3399052f6ef WHIRLPOOL ce88988baf91ad17d64c7b90fbbc1c3f277a84d09a7dc81cb99f567a15e48a0e19efdef90b0e7aae5fb1d8ddd2572b7fd9f7965f88a8f1ce1c46b0a139c023a6
diff --git a/dev-libs/libdivsufsort/libdivsufsort-2.0.1.ebuild b/dev-libs/libdivsufsort/libdivsufsort-2.0.1.ebuild
new file mode 100644
index 000000000000..b09621e241c0
--- /dev/null
+++ b/dev-libs/libdivsufsort/libdivsufsort-2.0.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit cmake-utils multilib
+
+DESCRIPTION="Suffix-sorting library (for BWT)"
+HOMEPAGE="http://code.google.com/p/libdivsufsort/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_prepare() {
+ # will appreciate saner approach, if there is any
+ sed -i -e "s:\(DESTINATION \)lib:\1$(get_libdir):" \
+ */CMakeLists.txt || die
+}
diff --git a/dev-libs/libdivsufsort/libdivsufsort-9999.ebuild b/dev-libs/libdivsufsort/libdivsufsort-9999.ebuild
new file mode 100644
index 000000000000..1e6905313683
--- /dev/null
+++ b/dev-libs/libdivsufsort/libdivsufsort-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit cmake-utils multilib
+
+#if LIVE
+ESVN_REPO_URI="http://libdivsufsort.googlecode.com/svn/trunk/"
+inherit subversion
+#endif
+
+DESCRIPTION="Suffix-sorting library (for BWT)"
+HOMEPAGE="http://code.google.com/p/libdivsufsort/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+#if LIVE
+KEYWORDS=
+SRC_URI=
+#endif
+
+src_prepare() {
+ # will appreciate saner approach, if there is any
+ sed -i -e "s:\(DESTINATION \)lib:\1$(get_libdir):" \
+ */CMakeLists.txt || die
+}
diff --git a/dev-libs/libdivsufsort/metadata.xml b/dev-libs/libdivsufsort/metadata.xml
new file mode 100644
index 000000000000..5cb9324943ab
--- /dev/null
+++ b/dev-libs/libdivsufsort/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libdnet/Manifest b/dev-libs/libdnet/Manifest
new file mode 100644
index 000000000000..ad547671ffca
--- /dev/null
+++ b/dev-libs/libdnet/Manifest
@@ -0,0 +1,2 @@
+DIST libdnet-1.12.ipv6-1.patch.gz 5124 SHA256 5e646901ae13d8aa47f0c5c063b86ecccb90780f9e3734cdbabf7a2d472c39ac SHA512 fa2380e41548ecdd978722930ecf90dffabd15cf06cbae0e113285072fe98a066f1e686b6d79e2d8b9f8adcf29783f313d61933b9e1e74e71da8dc7d741f815a WHIRLPOOL 27f356053749e1abdab24bd420f22e380e0970f7a2926474482a2e2532d1d8561f4b48d0eb243b5a62777543b3644adafd3cead4cc09f21d6cb5391a0b7e00f2
+DIST libdnet-1.12.tgz 970125 SHA256 83b33039787cf99990e977cef7f18a5d5e7aaffc4505548a83d31bd3515eb026 SHA512 b763d2caa77b8d16b531142a5bce3b862ed20198406a00e1fe7f3b45ce308b97d638b0c7f03bd8593fdd206cc1645952839bc340b77537298a3df88599835bf3 WHIRLPOOL 9e5b3a217bfef840ca0ed936dbc3573e51a9283a5a7d3ffd43606b98e8760586196261f34a2508cdcf9f868ccd08c9fd1d499252c9a43bb2f71a5b7b2c00c13e
diff --git a/dev-libs/libdnet/libdnet-1.12.ebuild b/dev-libs/libdnet/libdnet-1.12.ebuild
new file mode 100644
index 000000000000..f4231c4fe534
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.12.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AT_M4DIR="config"
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools distutils-r1 eutils
+
+DESCRIPTION="simplified, portable interface to several low-level networking routines"
+HOMEPAGE="http://code.google.com/p/libdnet/"
+SRC_URI="http://libdnet.googlecode.com/files/${P}.tgz
+ ipv6? ( http://fragroute-ipv6.googlecode.com/files/${P}.ipv6-1.patch.gz )"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="ipv6 python static-libs test"
+
+#DEPEND="test? ( dev-libs/check )"
+DEPEND="python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( README THANKS TODO )
+
+src_prepare() {
+ # Useless copy
+ rm -r trunk/ || die
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
+ configure.in || die
+ sed -i -e 's|-L@libdir@ ||g' dnet-config.in || die
+ use ipv6 && epatch "${WORKDIR}/${P}.ipv6-1.patch"
+ sed -i -e '/^SUBDIRS/s|python||g' Makefile.am || die
+ eautoreconf
+ if use python; then
+ cd python
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+ if use python; then
+ cd python
+ unset DOCS
+ distutils-r1_src_install
+ fi
+ prune_libtool_files
+}
diff --git a/dev-libs/libdnet/metadata.xml b/dev-libs/libdnet/metadata.xml
new file mode 100644
index 000000000000..fb093adfd4cc
--- /dev/null
+++ b/dev-libs/libdnet/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>netmon</herd>
+ <upstream>
+ <remote-id type="google-code">libdnet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdnsres/Manifest b/dev-libs/libdnsres/Manifest
new file mode 100644
index 000000000000..4629167b001f
--- /dev/null
+++ b/dev-libs/libdnsres/Manifest
@@ -0,0 +1 @@
+DIST libdnsres-0.1a.tar.gz 360583 SHA256 c0b94f27cb537eed42bc32ca9771f0955f717c66d34d1361e0a75600c6589307 SHA512 d6b1c248a99eeaea3524ee8af01dd31ba507179a69ffb313a167611792084d5efc99fe6462a63480932faa3493b01c3c43fc7575dab6aaade885583bee006f67 WHIRLPOOL 8ed056ef0691e3be8f7ff1aa0e8214b7eab96d0541c26d8f124a687a38d0f8cd4efa7de992c5dd2205e766af759b3b25b14bce7b2fb3884475b8b6492e52d443
diff --git a/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch b/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch
new file mode 100644
index 000000000000..3e2466af57f7
--- /dev/null
+++ b/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch
@@ -0,0 +1,28 @@
+Index: libdnsres-0.1a/Makefile.am
+===================================================================
+--- libdnsres-0.1a.orig/Makefile.am
++++ libdnsres-0.1a/Makefile.am
+@@ -10,12 +10,12 @@ libdnsres_la_SOURCES = res_comp.c res_de
+ res_data.c res_init.c res_query.c res_send.c resolv.h dnsres.h \
+ gethostnamadr.c getaddrinfo.c getservbyname.c getservent.c base64.c \
+ dnsres-internal.h
+-libdnsres_la_LIBADD = @LIBOBJS@
++libdnsres_la_LIBADD = @LTLIBOBJS@
+ libdnsres_la_LDFLAGS = -version-info 0:1:0
+
+ include_HEADERS = dnsres.h
+
+-CFLAGS = -Wall -O0 -g -DRESOLVSORT
++AM_CFLAGS = -Wall -g -DRESOLVSORT
+ INCLUDES = -I$(top_srcdir)/compat @EVENTINC@
+
+ man_MANS = dnsres.3
+@@ -23,7 +23,7 @@ man_MANS = dnsres.3
+ noinst_PROGRAMS = simple_test
+ simple_test_SOURCES = test/simple_test.c
+ simple_test_INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/compat @EVENTINC@
+-simple_test_LDADD = -L$(top_buildir) -ldnsres @EVENTLIB@
++simple_test_LDADD = libdnsres.la @EVENTLIB@
+
+ verify: libdnsres.a
+ cd $(srcdir)/test && make verify
diff --git a/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild b/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild
new file mode 100644
index 000000000000..36d49c0411ca
--- /dev/null
+++ b/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A non-blocking DNS resolver library"
+HOMEPAGE="http://www.monkey.org/~provos/libdnsres/"
+SRC_URI="http://www.monkey.org/~provos/${P}.tar.gz"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~ppc sparc x86"
+
+DEPEND="dev-libs/libevent"
+RDEPEND="${DEPEND}"
+
+DOCS=( README )
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-autotools.patch"
+ sed -i configure.in -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
+ eautoreconf
+}
diff --git a/dev-libs/libdnsres/metadata.xml b/dev-libs/libdnsres/metadata.xml
new file mode 100644
index 000000000000..ea027e94d2a5
--- /dev/null
+++ b/dev-libs/libdnsres/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>netmon</herd>
+ <longdescription lang="en">
+ Libdnsres provides a non-blocking thread-safe API for resolving DNS names.
+ It requires that your main application is built on top of libevent.
+ Libdnsres' API essentially mirrors the traditional gethostbyname and
+ getaddrinfo interfaces. All return values have been replaced by callbacks
+ instead. The code borrows heavily from the BSD resolver library. In fact, it
+ is an extremely ugly hack to make the BSD resolver library non-blocking and
+ thread-safe without changing the API too much.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libdshconfig/Manifest b/dev-libs/libdshconfig/Manifest
new file mode 100644
index 000000000000..0c460d99f3c9
--- /dev/null
+++ b/dev-libs/libdshconfig/Manifest
@@ -0,0 +1,2 @@
+DIST libdshconfig-0.20.12.tar.gz 316955 SHA256 aa7d7a2ec78ea03a7776fbf1899edbcc79477833c7c79c54d2bfa0106e3e359e SHA512 6ee7e813599715c2217f05212e0efb94d9588f71db3f3f470e50e9fbde93be3fd3ce3b8164251ea647e76ba9fd0db502985b5fc1e3afffdf9074a00ee9900b64 WHIRLPOOL 8cebd2327e6636b2476530c5eb35919bef11212d14989ff26658714ad34848c81dddc0bddeebbe8fbd1ab03e13071f9d2d22c588776b6f018e682c2fda1fc400
+DIST libdshconfig-0.20.13.tar.gz 323720 SHA256 6f372686c5d8d721820995d2b60d2fda33fdb17cdddee9fce34795e7e98c5384 SHA512 04f3580bf1e1dbac130d350eb4c6e86a980f2ae8636a206821813ed0e14db07dc7ea720ebb3816455a4a939294caa2f2247b7348ecea72769a6f05bee0dbf19a WHIRLPOOL 401f791c88bf5048a0b296ec32ec75128322b2db61b94e82221ce7f1b18c4feba6fd573eed1a2356ca9b56a09ce7a63157dcd54585c0e6dba5214de15a2f1fbf
diff --git a/dev-libs/libdshconfig/libdshconfig-0.20.12.ebuild b/dev-libs/libdshconfig/libdshconfig-0.20.12.ebuild
new file mode 100644
index 000000000000..b3124d38b91c
--- /dev/null
+++ b/dev-libs/libdshconfig/libdshconfig-0.20.12.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Library for parsing dsh.style configuration files"
+HOMEPAGE="http://www.netfort.gr.jp/~dancer/software/downloads/"
+SRC_URI="http://www.netfort.gr.jp/~dancer/software/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE=""
+
+DEPEND=""
+RDEPEND="virtual/ssh"
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc ChangeLog
+}
diff --git a/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild b/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild
new file mode 100644
index 000000000000..0de2a4002cab
--- /dev/null
+++ b/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Library for parsing dsh.style configuration files"
+HOMEPAGE="http://www.netfort.gr.jp/~dancer/software/downloads/"
+SRC_URI="http://www.netfort.gr.jp/~dancer/software/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND="virtual/ssh"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libdshconfig/metadata.xml b/dev-libs/libdshconfig/metadata.xml
new file mode 100644
index 000000000000..348e6c4de815
--- /dev/null
+++ b/dev-libs/libdshconfig/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+</pkgmetadata>
diff --git a/dev-libs/libdynd/Manifest b/dev-libs/libdynd/Manifest
new file mode 100644
index 000000000000..695bfcc8db3d
--- /dev/null
+++ b/dev-libs/libdynd/Manifest
@@ -0,0 +1,2 @@
+DIST libdynd-0.6.5.tar.gz 1238404 SHA256 bf2e5c88995f0da880c3d7552c2541138c0f07eb6555f0ee10c77d805f8b3f65 SHA512 ebf64b94b38300e4e471f975a51e4b014879937e855af5d72a3f759af4445fa9024e42962ab1284ebe7b2ae2ddf51ea418d106c9894e1841f0984622afbef115 WHIRLPOOL 9222608edd8382ec2f8dbd7dd85eb0392d79a527d94f959f011430b2d15bbf405ccf06954e20679e26e93cd7c356b70f7490280e097cfc833ac015612a5cfe77
+DIST libdynd-0.6.6.tar.gz 1261349 SHA256 0e05eedd6b230f122a6c92fb6306be3017b0a5c460af5eace0074640455ef17e SHA512 efeb52a5b5dd3154ca293f388d5b967ff983450253435572b919f7c4a1445ad3cb416def4c736f908fdb3b06cddebae881a58420e528f1ca145973a997af7a28 WHIRLPOOL 8479f280a883f07382280b8fb94a3c21e8ef9975b67fe31bed83a40b9ad7e5b939c48ac76c638492faeb91143e449471c0d316078066c4d9752e4b238f3cd822
diff --git a/dev-libs/libdynd/files/libdynd-0.6.0-dont-install-test.patch b/dev-libs/libdynd/files/libdynd-0.6.0-dont-install-test.patch
new file mode 100644
index 000000000000..9659372b05ea
--- /dev/null
+++ b/dev-libs/libdynd/files/libdynd-0.6.0-dont-install-test.patch
@@ -0,0 +1,15 @@
+--- tests/CMakeLists.txt.orig 2014-02-10 14:25:18.041841087 -0800
++++ tests/CMakeLists.txt 2014-02-10 14:25:40.224975614 -0800
+@@ -105,12 +105,6 @@
+ )
+ endif()
+
+-# If installation is requested, install the program
+-if (DYND_INSTALL_LIB)
+- install(TARGETS test_libdynd
+- RUNTIME DESTINATION bin)
+-endif()
+-
+ # Compile-time tests: test code that is supposed to produce compile errors
+ # I couldn't find a properly specified way to do this, so hacked together
+ # this function.
diff --git a/dev-libs/libdynd/files/libdynd-0.6.0-optional-cblosc.patch b/dev-libs/libdynd/files/libdynd-0.6.0-optional-cblosc.patch
new file mode 100644
index 000000000000..d801eb65b437
--- /dev/null
+++ b/dev-libs/libdynd/files/libdynd-0.6.0-optional-cblosc.patch
@@ -0,0 +1,27 @@
+--- CMakeLists.txt.orig 2014-02-10 14:26:48.299381259 -0800
++++ CMakeLists.txt 2014-02-10 14:51:16.401051546 -0800
+@@ -56,8 +56,22 @@
+ set(CMAKE_VERBOSE_MAKEFILE 1)
+
+ # Embedded libraries
+-add_subdirectory(thirdparty/blosc)
+-include_directories(thirdparty/blosc/blosc)
++option(DYND_INTERNAL_CBLOSC
++ "Build and use the bundled c-blosc library"
++ OFF)
++if(DYND_INTERNAL_CBLOSC)
++ add_subdirectory(thirdparty/blosc)
++ include_directories(thirdparty/blosc/blosc)
++else()
++ find_path(CBLOSC_INCLUDE_DIR blosc.h)
++ find_library(CBLOSC_LIBRARY NAMES blosc)
++ if (CBLOSC_INCLUDE_DIR AND CBLOSC_LIBRARY)
++ message(STATUS "Found c-blosc library: ${CBLOSC_LIBRARY}")
++ else ()
++ message(ERROR "No c-blosc found. Consider using internal sources.")
++ endif()
++endif(DYND_INTERNAL_CBLOSC)
++
+ add_subdirectory(thirdparty/datetime)
+ include_directories(thirdparty/datetime/include)
+
diff --git a/dev-libs/libdynd/files/libdynd-0.6.0-out-of-git-versioning.patch b/dev-libs/libdynd/files/libdynd-0.6.0-out-of-git-versioning.patch
new file mode 100644
index 000000000000..65c32da8a55c
--- /dev/null
+++ b/dev-libs/libdynd/files/libdynd-0.6.0-out-of-git-versioning.patch
@@ -0,0 +1,14 @@
+--- CMakeLists.txt.orig 2014-02-10 14:26:48.299381259 -0800
++++ CMakeLists.txt 2014-02-10 14:55:48.245644726 -0800
+@@ -86,9 +86,8 @@
+ endif()
+
+ # Get the git revision
+-include(GetGitRevisionDescriptionDyND)
+-get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_GIT_SHA1)
+-git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_VERSION_STRING --dirty --match "v[0-9]*")
++set(DYND_GIT_SHA1 "9f2e102e3b0c44da82feaa431bb89a5d71b40498")
++set(DYND_VERSION_STRING "v0.6.0")
+ message(STATUS "DyND version: ${DYND_VERSION_STRING}")
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/src/dynd/git_version.cpp.in"
diff --git a/dev-libs/libdynd/files/libdynd-0.6.0-respect-libdir.patch b/dev-libs/libdynd/files/libdynd-0.6.0-respect-libdir.patch
new file mode 100644
index 000000000000..b3639802808c
--- /dev/null
+++ b/dev-libs/libdynd/files/libdynd-0.6.0-respect-libdir.patch
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2014-02-10 14:26:48.299381259 -0800
++++ CMakeLists.txt 2014-02-10 14:27:42.511704585 -0800
+@@ -481,9 +481,9 @@
+ if (DYND_INSTALL_LIB)
+ # Install the libdynd binary
+ install(TARGETS libdynd
+- RUNTIME DESTINATION lib
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib/static)
++ RUNTIME DESTINATION lib${LIB_SUFFIX}
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}/static)
+ # Install the libdynd headers
+ install(DIRECTORY "include/dynd" DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
+ # Install the libdynd-config script
diff --git a/dev-libs/libdynd/files/libdynd-0.6.2-out-of-git-versioning.patch b/dev-libs/libdynd/files/libdynd-0.6.2-out-of-git-versioning.patch
new file mode 100644
index 000000000000..92b7ec027ec2
--- /dev/null
+++ b/dev-libs/libdynd/files/libdynd-0.6.2-out-of-git-versioning.patch
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2014-05-01 20:43:13.000000000 +0400
++++ CMakeLists.txt 2014-05-12 13:56:55.000000000 +0400
+@@ -112,9 +112,9 @@
+ endif()
+
+ # Get the git revision
+-include(GetGitRevisionDescriptionDyND)
+-get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_GIT_SHA1)
+-git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_VERSION_STRING --dirty --always --match "v*")
++SET(DYND_GIT_SHA1 "@DYND_GIT_SHA1@")
++SET(DYND_VERSION_STRING "@DYND_VERSION@")
++
+ message(STATUS "DyND version: ${DYND_VERSION_STRING}")
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/src/dynd/git_version.cpp.in"
diff --git a/dev-libs/libdynd/libdynd-0.6.5.ebuild b/dev-libs/libdynd/libdynd-0.6.5.ebuild
new file mode 100644
index 000000000000..49451de5e38a
--- /dev/null
+++ b/dev-libs/libdynd/libdynd-0.6.5.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib cuda
+
+# change each release, to avoid git in tree dependency
+DYND_GIT_SHA1=2e140844d4a21c436ca0fc46996bf8606ffc21d5
+
+DESCRIPTION="C++ dynamic multi-dimensionnal array library with Python exposure"
+HOMEPAGE="https://github.com/ContinuumIO/libdynd"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc fftw test"
+
+RDEPEND="
+ dev-libs/c-blosc:0=
+ cuda? ( x11-drivers/nvidia-drivers dev-util/nvidia-cuda-toolkit )
+ fftw? ( sci-libs/fftw:3.0 )
+ "
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.0-dont-install-test.patch
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # each relase comes with a different set...
+ # remove forced strong flags
+ sed -i \
+ -e "s|@DYND_GIT_SHA1@|${DYND_GIT_SHA1}|" \
+ -e "s|@DYND_VERSION@|${PV}|" \
+ -e 's|-fomit-frame-pointer||' \
+ -e 's|-Werror||g' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ sed -i \
+ -e '/add_subdirectory(examples)/d' \
+ CMakeLists.txt || die
+ local mycmakeargs=(
+ -DDYND_SHARED_LIB=ON
+ -DDYND_INSTALL_LIB=ON
+ $(cmake-utils_use cuda DYND_CUDA)
+ $(cmake-utils_use test DYND_BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./tests/test_libdynd || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dodoc documents/*
+}
diff --git a/dev-libs/libdynd/libdynd-0.6.6.ebuild b/dev-libs/libdynd/libdynd-0.6.6.ebuild
new file mode 100644
index 000000000000..5962297ce6e0
--- /dev/null
+++ b/dev-libs/libdynd/libdynd-0.6.6.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib cuda
+
+# change each release, to avoid git in tree dependency
+DYND_GIT_SHA1=09fb7e5eccadbe1ec49ff4b05fec724939331e6d
+
+DESCRIPTION="C++ dynamic multi-dimensionnal array library with Python exposure"
+HOMEPAGE="https://github.com/ContinuumIO/libdynd"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc fftw test"
+
+RDEPEND="
+ dev-libs/c-blosc:0=
+ cuda? ( x11-drivers/nvidia-drivers dev-util/nvidia-cuda-toolkit )
+ fftw? ( sci-libs/fftw:3.0 )
+ "
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.0-dont-install-test.patch
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # each relase comes with a different set...
+ # remove forced strong flags
+ sed -i \
+ -e "s|@DYND_GIT_SHA1@|${DYND_GIT_SHA1}|" \
+ -e "s|@DYND_VERSION@|${PV}|" \
+ -e 's|-fomit-frame-pointer||' \
+ -e 's|-Werror||g' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ sed -i \
+ -e '/add_subdirectory(examples)/d' \
+ CMakeLists.txt || die
+ local mycmakeargs=(
+ -DDYND_SHARED_LIB=ON
+ -DDYND_INSTALL_LIB=ON
+ $(cmake-utils_use cuda DYND_CUDA)
+ $(cmake-utils_use test DYND_BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./tests/test_libdynd || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dodoc documents/*
+}
diff --git a/dev-libs/libdynd/metadata.xml b/dev-libs/libdynd/metadata.xml
new file mode 100644
index 000000000000..f8c937125842
--- /dev/null
+++ b/dev-libs/libdynd/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ LibDyND, a component of the Blaze project, is a C++ library for
+ dynamic, multidimensional arrays. It is inspired by NumPy, the
+ Python array programming library at the core of the scientific
+ Python stack, but tries to address a number of obstacles encountered
+ by some of its users. Examples of this are support for
+ variable-sized string and ragged array types. The library is in a
+ preview development state, and can be thought of as a sandbox where
+ features are being tried and tweaked to gain experience with them.
+</longdescription>
+ <use>
+ <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ContinuumIO/libdynd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libe/Manifest b/dev-libs/libe/Manifest
new file mode 100644
index 000000000000..94bb844c56bd
--- /dev/null
+++ b/dev-libs/libe/Manifest
@@ -0,0 +1,3 @@
+DIST libe-0.10.1.tar.gz 412727 SHA256 821f955e2eefce78218764a5830f04ead09107c6ec764ae0399c4b0f6c7e34ac SHA512 aa81d6740e46accd7bfc26fcf5b53c6cc43556b897f2692cff1db563c7a5869797c540669d3bc8b4a0aee9442a7b92ef6690fa8384bb3ef38aed40f065a5ab5f WHIRLPOOL b1faacfc4a392de136c8d2841b82404fc8e37a60333f1ac95c0d98496f2108b0b984ef7d91b420d460b28408143fc4bf9e37ff9d7a6940b004b899082e38f358
+DIST libe-0.11.0.tar.gz 414542 SHA256 917197de5fcb68d1d1bb84ef024d914954a8d245f4c9357609e37a4e0cb646b0 SHA512 178003b19f5ad2b3503a929bce131d329e5eafba9f46ae3343cf4271e248ef883b84945e642239a7cdc96185e1b975bcf62004831042c2ab232e7813efbb5339 WHIRLPOOL b36ec040dd402da794ddfea4f04229376d00a79f8db75811d5106495797e128e5af6eeef6ba2fed59090993e146887a563c086e3bc9e199b690bb877deecd6f1
+DIST libe-0.9.0.tar.gz 411601 SHA256 c1b92dcfeee694038a8d16d43923bc7725a995d42f53f1da1efbad0e4ab479e3 SHA512 711097a59814b0dac9ca26dcbc30678060dd05d05e8f1a311b3f8b0dc67ef7d4e5d2b4150f51bd881acd4dfea067c79d37841d182881f1393a73cbc7beddc492 WHIRLPOOL 6fca4f4e5fc844b031a680f8cb224400a69b58a966cdf71cd060c408ec343beee39a8d4fc47851d961de98be032a03f9e4e9043a17ca30ac6afe147a1406d18c
diff --git a/dev-libs/libe/files/libe-getpid.patch b/dev-libs/libe/files/libe-getpid.patch
new file mode 100644
index 000000000000..4b4c9fdea82a
--- /dev/null
+++ b/dev-libs/libe/files/libe-getpid.patch
@@ -0,0 +1,23 @@
+diff -Naur libe-0.2.7/benchmarks/lockfree_hash_map.cc libe-0.2.7-new/benchmarks/lockfree_hash_map.cc
+--- libe-0.2.7/benchmarks/lockfree_hash_map.cc 2011-10-12 04:02:24.000000000 +0200
++++ libe-0.2.7-new/benchmarks/lockfree_hash_map.cc 2012-08-20 14:59:39.135789923 +0200
+@@ -30,6 +30,7 @@
+ // C includes
+ #include <cstdlib>
+ #include <stdint.h>
++#include <unistd.h>
+
+ // C++
+ #include <iostream>
+diff -Naur libe-0.2.7/benchmarks/lockfree_hash_set.cc libe-0.2.7-new/benchmarks/lockfree_hash_set.cc
+--- libe-0.2.7/benchmarks/lockfree_hash_set.cc 2011-08-26 16:24:54.000000000 +0200
++++ libe-0.2.7-new/benchmarks/lockfree_hash_set.cc 2012-08-20 15:00:37.877793998 +0200
+@@ -30,6 +30,7 @@
+ // C includes
+ #include <cstdlib>
+ #include <stdint.h>
++#include <unistd.h>
+
+ // C++
+ #include <iostream>
+
diff --git a/dev-libs/libe/libe-0.10.1.ebuild b/dev-libs/libe/libe-0.10.1.ebuild
new file mode 100644
index 000000000000..ffaf91a5077a
--- /dev/null
+++ b/dev-libs/libe/libe-0.10.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit eutils
+
+# bit messy at the moment, next release should fix it I hope
+RESTRICT="test"
+
+DESCRIPTION="Hyperdex libe support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+RDEPEND=">=dev-libs/libpo6-0.7.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
+}
diff --git a/dev-libs/libe/libe-0.11.0.ebuild b/dev-libs/libe/libe-0.11.0.ebuild
new file mode 100644
index 000000000000..650f6c3562a6
--- /dev/null
+++ b/dev-libs/libe/libe-0.11.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit eutils
+
+# bit messy at the moment, next release should fix it I hope
+RESTRICT="test"
+
+DESCRIPTION="Hyperdex libe support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+RDEPEND=">=dev-libs/libpo6-0.8.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
+}
diff --git a/dev-libs/libe/libe-0.9.0.ebuild b/dev-libs/libe/libe-0.9.0.ebuild
new file mode 100644
index 000000000000..cf84d6d43e58
--- /dev/null
+++ b/dev-libs/libe/libe-0.9.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit eutils
+
+# bit messy at the moment, next release should fix it I hope
+RESTRICT="test"
+
+DESCRIPTION="Hyperdex libe support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+RDEPEND=">=dev-libs/libpo6-0.6.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
+}
diff --git a/dev-libs/libe/metadata.xml b/dev-libs/libe/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/libe/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libebml/Manifest b/dev-libs/libebml/Manifest
new file mode 100644
index 000000000000..c59419bb3db2
--- /dev/null
+++ b/dev-libs/libebml/Manifest
@@ -0,0 +1,4 @@
+DIST libebml-1.2.1.tar.bz2 60662 SHA256 8f9e06630eab83f337d280d38eff53e41e030530015a4c423d509a20f6ea81b2 SHA512 c8bd4d903fcd6ea70cd6aace2096768c7e62deb8ddd41d354b71527d6f4595f06b86169996f2ed56e1da0531b9f7ebcac4c9ccdd2e208614f7cd3271b8cf0f4d WHIRLPOOL 4d1207143fc618b8c0f3d93aecd9d1f063845486c9ddcdaa7cd697d9e27ff01dcd31526c52b33e46e4fc5191689009e7960ebc384321a90a34e7c4770f1d6b17
+DIST libebml-1.2.2.tar.bz2 60802 SHA256 476b08c6436a96c024a53e788e7c945ce9b41cd8654165763444aa7e5245b7a5 SHA512 aa9b446aadbfea6cd7031a08a8cd0251a764febb8ef43ee3ba44d066b945698311bda7db6bb2d983d5f0c1e24f108ae4cf1c6551b04337210b13daf7e2236135 WHIRLPOOL 5bfa5ee38b9e4bb6cbc8bc27e949e64621ecc8fe3cf76a0686c85b53579d80ee53bca520ef70b9af13bbf589fd51e5f20eae908928ee0b651d23951a532777e0
+DIST libebml-1.3.0.tar.gz 70425 SHA256 cd48a6d943905afe877e86f421647092956d71c7345dc9264a5123750ca8b158 SHA512 804b8e9e29add421304ef104f48170ee434cc97d6063dc4338b7fd6ad559733ed1bffd8440146674b70b3d6906f45ded4cc482d606c94c8c04bf424fd85c366e WHIRLPOOL b5656fa835753bee8b4cfa995db220de85d69604d7332e793c6b45c13100e4041e0fee8517940bde600909b529d3eee959340d3f997b174b249f13c4183ed5cd
+DIST libebml-1.3.1.tar.bz2 599116 SHA256 195894b31aaca55657c9bc157d744f23b0c25597606b97cfa5a9039c4b684295 SHA512 b42d198611e480a4938fe95b920f6ee6ca37453f9551990e4310ed82651f93284f1de1d871357b6280219634bbbf6a98d4ac988e25e7bd7b5bbf5c0ba5766334 WHIRLPOOL 10879d351eb66dce6e04b0a1635e370dc82a9215b1ee61ad4b300466257bb0b06219f3ea65b090e415aef354bb8e200e19e35859d25ec5d46fa3208501373801
diff --git a/dev-libs/libebml/files/libebml-1.2.0-makefile-fixup.patch b/dev-libs/libebml/files/libebml-1.2.0-makefile-fixup.patch
new file mode 100644
index 000000000000..c85d35edaef8
--- /dev/null
+++ b/dev-libs/libebml/files/libebml-1.2.0-makefile-fixup.patch
@@ -0,0 +1,107 @@
+--- libebml-1.2.0/make/linux/Makefile.orig
++++ libebml-1.2.0/make/linux/Makefile
+@@ -50,6 +50,8 @@
+ LIBRARY=libebml.a
+ LIBRARY_SO=libebml.so
+ LIBRARY_SO_VER=libebml.so.3
++LIBRARY_DYLIB=libebml.dylib
++LIBRARY_DYLIB_VER=libebml.3.dylib
+
+ # source-files
+ sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
+@@ -62,11 +64,11 @@
+ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+
+ WARNINGFLAGS=-Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
+-COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
++COMPILEFLAGS=$(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
+
+ ifeq (Darwin,$(shell uname -s))
+-all: staticlib
++all: staticlib macholib
+ else
+ all: staticlib sharedlib
+ endif
+@@ -75,8 +77,10 @@
+
+ sharedlib: $(LIBRARY_SO)
+
++macholib: $(LIBRARY_DYLIB)
++
+ lib:
+- @echo "Use the 'staticlib', 'sharedlib' or 'all' targets."
++ @echo "Use the 'staticlib', 'sharedlib', 'macholib' or 'all' targets."
+ @false
+
+ # Build rules
+@@ -91,15 +95,22 @@
+ $(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
++ $(CXX) $(LDFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) $(LIBS)
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
++$(LIBRARY_DYLIB): $(objects_so)
++ $(CXX) $(LDFLAGS) -dynamiclib -install_name $(libdir)/$(LIBRARY_DYLIB_VER) -o $(LIBRARY_DYLIB_VER) $(objects_so) $(LIBS)
++ rm -f $(LIBRARY_DYLIB)
++ ln -s $(LIBRARY_DYLIB_VER) $(LIBRARY_DYLIB)
++
+ clean:
+ rm -f $(objects) $(objects_so)
+ rm -f $(LIBRARY)
+ rm -f $(LIBRARY_SO)
+ rm -f $(LIBRARY_SO_VER)
++ rm -f $(LIBRARY_DYLIB)
++ rm -f $(LIBRARY_DYLIB_VER)
+ rm -f CORE
+
+ distclean dist-clean: clean
+@@ -116,30 +127,34 @@
+ done
+
+ ifeq (Darwin,$(shell uname -s))
+-install: install_staticlib install_headers
++install: install_staticlib install_macholib install_headers
+ else
+ install: install_staticlib install_sharedlib install_headers
+ endif
+
+ install_headers:
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)
+ for i in $(INCLUDE_DIR)/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir) ; \
+ done
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)/c
+ for i in $(INCLUDE_DIR)/c/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir)/c ; \
+ done
+
+ install_staticlib: $(LIBRARY)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(DESTDIR)$(libdir)
+
+ install_sharedlib: $(LIBRARY_SO)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
+- ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
+-
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)/$(LIBRARY_SO)
++
++install_macholib: $(LIBRARY_DYLIB)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)/$(LIBRARY_DYLIB)
+
+ ifneq ($(wildcard .depend),)
+ include .depend
diff --git a/dev-libs/libebml/files/libebml-1.3.0-makefile.patch b/dev-libs/libebml/files/libebml-1.3.0-makefile.patch
new file mode 100644
index 000000000000..8c6309de4554
--- /dev/null
+++ b/dev-libs/libebml/files/libebml-1.3.0-makefile.patch
@@ -0,0 +1,102 @@
+--- libebml-release-1.3.0/make/linux/Makefile
++++ libebml-release-1.3.0/make/linux/Makefile
+@@ -50,6 +50,8 @@
+ LIBRARY=libebml.a
+ LIBRARY_SO=libebml.so
+ LIBRARY_SO_VER=libebml.so.4
++LIBRARY_DYLIB=libebml.dylib
++LIBRARY_DYLIB_VER=libebml.4.dylib
+
+ # source-files
+ sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
+@@ -66,7 +68,7 @@
+ DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
+
+ ifeq (Darwin,$(shell uname -s))
+-all: staticlib
++all: staticlib macholib
+ else
+ all: staticlib sharedlib
+ endif
+@@ -75,8 +77,10 @@
+
+ sharedlib: $(LIBRARY_SO)
+
++macholib: $(LIBRARY_DYLIB)
++
+ lib:
+- @echo "Use the 'staticlib', 'sharedlib' or 'all' targets."
++ @echo "Use the 'staticlib', 'sharedlib', 'macholib' or 'all' targets."
+ @false
+
+ # Build rules
+@@ -91,15 +95,22 @@
+ $(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
++ $(CXX) $(LDFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
++$(LIBRARY_DYLIB): $(objects_so)
++ $(CXX) $(LDFLAGS) -dynamiclib -install_name $(libdir)/$(LIBRARY_DYLIB_VER) -o $(LIBRARY_DYLIB_VER) $(objects_so) $(LIBS)
++ rm -f $(LIBRARY_DYLIB)
++ ln -s $(LIBRARY_DYLIB_VER) $(LIBRARY_DYLIB)
++
+ clean:
+ rm -f $(objects) $(objects_so)
+ rm -f $(LIBRARY)
+ rm -f $(LIBRARY_SO)
+ rm -f $(LIBRARY_SO_VER)
++ rm -f $(LIBRARY_DYLIB)
++ rm -f $(LIBRARY_DYLIB_VER)
+ rm -f CORE
+
+ distclean dist-clean: clean
+@@ -116,30 +127,34 @@
+ done
+
+ ifeq (Darwin,$(shell uname -s))
+-install: install_staticlib install_headers
++install: install_staticlib install_macholib install_headers
+ else
+ install: install_staticlib install_sharedlib install_headers
+ endif
+
+ install_headers:
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)
+ for i in $(INCLUDE_DIR)/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir) ; \
+ done
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)/c
+ for i in $(INCLUDE_DIR)/c/*.h; do \
+- $(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
++ $(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir)/c ; \
+ done
+
+ install_staticlib: $(LIBRARY)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(DESTDIR)$(libdir)
+
+ install_sharedlib: $(LIBRARY_SO)
+- $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+- $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
+- ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
+-
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)/$(LIBRARY_SO)
++
++install_macholib: $(LIBRARY_DYLIB)
++ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
++ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)
++ ln -fs $(LIBRARY_DYLIB_VER) $(DESTDIR)$(libdir)/$(LIBRARY_DYLIB)
+
+ ifneq ($(wildcard .depend),)
+ include .depend
diff --git a/dev-libs/libebml/libebml-1.2.1.ebuild b/dev-libs/libebml/libebml-1.2.1.ebuild
new file mode 100644
index 000000000000..ab5f9ac5430a
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.2.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="http://www.matroska.org/"
+SRC_URI="http://www.bunkus.org/videotools/mkvtoolnix/sources/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${P}/make/linux"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.0-makefile-fixup.patch
+}
+
+src_compile() {
+ # keep the prefix in here to make sure the binary is built with a correct
+ # install_name on Darwin
+ emake \
+ prefix="${EPREFIX}/usr" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ || die "emake failed"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ install || die "emake install failed"
+
+ dodoc "${WORKDIR}/${P}/ChangeLog"
+}
diff --git a/dev-libs/libebml/libebml-1.2.2.ebuild b/dev-libs/libebml/libebml-1.2.2.ebuild
new file mode 100644
index 000000000000..08e7f01e2f28
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.2.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="http://www.matroska.org/"
+SRC_URI="http://www.bunkus.org/videotools/mkvtoolnix/sources/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="debug static-libs"
+
+S="${WORKDIR}/${P}/make/linux"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.0-makefile-fixup.patch
+
+ sed -i -e "s:\(DEBUGFLAGS=\)-g :\1:" Makefile || die
+}
+
+src_compile() {
+ local targets
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ targets="sharedlib"
+ else
+ targets="macholib"
+ fi
+ use static-libs && targets+=" staticlib"
+
+ # keep the prefix in here to make sure the binary is built with a correct
+ # install_name on Darwin
+ emake \
+ prefix="${EPREFIX}/usr" \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ $(use debug && echo DEBUG=yes || echo DEBUG=no) \
+ ${targets}
+}
+
+src_install() {
+ local targets="install_headers"
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ targets+=" install_sharedlib"
+ else
+ targets+=" install_macholib"
+ fi
+ use static-libs && targets+=" install_staticlib"
+
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ ${targets}
+
+ dodoc "${WORKDIR}/${P}/ChangeLog"
+}
diff --git a/dev-libs/libebml/libebml-1.3.0.ebuild b/dev-libs/libebml/libebml-1.3.0.ebuild
new file mode 100644
index 000000000000..49e227dca64b
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.3.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="http://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
+SRC_URI="https://github.com/Matroska-Org/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4" # subslot = soname major version
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="debug static-libs"
+
+S=${WORKDIR}/${PN}-release-${PV}/make/linux
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+
+ sed -i "s:\(DEBUGFLAGS=\)-g :\1:" Makefile || die
+}
+
+src_compile() {
+ local targets
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ targets="sharedlib"
+ else
+ targets="macholib"
+ fi
+ use static-libs && targets+=" staticlib"
+
+ # keep the prefix in here to make sure the binary is built with a correct
+ # install_name on Darwin
+ emake \
+ prefix="${EPREFIX}"/usr \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ $(use debug && echo DEBUG=yes || echo DEBUG=no) \
+ ${targets}
+}
+
+src_install() {
+ local targets="install_headers"
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ targets+=" install_sharedlib"
+ else
+ targets+=" install_macholib"
+ fi
+ use static-libs && targets+=" install_staticlib"
+
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ ${targets}
+
+ dodoc "${WORKDIR}"/${PN}-release-${PV}/ChangeLog
+}
diff --git a/dev-libs/libebml/libebml-1.3.1.ebuild b/dev-libs/libebml/libebml-1.3.1.ebuild
new file mode 100644
index 000000000000..01e7fa662a75
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.3.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="http://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
+SRC_URI="http://dl.matroska.org/downloads/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="debug static-libs"
+
+src_prepare() {
+ sed -i '/^AM_CXXFLAGS += -g/d' Makefile.am || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libebml/metadata.xml b/dev-libs/libebml/metadata.xml
new file mode 100644
index 000000000000..246a1cfe1e3c
--- /dev/null
+++ b/dev-libs/libebml/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <maintainer>
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Matroska-Org/libebml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libedit/Manifest b/dev-libs/libedit/Manifest
new file mode 100644
index 000000000000..ced784bc5964
--- /dev/null
+++ b/dev-libs/libedit/Manifest
@@ -0,0 +1,3 @@
+DIST libedit-20120311-3.0.tar.gz 469830 SHA256 c64a9ee6cac6e7bd3b9a8a24c0586316333f381b1fa6125b027294f29303cf6f SHA512 e246c51704a8dbe476016b26c120324cdbe00a7499ac358cbf45a0fc1306bc6efcbdb0581b1e85d09092c6792f8f39d378f79fe64af28e84920ed7f99a0f388d WHIRLPOOL cc06e3dce095c4393786940a14c0475fab7d4d4c6873cf0f5931616d108fcaeee216f8a7b5e7c3afba2b0d42ba171194ab534d0a560eafa6d844cf2a4ce8766d
+DIST libedit-20130611-3.1.tar.gz 478553 SHA256 ea35592f9a54016fc29dc568d2b4d542822fa4a4660225a3702abfb5b49ab50c SHA512 85f0e901fa4b0dbc7403d18d53d45e196682b78f7fee0f824d73faf2ac1578c84b9cb05249185d8cb3e631ce0926ec08caf9ae9f873c7f820750b11ad721cbb5 WHIRLPOOL c73fefa3f2497755939ab839003706b836d69884aa270fcb1ea354aa0c6519f36b15ac3a057b9a9eac6704c0ae77945a07e7ba03acadf655b51b817641ad9c63
+DIST libedit-20130712-3.1.tar.gz 483857 SHA256 5d9b1a9dd66f1fe28bbd98e4d8ed1a22d8da0d08d902407dcc4a0702c8d88a37 SHA512 9fb3173a65ea2cd2ffa9af0666aa3e227b7d6be26f3e84f30ea3449b0c80fc5e91b618e939f7047bf885b96689ede93733f7eba614d4fdd1a4baff3f130b432e WHIRLPOOL 550553af1cf3bbd863ef4ce86ef5fd7adf257a7f5946ad186a104c5920d0f58216c135d496d52fd2d6ad51a1fb954bb87719d731aa0eebf6980d1c15345d6034
diff --git a/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch b/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
new file mode 100644
index 000000000000..e230a76d709f
--- /dev/null
+++ b/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
@@ -0,0 +1,13 @@
+diff --git a/src/chartype.h b/src/chartype.h
+index c35825c..be5aac0 100644
+--- a/src/chartype.h
++++ b/src/chartype.h
+@@ -44,7 +44,7 @@
+ * supports non-BMP code points without requiring UTF-16, but nothing
+ * seems to actually advertise this properly, despite Unicode 3.1 having
+ * been around since 2001... */
+-#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__))
++#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__DragonFly__) && !defined(__FreeBSD__)
+ #ifndef __STDC_ISO_10646__
+ /* In many places it is assumed that the first 127 code points are ASCII
+ * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch b/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
new file mode 100644
index 000000000000..a4399593d636
--- /dev/null
+++ b/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
@@ -0,0 +1,20 @@
+--- libedit-20110709-3.0/src/vi.c.old 2011-07-11 18:21:16.000000000 +0000
++++ libedit-20110709-3.0/src/vi.c 2011-07-11 18:24:29.000000000 +0000
+@@ -918,7 +918,7 @@
+ * NB: posix implies that we should enter insert mode, however
+ * this is against historical precedent...
+ */
+-#ifdef __weak_reference
++#if defined(__weak_reference) && defined(__NetBSD__)
+ __weakref_visible char *my_get_alias_text(const char *)
+ __weak_reference(get_alias_text);
+ #endif
+@@ -926,7 +926,7 @@
+ /*ARGSUSED*/
+ vi_alias(EditLine *el, Int c)
+ {
+-#ifdef __weak_reference
++#if defined(__weak_reference) && defined(__NetBSD__)
+ char alias_name[3];
+ char *alias_text;
+
diff --git a/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
new file mode 100644
index 000000000000..b0b157a24fda
--- /dev/null
+++ b/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
@@ -0,0 +1,258 @@
+Port the el_fn_sh_complete from FreeBSD.
+This function is required by FreeBSD-9.0's sh.
+So that we can drop the bundled version in FreeBSD-9.0
+
+diff -uNr libedit-20120311-3.0/src/filecomplete.c libedit-20120311-3.0.freebsd/src/filecomplete.c
+--- libedit-20120311-3.0/src/filecomplete.c 2012-03-11 09:54:58.000000000 +0000
++++ libedit-20120311-3.0.freebsd/src/filecomplete.c 2012-04-23 12:14:25.000000000 +0000
+@@ -56,6 +56,9 @@
+
+ static const Char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@',
+ '$', '>', '<', '=', ';', '|', '&', '{', '(', '\0' };
++/* Tilde is deliberately omitted here, we treat it specially. */
++static const Char extra_quote_chars[] = { ')', '}', '*', '?', '[', '$', '\0' };
++
+
+
+ /********************************/
+@@ -411,10 +414,14 @@
+ char **(*attempted_completion_function)(const char *, int, int),
+ const Char *word_break, const Char *special_prefixes,
+ const char *(*app_func)(const char *), size_t query_items,
+- int *completion_type, int *over, int *point, int *end)
++ int *completion_type, int *over, int *point, int *end,
++ const char *(*find_word_start_func)(const char *, const char *),
++ char *(*dequoting_func)(const char *),
++ char *(*quoting_func)(const char *))
+ {
+ const TYPE(LineInfo) *li;
+ Char *temp;
++ char *dequoted_temp;
+ char **matches;
+ const Char *ctemp;
+ size_t len;
+@@ -435,17 +442,28 @@
+
+ /* We now look backwards for the start of a filename/variable word */
+ li = FUN(el,line)(el);
++ if (find_word_start_func)
++ ctemp = ct_decode_string(find_word_start_func(ct_encode_string(li->buffer,&el->el_scratch), ct_encode_string(li->cursor,&el->el_scratch)),&el->el_scratch);
++ else {
+ ctemp = li->cursor;
+ while (ctemp > li->buffer
+ && !Strchr(word_break, ctemp[-1])
+ && (!special_prefixes || !Strchr(special_prefixes, ctemp[-1]) ) )
+ ctemp--;
++ }
+
+ len = (size_t)(li->cursor - ctemp);
+ temp = el_malloc((len + 1) * sizeof(*temp));
+ (void)Strncpy(temp, ctemp, len);
+ temp[len] = '\0';
+
++ if (dequoting_func) {
++ dequoted_temp = dequoting_func(ct_encode_string(temp,&el->el_scratch));
++ if (dequoted_temp == NULL)
++ return retval;
++ } else
++ dequoted_temp = NULL;
++
+ /* these can be used by function called in completion_matches() */
+ /* or (*attempted_completion_function)() */
+ if (point != 0)
+@@ -456,14 +474,14 @@
+ if (attempted_completion_function) {
+ int cur_off = (int)(li->cursor - li->buffer);
+ matches = (*attempted_completion_function)(
+- ct_encode_string(temp, &el->el_scratch),
++ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch),
+ cur_off - (int)len, cur_off);
+ } else
+ matches = 0;
+ if (!attempted_completion_function ||
+ (over != NULL && !*over && !matches))
+ matches = completion_matches(
+- ct_encode_string(temp, &el->el_scratch), complet_func);
++ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), complet_func);
+
+ if (over != NULL)
+ *over = 0;
+@@ -478,9 +496,19 @@
+ * possible matches if there is possible completion.
+ */
+ if (matches[0][0] != '\0') {
++ char *quoted_match;
++ if (quoting_func) {
++ quoted_match = quoting_func(matches[0]);
++ if (quoted_match == NULL)
++ goto free_matches;
++ } else
++ quoted_match = NULL;
++
+ el_deletestr(el, (int) len);
+ FUN(el,insertstr)(el,
+- ct_decode_string(matches[0], &el->el_scratch));
++ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch));
++
++ free(quoted_match);
+ }
+
+ if (what_to_do == '?')
+@@ -553,12 +581,14 @@
+ retval = CC_NORM;
+ }
+
++free_matches:
+ /* free elements of array and the array itself */
+ for (i = 0; matches[i]; i++)
+ el_free(matches[i]);
+ el_free(matches);
+ matches = NULL;
+ }
++ el_free(dequoted_temp);
+ el_free(temp);
+ return retval;
+ }
+@@ -572,5 +602,102 @@
+ {
+ return (unsigned char)fn_complete(el, NULL, NULL,
+ break_chars, NULL, NULL, (size_t)100,
+- NULL, NULL, NULL, NULL);
++ NULL, NULL, NULL, NULL,
++ NULL, NULL, NULL);
++}
++
++static const char *
++sh_find_word_start(const char *buffer, const char *cursor)
++{
++ const char *word_start = buffer;
++
++ while (buffer < cursor) {
++ if (*buffer == '\\')
++ buffer++;
++ else if (Strchr(break_chars, *buffer))
++ word_start = buffer + 1;
++
++ buffer++;
++ }
++
++ return word_start;
++}
++
++
++static char *
++sh_quote(const char *str)
++{
++ const char *src;
++ int extra_len = 0;
++ char *quoted_str, *dst;
++
++ if (*str == '-' || *str == '+')
++ extra_len += 2;
++ for (src = str; *src != '\0'; src++)
++ if (Strchr(break_chars, *src) ||
++ Strchr(extra_quote_chars, *src))
++ extra_len++;
++
++ quoted_str = malloc(sizeof(*quoted_str) *
++ (strlen(str) + extra_len + 1));
++ if (quoted_str == NULL)
++ return NULL;
++
++ dst = quoted_str;
++ if (*str == '-' || *str == '+')
++ *dst++ = '.', *dst++ = '/';
++ for (src = str; *src != '\0'; src++) {
++ if (Strchr(break_chars, *src) ||
++ Strchr(extra_quote_chars, *src))
++ *dst++ = '\\';
++ *dst++ = *src;
++ }
++ *dst = '\0';
++
++ return quoted_str;
++}
++
++
++static char *
++sh_dequote(const char *str)
++{
++ char *dequoted_str, *dst;
++
++ /* save extra space to replace \~ with ./~ */
++ dequoted_str = malloc(sizeof(*dequoted_str) * (strlen(str) + 1 + 1));
++ if (dequoted_str == NULL)
++ return NULL;
++
++ dst = dequoted_str;
++
++ /* dequote \~ at start as ./~ */
++ if (*str == '\\' && str[1] == '~') {
++ str++;
++ *dst++ = '.';
++ *dst++ = '/';
++ }
++
++ while (*str) {
++ if (*str == '\\')
++ str++;
++ if (*str)
++ *dst++ = *str++;
++ }
++ *dst = '\0';
++
++ return dequoted_str;
++}
++
++
++/*
++ * completion function using sh quoting rules; for key binding
++ */
++/* ARGSUSED */
++unsigned char
++_el_fn_sh_complete(EditLine *el, int ch __attribute__((__unused__)))
++{
++ return (unsigned char)fn_complete(el, NULL, NULL,
++ break_chars, NULL, NULL, 100,
++ NULL, NULL, NULL, NULL,
++ sh_find_word_start, sh_dequote, sh_quote);
+ }
+diff -uNr libedit-20120311-3.0/src/filecomplete.h libedit-20120311-3.0.freebsd/src/filecomplete.h
+--- libedit-20120311-3.0/src/filecomplete.h 2010-04-22 19:13:17.000000000 +0000
++++ libedit-20120311-3.0.freebsd/src/filecomplete.h 2012-04-23 12:04:12.000000000 +0000
+@@ -35,7 +35,10 @@
+ char *(*)(const char *, int),
+ char **(*)(const char *, int, int),
+ const Char *, const Char *, const char *(*)(const char *), size_t,
+- int *, int *, int *, int *);
++ int *, int *, int *, int *,
++ const char *(*)(const char *, const char *),
++ char *(*)(const char *),
++ char *(*)(const char *));
+
+ void fn_display_match_list(EditLine *, char **, size_t, size_t);
+ char *fn_tilde_expand(const char *);
+Binary files libedit-20120311-3.0/src/filecomplete.o and libedit-20120311-3.0.freebsd/src/filecomplete.o differ
+diff -uNr libedit-20120311-3.0/src/histedit.h libedit-20120311-3.0.freebsd/src/histedit.h
+--- libedit-20120311-3.0/src/histedit.h 2011-08-02 06:52:08.000000000 +0000
++++ libedit-20120311-3.0.freebsd/src/histedit.h 2012-04-23 11:44:33.000000000 +0000
+@@ -113,6 +113,7 @@
+ int el_set(EditLine *, int, ...);
+ int el_get(EditLine *, int, ...);
+ unsigned char _el_fn_complete(EditLine *, int);
++unsigned char _el_fn_sh_complete(EditLine *, int);
+
+ /*
+ * el_set/el_get parameters
+diff -ur libedit-20120311-3.0/src/readline.c libedit-20120311-3.0.freebsd/src/readline.c
+--- libedit-20120311-3.0/src/readline.c 2012-03-11 09:54:58.000000000 +0000
++++ libedit-20120311-3.0.freebsd/src/readline.c 2012-04-23 12:20:11.000000000 +0000
+@@ -1773,7 +1773,7 @@
+ _rl_completion_append_character_function,
+ (size_t)rl_completion_query_items,
+ &rl_completion_type, &rl_attempted_completion_over,
+- &rl_point, &rl_end);
++ &rl_point, &rl_end, NULL, NULL, NULL);
+
+
+ }
diff --git a/dev-libs/libedit/files/libedit-ncursesprivate.patch b/dev-libs/libedit/files/libedit-ncursesprivate.patch
new file mode 100644
index 000000000000..0af9b1b882a3
--- /dev/null
+++ b/dev-libs/libedit/files/libedit-ncursesprivate.patch
@@ -0,0 +1,13 @@
+Index: libedit-20110709-3.0/libedit.pc.in
+===================================================================
+--- libedit-20110709-3.0.orig/libedit.pc.in
++++ libedit-20110709-3.0/libedit.pc.in
+@@ -7,6 +7,7 @@ Name: libedit
+ Description: command line editor library provides generic line editing, history, and tokenization functions.
+ Version: @VERSION@
+ Requires:
+-Libs: -L${libdir} -ledit @LIBS@
++Libs: -L${libdir} -ledit
++Libs.private: @LIBS@
+ Cflags: -I${includedir} -I${includedir}/editline
+
diff --git a/dev-libs/libedit/libedit-20120311.3.0-r1.ebuild b/dev-libs/libedit/libedit-20120311.3.0-r1.ebuild
new file mode 100644
index 000000000000..16a68a4fbde9
--- /dev/null
+++ b/dev-libs/libedit/libedit-20120311.3.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils toolchain-funcs versionator base
+
+MY_PV=$(get_major_version)-$(get_after_major_version)
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="BSD replacement for libreadline"
+HOMEPAGE="http://www.thrysoee.dk/editline/"
+SRC_URI="http://www.thrysoee.dk/editline/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="static-libs"
+
+DEPEND=">=sys-libs/ncurses-5.7-r5[static-libs?]
+ !<=sys-freebsd/freebsd-lib-6.2_rc1"
+
+RDEPEND=${DEPEND}
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-ncursesprivate.patch"
+ "${FILESDIR}/${PN}-20100424.3.0-bsd.patch"
+ "${FILESDIR}/${PN}-20110709.3.0-weak-reference.patch"
+ "${FILESDIR}/${PN}-20120311-3.0-el_fn_sh_complete.patch"
+ )
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --enable-widec \
+ --disable-dependency-tracking \
+ --enable-fast-install
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ find "${D}" -name '*.la' -delete
+
+ gen_usr_ldscript -a edit
+}
diff --git a/dev-libs/libedit/libedit-20130611.3.1-r1.ebuild b/dev-libs/libedit/libedit-20130611.3.1-r1.ebuild
new file mode 100644
index 000000000000..b586c500c347
--- /dev/null
+++ b/dev-libs/libedit/libedit-20130611.3.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs versionator base multilib-minimal
+
+MY_PV=$(get_major_version)-$(get_after_major_version)
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="BSD replacement for libreadline"
+HOMEPAGE="http://www.thrysoee.dk/editline/"
+SRC_URI="http://www.thrysoee.dk/editline/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="static-libs"
+
+DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
+ !<=sys-freebsd/freebsd-lib-6.2_rc1"
+
+RDEPEND=${DEPEND}
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-ncursesprivate.patch"
+ "${FILESDIR}/${PN}-20100424.3.0-bsd.patch"
+ "${FILESDIR}/${PN}-20110709.3.0-weak-reference.patch"
+ "${FILESDIR}/${PN}-20120311-3.0-el_fn_sh_complete.patch"
+ )
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ --enable-widec \
+ --enable-fast-install
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && gen_usr_ldscript -a edit
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libedit/libedit-20130712.3.1.ebuild b/dev-libs/libedit/libedit-20130712.3.1.ebuild
new file mode 100644
index 000000000000..775c345b417b
--- /dev/null
+++ b/dev-libs/libedit/libedit-20130712.3.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs versionator base multilib-minimal
+
+MY_PV=$(get_major_version)-$(get_after_major_version)
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="BSD replacement for libreadline"
+HOMEPAGE="http://www.thrysoee.dk/editline/"
+SRC_URI="http://www.thrysoee.dk/editline/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="static-libs"
+
+DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
+ !<=sys-freebsd/freebsd-lib-6.2_rc1"
+
+RDEPEND=${DEPEND}
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-ncursesprivate.patch"
+ "${FILESDIR}/${PN}-20100424.3.0-bsd.patch"
+ "${FILESDIR}/${PN}-20110709.3.0-weak-reference.patch"
+ "${FILESDIR}/${PN}-20120311-3.0-el_fn_sh_complete.patch"
+ )
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ --enable-widec \
+ --enable-fast-install
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && gen_usr_ldscript -a edit
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libedit/metadata.xml b/dev-libs/libedit/metadata.xml
new file mode 100644
index 000000000000..b8f8c3c0c90e
--- /dev/null
+++ b/dev-libs/libedit/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+<longdescription>
+GNU Readline is cool, but BSD Readline is cooler :)
+Thus here is libedit by the NetBSD folks!
+The glibc/bsdlibc stuff comes from the debian tarball, thanks to them too :)
+The patch is handcrafted with a few ideas from libedit.sf.net and a few ideas
+from the debian package. This patch aims to be as small as possible (so as
+to make future cvs snapshots cake).
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libee/Manifest b/dev-libs/libee/Manifest
new file mode 100644
index 000000000000..9e7a60d5eb6d
--- /dev/null
+++ b/dev-libs/libee/Manifest
@@ -0,0 +1,2 @@
+DIST libee-0.3.2.tar.gz 353750 SHA256 4e19bf297fb76f18fef773c651767152ebf65ecd4a1f4b06fe1c5f117fa4f81a SHA512 d692bd968ced62aa4a4a1ee02a2e0ff0c762966d4fccb321969f125b1d64363b12a8e346122711ffb23f8da4ce3c86a52bc24e15d2ee89f4b9466c4d6e36362b WHIRLPOOL 20cd79050cc5fde6346922146f62a1d1c6e0690dc3eda7cd153e7623416429adf984164ee935dbc1b72aeb162e5e123b3bb3a595f08870c8af9a746e9e31c6ca
+DIST libee-0.4.1.tar.gz 357116 SHA256 c0dac01938593deee06c3d161e4eda4ecc0fd7317e1321bd96e301aceb7fb027 SHA512 810cbca8077c975b045b6761de22642708b3555aa8959c17e6be3f3865612642176762ca4def09274a6291256608f11b5833bfaaa25ba0d66f71d0dee6f594d4 WHIRLPOOL 565824564930da7aa927ebb107a2821ac3aede217a3c8219dbd6222c32ab2705243ca771733627715efaf01f26e4f7959b662cfac39e939dbcf82aee381374ac
diff --git a/dev-libs/libee/files/0.3.2-add_math_lib_configure.patch b/dev-libs/libee/files/0.3.2-add_math_lib_configure.patch
new file mode 100644
index 000000000000..305440cda865
--- /dev/null
+++ b/dev-libs/libee/files/0.3.2-add_math_lib_configure.patch
@@ -0,0 +1,16 @@
+diff -r fb643518cffc configure.ac
+--- a/configure.ac Sun Apr 22 18:45:47 2012 +0300
++++ b/configure.ac Sun Apr 22 18:48:05 2012 +0300
+@@ -18,11 +18,8 @@
+ AC_PROG_LIBTOOL
+
+ # Checks for libraries.
+-save_LIBS=$LIBS
+-LIBS=
+-#AC_SEARCH_LIBS(clock_gettime, rt)
++AC_SEARCH_LIBS(pow, m)
+ #rt_libs=$LIBS
+-LIBS=$save_LIBS
+
+ # We CURRENTLY do NOT need libxml, but this will change at a later stage.
+ # If we need libxml, we need it for features which some may not find essential.
diff --git a/dev-libs/libee/files/0.3.2-add_math_lib_pc_in.patch b/dev-libs/libee/files/0.3.2-add_math_lib_pc_in.patch
new file mode 100644
index 000000000000..61cdedc94e87
--- /dev/null
+++ b/dev-libs/libee/files/0.3.2-add_math_lib_pc_in.patch
@@ -0,0 +1,10 @@
+diff -r fb643518cffc libee.pc.in
+--- a/libee.pc.in Sun Apr 22 18:45:47 2012 +0300
++++ b/libee.pc.in Sun Apr 22 18:53:55 2012 +0300
+@@ -6,5 +6,5 @@
+ Name: libee
+ Description: event expression library, based on CEE ideas
+ Version: @VERSION@
+-Libs: -L${libdir} @rt_libs@ -lee
++Libs: -L${libdir} -lee @rt_libs@
+ Cflags: -I${includedir}
diff --git a/dev-libs/libee/libee-0.3.2-r1.ebuild b/dev-libs/libee/libee-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..14feb8abe6a7
--- /dev/null
+++ b/dev-libs/libee/libee-0.3.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils
+
+DESCRIPTION="An Event Expression Library inspired by CEE"
+HOMEPAGE="http://www.libee.org"
+SRC_URI="http://www.libee.org/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux"
+IUSE="debug static-libs"
+
+DEPEND="dev-libs/libxml2
+ dev-libs/libestr"
+RDEPEND="${DEPEND}"
+
+DOCS=(INSTALL ChangeLog)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ --enable-testbench
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile -j1
+}
diff --git a/dev-libs/libee/libee-0.3.2-r2.ebuild b/dev-libs/libee/libee-0.3.2-r2.ebuild
new file mode 100644
index 000000000000..ee64fc50d042
--- /dev/null
+++ b/dev-libs/libee/libee-0.3.2-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="An Event Expression Library inspired by CEE"
+HOMEPAGE="http://www.libee.org"
+SRC_URI="http://www.libee.org/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="debug static-libs"
+
+DEPEND="dev-libs/libxml2
+ dev-libs/libestr"
+RDEPEND="${DEPEND}"
+
+DOCS=(INSTALL ChangeLog)
+PATCHES=("${FILESDIR}"/0.3.2-add_math_lib_configure.patch
+"${FILESDIR}"/0.3.2-add_math_lib_pc_in.patch)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ --enable-testbench
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile -j1
+}
diff --git a/dev-libs/libee/libee-0.4.1.ebuild b/dev-libs/libee/libee-0.4.1.ebuild
new file mode 100644
index 000000000000..e70422266dec
--- /dev/null
+++ b/dev-libs/libee/libee-0.4.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="An Event Expression Library inspired by CEE"
+HOMEPAGE="http://www.libee.org"
+SRC_URI="http://www.libee.org/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa x86 ~amd64-linux"
+IUSE="debug static-libs"
+
+DEPEND="dev-libs/libxml2
+ dev-libs/libestr"
+RDEPEND="${DEPEND}"
+
+DOCS=(INSTALL ChangeLog)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ --enable-testbench
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile -j1
+}
diff --git a/dev-libs/libee/metadata.xml b/dev-libs/libee/metadata.xml
new file mode 100644
index 000000000000..eec0cf1d8c2c
--- /dev/null
+++ b/dev-libs/libee/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libelf/Manifest b/dev-libs/libelf/Manifest
new file mode 100644
index 000000000000..bce25fe0832d
--- /dev/null
+++ b/dev-libs/libelf/Manifest
@@ -0,0 +1 @@
+DIST libelf-0.8.13.tar.gz 148529 SHA256 591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d SHA512 d2a4ea8ccc0bbfecac38fa20fbd96aefa8e86f8af38691fb6991cd9c5a03f587475ecc2365fc89a4954c11a679d93460ee9a5890693112f6133719af3e6582fe WHIRLPOOL 9349d18a1c96ad200166b6c39da1cb097894f5e39c34d07b9e168a8172ec4b7838d9c1dd57f2de4fb945fa3a2bab9cf0c78ce983ee6093e83405a67515ac03ce
diff --git a/dev-libs/libelf/files/libelf-0.8.13-build.patch b/dev-libs/libelf/files/libelf-0.8.13-build.patch
new file mode 100644
index 000000000000..7e0cce6384d9
--- /dev/null
+++ b/dev-libs/libelf/files/libelf-0.8.13-build.patch
@@ -0,0 +1,38 @@
+Index: libelf-0.8.13/aclocal.m4
+===================================================================
+--- libelf-0.8.13.orig/aclocal.m4
++++ libelf-0.8.13/aclocal.m4
+@@ -235,7 +235,7 @@ AC_DEFUN(mr_ENABLE_SHARED, [
+ AC_REQUIRE([AC_PROG_CC])
+ AC_PATH_PROG(LD, ld, ld)
+ case "$host" in
+- *-linux*|*-gnu*)
++ *-linux*|*-gnu*|*-freebsd*|*-solaris*)
+ if test "$GCC" = yes; then
+ mr_TARGET_ELF
+ if test "$mr_cv_target_elf" = yes; then
+Index: libelf-0.8.13/lib/Makefile.in
+===================================================================
+--- libelf-0.8.13.orig/lib/Makefile.in
++++ libelf-0.8.13/lib/Makefile.in
+@@ -158,7 +158,7 @@ libelf.a: $(OBJS) $(LIBOBJS)
+
+ $(SHLIB): libelf.a
+ @$(RM) $(SHLIB)
+- $(LINK_SHLIB) -o $(SHLIB) $(OBJS:.o=.os) $(LIBOBJS:.o=.os) $(DEPSHLIBS)
++ $(LINK_SHLIB) $(LDFLAGS) -o $(SHLIB) $(OBJS:.o=.os) $(LIBOBJS:.o=.os) $(DEPSHLIBS)
+ if test "$(SONAME)" = "$(SHLIB)"; then true; else \
+ $(RM) $(SONAME) && $(LN_S) $(SHLIB) $(SONAME); \
+ fi
+@@ -169,9 +169,9 @@ $(SHLIB): libelf.a
+ install: install-data \
+ install-shared-$(DO_SHLIB) install-compat-$(DO_COMPAT)
+
+-installdirs: $(top_srcdir)/mkinstalldirs
++installdirs:
+ dirs="$(installdirs)"; for dir in $$dirs; do \
+- $(SHELL) $(top_srcdir)/mkinstalldirs $(instroot)$$dir; \
++ mkdir -p $(instroot)$$dir; \
+ done
+
+ install-data: all installdirs
diff --git a/dev-libs/libelf/libelf-0.8.13-r1.ebuild b/dev-libs/libelf/libelf-0.8.13-r1.ebuild
new file mode 100644
index 000000000000..d0540d96b9ca
--- /dev/null
+++ b/dev-libs/libelf/libelf-0.8.13-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils multilib autotools
+
+DESCRIPTION="A ELF object file access library"
+HOMEPAGE="http://www.mr511.de/software/"
+SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nls elibc_FreeBSD"
+
+RDEPEND="!dev-libs/elfutils"
+DEPEND="nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-build.patch"
+ eautoreconf
+
+}
+
+src_configure() {
+ # prefix might want to play with this; unfortunately the stupid
+ # macro used to detect whether we're building ELF is so screwed up
+ # that trying to fix it is just a waste of time.
+ export mr_cv_target_elf=yes
+
+ econf \
+ $(use_enable nls) \
+ --enable-shared \
+ $(use_enable debug)
+}
+
+src_install() {
+ emake \
+ prefix="${ED}usr" \
+ libdir="${ED}usr/$(get_libdir)" \
+ install \
+ install-compat \
+ -j1 || die
+
+ dodoc ChangeLog README || die
+
+ # Stop libelf from stamping on the system nlist.h
+ use elibc_FreeBSD && rm "${ED}"/usr/include/nlist.h
+}
diff --git a/dev-libs/libelf/libelf-0.8.13-r2.ebuild b/dev-libs/libelf/libelf-0.8.13-r2.ebuild
new file mode 100644
index 000000000000..d02868ad18cf
--- /dev/null
+++ b/dev-libs/libelf/libelf-0.8.13-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib autotools multilib-minimal
+
+DESCRIPTION="A ELF object file access library"
+HOMEPAGE="http://www.mr511.de/software/"
+SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nls elibc_FreeBSD"
+
+RDEPEND="!dev-libs/elfutils
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="nls? ( sys-devel/gettext )"
+
+DOCS=( ChangeLog README )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/libelf/sys_elf.h )
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-build.patch"
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # prefix might want to play with this; unfortunately the stupid
+ # macro used to detect whether we're building ELF is so screwed up
+ # that trying to fix it is just a waste of time.
+ export mr_cv_target_elf=yes
+
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable nls) \
+ --enable-shared \
+ $(use_enable debug)
+}
+
+multilib_src_install() {
+ emake \
+ prefix="${ED}usr" \
+ libdir="${ED}usr/$(get_libdir)" \
+ install \
+ install-compat \
+ -j1 || die
+
+ # Stop libelf from stamping on the system nlist.h
+ use elibc_FreeBSD && rm "${ED}"/usr/include/nlist.h
+}
diff --git a/dev-libs/libelf/metadata.xml b/dev-libs/libelf/metadata.xml
new file mode 100644
index 000000000000..1e7587374fdf
--- /dev/null
+++ b/dev-libs/libelf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liberasurecode/Manifest b/dev-libs/liberasurecode/Manifest
new file mode 100644
index 000000000000..c7dfcb89a861
--- /dev/null
+++ b/dev-libs/liberasurecode/Manifest
@@ -0,0 +1,2 @@
+DIST liberasurecode-1.0.7.tar.gz 352343 SHA256 97d0582bda2a20fb5138affa4927b2c61f3bf34f7d8301158a5ec577f62b9632 SHA512 d88999b746ccad582f7788a844d24d02720f6c77837721b19632ae4709a8b98ac481d3f92b2bd6f96e070efb77771ccf8aac0a8564a4bb9e9dba93bb485aa0b7 WHIRLPOOL 011f833b9ddd00b5e3e7419fc39c1b619b960548ec5042d0faec2895c53792f71f5bf371bcdf65282721ee5ddb69410e36aca92b70440c5070fff2b5e58c905f
+DIST liberasurecode-1.0.8.tar.gz 202130 SHA256 d0ce0968f80e772bcabfc44bdf77dd144f4917b485951fbca25e199c439823a8 SHA512 eba22b48063c8ea19cf616a47eaef05565dc9444c464f0c795ed8092997c5d9102c524b69e8692cc696db98db0b9279c308cb99fcb691897a87c6cfb569319ad WHIRLPOOL 739c2992cd844df31397719f1e500472b9d6d53bc60ae3a5e237415615166a224a2c1e360512c33ca1f0bac93cf42d25734c1e8d7937c8b88fdf1dc03c59a018
diff --git a/dev-libs/liberasurecode/liberasurecode-1.0.7.ebuild b/dev-libs/liberasurecode/liberasurecode-1.0.7.ebuild
new file mode 100644
index 000000000000..e15949aaaf14
--- /dev/null
+++ b/dev-libs/liberasurecode/liberasurecode-1.0.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs
+
+DESCRIPTION="Erasure Code API library written in C with pluggable Erasure Code backends."
+HOMEPAGE="https://bitbucket.org/tsg-/liberasurecode/overview"
+SRC_URI="https://bitbucket.org/tsg-/${PN}/get/v${PV}.tar.gz -> ${P}.tar.gz"
+CUSTOM_VERSION="a380246762c1"
+S="${WORKDIR}/tsg--${PN}-${CUSTOM_VERSION}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="sys-devel/autoconf"
+
+src_prepare() {
+ autoreconf -i -v || die "autoconf failed"
+}
+
+src_configure() {
+ econf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/liberasurecode/liberasurecode-1.0.8.ebuild b/dev-libs/liberasurecode/liberasurecode-1.0.8.ebuild
new file mode 100644
index 000000000000..4a93213c9278
--- /dev/null
+++ b/dev-libs/liberasurecode/liberasurecode-1.0.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs
+
+DESCRIPTION="Erasure Code API library written in C with pluggable Erasure Code backends."
+HOMEPAGE="https://bitbucket.org/tsg-/liberasurecode/overview"
+SRC_URI="https://bitbucket.org/tsg-/${PN}/get/v${PV}.tar.gz -> ${P}.tar.gz"
+CUSTOM_VERSION="f61e907d2bbc"
+S="${WORKDIR}/tsg--${PN}-${CUSTOM_VERSION}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="sys-devel/autoconf"
+
+src_prepare() {
+ autoreconf -i -v || die "autoconf failed"
+}
+
+src_configure() {
+ econf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/liberasurecode/metadata.xml b/dev-libs/liberasurecode/metadata.xml
new file mode 100644
index 000000000000..7d7429b3c685
--- /dev/null
+++ b/dev-libs/liberasurecode/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">tsg-/liberasurecode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libestr/Manifest b/dev-libs/libestr/Manifest
new file mode 100644
index 000000000000..6c05559e38b5
--- /dev/null
+++ b/dev-libs/libestr/Manifest
@@ -0,0 +1,6 @@
+DIST libestr-0.1.2.tar.gz 315615 SHA256 0e8b95374fa271dc2afdfadfc9afc0f5826252a1b698ddea1474d5600a7c66ca SHA512 dd423f534d4aad72819d6ed27b0b29a66afd3955acfda4051a389398e58cb2b6f25d47b79729df19e86fdf3cbd2a6e4814e670e4d8d27eaa07f6c40bd01e5667 WHIRLPOOL 7718e33ed6b9cea413146a0c34e4860610169df1a67a08a2efec1f356bfc740aed2d670247694acb8e7db540d080357f7ab0db0cc8a1924da7e8e4488d4fdd99
+DIST libestr-0.1.3.tar.gz 329298 SHA256 25a4a97942818ceacd8b47370d74a8e09dad2dfeb3c4534e76523e5408973919 SHA512 586130d90dbc0bda032a3b81e6a560fa8f4cf7670b86ec3ad3b196252d5309cabfdd1f5c5cf7f3a7cde273a631bd11afabccf2fd766ecf2656e7e68fa96c6d76 WHIRLPOOL a1b78cdc5c4588041faf36bbc6cf487b3bb22e069e2e9e1f0e8eb3f0e1c6cd6a26d09261653237b834459f8fa8046e7f63dae686e25983ef9896be374d911a10
+DIST libestr-0.1.4.tar.gz 329510 SHA256 e30b05bc3091e2c35464d7ac736b2d4e5c054cc883e244c920b571e533de85e3 SHA512 b6aad598f5679badd9e26feb4a59c7163d4202dd65440726de73a4f4d27151d8256f7b34e50cc82d436f9324d2a40bd5f1a521358e2858bb0826c84c08f57592 WHIRLPOOL 197de707e7f4029cac372d5e7689e5f2e9b5476adf66bafacce5430d2e63e3c1ae5b8ba852d3b1946f58035acae7e669706f6632322fd55ca42c484f1a3a9bb7
+DIST libestr-0.1.5.tar.gz 325583 SHA256 ff9734663c8e7384835e12c65313efe14b1d7ec310f48c977d35f66b1050659e SHA512 b31986738dd1264ef3a3f5bcfd91131ad100b416d87725859a78e1c5a6cb6666db08597f534a14200bb222f3e17847e7ecf94cb07c39fba3b91ac6ee20d1d67a WHIRLPOOL b65ba6acdd9fd47afc26775b7c0bac041dfc2aa2daa130cdc51fd8803c1a14b8164beededacffa18b7b5f236b543e3161b4bd7aeb03493c4850e4d17a911a91d
+DIST libestr-0.1.8.tar.gz 330032 SHA256 ce18565af57adc219799fe1659baaa70f58f169795882d770a7a2fe8ca8a6615 SHA512 634d1b7456095613743d7dec801e408582bf412c202acd1c812e4e43a58e99ae6066f18ea0dff986bc7a740f54f605f64768dc7a8659ba316fdb34b7bc471e5a WHIRLPOOL afe9e64750af3d04373f96d75004d73c8d7dca961ed8534e0a5c74845d34afe5593f65a406be0ba4a20719430bf5febe87d2ed9cf38fd8a5b87545863aaf4b36
+DIST libestr-0.1.9.tar.gz 330114 SHA256 822c6e2d01eaca1e72201f403a2ca01f3e86410b880e508e5204e3c2694d751a SHA512 17e1a62d2d4cb7e33dc14d4368b507fff1676c5a2cb24001078ff2a6f15236f9674dc47a599900c94ae2bd0e58dbe56b084d01d5a17174e5a54884d1f4c7616c WHIRLPOOL 63a4493e2c808877bb1dafa1e42bb249795fcebf8b53bffe0726afaa1f7f10511992395d67dc5182b3004bc3732a095148a8bcd3350374b9ee3917e12a15f919
diff --git a/dev-libs/libestr/libestr-0.1.2.ebuild b/dev-libs/libestr/libestr-0.1.2.ebuild
new file mode 100644
index 000000000000..6e9883ad1fb6
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libestr/libestr-0.1.3.ebuild b/dev-libs/libestr/libestr-0.1.3.ebuild
new file mode 100644
index 000000000000..21006711d28f
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ~hppa x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libestr/libestr-0.1.4.ebuild b/dev-libs/libestr/libestr-0.1.4.ebuild
new file mode 100644
index 000000000000..abe0b5d056b0
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ~hppa x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libestr/libestr-0.1.5.ebuild b/dev-libs/libestr/libestr-0.1.5.ebuild
new file mode 100644
index 000000000000..4b53b3b942fc
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libestr/libestr-0.1.8.ebuild b/dev-libs/libestr/libestr-0.1.8.ebuild
new file mode 100644
index 000000000000..bf8aa31186d2
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.8.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libestr/libestr-0.1.9.ebuild b/dev-libs/libestr/libestr-0.1.9.ebuild
new file mode 100644
index 000000000000..a93e157ffb96
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.9.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="http://libestr.adiscon.com/"
+SRC_URI="http://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm hppa x86"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable debug) $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libestr/metadata.xml b/dev-libs/libestr/metadata.xml
new file mode 100644
index 000000000000..377419e70d95
--- /dev/null
+++ b/dev-libs/libestr/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ <name>Andreis Vinogradovs</name>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libev/Manifest b/dev-libs/libev/Manifest
new file mode 100644
index 000000000000..e494adfafb44
--- /dev/null
+++ b/dev-libs/libev/Manifest
@@ -0,0 +1,3 @@
+DIST libev-4.15.tar.gz 513919 SHA256 b2dd43a073556f5350cbed05b6ef444dcc4b563f4e0b1009d7bf448261606feb SHA512 bb3ab98d92e565bf2273d71c9004b84ad3b305c4e883482392fe6c701949344731bb4e391ac77578f71d9a80f0ec4b6afc2ae5449d4093cdcbee26d7dc17929d WHIRLPOOL 9f3c44e4978c5d387bd6478bc3ce41894f875eef00eb2328dc47ab90683e3003662d6ac5c5406c8592ad3dc690d7768dcfb83d6916b6851d4988a53c20d72b51
+DIST libev-4.18.tar.gz 517265 SHA256 38300812f870150d44db4fd073658db7eaceb4125f5c51cf395ee4409453fe4f SHA512 b2eb423012a134b1689603ef62b5fa576f9fd1484ac8825d1e478d1da58ce6503970de07eebfad9dcc77ee60cd4fd17152e103345ac1934c04ed2eee249bd227 WHIRLPOOL 9eab082d74555dae199a220895ce9e82dc8ee47ef6939b1ed6294a6a109cb831c309d7df8ed8e95ef3b5025c639eae60d517da81e3363d20e3b829d2d8c69c1b
+DIST libev-4.19.tar.gz 524429 SHA256 88fc5f89ca96ceca14c16c10e7be3e921dae65e84932d680c2fd6a40173edccb SHA512 0d1c8707ba0b665b4570a1dc4125d1fd9b0a25f8cad6552cb1fe8a7ea90920b14c15ad3a32806ddcd7efe68bb397dab973b3ee609dac5015c0d76959d850aaf1 WHIRLPOOL d0047ef29b45401f246318ed90c568570c584fe6492498cb12f3ef61e79da5f95acf325b75200b363b7c64fc85a54cc2d3a15d9727c94b8bdcc663cc740ddbe5
diff --git a/dev-libs/libev/files/libev-4.15-automake-1.14.patch b/dev-libs/libev/files/libev-4.15-automake-1.14.patch
new file mode 100644
index 000000000000..22fcc1a0093f
--- /dev/null
+++ b/dev-libs/libev/files/libev-4.15-automake-1.14.patch
@@ -0,0 +1,21 @@
+Gentoo bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=493050
+Patch-by: Dennis 'dlan' Lan <dennis.yxun@gmail.com>
+
+diff --git a/configure.ac b/configure.ac
+index 7ea3ec8..290fce0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,11 +1,12 @@
+ AC_INIT
+
++AM_INIT_AUTOMAKE(libev,4.15) dnl also update ev.h!
++
+ orig_CFLAGS="$CFLAGS"
+
+ AC_CONFIG_SRCDIR([ev_epoll.c])
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE(libev,4.15) dnl also update ev.h!
+ AC_CONFIG_HEADERS([config.h])
+ AM_MAINTAINER_MODE
+
diff --git a/dev-libs/libev/files/libev-pc.patch b/dev-libs/libev/files/libev-pc.patch
new file mode 100644
index 000000000000..a2a4c62a1ac8
--- /dev/null
+++ b/dev-libs/libev/files/libev-pc.patch
@@ -0,0 +1,42 @@
+--- /dev/null
++++ b/libev.pc.in
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: libev
++Description: A high-performance event loop/event model with lots of features
++Version: @VERSION@
++Libs: -L${libdir} -lev
++Libs.private:
++Cflags: -I${includedir}
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -16,5 +16,8 @@ lib_LTLIBRARIES = libev.la
+ libev_la_SOURCES = ev.c event.c
+ libev_la_LDFLAGS = -version-info $(VERSION_INFO)
+
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libev.pc
++
+ ev.3: ev.pod
+ pod2man -n LIBEV -r "libev-$(VERSION)" -c "libev - high performance full featured event loop" -s3 <$< >$@
+--- a/configure.ac
++++ b/configure.ac
+@@ -2,6 +2,7 @@ orig_CFLAGS="$CFLAGS"
+
+ AC_INIT
+ AC_CONFIG_SRCDIR([ev_epoll.c])
++AC_CONFIG_MACRO_DIR([m4])
+
+ AM_INIT_AUTOMAKE(libev,4.11) dnl also update ev.h!
+ AC_CONFIG_HEADERS([config.h])
+@@ -21,5 +22,5 @@ AC_PROG_LIBTOOL
+
+ m4_include([libev.m4])
+
+-AC_CONFIG_FILES([Makefile])
++AC_CONFIG_FILES([Makefile libev.pc])
+ AC_OUTPUT
diff --git a/dev-libs/libev/libev-4.15-r1.ebuild b/dev-libs/libev/libev-4.15-r1.ebuild
new file mode 100644
index 000000000000..105241cf1e88
--- /dev/null
+++ b/dev-libs/libev/libev-4.15-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib-minimal
+
+DESCRIPTION="A high-performance event loop/event model with lots of feature"
+HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
+SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
+ http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="elibc_glibc static-libs"
+
+# Bug #283558
+DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( Changes README )
+
+src_prepare() {
+ sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
+
+ # bug #411847
+ epatch "${FILESDIR}/${PN}-pc.patch"
+ # bug #493050
+ epatch "${FILESDIR}/${P}-automake-1.14.patch"
+
+ epatch_user
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ --disable-maintainer-mode \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libev/libev-4.18.ebuild b/dev-libs/libev/libev-4.18.ebuild
new file mode 100644
index 000000000000..172e9a7ddc1f
--- /dev/null
+++ b/dev-libs/libev/libev-4.18.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib-minimal
+
+DESCRIPTION="A high-performance event loop/event model with lots of feature"
+HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
+SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
+ http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="elibc_glibc static-libs"
+
+# Bug #283558
+DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( Changes README )
+
+src_prepare() {
+ sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
+
+ # bug #493050
+ sed -i -e "/^AM_INIT_AUTOMAKE/a\ " configure.ac || die
+
+ # bug #411847
+ epatch "${FILESDIR}/${PN}-pc.patch"
+
+ epatch_user
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ --disable-maintainer-mode \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libev/libev-4.19.ebuild b/dev-libs/libev/libev-4.19.ebuild
new file mode 100644
index 000000000000..172e9a7ddc1f
--- /dev/null
+++ b/dev-libs/libev/libev-4.19.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib-minimal
+
+DESCRIPTION="A high-performance event loop/event model with lots of feature"
+HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
+SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
+ http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="elibc_glibc static-libs"
+
+# Bug #283558
+DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( Changes README )
+
+src_prepare() {
+ sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
+
+ # bug #493050
+ sed -i -e "/^AM_INIT_AUTOMAKE/a\ " configure.ac || die
+
+ # bug #411847
+ epatch "${FILESDIR}/${PN}-pc.patch"
+
+ epatch_user
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ --disable-maintainer-mode \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libev/metadata.xml b/dev-libs/libev/metadata.xml
new file mode 100644
index 000000000000..136918579aaf
--- /dev/null
+++ b/dev-libs/libev/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libevdev/Manifest b/dev-libs/libevdev/Manifest
new file mode 100644
index 000000000000..15d24fee0645
--- /dev/null
+++ b/dev-libs/libevdev/Manifest
@@ -0,0 +1,3 @@
+DIST libevdev-1.3.tar.xz 392744 SHA256 265411ce79a592b3074e9d07fb97d462745d0c7ef178254a6f720245ed253446 SHA512 d208a9be788e5531e2fd83da8bdef58245a0265a0551f28645a7de157d165cee161c8c5cde50156bbf6414b719d6a0125b4263ecf0f60c71ec864a21afcd303c WHIRLPOOL 01335f51ba67c01f9cff15592468bb5ab675fefd75dee859663c8df02c04d52a14f62a442dd841d9473fcefd4ea6fb1abe3e7cc54282a605f8ba0d61ed4d0a7a
+DIST libevdev-1.4.3.tar.xz 408448 SHA256 1c418b26fd78b0e9900872be2f77fb5311c877b34ec5c75efd1b670ed627969b SHA512 b5d9446aa47c2abc2c1476f188400f5fcdd2c1f1f5304cd7ce1731dfcd426f892adebe4958f2f65adb832352f203039a1413636c82e51955583d5ede9d2325af WHIRLPOOL 9188781d3c47cf0efddfe1fa8ab8bf5dd697bf156bdf7ec996abbdd69cf5002735bb9092b8e89a7ba29ac952a9d2c3553ba932e104bd0d4a3940b2cf15a459d5
+DIST libevdev-1.4.tar.xz 396560 SHA256 3223378a5c2b4fea51a1601b0404700a6ddc1e2150eb9d5f62f001ffe21dfa06 SHA512 bc1bb73cde3471727999745187e7bdf9a438c7782d9794723c9235c4121fa607c20a3e616c268f90c8096fcc670bcca27b21bbb9cce363701224c91c0d9a351a WHIRLPOOL 7470a354849394c0caef730e744615782a81b4229886ea08249df0c118d64b702ca998434b83aabadbf49dab1d0d495df27555de9c30efabab19bb1d0cbcc943
diff --git a/dev-libs/libevdev/libevdev-1.3.ebuild b/dev-libs/libevdev/libevdev-1.3.ebuild
new file mode 100644
index 000000000000..8ad8e51aa1a4
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+XORG_MULTILIB=yes
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}.git"
+
+DESCRIPTION="Handler library for evdev events"
+
+if [[ ${PV} == 9999* ]] ; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+fi
+
+RESTRICT="test" # Tests need to run as root.
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
diff --git a/dev-libs/libevdev/libevdev-1.4.3.ebuild b/dev-libs/libevdev/libevdev-1.4.3.ebuild
new file mode 100644
index 000000000000..8873d701d997
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.4.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+XORG_MULTILIB=yes
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}.git"
+
+DESCRIPTION="Handler library for evdev events"
+
+if [[ ${PV} == 9999* ]] ; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+fi
+
+RESTRICT="test" # Tests need to run as root.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
diff --git a/dev-libs/libevdev/libevdev-1.4.ebuild b/dev-libs/libevdev/libevdev-1.4.ebuild
new file mode 100644
index 000000000000..8873d701d997
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+XORG_MULTILIB=yes
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}.git"
+
+DESCRIPTION="Handler library for evdev events"
+
+if [[ ${PV} == 9999* ]] ; then
+ SRC_URI=""
+else
+ SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+fi
+
+RESTRICT="test" # Tests need to run as root.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
diff --git a/dev-libs/libevdev/metadata.xml b/dev-libs/libevdev/metadata.xml
new file mode 100644
index 000000000000..01c4c004e735
--- /dev/null
+++ b/dev-libs/libevdev/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/dev-libs/libevent/Manifest b/dev-libs/libevent/Manifest
new file mode 100644
index 000000000000..bdb28b7db7ff
--- /dev/null
+++ b/dev-libs/libevent/Manifest
@@ -0,0 +1,2 @@
+DIST libevent-2.0.22-stable.tar.gz 854987 SHA256 71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3 SHA512 990637f12e890bfa7f86c194c8b112701436e92b60afb829194879efb85d558b986261e6508fe29bde73981feada874438e2d442cec8ea5730c889954f9bc907 WHIRLPOOL fe465e94a35dc489a86fad93fd4a82d5c314e3a66ebf1bcf8ba29014fe9bd2ebce4546b4a6a9fedee40d17010d73eb89b99596cec1dde3b7f9a4240cf6b6760d
+DIST libevent-2.1.5-beta.tar.gz 972344 SHA256 79e1b82236a02f1432b6d95ef94186915790eb9910211647f9c01a85149066d8 SHA512 cc38885fc9c7f884085d6adb4bfa51834935475f9c24b76e1fe301b43520dd88935aea588eb4c5795942fa625a790ff575f06b709775e8424691f3307becd216 WHIRLPOOL a040e9b63933d422a7ffa75c4dd0649ae239ebd747fb733420df9f40eb48e9d6ff4d4e6f217b87655a1cbde53cba1ef03beed107d62bf8720391c1f05e010adb
diff --git a/dev-libs/libevent/libevent-2.0.22.ebuild b/dev-libs/libevent/libevent-2.0.22.ebuild
new file mode 100644
index 000000000000..5472a29f145d
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.0.22.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib-minimal
+
+MY_P="${P}-stable"
+
+DESCRIPTION="A library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="http://libevent.org/"
+SRC_URI="mirror://sourceforge/levent/files/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug +ssl static-libs test +threads"
+
+DEPEND="ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${DEPEND}
+ !<=dev-libs/9libs-1.0
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( README ChangeLog )
+
+src_prepare() {
+ elibtoolize
+
+ # don't waste time building tests/samples
+ # https://github.com/libevent/libevent/pull/143
+ # https://github.com/libevent/libevent/pull/144
+ sed -i \
+ -e 's|^\(SUBDIRS =.*\)sample test\(.*\)$|\1\2|' \
+ Makefile.in || die "sed Makefile.in failed"
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_enable debug debug-mode) \
+ $(use_enable debug malloc-replacement) \
+ $(use_enable ssl openssl) \
+ $(use_enable static-libs static) \
+ $(use_enable threads thread-support)
+}
+
+src_test() {
+ # The test suite doesn't quite work (see bug #406801 for the latest
+ # installment in a riveting series of reports).
+ :
+ # emake -C test check | tee "${T}"/tests
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libevent/libevent-2.1.5.ebuild b/dev-libs/libevent/libevent-2.1.5.ebuild
new file mode 100644
index 000000000000..182be4feb273
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.1.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib-minimal
+
+MY_P="${P}-beta"
+
+DESCRIPTION="A library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="http://libevent.org/"
+SRC_URI="mirror://sourceforge/levent/files/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug +ssl static-libs test +threads"
+
+DEPEND="ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${DEPEND}
+ !<=dev-libs/9libs-1.0
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ elibtoolize
+ # don't waste time building tests
+ # https://github.com/libevent/libevent/pull/144
+ sed -i -e '/^all:/s|tests||g' Makefile.nmake || die
+}
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_enable debug debug-mode) \
+ $(use_enable debug malloc-replacement) \
+ $(use_enable ssl openssl) \
+ $(use_enable static-libs static) \
+ $(use_enable threads thread-support)
+}
+
+src_test() {
+ # The test suite doesn't quite work (see bug #406801 for the latest
+ # installment in a riveting series of reports).
+ :
+ # emake -C test check | tee "${T}"/tests
+}
+
+DOCS=( ChangeLog{,-1.4,-2.0} )
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libevent/libevent-9999.ebuild b/dev-libs/libevent/libevent-9999.ebuild
new file mode 100644
index 000000000000..fc1817a6300c
--- /dev/null
+++ b/dev-libs/libevent/libevent-9999.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils git-r3 libtool multilib-minimal
+
+DESCRIPTION="A library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="http://libevent.org/"
+EGIT_REPO_URI="https://github.com/libevent/libevent"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug +ssl static-libs test +threads"
+
+DEPEND="ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${DEPEND}
+ !<=dev-libs/9libs-1.0
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+
+src_prepare() {
+ eautoreconf
+ # don't waste time building tests
+ # https://github.com/libevent/libevent/pull/144
+ sed -i -e '/^all:/s|tests||g' Makefile.nmake || die
+}
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_enable debug debug-mode) \
+ $(use_enable debug malloc-replacement) \
+ $(use_enable ssl openssl) \
+ $(use_enable static-libs static) \
+ $(use_enable threads thread-support)
+}
+
+src_test() {
+ # The test suite doesn't quite work (see bug #406801 for the latest
+ # installment in a riveting series of reports).
+ :
+ # emake -C test check | tee "${T}"/tests
+}
+
+DOCS=( ChangeLog{,-1.4,-2.0} )
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libevent/metadata.xml b/dev-libs/libevent/metadata.xml
new file mode 100644
index 000000000000..177908af3841
--- /dev/null
+++ b/dev-libs/libevent/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:niels_provos:libevent</remote-id>
+ </upstream>
+ <use>
+ <flag name='debug'>Support runtime debug mode and malloc hooks (for programmers)</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libevocosm/Manifest b/dev-libs/libevocosm/Manifest
new file mode 100644
index 000000000000..f1e7e3bfc396
--- /dev/null
+++ b/dev-libs/libevocosm/Manifest
@@ -0,0 +1 @@
+DIST libevocosm-3.3.1.tar.gz 414392 SHA256 a1c7380e627b688540c3dc9652dc38b132beec7afbb7b0420d30e1e605b997ba SHA512 ebb4200ac533bdb86051a8a33e5da08d677ae0aa8c2e65a9855e9465b76827c0a72f31e260ee34be62600cd22794a4e47c4471623de8d9fcb4749dcf0a37d946 WHIRLPOOL 430c4d826ff7106c7a1520f3acfa044f233a381bb9f18a292a495b9db49a4beb9888df5a5afec101b9d8a841c2ec618b213aa9830403db57f9bb95d8d2c17170
diff --git a/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch b/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch
new file mode 100644
index 000000000000..1e286a0215e6
--- /dev/null
+++ b/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch
@@ -0,0 +1,20 @@
+ https://bugs.gentoo.org/421607
+
+ evocommon.h:468:29: error: 'usleep' was not declared in this scope
+
+ libevocosm/evocommon.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/libevocosm/evocommon.h
++++ b/libevocosm/evocommon.h
+@@ -54,6 +54,10 @@
+ #undef min
+ #endif
+
++#if !defined(_MSC_VER)
++#include "unistd.h"
++#endif
++
+ namespace libevocosm
+ {
+ //! The random number generator used by Evocosm
diff --git a/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild b/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild
new file mode 100644
index 000000000000..88c634efeabe
--- /dev/null
+++ b/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A C++ framework for evolutionary computing"
+HOMEPAGE="http://www.coyotegulch.com/products/libevocosm/"
+SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/libcoyotl
+ dev-libs/libbrahe"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gcc47.patch"
+ epatch_user
+}
+
+src_configure() {
+ export ac_cv_prog_HAVE_DOXYGEN="false"
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ cd docs
+ doxygen libevocosm.doxygen || die "generating docs failed"
+ fi
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ use doc && dohtml docs/html/*
+}
diff --git a/dev-libs/libevocosm/metadata.xml b/dev-libs/libevocosm/metadata.xml
new file mode 100644
index 000000000000..8434377a6047
--- /dev/null
+++ b/dev-libs/libevocosm/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/libexecinfo/Manifest b/dev-libs/libexecinfo/Manifest
new file mode 100644
index 000000000000..0b8d6d08f00c
--- /dev/null
+++ b/dev-libs/libexecinfo/Manifest
@@ -0,0 +1 @@
+DIST libexecinfo-1.1.tar.bz2 4841 SHA256 c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f SHA512 51fea7910ef6873061a25c22434ce4da724e9d8e37616a069ad0a58c0463755be4c6c7da88cd747484c2f3373909d7be4678b32a4bd91b6d9e0f74526094e92c WHIRLPOOL a915ceb897905755ac87cbd9297f47ddd20fedf033aac89896187bacc91ead40ab655069bc1ba828396fa0d7ab1af5d5eca3aacc51240f08cb7f54607252cef0
diff --git a/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch b/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch
new file mode 100644
index 000000000000..b295cf71bfd0
--- /dev/null
+++ b/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch
@@ -0,0 +1,13 @@
+Index: libexecinfo-1.1/execinfo.c
+===================================================================
+--- libexecinfo-1.1.orig/execinfo.c
++++ libexecinfo-1.1/execinfo.c
+@@ -78,7 +78,7 @@ backtrace_symbols(void *const *buffer, i
+ rval = malloc(clen);
+ if (rval == NULL)
+ return NULL;
+- (char **)cp = &(rval[size]);
++ cp = &(rval[size]);
+ for (i = 0; i < size; i++) {
+ if (dladdr(buffer[i], &info) != 0) {
+ if (info.dli_sname == NULL)
diff --git a/dev-libs/libexecinfo/libexecinfo-1.1.ebuild b/dev-libs/libexecinfo/libexecinfo-1.1.ebuild
new file mode 100644
index 000000000000..c35eb64da08c
--- /dev/null
+++ b/dev-libs/libexecinfo/libexecinfo-1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit bsdmk freebsd multilib
+
+DESCRIPTION="A library for inspecting program's backtrace"
+HOMEPAGE="http://www.freebsdsoftware.org/devel/libexecinfo.html"
+SRC_URI="mirror://freebsd/distfiles/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="sys-freebsd/freebsd-mk-defs"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}/${P}-build.patch" )
+
+src_install() {
+ mymakeopts="${mymakeopts} LIBDIR=/usr/$(get_libdir)"
+ freebsd_src_install
+ dodoc README
+}
diff --git a/dev-libs/libexecinfo/metadata.xml b/dev-libs/libexecinfo/metadata.xml
new file mode 100644
index 000000000000..5d71e6fb3da7
--- /dev/null
+++ b/dev-libs/libexecinfo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+<longdescription lang="en">
+ This is a quick-n-dirty BSD licensed clone of backtrace facility found
+ in the GNU libc, mainly intended for porting linuxish code to BSD
+ platforms, however it can be used at any platform which has a gcc
+ compiler.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/libexplain/Manifest b/dev-libs/libexplain/Manifest
new file mode 100644
index 000000000000..844d82d604c3
--- /dev/null
+++ b/dev-libs/libexplain/Manifest
@@ -0,0 +1,2 @@
+DIST libexplain-1.3.tar.gz 4742321 SHA256 18b76bd95f9476edc627ae3a3414e364e14c7f461df0c7925919fc9bddce643a SHA512 2af805f8f51912ad2d74326df3b6e7f5423a9af68a930c8f765eb839d2348a4c8e176c81eb6c953795764d08faff97d71132e68fcfcf09242575b0eab7b53120 WHIRLPOOL 83258f5432b0eb374c808e8696c99d8b6798dc87887f18582d57d23668d976e81c2e9d0212852153b00a59ca71f3f63b8ddd110759a3e34a79868d97a98aa20a
+DIST libexplain-1.4.tar.gz 4770006 SHA256 28863b65eccc74934e237cac41364cb3c1802c36c9e2318ed0417460fee83f80 SHA512 c236732f57d0688fed173c27474a00a39c9ac6d5dfbd22f3b68b5d0fff7a70fb130bcedbeb174767f4fd2c012148025e92635cc8df2b958774a3cfba58e6ff2c WHIRLPOOL ce3131c68d57c3d867960eaf2451d5aed152276c85e0182fee70b6499ebbee29ae0fea6d1a84aaefa927c9b983677953003b1a253e54ab3fc516d2b70dc3a3c1
diff --git a/dev-libs/libexplain/files/libexplain-0.45-configure.patch b/dev-libs/libexplain/files/libexplain-0.45-configure.patch
new file mode 100644
index 000000000000..e82d05da534f
--- /dev/null
+++ b/dev-libs/libexplain/files/libexplain-0.45-configure.patch
@@ -0,0 +1,23 @@
+--- libexplain-0.45.D001.orig/configure.ac
++++ libexplain-0.45.D001/configure.ac
+@@ -26,6 +26,10 @@
+ AC_PROG_RANLIB
+ AC_PROG_YACC
+
++LT_INIT
++top_builddir=`pwd`
++AC_SUBST(top_builddir)
++
+ case "$YACC" in
+ *bison*)
+ ;;
+--- libexplain-0.45.D001.orig/Makefile.in
++++ libexplain-0.45.D001/Makefile.in
+@@ -35,6 +35,7 @@
+ #
+ # directory containing the source
+ #
++top_builddir = @top_builddir@
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+
diff --git a/dev-libs/libexplain/libexplain-1.3.ebuild b/dev-libs/libexplain/libexplain-1.3.ebuild
new file mode 100644
index 000000000000..3dbe8fd2aab3
--- /dev/null
+++ b/dev-libs/libexplain/libexplain-1.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils
+
+DESCRIPTION="Library which may be used to explain Unix and Linux system call errors"
+HOMEPAGE="http://libexplain.sourceforge.net/"
+SRC_URI="http://libexplain.sourceforge.net/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-3 LGPL-3"
+IUSE="doc static-libs"
+
+RDEPEND="
+ sys-libs/libcap
+ >=sys-libs/glibc-2.11
+ sys-process/lsof"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.35
+ app-text/ghostscript-gpl
+ sys-apps/groff
+"
+
+DOCS=( README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.45-configure.patch
+)
+
+src_prepare() {
+ # Portage incompatible test
+ sed \
+ -e '/t0524a/d' \
+ -e '/t0363a/d' \
+ -i Makefile.in || die
+
+ cp "${S}"/etc/configure.ac "${S}" || die
+
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile all-doc
+}
diff --git a/dev-libs/libexplain/libexplain-1.4.ebuild b/dev-libs/libexplain/libexplain-1.4.ebuild
new file mode 100644
index 000000000000..3fe85c83ee1a
--- /dev/null
+++ b/dev-libs/libexplain/libexplain-1.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils
+
+DESCRIPTION="Library which may be used to explain Unix and Linux system call errors"
+HOMEPAGE="http://libexplain.sourceforge.net/"
+SRC_URI="http://libexplain.sourceforge.net/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-3 LGPL-3"
+IUSE="static-libs"
+
+RDEPEND="
+ sys-libs/libcap
+ >=sys-libs/glibc-2.11
+ sys-process/lsof"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.35
+ app-text/ghostscript-gpl
+ sys-apps/groff
+"
+# Test fails with:
+# This is not a bug, but it does indicate where libexplain's ioctl support
+# could be improved.
+RESTRICT="test"
+
+DOCS=( README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.45-configure.patch
+)
+
+src_prepare() {
+ # Portage incompatible test
+ sed \
+ -e '/t0524a/d' \
+ -e '/t0363a/d' \
+ -i Makefile.in || die
+
+ cp "${S}"/etc/configure.ac "${S}" || die
+
+ autotools-utils_src_prepare
+}
diff --git a/dev-libs/libexplain/metadata.xml b/dev-libs/libexplain/metadata.xml
new file mode 100644
index 000000000000..f23b9cae1593
--- /dev/null
+++ b/dev-libs/libexplain/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>shell-tools</herd>
+</pkgmetadata>
diff --git a/dev-libs/libezV24/Manifest b/dev-libs/libezV24/Manifest
new file mode 100644
index 000000000000..3c182a1ae2d9
--- /dev/null
+++ b/dev-libs/libezV24/Manifest
@@ -0,0 +1 @@
+DIST libezV24-0.1.1.tar.gz 50515 SHA256 684afbc6c20515101c879aebd220537defe261ec080c819ebce3aea81182f606 SHA512 99b277a04354e2587567ae5f1ebc99e41d127ec94bf5de53021b94df8d731ce2f2ceacedd8b7fa29902cf98f5c4243bddaa96636e1f900f1434a3da857b0e6c5 WHIRLPOOL e175ec76181d9b6ab2e05c16a71484b944951b9742e8b05ae5b9eff3b6f2797e87aa92a258ba51721720df10f0bf200bd2666706abb8940a9fe889d02c568f8c
diff --git a/dev-libs/libezV24/files/libezV24-0.1.1-build.patch b/dev-libs/libezV24/files/libezV24-0.1.1-build.patch
new file mode 100644
index 000000000000..3550f02edf2e
--- /dev/null
+++ b/dev-libs/libezV24/files/libezV24-0.1.1-build.patch
@@ -0,0 +1,177 @@
+diff -ur libezV24-0.1.1.orig/Makefile libezV24-0.1.1/Makefile
+--- libezV24-0.1.1.orig/Makefile 2003-02-17 15:46:18.000000000 +0200
++++ libezV24-0.1.1/Makefile 2008-01-15 10:47:13.000000000 +0200
+@@ -19,68 +19,63 @@
+ # the base name of the library
+ SOBASE = ezV24
+
+-# define the destination OS (currently only linux)
+-PLATFORM=__LINUX__
+-
+-# the base path where the file should be installed to.
+-PREFIX = /usr/local
++# the base paths where the files should be installed to.
++PREFIX = /usr
++LIBDIR = $(PREFIX)/lib
++
++# an additional prefix for building RPM packages. NOTE: don't forget to add a
++# trailing slash!
++DESTDIR =
+
+ # generate the name of the output file in dependence of the development state.
+ #
+-ifeq "${RELEASE}" "DEBUG"
++ifeq ($(RELEASE),DEBUG)
+ NAME = lib$(SOBASE).so.$(SORELEASE).dbg
+ else
+ NAME = lib$(SOBASE).so.$(VERSION)
+ endif
+ SONAME = lib$(SOBASE).so.$(SORELEASE)
+-LIBNAME = lib$(SOBASE)-$(SORELEASE)_s.a
++LIBNAME = lib$(SOBASE).a
+ PLAINNAME = lib$(SOBASE).so
+
+ # basename of the project
+ PROJECTNAME = libezV24-$(VERSION).$(PATCHLEVEL)
+
+-OBJS = ezV24.o snprintf.o
++STATIC_OBJS = ezV24.o snprintf.o
++SHARED_OBJS = $(patsubst %.o,%.lo,$(STATIC_OBJS))
+ LIBS =
+
+-
+-ifeq "${RELEASE}" "DEBUG"
+-C_FLAG = -c -Wall -fPIC -D$(PLATFORM) $(INCDIR)
+-C_DEFS = -DDEBUG -DBETA
+-LFLAGS = $(LIBDIR)
++ifeq ($(RELEASE),DEBUG)
++CPPFLAGS += -DDEBUG -DBETA
+ else
+-ifeq "${RELEASE}" "BETA"
+-C_FLAG = -c -Wall -fPIC -O2 -D$(PLATFORM) $(INCDIR)
+-C_DEFS = -DBETA
+-LFLAGS = $(LIBDIR)
++ifeq ($(RELEASE),BETA)
++CPPFLAGS += -DBETA
+ else
+-C_FLAG = -c -Wall -fPIC -O2 -D$(PLATFORM) $(INCDIR)
+-C_DEFS = -DFINAL
+-LFLAGS = -s $(LIBDIR)
++CPPFLAGS += -DFINAL
+ endif
+ endif
+
++CC ?= gcc
++CPPFLAGS += -I.
++CFLAGS ?= -O2
++CFLAGS += -Wall
++
+ # tools to build the static library
+ ARFLAGS = cru
+-AR = ar
+-RANLIB = ranlib
+-
+-# concatinate the compile flags
+-CFLAGS = $(C_FLAG) $(C_DEFS)
++AR ?= ar
++RANLIB ?= ranlib
+
+-
+-
+-# ------------------------------------------------------------------------
+-# AUTOMATISCHE COMPILE-ANWEISUNGEN
+-# ------------------------------------------------------------------------
+-
+-.c.o:
+- gcc $(CFLAGS) $<
++# some distros have a messed up path when in su -
++LDCONFIG ?= /sbin/ldconfig
+
+
+ # --------------------------------------------------------------------------
+ # ANHNGIGKEITEN
+ # --------------------------------------------------------------------------
+
++%.lo: %.c
++ $(CC) -fPIC $(CFLAGS) $(CPPFLAGS) -c $< -o $@
++
+ all: shared static test-v24
+
+ shared: $(NAME)
+@@ -88,13 +83,13 @@
+ static: $(LIBNAME)
+
+
++$(NAME): $(SHARED_OBJS)
++ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LDFLAGS)
+
+-$(NAME): $(OBJS)
+- gcc -shared -W1,soname,$(SONAME) -o $(NAME) $(OBJS)
++$(LIBNAME): $(STATIC_OBJS)
++ $(AR) $(ARFLAGS) $@ $^
++ $(RANLIB) $@
+
+-$(LIBNAME): $(OBJS)
+- $(AR) $(ARFLAGS) $(LIBNAME) $(OBJS)
+- $(RANLIB) $(LIBNAME)
+
+
+ # Abhngigkeiten des Source, jedoch dann ohne Generierungsanweisung, wenn
+@@ -111,22 +106,27 @@
+ #
+
+ install:
+- install -d -m 755 $(PREFIX)/include/$(SOBASE)/;
+- install -m 644 ezV24.h $(PREFIX)/include/$(SOBASE)/
+- install -m 644 -s $(LIBNAME) $(PREFIX)/lib/$(LIBNAME)
+- install -m 755 -s $(NAME) $(PREFIX)/lib/$(NAME)
+- rm -f $(PREFIX)/lib/$(SONAME) $(PREFIX)/lib/$(PLAINNAME)
+- ln -s $(PREFIX)/lib/$(NAME) $(PREFIX)/lib/$(SONAME);\
+- ln -s $(PREFIX)/lib/$(SONAME) $(PREFIX)/lib/$(PLAINNAME);\
+- ldconfig
++ install -d -m 755 $(DESTDIR)$(PREFIX)/include/$(SOBASE)
++ install -d -m 755 $(DESTDIR)$(LIBDIR)
++ install -m 644 ezV24.h $(DESTDIR)$(PREFIX)/include/$(SOBASE)/
++ install -m 644 $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
++ install -m 755 $(NAME) $(DESTDIR)$(LIBDIR)/$(NAME)
++ rm -f $(DESTDIR)$(PREFIX)/lib/$(SONAME) $(DESTDIR)$(LIBDIR)/$(PLAINNAME)
++ ln -s $(NAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
++ ln -s $(SONAME) $(DESTDIR)$(LIBDIR)/$(PLAINNAME)
++ if [ -z $$NO_LDCONFIG ]; then \
++ $(LDCONFIG); \
++ fi
+
+ uninstall:
+ rm -f $(PREFIX)/include/ezV24/*
+ rmdir $(PREFIX)/include/ezV24
+- rm -f $(PREFIX)/lib/$(LIBNAME)
+- rm -f $(PREFIX)/lib/$(NAME)
+- rm -f $(PREFIX)/lib/$(SONAME) $(PREFIX)/lib/$(PLAINNAME)
+- ldconfig
++ rm -f $(LIBDIR)/$(LIBNAME)
++ rm -f $(LIBDIR)/$(NAME)
++ rm -f $(LIBDIR)/$(SONAME) $(LIBDIR/$(PLAINNAME)
++ if [ -z $$NO_LDCONFIG ]; then \
++ $(LDCONFIG); \
++ fi
+
+
+ # This entry is for packing a distribution tarball
+@@ -157,7 +157,7 @@
+ # gcc -o test-v24 -Wall test-v24.c -l$(SOBASE)
+ #
+ test-v24: test-v24.c ezV24.h $(LIBNAME)
+- gcc -o test-v24 -Wall test-v24.c -L./ $(LIBNAME)
++ $(CC) -o test-v24 -Wall -DUNINSTALLED test-v24.c -L./ $(LIBNAME)
+
+
+ # --------------------------------------------------------------------------
+@@ -165,7 +165,7 @@
+ # --------------------------------------------------------------------------
+
+ clean:
+- rm -f *.o core
++ rm -f *.o *.lo core
+
+ clean-all:
+ rm -f *.o core test-v24 $(NAME) $(LIBNAME)
diff --git a/dev-libs/libezV24/files/libezV24-0.1.1-test.patch b/dev-libs/libezV24/files/libezV24-0.1.1-test.patch
new file mode 100644
index 000000000000..f3c2b676546f
--- /dev/null
+++ b/dev-libs/libezV24/files/libezV24-0.1.1-test.patch
@@ -0,0 +1,20 @@
+Index: test-v24.c
+===================================================================
+RCS file: /cvsroot/ezv24/libezv24/test-v24.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -p -r1.2 -r1.3
+--- test-v24.c 11 Feb 2003 13:29:43 -0000 1.2
++++ test-v24.c 13 Oct 2003 07:50:26 -0000 1.3
+@@ -30,7 +33,11 @@
+ #include <string.h>
+ #include <signal.h>
+
++#ifdef UNINSTALLED
++#include "ezV24.h"
++#else
+ #include <ezV24/ezV24.h>
++#endif
+
+ #define __TEST_V24_C__
+
diff --git a/dev-libs/libezV24/libezV24-0.1.1.ebuild b/dev-libs/libezV24/libezV24-0.1.1.ebuild
new file mode 100644
index 000000000000..7456be7e8b21
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="library that provides an easy API to Linux serial ports"
+HOMEPAGE="http://ezv24.sourceforge.net"
+SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc sparc x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-build.patch
+ epatch "${FILESDIR}"/${P}-test.patch
+ sed -i -e 's:__LINUX__:__linux__:' *.c *.h
+}
+
+src_compile() {
+ tc-export AR CC RANLIB
+ emake || die "emake failed."
+}
+
+src_install() {
+ export NO_LDCONFIG="stupid"
+ emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" \
+ install || die "emake install failed."
+ dodoc AUTHORS BUGS ChangeLog HISTORY README
+ dohtml api-html/*
+}
diff --git a/dev-libs/libezV24/metadata.xml b/dev-libs/libezV24/metadata.xml
new file mode 100644
index 000000000000..ec886f43c9c8
--- /dev/null
+++ b/dev-libs/libezV24/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ The goal of this library is to provide an easy to use programming interface to
+ the serial ports of the Linux system. This release comes with some support for
+ the CYGWIN toolchain. Due to the great work of the cygwin folks, only minimal
+ changes are needed. I know that the cygwin-stuff of 'ezV24' isn't the final
+ stuff, but it's a first step and it works.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">ezv24</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libf2c/Manifest b/dev-libs/libf2c/Manifest
new file mode 100644
index 000000000000..a9c14b85c08e
--- /dev/null
+++ b/dev-libs/libf2c/Manifest
@@ -0,0 +1 @@
+DIST libf2c-20110801.zip 128845 SHA256 f13c01421e9668dc86c78159d87c2f802dd1f8e62037834285c7ab77200d97d5 SHA512 7a7b7b02ca2b11456aa0deba5094aebc1e9f7070d1742ad76450ec79de7eed967fbd7446524b66c52295ed911471d2dc396d171569b5d37079bdca8220fd2fb6 WHIRLPOOL 7bc8fa6c016dbb860863b39939f27f99156de017a2847764698bc0b5bbf21ff183e783991d6c5200ddba1b636e9a8bb93d560c00344db94b4e9a7b254abdafde
diff --git a/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch
new file mode 100644
index 000000000000..509726820ae5
--- /dev/null
+++ b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch
@@ -0,0 +1,14 @@
+diff -urN libf2c.orig/makefile.u libf2c/makefile.u
+--- libf2c.orig/makefile.u 2006-05-13 15:41:29.000000000 -0700
++++ libf2c/makefile.u 2006-05-13 15:42:04.000000000 -0700
+@@ -69,7 +69,9 @@
+ OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
+ $(HALF) $(CMP) $(EFL) $(CHAR) $(I77) $(TIME)
+
+-all: f2c.h signal1.h sysdep1.h libf2c.a
++all: libf2c.a
++
++$(OFILES): f2c.h signal1.h sysdep1.h
+
+ libf2c.a: $(OFILES)
+ ar r libf2c.a $?
diff --git a/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch
new file mode 100644
index 000000000000..d35e60bed0ff
--- /dev/null
+++ b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch
@@ -0,0 +1,11 @@
+--- makefile.u.orig 2008-07-07 23:27:41.000000000 -0700
++++ makefile.u 2008-07-07 23:28:39.000000000 -0700
+@@ -82,7 +82,7 @@
+ ## of "cc -shared".
+
+ libf2c.so: $(OFILES)
+- $(CC) -shared -o libf2c.so $(OFILES)
++ $(CC) -shared $(LDFLAGS) -Wl,-soname,libf2c.so.2 $(OFILES) -o libf2c.so.2 -lm
+
+ ### If your system lacks ranlib, you don't need it; see README.
+
diff --git a/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch
new file mode 100644
index 000000000000..85687c5a4208
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch
@@ -0,0 +1,57 @@
+--- libf2c2-20090411.orig/f2c.h0
++++ libf2c2-20090411/f2c.h0
+@@ -7,21 +7,35 @@
+ #ifndef F2C_INCLUDE
+ #define F2C_INCLUDE
+
++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
++typedef int integer;
++typedef unsigned int uinteger;
++#else
+ typedef long int integer;
+ typedef unsigned long int uinteger;
++#endif
+ typedef char *address;
+ typedef short int shortint;
+ typedef float real;
+ typedef double doublereal;
+ typedef struct { real r, i; } complex;
+ typedef struct { doublereal r, i; } doublecomplex;
++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
++typedef int logical;
++#else
+ typedef long int logical;
++#endif
+ typedef short int shortlogical;
+ typedef char logical1;
+ typedef char integer1;
+ #ifdef INTEGER_STAR_8 /* Adjust for integer*8. */
+-typedef long long longint; /* system-dependent */
+-typedef unsigned long long ulongint; /* system-dependent */
++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
++typedef long longint; /* system-dependent */
++typedef unsigned long ulongint; /* system-dependent */
++#else
++typedef long long longint; /* system-dependent - oh yeah*/
++typedef unsigned long long ulongint; /* system-dependent - oh yeah*/
++#endif
+ #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
+ #define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
+ #endif
+@@ -42,10 +56,16 @@
+ typedef short ftnlen;
+ typedef short ftnint;
+ #else
++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
++typedef int flag;
++typedef int ftnlen;
++typedef int ftnint;
++#else
+ typedef long int flag;
+ typedef long int ftnlen;
+ typedef long int ftnint;
+ #endif
++#endif
+
+ /*external read, write*/
+ typedef struct
diff --git a/dev-libs/libf2c/files/libf2c-20110801-format-security.patch b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch
new file mode 100644
index 000000000000..669da2d694b4
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch
@@ -0,0 +1,11 @@
+--- arithchk.c
++++ arithchk.c
+@@ -122,7 +122,7 @@
+ long Cray1;
+
+ /* Cray1 = 4617762693716115456 -- without overflow on non-Crays */
+- Cray1 = printf(emptyfmt) < 0 ? 0 : 4617762;
++ Cray1 = fputs(emptyfmt, stdout) < 0 ? 0 : 4617762;
+ if (printf(emptyfmt, Cray1) >= 0)
+ Cray1 = 1000000*Cray1 + 693716;
+ if (printf(emptyfmt, Cray1) >= 0)
diff --git a/dev-libs/libf2c/files/libf2c-20110801-main.patch b/dev-libs/libf2c/files/libf2c-20110801-main.patch
new file mode 100644
index 000000000000..36d61c5c5a4c
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20110801-main.patch
@@ -0,0 +1,40 @@
+Add weak alias for MAIN__
+
+https://bugs.gentoo.org/show_bug.cgi?id=421975
+https://bugs.gentoo.org/show_bug.cgi?id=433782
+https://groups.google.com/forum/#!msg/comp.os.linux.development.apps/41siJKfcJ78/iIcRfZ4y9G8J
+
+Patch written by Chris Reffett <creffett@gentoo.org>
+and Kacper Kowalik <xarthisius@gentoo.org>
+--- a/makefile.u
++++ b/makefile.u
+@@ -27,7 +27,7 @@
+ ## If your system does not have the x86_64-pc-linux-gnu-ld command, comment out
+ ## or remove both the x86_64-pc-linux-gnu-ld and mv lines above.
+
+-MISC = f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\
++MISC = f77vers.o i77vers.o main.o main_foo.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\
+ getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o ctype.o\
+ derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o
+ POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o
+@@ -206,7 +206,7 @@
+ i77vers.c i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c \
+ i_nint.c i_sign.c iargc_.c iio.c ilnw.c inquire.c l_ge.c l_gt.c \
+ l_le.c l_lt.c lbitbits.c lbitshft.c libf2c.lbc libf2c.sy lio.h \
+- lread.c lwrite.c main.c makefile.sy makefile.u makefile.vc \
++ lread.c lwrite.c main.c main_foo.c makefile.sy makefile.u makefile.vc \
+ makefile.wat math.hvc mkfile.plan9 open.c pow_ci.c pow_dd.c \
+ pow_di.c pow_hh.c pow_ii.c pow_qq.c pow_ri.c pow_zi.c pow_zz.c \
+ qbitbits.c qbitshft.c r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c \
+--- /dev/null
++++ b/main_foo.c
+@@ -0,0 +1,9 @@
++#include <stdio.h>
++#include <stdlib.h>
++
++void missing_MAIN__ (void)
++{
++ fprintf(stderr, "The Fortran main program is missing.\n");
++ abort();
++}
++void MAIN__ (void) __attribute__ ((weak, alias("missing_MAIN__")));
diff --git a/dev-libs/libf2c/libf2c-20110801-r4.ebuild b/dev-libs/libf2c/libf2c-20110801-r4.ebuild
new file mode 100644
index 000000000000..48f67182e7d8
--- /dev/null
+++ b/dev-libs/libf2c/libf2c-20110801-r4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Library that converts FORTRAN to C source"
+HOMEPAGE="http://www.netlib.org/f2c/"
+SRC_URI="${HOMEPAGE}/${PN}.zip -> ${P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/20051004-add-ofiles-dep.patch \
+ "${FILESDIR}"/20090407-link-shared-libf2c-correctly.patch \
+ "${FILESDIR}"/${P}-main.patch\
+ "${FILESDIR}"/${P}-64bit-long.patch \
+ "${FILESDIR}"/${P}-format-security.patch
+ sed -i -e "s/ld /$(tc-getLD) /" makefile.u || die
+}
+
+src_compile() {
+ emake \
+ -f makefile.u \
+ libf2c.so \
+ CFLAGS="${CFLAGS} -fPIC" \
+ CC="$(tc-getCC)"
+
+ # Clean up files so we can recompile without PIC for the static lib
+ if use static-libs; then
+ rm *.o || die "clean failed"
+ emake \
+ -f makefile.u \
+ all \
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)"
+ fi
+}
+
+src_install () {
+ dolib libf2c.so.2
+ dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so
+ use static-libs && dolib.a libf2c.a
+ doheader f2c.h
+ dodoc README Notice
+}
diff --git a/dev-libs/libf2c/metadata.xml b/dev-libs/libf2c/metadata.xml
new file mode 100644
index 000000000000..30770fe1c088
--- /dev/null
+++ b/dev-libs/libf2c/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ A library to conver FORTRAN 77 to C/C++ source code.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
new file mode 100644
index 000000000000..98cc0cd0b066
--- /dev/null
+++ b/dev-libs/libffi/Manifest
@@ -0,0 +1,4 @@
+DIST libffi-3.0.13.tar.gz 845747 SHA256 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c SHA512 fc47f5d25197c631754efe05a349edb556d072807ecef19b41f17c1a8f39c95221be64926fbd05b1f8439181df1ddff8fc01462ce3a26005b75159ddc27e6f6a WHIRLPOOL d5b14d48a7b35f7349ec938d0deac62db7022ac4d611ab13bc7a6a2766a47e210fc1663fc8c6d7ee48d421c06b66f558010829ac2c215620c76d0bf7650e1308
+DIST libffi-3.1.tar.gz 937214 SHA256 97feeeadca5e21870fa4433bc953d1b3af3f698d5df8a428f68b73cd60aef6eb SHA512 8994973d75facf5ad928c270e17b1a56e24d1543af75b93731a0048e747df27e4190a736b6dc2dca7d43de1d7e88891220304802c10fcccdcebee9c9ffd3d1b9 WHIRLPOOL 19c08cffd39c998fcd762b1e3767b4fd86915427226833411302bebd2d5bcf93d515e6df4a4cab11327595d3966e46442e457fbe09ae986b58bdfb2bb6adb913
+DIST libffi-3.2.1.tar.gz 940837 SHA256 d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37 SHA512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 WHIRLPOOL b9d3c86e347029fa9f03fd3813405cc731099812ad6186bd4d2ea646354383803c90912b20e1804a6b7fc12719403b3c0c3b800bdbcab564a2c93fcb4fd722ad
+DIST libffi-3.2.tar.gz 940691 SHA256 6b2680fbf6ae9c2381d381248705857de22e05bae191889298f8e6bfb2ded4ef SHA512 fed5f6eec86144608966857f54bd69a5faa43427f27bc9178ebe2c7a1cecf925c20dbd6df07a207ae469842874efcf5b99fb7e09db59cbd92ebfc0a7e1bb62b7 WHIRLPOOL db7491bc5914eb6691aa366677c63af51979453330373251b1043b53163d1b56dbed65ba23c9f5047257e476e0d216045a06faa346790987047854ae1d04361d
diff --git a/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch b/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch
new file mode 100644
index 000000000000..c27bd9bf8893
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.0.13-emutramp_pax_proc.patch
@@ -0,0 +1,37 @@
+2013-05-22 Magnus Granberg <zorry@gentoo.org>
+
+ #457194
+ * src/closuer.c (emutramp_enabled_check): Check with /proc.
+
+--- a/src/closures.c 2013-03-17 23:27:11.000000000 +0100
++++ b/src/closures.c 2013-04-29 23:26:02.279022022 +0200
+@@ -181,10 +181,26 @@ static int emutramp_enabled = -1;
+ static int
+ emutramp_enabled_check (void)
+ {
+- if (getenv ("FFI_DISABLE_EMUTRAMP") == NULL)
+- return 1;
+- else
++ char *buf = NULL;
++ size_t len = 0;
++ FILE *f;
++ int ret;
++ f = fopen ("/proc/self/status", "r");
++ if (f == NULL)
+ return 0;
++ ret = 0;
++
++ while (getline (&buf, &len, f) != -1)
++ if (!strncmp (buf, "PaX:", 4))
++ {
++ char emutramp;
++ if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
++ ret = (emutramp == 'E');
++ break;
++ }
++ free (buf);
++ fclose (f);
++ return ret;
+ }
+
+ #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
diff --git a/dev-libs/libffi/files/libffi-3.1-darwin-x32.patch b/dev-libs/libffi/files/libffi-3.1-darwin-x32.patch
new file mode 100644
index 000000000000..e5f100e56726
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.1-darwin-x32.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/show_bug.cgi?id=513428
+https://bugs.gentoo.org/show_bug.cgi?id=536764
+https://trac.macports.org/ticket/44170
+
+--- libffi-3.2.1/src/x86/win32.S
++++ libffi-3.2.1/src/x86/win32.S
+@@ -1184,7 +1184,6 @@
+
+ #if defined(X86_WIN32) && !defined(__OS2__)
+ .section .eh_frame,"w"
+-#endif
+ .Lframe1:
+ .LSCIE1:
+ .long .LECIE1-.LASCIE1 /* Length of Common Information Entry */
+@@ -1343,6 +1342,7 @@
+ /* End of DW_CFA_xxx CFI instructions. */
+ .align 4
+ .LEFDE5:
++#endif /* defined(X86_WIN32) && !defined(__OS2__), for the eh_frame */
+
+ #endif /* !_MSC_VER */
+
diff --git a/dev-libs/libffi/files/libffi-3.1-execstack.patch b/dev-libs/libffi/files/libffi-3.1-execstack.patch
new file mode 100644
index 000000000000..6884a47012d5
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.1-execstack.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/511634
+http://sourceware.org/ml/libffi-discuss/2014/msg00058.html
+
+--- src/x86/win32.S
++++ src/x86/win32.S
+@@ -1304,3 +1304,6 @@
+
+ #endif /* !_MSC_VER */
+
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
diff --git a/dev-libs/libffi/files/libffi-3.1-typing_error.patch b/dev-libs/libffi/files/libffi-3.1-typing_error.patch
new file mode 100644
index 000000000000..fc24006d5d32
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.1-typing_error.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/511752
+http://sourceware.org/ml/libffi-discuss/2014/msg00059.html
+
+--- include/ffi.h.in
++++ include/ffi.h.in
+@@ -221,7 +221,7 @@ typedef struct {
+ #endif
+ } ffi_cif;
+
+-#if HAVE_LONG_DOUBLE_VARIANT
++#if @HAVE_LONG_DOUBLE_VARIANT@
+ /* Used to adjust size/alignment of ffi types. */
+ void ffi_prep_types (ffi_abi abi);
+ # endif
diff --git a/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch b/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch
new file mode 100644
index 000000000000..0d6e0bc29007
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch
@@ -0,0 +1,20 @@
+--- src/alpha/osf.S.orig 2015-01-16 10:46:15.000000000 +0100
++++ src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100
+@@ -279,6 +279,7 @@
+ .gprel32 $load_64 # FFI_TYPE_SINT64
+ .gprel32 $load_none # FFI_TYPE_STRUCT
+ .gprel32 $load_64 # FFI_TYPE_POINTER
++ .gprel32 $load_none # FFI_TYPE_COMPLEX
+
+ /* Assert that the table above is in sync with ffi.h. */
+
+@@ -294,7 +295,8 @@
+ || FFI_TYPE_SINT64 != 12 \
+ || FFI_TYPE_STRUCT != 13 \
+ || FFI_TYPE_POINTER != 14 \
+- || FFI_TYPE_LAST != 14
++ || FFI_TYPE_COMPLEX != 15 \
++ || FFI_TYPE_LAST != 15
+ #error "osf.S out of sync with ffi.h"
+ #endif
+
diff --git a/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch b/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch
new file mode 100644
index 000000000000..92a733cbe823
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/529044
+
+deploy this workaround until newer versions of the kernel/C library/libsandbox
+are rolled out into general circulation
+
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -301,7 +301,8 @@ open_temp_exec_file_dir (const char *dir)
+ #ifdef O_TMPFILE
+ fd = open (dir, flags | O_RDWR | O_EXCL | O_TMPFILE, 0700);
+ /* If the running system does not support the O_TMPFILE flag then retry without it. */
+- if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP)) {
++ if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP &&
++ errno != EACCES)) {
+ return fd;
+ } else {
+ errno = 0;
diff --git a/dev-libs/libffi/libffi-3.0.13-r1.ebuild b/dev-libs/libffi/libffi-3.0.13-r1.ebuild
new file mode 100644
index 000000000000..44d624fb136d
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.0.13-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib toolchain-funcs multilib-minimal
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="http://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -i 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+ epatch "${FILESDIR}"/${P}-emutramp_pax_proc.patch #457194
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/${PN}$(get_libname 5)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/${PN}$(get_libname 5)
+}
diff --git a/dev-libs/libffi/libffi-3.1-r3.ebuild b/dev-libs/libffi/libffi-3.1-r3.ebuild
new file mode 100644
index 000000000000..cd8913226dfd
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.1-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="http://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-execstack.patch \
+ "${FILESDIR}"/${P}-typing_error.patch
+
+ sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+ # http://sourceware.org/ml/libffi-discuss/2014/msg00060.html
+ sed -i -e 's:@toolexeclibdir@:${libdir}:' libffi.pc.in || die #511726
+
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libffi/libffi-3.2.1.ebuild b/dev-libs/libffi/libffi-3.2.1.ebuild
new file mode 100644
index 000000000000..1237c60af043
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.2.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="http://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+ epatch "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
+ epatch "${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
+ epatch "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libffi/libffi-3.2.ebuild b/dev-libs/libffi/libffi-3.2.ebuild
new file mode 100644
index 000000000000..3b342935b35d
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="http://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+# A number of people report python ctypes errors #529044
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+
+ epatch "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
+
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libffi/metadata.xml b/dev-libs/libffi/metadata.xml
new file mode 100644
index 000000000000..691534b035d1
--- /dev/null
+++ b/dev-libs/libffi/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+ <longdescription lang="en">
+ Compilers for high level languages generate code that follow certain
+ conventions. These conventions are necessary, in part, for separate
+ compilation to work. One such convention is the "calling
+ convention". The "calling convention" is essentially a set of
+ assumptions made by the compiler about where function arguments will
+ be found on entry to a function. A "calling convention" also specifies
+ where the return value for a function is found.
+
+ Some programs may not know at the time of compilation what arguments
+ are to be passed to a function. For instance, an interpreter may be
+ told at run-time about the number and types of arguments used to call
+ a given function. Libffi can be used in such programs to provide a
+ bridge from the interpreter program to compiled code.
+
+ The libffi library provides a portable, high level programming
+ interface to various calling conventions. This allows a programmer to
+ call any function specified by a call interface description at run
+ time.
+
+ Ffi stands for Foreign Function Interface. A foreign function
+ interface is the popular name for the interface that allows code
+ written in one language to call code written in another language. The
+ libffi library really only provides the lowest, machine dependent
+ layer of a fully featured foreign function interface. A layer must
+ exist above libffi that handles type conversions for values passed
+ between the two languages.
+ </longdescription>
+ <use>
+ <flag name='pax_kernel'>Use PaX emulated trampolines, for we can't use PROT_EXEC</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libflatarray/Manifest b/dev-libs/libflatarray/Manifest
new file mode 100644
index 000000000000..9de59f0da356
--- /dev/null
+++ b/dev-libs/libflatarray/Manifest
@@ -0,0 +1 @@
+DIST libflatarray-0.1.1.tar.bz2 16866 SHA256 3287f0ab1e670f3a2c43dd42de6399a8f853453f228e45076339ec31ea68cb56 SHA512 feed796e3932fc0131634f2f83415372e8046ee137502614de5bfb5af88db2fc44afcdd995d9b2f245737d223b79fdae33ba772b154b4dac064eeed67d489542 WHIRLPOOL ab8089f8f6023c23db9edc5b3bd5b7a6b69f291d02268122bdd2b08e24285af2967ac237afa826a727b3a9cdfe1c59b34d8f77517cb7478ae343f28edc3792a4
diff --git a/dev-libs/libflatarray/libflatarray-0.1.1.ebuild b/dev-libs/libflatarray/libflatarray-0.1.1.ebuild
new file mode 100644
index 000000000000..a57b8ecc986b
--- /dev/null
+++ b/dev-libs/libflatarray/libflatarray-0.1.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils cuda
+
+SRC_URI="http://www.libgeodecomp.org/archive/${P}.tar.bz2"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DESCRIPTION="Struct of arrays library with object oriented interface for C++"
+HOMEPAGE="http://www.libgeodecomp.org/libflatarray.html"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="cuda doc"
+
+RDEPEND="
+ >=dev-libs/boost-1.48"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ cuda? ( dev-util/nvidia-cuda-toolkit )"
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_with cuda CUDA)
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ DOCS=( README )
+ cmake-utils_src_install
+}
+
+src_test() {
+ cmake-utils_src_make test
+}
diff --git a/dev-libs/libflatarray/metadata.xml b/dev-libs/libflatarray/metadata.xml
new file mode 100644
index 000000000000..48fdd5b96474
--- /dev/null
+++ b/dev-libs/libflatarray/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ LibFlatArray is a multi-dimensional C++ array class which provides
+ an object-oriented view (a.k.a. array of structs, AoS) while
+ internally storing data in a struct of arrays (SoA) manner. It
+ comes with utilities to move data to CUDA enabled GPUs.
+ </longdescription>
+ <use>
+ <flag name="cuda">
+ Enables plugins for NVIDIA GPUs (e.g. CUDAAllocator)
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libg15/Manifest b/dev-libs/libg15/Manifest
new file mode 100644
index 000000000000..130c17285a25
--- /dev/null
+++ b/dev-libs/libg15/Manifest
@@ -0,0 +1 @@
+DIST libg15-1.2.7.tar.bz2 232475 SHA256 132febe27e66fd9ee1cb7675ef2b0d99b5a404c28923494ff995012b847179d6 SHA512 ddffb38f5c3d9ce0cb90b0375c2f5d317a7bb3889fe59d56932a0889c6e15bc2f1e590757d3182eddf7c5bd3101303b332b18fbd37247c20f66e1be256aa93c0 WHIRLPOOL a3335bafffaefa5fb0af3e6a5f3ad25d66ef012395da5cfca204b5cb6ca7ca5559b4a1f90435eecbf3cf2c3c42304590476a5570288be01d6067cf0b01883405
diff --git a/dev-libs/libg15/files/g15tools.patch b/dev-libs/libg15/files/g15tools.patch
new file mode 100644
index 000000000000..960d3fea29d5
--- /dev/null
+++ b/dev-libs/libg15/files/g15tools.patch
@@ -0,0 +1,100 @@
+Patch from upstream bug tracker:
+http://sourceforge.net/tracker/?func=detail&aid=3336448&group_id=167869&atid=844658
+
+As only part of G510 support was merged to upstream. Does NOT apply & compile
+on top of 1.2.7-r1.
+
+diff -aNru trunk/libg15/libg15.c mod/libg15/libg15.c
+--- trunk/libg15/libg15.c 2011-03-31 23:33:44.000000000 +0000
++++ mod/libg15/libg15.c 2011-06-26 07:08:21.000000000 +0000
+@@ -1029,6 +1029,76 @@
+ }
+ }
+
++// Logitech G510 Media Keys implementation. Unknown if this will work for other
++// models. Using the backlight key as a modifier. The assumption is you would
++// normally not be holding down the backlight key while pressing G-keys.
++static void processKeyEvent2Byte(unsigned int *pressed_keys, unsigned char *buffer)
++{
++ // Key modifier
++ *pressed_keys |= G15_KEY_LIGHT;
++
++ // XF86AudioPlay
++ if (*pressed_keys & G15_KEY_G1)
++ *pressed_keys -= G15_KEY_G1;
++
++ // XF86AudioStop
++ if (*pressed_keys & G15_KEY_G2)
++ *pressed_keys -= G15_KEY_G2;
++
++ // XF86AudioPrev
++ if (*pressed_keys & G15_KEY_G3)
++ *pressed_keys -= G15_KEY_G3;
++
++ // XF86AudioNext
++ if (*pressed_keys & G15_KEY_G4)
++ *pressed_keys -= G15_KEY_G4;
++
++ // XF86AudioMute
++ if (*pressed_keys & G15_KEY_G5)
++ *pressed_keys -= G15_KEY_G5;
++
++ // XF86AudioRaiseVolume
++ if (*pressed_keys & G15_KEY_G6)
++ *pressed_keys -= G15_KEY_G6;
++
++ // XF86AudioLowerVolume
++ if (*pressed_keys & G15_KEY_G7)
++ *pressed_keys -= G15_KEY_G7;
++
++ g15_log(stderr,G15_LOG_WARN,"Keyboard: %x, %x\n", buffer[0], buffer[1]);
++
++ if (buffer[0] == 0x02)
++ {
++ // XF86AudioPlay
++ if (buffer[1] & 0x08)
++ *pressed_keys |= G15_KEY_G1;
++
++ // XF86AudioStop
++ if (buffer[1] & 0x04)
++ *pressed_keys |= G15_KEY_G2;
++
++ // XF86AudioPrev
++ if (buffer[1] & 0x02)
++ *pressed_keys |= G15_KEY_G3;
++
++ // XF86AudioNext
++ if (buffer[1] & 0x01)
++ *pressed_keys |= G15_KEY_G4;
++
++ // XF86AudioMute
++ if (buffer[1] & 0x16)
++ *pressed_keys |= G15_KEY_G5;
++
++ // XF86AudioRaiseVolume
++ if (buffer[1] & 0x32)
++ *pressed_keys |= G15_KEY_G6;
++
++ // XF86AudioLowerVolume
++ if (buffer[1] & 0x64)
++ *pressed_keys |= G15_KEY_G7;
++ }
++}
++
+ int getPressedKeys(unsigned int *pressed_keys, unsigned int timeout)
+ {
+ unsigned char buffer[G15_KEY_READ_LENGTH];
+@@ -1063,6 +1133,13 @@
+ case 9:
+ processKeyEvent9Byte(pressed_keys, buffer);
+ return G15_NO_ERROR;
++ case 2:
++ if (g15DeviceCapabilities() & G15_DEVICE_G510)
++ {
++ processKeyEvent2Byte(pressed_keys, buffer);
++ return G15_NO_ERROR;
++ }
++ // Deliberate fallthrough
+ default:
+ return handle_usb_errors("Keyboard Read", ret); /* allow the app to deal with errors */
+ }
diff --git a/dev-libs/libg15/libg15-1.2.7-r1.ebuild b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
new file mode 100644
index 000000000000..b190db853456
--- /dev/null
+++ b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
+HOMEPAGE="http://g15tools.sourceforge.net/"
+SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+DEPEND="=virtual/libusb-0*"
+RDEPEND=${DEPEND}
+
+DOCS=( AUTHORS README ChangeLog )
+
+src_configure() {
+ econf \
+ --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libg15/libg15-9999.ebuild b/dev-libs/libg15/libg15-9999.ebuild
new file mode 100644
index 000000000000..ac52a4322977
--- /dev/null
+++ b/dev-libs/libg15/libg15-9999.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+ESVN_PROJECT=g15tools/trunk
+ESVN_REPO_URI="https://g15tools.svn.sourceforge.net/svnroot/${ESVN_PROJECT}/${PN}"
+
+inherit subversion base eutils autotools
+
+DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
+HOMEPAGE="http://g15tools.sourceforge.net/"
+[[ $PV = *9999* ]] || SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="=virtual/libusb-0*"
+RDEPEND=${DEPEND}
+
+DOCS=( AUTHORS README ChangeLog )
+
+PATCHES=( "${FILESDIR}"/g15tools.patch )
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ subversion_src_unpack
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} = *9999* ]]; then
+ subversion_wc_info
+ fi
+ base_src_prepare
+ if [[ ${PV} = *9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libg15/metadata.xml b/dev-libs/libg15/metadata.xml
new file mode 100644
index 000000000000..968a455eb0aa
--- /dev/null
+++ b/dev-libs/libg15/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">g15tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libg15render/Manifest b/dev-libs/libg15render/Manifest
new file mode 100644
index 000000000000..55909408f5b4
--- /dev/null
+++ b/dev-libs/libg15render/Manifest
@@ -0,0 +1 @@
+DIST libg15render-1.2.tar.bz2 246034 SHA256 d22335af6a17ec44799da82671778d2072499b26c5773ab913d9ba20d159d20f SHA512 960fd6bc6159b1b12e1de3b0c07e5960d7d5056d4927be8eddf89a911e2c97a8677ef41456aa255399e8a86cd354b848fab28a47005ee2d1b6640e0c886deaac WHIRLPOOL 5074e6fc8bbc02f1b5bb25156e43d6fe4d4f7b475449b59d8bd27677ab1fa530a9ffa5fde88634d620dae6159fb935ffac24440d7ceab86713ed0860c80f4746
diff --git a/dev-libs/libg15render/files/libg15render-1.2-pixel-c.patch b/dev-libs/libg15render/files/libg15render-1.2-pixel-c.patch
new file mode 100644
index 000000000000..3f7ecc2ff7b2
--- /dev/null
+++ b/dev-libs/libg15render/files/libg15render-1.2-pixel-c.patch
@@ -0,0 +1,19 @@
+dev-libs/libg15render-1.2:
+
+ * QA Notice: Package has poor programming practices which may compile
+ * fine but exhibit random runtime failures.
+ * pixel.c:356: warning: incompatible implicit declaration of built-in function 'ceil'
+
+
+Should be fixed by including math.h:
+
+--- libg15render-1.2_old/pixel.c 2007-03-14 23:37:42.000000000 +0100
++++ libg15render-1.2/pixel.c 2007-03-14 23:36:29.000000000 +0100
+@@ -17,6 +17,7 @@
+ */
+
+ #include <fcntl.h>
++#include <math.h>
+ #include "libg15render.h"
+
+ void \ No newline at end of file
diff --git a/dev-libs/libg15render/libg15render-1.2-r2.ebuild b/dev-libs/libg15render/libg15render-1.2-r2.ebuild
new file mode 100644
index 000000000000..bc682e026ae2
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-1.2-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
+HOMEPAGE="http://g15tools.sourceforge.net/"
+SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+IUSE="truetype"
+
+RDEPEND="
+ dev-libs/libg15
+ truetype? ( media-libs/freetype )
+"
+DEPEND=${RDEPEND}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-pixel-c.patch"
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable truetype ttf )
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ docdir=/usr/share/doc/${PF} install || die "make install failed"
+ rm "${ED}/usr/share/doc/${PF}/COPYING"
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libg15render/libg15render-9999.ebuild b/dev-libs/libg15render/libg15render-9999.ebuild
new file mode 100644
index 000000000000..e56cfb86e8c0
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+ESVN_PROJECT=g15tools/trunk
+ESVN_REPO_URI="https://g15tools.svn.sourceforge.net/svnroot/${ESVN_PROJECT}/${PN}"
+
+inherit subversion base eutils autotools
+
+DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
+HOMEPAGE="http://g15tools.sourceforge.net/"
+[[ $PV = *9999* ]] || SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+
+IUSE="truetype"
+
+RDEPEND="
+ dev-libs/libg15
+ truetype? ( media-libs/freetype )
+"
+DEPEND=${RDEPEND}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ subversion_src_unpack
+ fi
+}
+
+src_prepare() {
+ # Merged upstream
+ #epatch "${FILESDIR}/${PN}-1.2-pixel-c.patch"
+
+ if [[ ${PV} = *9999* ]]; then
+ subversion_wc_info
+ fi
+ base_src_prepare
+ if [[ ${PV} = *9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable truetype ttf )
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ docdir=/usr/share/doc/${PF} install || die "make install failed"
+ rm "${ED}/usr/share/doc/${PF}/COPYING"
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libg15render/metadata.xml b/dev-libs/libg15render/metadata.xml
new file mode 100644
index 000000000000..968a455eb0aa
--- /dev/null
+++ b/dev-libs/libg15render/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">g15tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgamin/Manifest b/dev-libs/libgamin/Manifest
new file mode 100644
index 000000000000..517f85c2a6c5
--- /dev/null
+++ b/dev-libs/libgamin/Manifest
@@ -0,0 +1,5 @@
+DIST gamin-0.1.10.tar.bz2 452194 SHA256 a59948b20ce2f14136c013f155abb8c8d51db2ea167c063ff33461e453fec10a SHA512 ccdbc06eeb958ed2d888aee3fcadbadf00e9e6566802adee82035e0762ac3351ed2a2983eabe07503ddde2ddf035185c6cd98cbece2feadaaa36e8f656a38306 WHIRLPOOL 49ca0e192d8f5e28d6ffbb201b98b0f2c736554447b37c50eaa6e76e499ab77d696cf585c96c6a38f94c2589c634e694daf2e4969ffddbbb245b07b8a6e7b2d8
+DIST gamin-0.1.9-freebsd.patch.bz2 4635 SHA256 fcd1a6655d1c7cd86db6102931a4da1c22bc85f1c4692959c1a966fec5231723 SHA512 a9d9a8e4d85b289df6f87bf2b966ff262281db0d7e6094deb4f2c179f12c6cc3e387c1e1c28306a9fb54f2eb2837f9bdd3a34b2bb68db8abfdbecc7492e9730b WHIRLPOOL 462173a33e8f804b71c6991aa5925a5c9a6ee83f80b13967369c5c45721069e629c052e5daebfc3fb03bbad4d3054b523afb6e430db997581f3ff942f7da3180
+DIST libgamin-0.1.10-opensolaris.patch.bz2 16955 SHA256 9cb1bde5a34888ce4de4c4894c7d31dbfdbfb3279007b9eddf2da35510f6a9b5 SHA512 fd1cfc5a6b5ba429622f8d426cfba0e3c1c05c3677fb58c53af39b4030ae56f3f71caf63eb5ecb16169c2f7e8c79a32d7d440857c2c7fd3a259cf8312a9b2004 WHIRLPOOL 3efbf3781a55f44f383e573db4a3b3df731e9f77608d73db4ff3027eae0bda6abb6eae022c094735c0d8d2a85e224a980436d8557f9350bb1558b40d99280701
+DIST pkg-config-0.26.tar.gz 396399 SHA256 94c1936a797c930fb3e4e5a154165b6268caba22b32d24083dd4c492a533c8af SHA512 9390d5918dd4ac520b914d2330aa7cae2587ca7b21b03bc88372fd5dbbd78e33eeb3fca39fcdb6dd10113658f03118a1c8829149c7029eb0dd80348d100170a4 WHIRLPOOL f535946a02192a9bffc7be0fae454e25aa86af8bac7f47622d52ed13f77f1ba05ff9b5693b2a501981e3991e4e1595eced22dee4ab748b310baa7d57267a62a7
+DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch b/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch
new file mode 100644
index 000000000000..087312f5baae
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch
@@ -0,0 +1,67 @@
+From 2a9d32734a2e5125ae77de6c75789e1c6ee24dbe Mon Sep 17 00:00:00 2001
+From: Maciej Piechotka <uzytkownik2@gmail.com>
+Date: Tue, 13 Sep 2011 09:47:05 +0200
+Subject: [PATCH] Fix compilation of recent glib removing G_CONST_RETURN
+
+---
+ server/gam_node.c | 2 +-
+ server/gam_node.h | 2 +-
+ server/gam_subscription.c | 2 +-
+ server/gam_subscription.h | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/server/gam_node.c b/server/gam_node.c
+index 02358ba..d0302d2 100644
+--- a/server/gam_node.c
++++ b/server/gam_node.c
+@@ -122,7 +122,7 @@ gam_node_set_is_dir(GamNode * node, gboolean is_dir)
+ * it has finished with the string. If it must keep it longer, it
+ * should makes its own copy. The returned string must not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_node_get_path(GamNode * node)
+ {
+ g_assert(node);
+diff --git a/server/gam_node.h b/server/gam_node.h
+index 02c8692..83349a8 100644
+--- a/server/gam_node.h
++++ b/server/gam_node.h
+@@ -58,7 +58,7 @@ gboolean gam_node_is_dir (GamNode *node);
+ void gam_node_set_is_dir (GamNode *node,
+ gboolean is_dir);
+
+-G_CONST_RETURN char *gam_node_get_path (GamNode *node);
++const char *gam_node_get_path (GamNode *node);
+
+ GList *gam_node_get_subscriptions (GamNode *node);
+
+diff --git a/server/gam_subscription.c b/server/gam_subscription.c
+index dfa3273..4675b34 100644
+--- a/server/gam_subscription.c
++++ b/server/gam_subscription.c
+@@ -141,7 +141,7 @@ gam_subscription_pathlen(GamSubscription * sub)
+ * @param sub the GamSubscription
+ * @returns The path being monitored. It should not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_subscription_get_path(GamSubscription * sub)
+ {
+ if (sub == NULL)
+diff --git a/server/gam_subscription.h b/server/gam_subscription.h
+index d894fbe..e6b4e15 100644
+--- a/server/gam_subscription.h
++++ b/server/gam_subscription.h
+@@ -21,7 +21,7 @@ int gam_subscription_pathlen (GamSubscription *sub);
+
+ int gam_subscription_get_reqno (GamSubscription *sub);
+
+-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub);
++const char *gam_subscription_get_path (GamSubscription *sub);
+
+ GamListener *gam_subscription_get_listener (GamSubscription *sub);
+
+--
+1.7.6.1
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch b/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch
new file mode 100644
index 000000000000..fdfcbd7e6db6
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch
@@ -0,0 +1,47 @@
+From 05dcfcd69848e119c6a30d363bc41e896029f8af Mon Sep 17 00:00:00 2001
+From: Sebastian Dröge <slomo@debian.org>
+Date: Tue, 15 Dec 2009 12:24:25 +0000
+Subject: Bug 588338 - Enable linux specific features on armel
+
+---
+diff --git a/configure.in b/configure.in
+index b0bbaec..e4b684e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -176,7 +176,7 @@ fi
+
+ dnl check what OS we're on
+ #AM_CONDITIONAL(HAVE_LINUX, test x$target_os = xlinux-gnu)
+-if test x$target_os = xlinux-gnu; then
++if test x$target_os = xlinux-gnu -o x$target_os = xlinux-gnueabi; then
+ AC_DEFINE([HAVE_LINUX],[],[Whether we are using linux or not])
+ fi
+
+@@ -223,7 +223,7 @@ fi
+ dnl check if inotify backend is enabled
+ AM_CONDITIONAL(ENABLE_INOTIFY, test x$inotify = xtrue)
+
+-if test x$os = xlinux-gnu; then
++if test x$os = xlinux-gnu -o x$os = xlinux-gnueabi; then
+ AC_ARG_ENABLE(dnotify,
+ AC_HELP_STRING([--disable-dnotify], [Disable the DNotify backend]),
+ [dnotify="${enableval}"], [dnotify=true])
+@@ -297,10 +297,12 @@ else
+ fi
+
+ dnl Use weak symbols on linux/gcc to avoid imposing libpthreads to apps
+-if test x$os = xlinux-gnu -a x$WITH_THREADS = x1 ; then
+- if test "${CC}" = "gcc" ; then
+- echo Use weak symbols !
+- THREAD_LIBS=
++if test x$os = xlinux-gnu -o x$os = xlinux-gnueabi ; then
++ if test x$WITH_THREADS = x1 ; then
++ if test "${CC}" = "gcc" ; then
++ echo Use weak symbols !
++ THREAD_LIBS=
++ fi
+ fi
+ fi
+ AC_SUBST(THREAD_LIBS)
+--
+cgit v0.9.0.2
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch b/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch
new file mode 100644
index 000000000000..d3e0931391a7
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch
@@ -0,0 +1,22 @@
+--- gamin-0.1.9/lib/gam_error.h.1 2007-08-15 01:09:13.000000000 +0200
++++ gamin-0.1.9/lib/gam_error.h 2007-08-15 01:09:27.000000000 +0200
+@@ -47,6 +47,9 @@
+
+ int gam_errno(void);
+
++void gam_error_init(void);
++void gam_error_check(void);
++
+ #ifdef GAM_DEBUG_ENABLED
+
+ #ifdef GAMIN_DEBUG_API
+@@ -70,9 +73,6 @@
+ const char* format, ...);
+ #define GAM_DEBUG if (gam_debug_active) gam_debug
+
+-void gam_error_init(void);
+-void gam_error_check(void);
+-
+ #else
+ /*
+ * no debug, redefine the macro empty content
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
new file mode 100644
index 000000000000..ce3a15b5e160
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
@@ -0,0 +1,38 @@
+--- configure.in.orig 2009-04-26 23:00:43.445135823 +0300
++++ configure.in 2009-04-26 23:25:04.042489243 +0300
+@@ -389,8 +389,7 @@
+
+ AC_MSG_CHECKING(abstract socket namespace)
+ AC_LANG_PUSH(C)
+-AC_RUN_IFELSE([AC_LANG_PROGRAM(
+-[[
++AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -398,8 +397,8 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <errno.h>
+-]],
+-[[
++
++int main() {
+ int listen_fd;
+ struct sockaddr_un addr;
+
+@@ -424,9 +423,11 @@
+ }
+ else
+ exit (0);
+-]])],
+- [have_abstract_sockets=yes],
+- [have_abstract_sockets=no])
++}
++],
++have_abstract_sockets=yes,
++have_abstract_sockets=no,
++have_abstract_sockets=no)
+ AC_LANG_POP(C)
+ AC_MSG_RESULT($have_abstract_sockets)
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch b/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch
new file mode 100644
index 000000000000..9f2b2a5150bd
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch
@@ -0,0 +1,65 @@
+From cc14440eface093548cb3bc7814da11d9a99d283 Mon Sep 17 00:00:00 2001
+From: Anssi Hannula <anssi@mageia.org>
+Date: Wed, 4 Jan 2012 00:23:55 +0200
+Subject: [PATCH] fix possible server deadlock in ih_sub_cancel
+
+ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked.
+However, ih_sub_cancel() locks it again, and locking GMutex recursively
+causes undefined behaviour.
+
+Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach()
+is its only user. Also make the function static so that it won't
+accidentally get used by other files without locking (inotify-helper.h
+is an internal server header).
+
+This should fix the intermittent deadlocks I've been experiencing
+causing KDE applications to no longer start, and probably also
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361
+---
+ server/inotify-helper.c | 7 ++-----
+ server/inotify-helper.h | 1 -
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/server/inotify-helper.c b/server/inotify-helper.c
+index d77203e..0789fa4 100644
+--- a/server/inotify-helper.c
++++ b/server/inotify-helper.c
+@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub)
+
+ /**
+ * Cancels a subscription which was being monitored.
++ * inotify_lock must be held when calling.
+ */
+-gboolean
++static gboolean
+ ih_sub_cancel (ih_sub_t * sub)
+ {
+- G_LOCK(inotify_lock);
+-
+-
+ if (!sub->cancelled)
+ {
+ IH_W("cancelling %s\n", sub->pathname);
+@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub)
+ sub_list = g_list_remove (sub_list, sub);
+ }
+
+- G_UNLOCK(inotify_lock);
+ return TRUE;
+ }
+
+diff --git a/server/inotify-helper.h b/server/inotify-helper.h
+index 5d3b6d0..d36b5fd 100644
+--- a/server/inotify-helper.h
++++ b/server/inotify-helper.h
+@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb,
+ found_callback_t fcb);
+ gboolean ih_running (void);
+ gboolean ih_sub_add (ih_sub_t *sub);
+-gboolean ih_sub_cancel (ih_sub_t *sub);
+
+ /* Return FALSE from 'f' if the subscription should be cancelled */
+ void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata));
+--
+1.7.7.2
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch b/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
new file mode 100644
index 000000000000..562fc071eac7
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
@@ -0,0 +1,13 @@
+--- python/Makefile.am
++++ python/Makefile.am
+@@ -10,8 +10,9 @@
+ python_LTLIBRARIES = _gamin.la
+
+ _gamin_la_SOURCES = gamin.c
++_gamin_la_CFLAGS = -shared
+ _gamin_la_LIBADD = $(top_builddir)/libgamin/libgamin-1.la
+-_gamin_la_LDFLAGS = -module -avoid-version
++_gamin_la_LDFLAGS = -module -avoid-version -shared
+
+ python_PYTHON = gamin.py
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch b/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch
new file mode 100644
index 000000000000..1f2fcff6f5b4
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch
@@ -0,0 +1,76 @@
+From e68aacc084d65fd0780991265444061b24422bd0 Mon Sep 17 00:00:00 2001
+From: Remi Cardona <remi@gentoo.org>
+Date: Mon, 20 Oct 2008 19:17:36 +0200
+Subject: [PATCH] make libgamin_shared a "noinst" libtool helper lib
+
+---
+ lib/Makefile.am | 4 ++--
+ libgamin/Makefile.am | 15 ++-------------
+ server/Makefile.am | 2 +-
+ 3 files changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 3e2289c..af2152a 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -7,9 +7,9 @@ if GAMIN_DEBUG
+ INCLUDES += -DGAM_DEBUG_ENABLED
+ endif
+
+-lib_LIBRARIES = libgamin_shared.a
++noinst_LTLIBRARIES = libgamin_shared.la
+
+-libgamin_shared_a_SOURCES = \
++libgamin_shared_la_SOURCES = \
+ gam_event.c \
+ gam_event.h \
+ gam_error.c \
+diff --git a/libgamin/Makefile.am b/libgamin/Makefile.am
+index 35aa740..14fc06b 100644
+--- a/libgamin/Makefile.am
++++ b/libgamin/Makefile.am
+@@ -25,19 +25,9 @@ libgamin_1_la_SOURCES = \
+ gam_data.h \
+ gam_fork.c \
+ gam_fork.h \
+- gam_protocol.h \
+- gam_error.c \
+- gam_event.c
++ gam_protocol.h
+
+-gam_error.c: $(top_srcdir)/lib/gam_error.c
+- @(cp $(top_srcdir)/lib/gam_error.c gam_error.c)
+-
+-gam_event.c: $(top_srcdir)/lib/gam_event.c
+- @(cp $(top_srcdir)/lib/gam_event.c gam_event.c)
+-
+-CLEANFILES=gam_error.c gam_event.c
+-
+-libgamin_1_la_LIBADD =
++libgamin_1_la_LIBADD = $(top_builddir)/lib/libgamin_shared.la
+
+ libgamin_1_la_LDFLAGS = -Wl,--version-script=$(srcdir)/gamin_sym.version \
+ -version-info @GAMIN_VERSION_INFO@ @THREAD_LIBS@
+@@ -54,6 +44,5 @@ noinst_PROGRAMS= gamin
+
+ gamin_SOURCES = gamin.c
+ gamin_LDFLAGS =
+-gamin_DEPENDENCIES = $(DEPS) libgamin-1.la
+ gamin_LDADD= $(LDADDS) libgamin-1.la
+
+diff --git a/server/Makefile.am b/server/Makefile.am
+index 37aed8b..6aa5e02 100644
+--- a/server/Makefile.am
++++ b/server/Makefile.am
+@@ -80,7 +80,7 @@ endif
+
+ gam_server_LDFLAGS =
+ gam_server_DEPENDENCIES = $(DEPS)
+-gam_server_LDADD= $(top_builddir)/lib/libgamin_shared.a $(LDADDS) $(DAEMON_LIBS)
++gam_server_LDADD= $(top_builddir)/lib/libgamin_shared.la $(LDADDS) $(DAEMON_LIBS)
+
+ if ENABLE_HURD_MACH_NOTIFY
+ gam_server_LDADD += -lports -lthreads
+--
+1.6.0.2
+
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r4.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r4.ebuild
new file mode 100644
index 000000000000..8f3de9200274
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r4.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_DEPEND="python? 2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+GNOME_ORG_MODULE="gamin"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools eutils flag-o-matic libtool python gnome.org multilib-minimal
+
+DESCRIPTION="Library providing the FAM File Alteration Monitor API"
+HOMEPAGE="http://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ http://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="debug kernel_linux python static-libs"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="!app-admin/fam
+ !<app-admin/gamin-0.1.10"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if use python; then
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ mv -vf "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ # Fix QA warnings, bug #257281, upstream #466791
+ epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+
+ if [[ ${CHOST} != *-solaris* ]] ; then
+ # Fix compile warnings; bug #188923
+ epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
+ else
+ # (Open)Solaris necessary patches (changes configure.in), unfortunately
+ # conflicts with freebsd patch and breaks some linux installs so it must
+ # only be applied if on solaris.
+ epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
+ fi
+
+ # Fix collision problem due to intermediate library, upstream bug #530635
+ epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+
+ # Fix compilation with latest glib, bug #382783
+ epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+
+ # Fix crosscompilation issues, bug #267604
+ epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+
+ # Enable linux specific features on armel, upstream bug #588338
+ epatch "${FILESDIR}/${P}-armel-features.patch"
+
+ # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
+ epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+
+ # Drop DEPRECATED flags
+ sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
+
+ # Build only shared version of Python module.
+ epatch "${FILESDIR}"/${PN}-0.1.10-disable_python_static_library.patch
+
+ # Python bindings are built/installed manually.
+ sed -e "/SUBDIRS += python/d" -i Makefile.am
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.in || die #466962
+
+ # autoconf is required as the user-cflags patch modifies configure.in
+ # however, elibtoolize is also required, so when the above patch is
+ # removed, replace the following call with a call to elibtoolize
+ AT_M4DIR="${WORKDIR}" eautoreconf
+
+ use python && python_clean_py-compile_files
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ --disable-debug \
+ --disable-server \
+ $(use_enable kernel_linux inotify) \
+ $(use_enable debug debug-api) \
+ $(use_with python)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ python_copy_sources python
+
+ building() {
+ emake \
+ PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
+ PYTHON_VERSION="$(python_get_version)"
+ }
+ S="${BUILD_DIR}" python_execute_function -s --source-dir python building
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ installation() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
+ PYTHON_VERSION="$(python_get_version)" \
+ install
+ }
+ S="${BUILD_DIR}" python_execute_function -s --source-dir python installation
+
+ python_clean_installation_image
+ fi
+}
+
+multilib_src_instal_all() {
+ dodoc AUTHORS ChangeLog README TODO NEWS doc/*txt
+ dohtml doc/*
+
+ find "${D}" -name '*.la' -exec rm -f {} +
+}
+
+pkg_postinst() {
+ if use python; then
+ python_mod_optimize gamin.py
+ fi
+}
+
+pkg_postrm() {
+ if use python; then
+ python_mod_cleanup gamin.py
+ fi
+}
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
new file mode 100644
index 000000000000..96b32730a887
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+GNOME_ORG_MODULE="gamin"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools eutils flag-o-matic libtool python-r1 gnome.org multilib-minimal
+
+DESCRIPTION="Library providing the FAM File Alteration Monitor API"
+HOMEPAGE="http://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ http://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="debug kernel_linux python static-libs"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="!app-admin/fam
+ !<app-admin/gamin-0.1.10"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ # Fix QA warnings, bug #257281, upstream #466791
+ epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+
+ if [[ ${CHOST} != *-solaris* ]] ; then
+ # Fix compile warnings; bug #188923
+ epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
+ else
+ # (Open)Solaris necessary patches (changes configure.in), unfortunately
+ # conflicts with freebsd patch and breaks some linux installs so it must
+ # only be applied if on solaris.
+ epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
+ fi
+
+ # Fix collision problem due to intermediate library, upstream bug #530635
+ epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+
+ # Fix compilation with latest glib, bug #382783
+ epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+
+ # Fix crosscompilation issues, bug #267604
+ epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+
+ # Enable linux specific features on armel, upstream bug #588338
+ epatch "${FILESDIR}/${P}-armel-features.patch"
+
+ # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
+ epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+
+ # Drop DEPRECATED flags
+ sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
+
+ # Build only shared version of Python module.
+ epatch "${FILESDIR}"/${PN}-0.1.10-disable_python_static_library.patch
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.in || die #466962
+
+ # autoconf is required as the user-cflags patch modifies configure.in
+ # however, elibtoolize is also required, so when the above patch is
+ # removed, replace the following call with a call to elibtoolize
+ AT_M4DIR="${WORKDIR}" eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable static-libs static)
+ --disable-debug
+ --disable-server
+ $(use_enable kernel_linux inotify)
+ $(use_enable debug debug-api)
+ --without-python
+ )
+ local ECONF_SOURCE=${S}
+
+ econf "${myconf[@]}"
+ if multilib_is_native_abi && use python; then
+ python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ econf "${myconf[@]}" --with-python
+ }
+
+ python_parallel_foreach_impl python_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ local native_builddir=${BUILD_DIR}
+
+ python_compile() {
+ emake -C "${BUILD_DIR}"/python \
+ VPATH="${native_builddir}/python:${S}/python" \
+ _gamin_la_LIBADD="${native_builddir}/libgamin/libgamin-1.la"
+ }
+
+ python_foreach_impl python_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ local native_builddir=${BUILD_DIR}
+
+ python_install() {
+ emake -C "${BUILD_DIR}"/python \
+ DESTDIR="${D}" install \
+ VPATH="${native_builddir}/python:${S}/python"
+ }
+
+ python_foreach_impl python_install
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog README TODO NEWS doc/*txt
+ dohtml doc/*
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libgamin/metadata.xml b/dev-libs/libgamin/metadata.xml
new file mode 100644
index 000000000000..8c868061b739
--- /dev/null
+++ b/dev-libs/libgamin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>freedesktop</herd>
+<maintainer>
+<email>freedesktop-bugs@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libgaminggear/Manifest b/dev-libs/libgaminggear/Manifest
new file mode 100644
index 000000000000..68886a8a2a60
--- /dev/null
+++ b/dev-libs/libgaminggear/Manifest
@@ -0,0 +1 @@
+DIST libgaminggear-0.10.1.tar.bz2 101415 SHA256 1e2626a81b41b74f26ac422c19cdafe858aeb2a572e53c0b2212064e69f14254 SHA512 60f30e1b05c31fb6072f5bd74d7edcd2039fe632c18183e122625bf5f16563e77599e22fc4926e7e6c43d985b3d8840ba9e5cc16b6cb8fb0986c9d49244b3e7c WHIRLPOOL 75e4759d0a2895f7bec0c17a490fbd2c2880fb575e8cdea116d229bab51e747db158c3a90bfb111bebf74bf650438b4c97463ea890592b3984eb77b934dc511e
diff --git a/dev-libs/libgaminggear/files/libgaminggear-0.10.0-doc.patch b/dev-libs/libgaminggear/files/libgaminggear-0.10.0-doc.patch
new file mode 100644
index 000000000000..853684e2b097
--- /dev/null
+++ b/dev-libs/libgaminggear/files/libgaminggear-0.10.0-doc.patch
@@ -0,0 +1,15 @@
+Set install of the docs to DOCDIR
+--- libgaminggear-0.10.0.orig/include/gaminggear/CMakeLists.txt 2015-06-28 12:46:22.615985840 +0100
++++ libgaminggear-0.10.0/include/gaminggear/CMakeLists.txt 2015-06-28 13:01:35.511970664 +0100
+@@ -14,10 +14,10 @@ IF(WITH_DOC)
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/html/index.html
+ )
+-
++
+ INSTALL(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+- DESTINATION share/doc/libgaminggear
++ DESTINATION ${DOCDIR}
+ )
+ ENDIF()
diff --git a/dev-libs/libgaminggear/libgaminggear-0.10.1.ebuild b/dev-libs/libgaminggear/libgaminggear-0.10.1.ebuild
new file mode 100644
index 000000000000..e2cdc0d9913b
--- /dev/null
+++ b/dev-libs/libgaminggear/libgaminggear-0.10.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils gnome2-utils
+
+DESCRIPTION="Provides functionality for gaming input devices"
+
+HOMEPAGE="http://sourceforge.net/projects/libgaminggear/"
+SRC_URI="mirror://sourceforge/libgaminggear/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ x11-libs/gtk+:2
+ x11-libs/libnotify
+ media-libs/libcanberra
+ virtual/libusb:1
+ dev-libs/dbus-glib
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.10.0-doc.patch
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
+ -DDOCDIR=share/doc/${PF}
+ $(cmake-utils_use_with doc DOC)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/dev-libs/libgaminggear/metadata.xml b/dev-libs/libgaminggear/metadata.xml
new file mode 100644
index 000000000000..42ec8f86d101
--- /dev/null
+++ b/dev-libs/libgaminggear/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>dpisklov@gmail.com</email>
+ <name>Dmitry Pisklov</name>
+ <description>Proxy maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libgaminggear</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
new file mode 100644
index 000000000000..536d9dca6832
--- /dev/null
+++ b/dev-libs/libgcrypt/Manifest
@@ -0,0 +1,2 @@
+DIST libgcrypt-1.5.4.tar.bz2 1512982 SHA256 d5f88d9f41a46953dc250cdb8575129b37ee2208401b7fa338c897f667c7fb33 SHA512 fe7e1d07eb10ee4ea8054bc955c35dc4b2109db645a08a6fa7757bf1e77a612e03c0838f9766086f04270b3621f34ccae0d6333f117cff204ccad9018c8a7908 WHIRLPOOL 221082d028a90235a3ddcc774b1772a8b8daec989a24b341491849e653e2ecb5cb0e3c8989a3f426524e39b28ebbe1b48532d5d9de7c54f4bdc19b450e22e4dc
+DIST libgcrypt-1.6.3.tar.bz2 2494052 SHA256 41b4917b93ae34c6a0e2127378d7a4d66d805a2a86a09911d4f9bd871db7025f SHA512 09a84fcc4d3d755df21f46302a549af4ba788d829ff7fa0cf65eeec033bc3744503f8fe3f4be55a51cc17b1b1b487736c328d7d7bc909f13139600236298c549 WHIRLPOOL dd331afed5c8116df8a55742a7b559791c554a97c32983d64ab196a6d47c2d6bd7e15f8a63dda43947961bb269963185b98927ff0695c3f6d3b939face41e450
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch b/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch
new file mode 100644
index 000000000000..1d4f650b6c7a
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch
@@ -0,0 +1,33 @@
+The version taken from GnuPG 1.4 assumes any cross-compiled package have
+prefixed underscores, which is not the case; by using libtool's own macro,
+we can avoid the whole issue.
+
+diff --git a/configure.ac b/configure.ac
+index ab160c3..6df49bf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -886,7 +886,7 @@ fi
+ #
+ # Setup assembler stuff.
+ #
+-GNUPG_SYS_SYMBOL_UNDERSCORE()
++LT_SYS_SYMBOL_USCORE
+ AC_ARG_ENABLE(mpi-path,
+ AC_HELP_STRING([--enable-mpi-path=EXTRA_PATH],
+ [prepend EXTRA_PATH to list of CPU specific optimizations]),
+diff --git a/mpi/config.links b/mpi/config.links
+index 7e910ee..9696828 100644
+--- a/mpi/config.links
++++ b/mpi/config.links
+@@ -291,7 +291,7 @@ fi
+
+ # Make sysdep.h
+ echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
+-if test x$ac_cv_sys_symbol_underscore = xyes; then
++if test x$sys_symbol_underscore = xyes; then
+ cat <<EOF >>./mpi/sysdep.h
+ #if __STDC__
+ #define C_SYMBOL_NAME(name) _##name
+--
+1.7.6.1
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch b/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch
new file mode 100644
index 000000000000..ab5d844552af
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch
@@ -0,0 +1,84 @@
+fix from upstream
+
+From e67c67321ce240c93dd0fa2b21c649c0a8e233f7 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Tue, 22 Oct 2013 17:07:53 +0300
+Subject: [PATCH] mpi: allow building with clang on ARM
+
+* mpi/longlong.h [__arm__] (add_ssaaaa, sub_ddmmss, umul_ppmm)
+(count_leading_zeros): Do not cast assembly output arguments.
+[__arm__] (umul_ppmm): Remove the extra '%' ahead of assembly comment.
+[_ARM_ARCH >= 4] (umul_ppmm): Use correct inputs and outputs instead of
+registers.
+--
+
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ mpi/longlong.h | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+diff --git a/mpi/longlong.h b/mpi/longlong.h
+index c2ab9c5..8c8260e 100644
+--- a/mpi/longlong.h
++++ b/mpi/longlong.h
+@@ -188,8 +188,8 @@ extern UDItype __udiv_qrnnd ();
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("adds %1, %4, %5\n" \
+ "adc %0, %2, %3" \
+- : "=r" ((USItype)(sh)), \
+- "=&r" ((USItype)(sl)) \
++ : "=r" ((sh)), \
++ "=&r" ((sl)) \
+ : "%r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "%r" ((USItype)(al)), \
+@@ -197,15 +197,15 @@ extern UDItype __udiv_qrnnd ();
+ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subs %1, %4, %5\n" \
+ "sbc %0, %2, %3" \
+- : "=r" ((USItype)(sh)), \
+- "=&r" ((USItype)(sl)) \
++ : "=r" ((sh)), \
++ "=&r" ((sl)) \
+ : "r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)))
+ #if defined __ARM_ARCH_2__ || defined __ARM_ARCH_3__
+ #define umul_ppmm(xh, xl, a, b) \
+- __asm__ ("%@ Inlined umul_ppmm\n" \
++ __asm__ ("@ Inlined umul_ppmm\n" \
+ "mov %|r0, %2, lsr #16 @ AAAA\n" \
+ "mov %|r2, %3, lsr #16 @ BBBB\n" \
+ "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
+@@ -218,20 +218,19 @@ extern UDItype __udiv_qrnnd ();
+ "addcs %|r2, %|r2, #65536\n" \
+ "adds %1, %|r1, %|r0, lsl #16\n" \
+ "adc %0, %|r2, %|r0, lsr #16" \
+- : "=&r" ((USItype)(xh)), \
+- "=r" ((USItype)(xl)) \
++ : "=&r" ((xh)), \
++ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+ "r" ((USItype)(b)) \
+ : "r0", "r1", "r2")
+ #else
+ #define umul_ppmm(xh, xl, a, b) \
+- __asm__ ("%@ Inlined umul_ppmm\n" \
+- "umull %r1, %r0, %r2, %r3" \
+- : "=&r" ((USItype)(xh)), \
+- "=r" ((USItype)(xl)) \
++ __asm__ ("@ Inlined umul_ppmm\n" \
++ "umull %1, %0, %2, %3" \
++ : "=&r" ((xh)), \
++ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+- "r" ((USItype)(b)) \
+- : "r0", "r1")
++ "r" ((USItype)(b)))
+ #endif
+ #define UMUL_TIME 20
+ #define UDIV_TIME 100
+--
+2.4.4
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch b/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
new file mode 100644
index 000000000000..22bfac3104bc
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
@@ -0,0 +1,26 @@
+The version taken from GnuPG 1.4 assumes any cross-compiled package have
+prefixed underscores, which is not the case; by using libtool's own macro,
+we can avoid the whole issue.
+
+--- libgcrypt-1.6.1/configure.ac
++++ libgcrypt-1.6.1/configure.ac
+@@ -1022,7 +1022,7 @@
+ # Check whether underscores in symbols are required. This needs to be
+ # done before setting up the assembler stuff.
+ #
+-GNUPG_SYS_SYMBOL_UNDERSCORE()
++LT_SYS_SYMBOL_USCORE
+
+
+ #################################
+--- libgcrypt-1.6.1/mpi/config.links
++++ libgcrypt-1.6.1/mpi/config.links
+@@ -362,7 +362,7 @@
+
+ # Make sysdep.h
+ echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
+-if test x$ac_cv_sys_symbol_underscore = xyes; then
++if test x$sys_symbol_underscore = xyes; then
+ cat <<EOF >>./mpi/sysdep.h
+ #if __STDC__
+ #define C_SYMBOL_NAME(name) _##name
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.6.3-freebsd-mpi.patch b/dev-libs/libgcrypt/files/libgcrypt-1.6.3-freebsd-mpi.patch
new file mode 100644
index 000000000000..121caca56cbb
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.6.3-freebsd-mpi.patch
@@ -0,0 +1,49 @@
+From a36ee7501f68ad7ebcfe31f9659430b9d2c3ddd1 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Thu, 11 Jun 2015 16:19:49 +0900
+Subject: [PATCH 1/1] mpi: Support FreeBSD 10 or later.
+
+* mpi/config.links: Include FreeBSD 10 to 29.
+
+--
+
+Thanks to Yuta SATOH.
+
+GnuPG-bug-id: 1936, 1974
+---
+ mpi/config.links | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/mpi/config.links b/mpi/config.links
+index 2fb5e8a..3ead4f0 100644
+--- a/mpi/config.links
++++ b/mpi/config.links
+@@ -50,11 +50,12 @@ case "${host}" in
+ path=""
+ mpi_cpu_arch="x86"
+ ;;
+- i[3467]86*-*-openbsd* | \
+- i[3467]86*-*-freebsd*-elf | \
+- i[3467]86*-*-freebsd[3-9]* | \
+- i[3467]86*-*-freebsdelf* | \
+- i[3467]86*-*-netbsd* | \
++ i[3467]86*-*-openbsd* | \
++ i[3467]86*-*-freebsd*-elf | \
++ i[3467]86*-*-freebsd[3-9]* | \
++ i[3467]86*-*-freebsd[12][0-9]*| \
++ i[3467]86*-*-freebsdelf* | \
++ i[3467]86*-*-netbsd* | \
+ i[3467]86*-*-k*bsd*)
+ echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
+ cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
+@@ -64,6 +65,7 @@ case "${host}" in
+ i586*-*-openbsd* | \
+ i586*-*-freebsd*-elf | \
+ i586*-*-freebsd[3-9]* | \
++ i586*-*-freebsd[12][0-9]*| \
+ i586*-*-freebsdelf* | \
+ i586*-*-netbsd* | \
+ i586*-*-k*bsd* | \
+--
+2.1.4
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch b/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch
new file mode 100644
index 000000000000..7859851ccc4a
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch
@@ -0,0 +1,23 @@
+diff --git a/src/libgcrypt-config.in b/src/libgcrypt-config.in
+index c052638..4c8ddc3 100644
+--- a/src/libgcrypt-config.in
++++ b/src/libgcrypt-config.in
+@@ -154,9 +154,12 @@ if test "$echo_libs" = "yes"; then
+ libs_final="$libs"
+
+ # Set up `libdirs'.
+- if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then
+- libdirs="-L$libdir"
+- fi
++ case "$libdir" in
++ /usr/lib|/usr/lib64|/lib|/lib64) ;;
++ *)
++ libdirs="-L$libdir"
++ ;;
++ esac
+
+ # Set up `libs_final'.
+ libs_final="$libs_final $gpg_error_libs"
+--
+1.7.6.1
+
diff --git a/dev-libs/libgcrypt/libgcrypt-1.5.4-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.5.4-r1.ebuild
new file mode 100644
index 000000000000..fe222f997a19
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.5.4-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-multilib
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/11" # subslot = soname major version
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
+ !dev-libs/libgcrypt:11
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.0-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${P}-clang-arm.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+src_configure() {
+ local myeconfargs=(
+ --disable-padlock-support # bug 201917
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ # causes bus-errors on sparc64-solaris
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+ )
+ autotools-multilib_src_configure
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.5.4-r100.ebuild b/dev-libs/libgcrypt/libgcrypt-1.5.4-r100.ebuild
new file mode 100644
index 000000000000..a0aad0c9e4b7
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.5.4-r100.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-multilib
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="11/11" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
+ !dev-libs/libgcrypt:0/11
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.0-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${P}-clang-arm.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ --disable-padlock-support # bug 201917
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ # causes bus-errors on sparc64-solaris
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+ )
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ rm -r "${ED%/}"/usr/{bin,include,lib*/*.so,share} || die
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.5.4.ebuild b/dev-libs/libgcrypt/libgcrypt-1.5.4.ebuild
new file mode 100644
index 000000000000..ba7b57329c1c
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.5.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/11" # subslot = soname major version
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.0-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${P}-clang-arm.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ --disable-padlock-support # bug 201917
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ # causes bus-errors on sparc64-solaris
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.6.3-r3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.6.3-r3.ebuild
new file mode 100644
index 000000000000..6f5f5b5c5dfb
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.6.3-r3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+WANT_AUTOMAKE=1.14
+
+inherit autotools-multilib flag-o-matic
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}
+ doc? ( sys-apps/texinfo )"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${P}-freebsd-mpi.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+multilib_src_configure() {
+ if [[ ${CHOST} == *86*-solaris* ]] ; then
+ # ASM code uses GNU ELF syntax, divide in particular, we need to
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+ local myeconfargs=(
+ --disable-padlock-support # bug 201917
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ # causes bus-errors on sparc64-solaris
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_compile() {
+ emake
+ multilib_is_native_abi && use doc && emake -C doc gcrypt.pdf
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
diff --git a/dev-libs/libgcrypt/metadata.xml b/dev-libs/libgcrypt/metadata.xml
new file mode 100644
index 000000000000..23cc02d7aad4
--- /dev/null
+++ b/dev-libs/libgcrypt/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd restrict="dev-libs/libgcrypt:0">crypto</herd>
+ <maintainer restrict="dev-libs/libgcrypt:11">
+ <email>multilib@gentoo.org</email>
+ <name>gx86-multilib project</name>
+ <description>Maintaining the binary compatibility slot.</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libgdata/Manifest b/dev-libs/libgdata/Manifest
new file mode 100644
index 000000000000..2ddf6df4f4f4
--- /dev/null
+++ b/dev-libs/libgdata/Manifest
@@ -0,0 +1,3 @@
+DIST libgdata-0.16.1.tar.xz 1551960 SHA256 8740e071ecb2ae0d2a4b9f180d2ae5fdf9dc4c41e7ff9dc7e057f62442800827 SHA512 81fd252e24ba0068b401e3de61b4a23575dae0790f4caf646e56a57aab815a70a207b2492efa4213f51ac1d7c752d4ec0c1c9a35d7109f6a63668af05e142039 WHIRLPOOL 892a7823a85bc771b502f7b564156eaede676c3e2cf7406e9b808a3f4fbfa6e9be1ad1ec1cb79ca1b42dc0bf54f6d46560e2a863e8861f186802a91f91de2d4d
+DIST libgdata-0.17.1.tar.xz 1600164 SHA256 5ef1c0f246f60812c43e3a7d077442afc872913a03f3a5eb789698dc2319bd95 SHA512 3fc6c074d413fba76e6e67fa3f4b14881fe9208d7a16c3038353f0a245cadf06bc25d0d7af381b88da965b327e6da9220386c1333942c33f6e4e9d9c2ec82668 WHIRLPOOL 0f9adc9a67edfb2dc0893d90bdf61a51e80e2f95bd4b122d1ba9238c1333fcbda6cf3a2bb32a6274655d318dea95d7dbd7853f86fbd71aea563c16ba74d52a1d
+DIST libgdata-0.17.2.tar.xz 1522224 SHA256 9b9b4f68bef86ee2926ea14f182baf7ddaa6717dd138b5ff670f07d126176fe0 SHA512 e1435a074da1a5f573c0e63f6c3117f0f33cf78929780e26fe60769a6385321808783d7363203e9f9f6ba7529a2214af579e3a4fa2307eab224dc5af77ca7fe6 WHIRLPOOL bbbc6f29fbc33a057702df205aef5f09c21ec789cc9c610a1957b92cdc3cd13703c760e493f2b023ee787662432cd24f997cb6d9179cd6abc40c3204fe651aca
diff --git a/dev-libs/libgdata/libgdata-0.16.1.ebuild b/dev-libs/libgdata/libgdata-0.16.1.ebuild
new file mode 100644
index 000000000000..ee5232f4dc70
--- /dev/null
+++ b/dev-libs/libgdata/libgdata-0.16.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+VALA_MIN_API_VERSION="0.20"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/19" # subslot = libgdata soname version
+IUSE="gnome +introspection static-libs test vala"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+REQUIRED_IUSE="vala? ( introspection )"
+
+# gtk+ is needed for gdk
+# configure checks for gtk:3, but only uses it for demos which are not installed
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/json-glib-0.15
+ >=dev-libs/libxml2-2:2
+ >=net-libs/liboauth-0.9.4
+ >=net-libs/libsoup-2.42.0:2.4[introspection?]
+ >=x11-libs/gdk-pixbuf-2.14:2
+ gnome? (
+ app-crypt/gcr:=
+ >=net-libs/gnome-online-accounts-3.8 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.7 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.40
+ >=gnome-base/gnome-common-3.6
+ virtual/pkgconfig
+ test? ( net-libs/uhttpmock )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ # Disable tests requiring network access, bug #307725
+ sed -e '/^TEST_PROGS = / s:\(.*\):TEST_PROGS = general perf calendar client-login-authorizer contacts documents oauth1-authorizer picasaweb youtube \nOLD_\1:' \
+ -i gdata/tests/Makefile.in || die "network test disable failed"
+
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README"
+ gnome2_src_configure \
+ $(use_enable gnome) \
+ $(use_enable gnome goa) \
+ $(use_enable introspection) \
+ $(use_enable vala) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+src_test() {
+ unset ORBIT_SOCKETDIR
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GSETTINGS_BACKEND="memory" #486412
+ dbus-launch emake check
+}
diff --git a/dev-libs/libgdata/libgdata-0.17.1.ebuild b/dev-libs/libgdata/libgdata-0.17.1.ebuild
new file mode 100644
index 000000000000..6a722b4b4ce2
--- /dev/null
+++ b/dev-libs/libgdata/libgdata-0.17.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+VALA_MIN_API_VERSION="0.20"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/22" # subslot = libgdata soname version
+IUSE="gnome +introspection static-libs test vala"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+REQUIRED_IUSE="vala? ( introspection )"
+
+# gtk+ is needed for gdk
+# configure checks for gtk:3, but only uses it for demos which are not installed
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/json-glib-0.15
+ >=dev-libs/libxml2-2:2
+ >=net-libs/liboauth-0.9.4
+ >=net-libs/libsoup-2.42.0:2.4[introspection?]
+ >=x11-libs/gdk-pixbuf-2.14:2
+ gnome? (
+ app-crypt/gcr:=
+ >=net-libs/gnome-online-accounts-3.8 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.7 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.40
+ >=gnome-base/gnome-common-3.6
+ virtual/pkgconfig
+ test? ( net-libs/uhttpmock )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README"
+ gnome2_src_configure \
+ $(use_enable gnome) \
+ $(use_enable gnome goa) \
+ $(use_enable introspection) \
+ $(use_enable vala) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+src_test() {
+ unset ORBIT_SOCKETDIR
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GSETTINGS_BACKEND="memory" #486412
+ dbus-launch emake check
+}
diff --git a/dev-libs/libgdata/libgdata-0.17.2.ebuild b/dev-libs/libgdata/libgdata-0.17.2.ebuild
new file mode 100644
index 000000000000..3df650fc7903
--- /dev/null
+++ b/dev-libs/libgdata/libgdata-0.17.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/22" # subslot = libgdata soname version
+IUSE="gnome +introspection static-libs test vala"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+REQUIRED_IUSE="vala? ( introspection )"
+
+# gtk+ is needed for gdk
+# configure checks for gtk:3, but only uses it for demos which are not installed
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/json-glib-0.15
+ >=dev-libs/libxml2-2:2
+ >=net-libs/liboauth-0.9.4
+ >=net-libs/libsoup-2.42.0:2.4[introspection?]
+ >=x11-libs/gdk-pixbuf-2.14:2
+ gnome? (
+ app-crypt/gcr:=
+ >=net-libs/gnome-online-accounts-3.8 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.7:= )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+ test? ( >=net-libs/uhttpmock-0.5 )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README"
+ gnome2_src_configure \
+ $(use_enable gnome) \
+ $(use_enable gnome goa) \
+ $(use_enable introspection) \
+ $(use_enable vala) \
+ $(use_enable static-libs static) \
+ $(use_enable test always-build-tests)
+}
+
+src_test() {
+ unset ORBIT_SOCKETDIR
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GSETTINGS_BACKEND="memory" #486412
+ dbus-launch emake check
+}
diff --git a/dev-libs/libgdata/metadata.xml b/dev-libs/libgdata/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/libgdata/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libgee/Manifest b/dev-libs/libgee/Manifest
new file mode 100644
index 000000000000..cd3670b2c95d
--- /dev/null
+++ b/dev-libs/libgee/Manifest
@@ -0,0 +1,5 @@
+DIST libgee-0.14.0.tar.xz 641732 SHA256 08e466d3f214c9466860b5a82629de0de9eb89b1de7bd918fe154e569b5834cd SHA512 80e7074fd9a5dfc9431d7d624a6121388e12e430ac539376973452e15eab143017541a2ad9fa312e813de313a2ea1a734a96418fa8a1e37da8ddbcf82e2c1df4 WHIRLPOOL 536835a82e9facdbe3e9bbf4e10ba3175ad7cdd78f59550de9607ed7db515a516ca7914d5ee6b855b75454085bd23c89edc0b690666e8309f36e6aa07ce8ee67
+DIST libgee-0.16.1.tar.xz 667024 SHA256 d95f8ea8e78f843c71b1958fa2fb445e4a325e4821ec23d0d5108d8170e564a5 SHA512 610c0e6001a4f5cc7d16bd61956cc347aafa7f1402838d7735bbf049e6448ff6e62fe8546665452e21dec4fc9fcb97d0de209c69e6bda2fa67ae6ea66c00f11f WHIRLPOOL fae835fbccb3da1b3728a981397e2fc69635b52c896fe6a1250627e1f30ecf5de1235f742a17ecd58bf04e77eace7bafc34e5b2c4c9499a8c5c30e6299af84ce
+DIST libgee-0.18.0.tar.xz 662296 SHA256 4ad99ef937d071b4883c061df40bfe233f7649d50c354cf81235f180b4244399 SHA512 f3a6d7b6c07c9aabcfbe07116827395da962784e44216a8ea8f752b732e540339eb8c6af58beb9a77d4ecdecd1e09d4990d9aca7f04e9d6a510c8f9a6a79d1fc WHIRLPOOL 706d33a8c64ccbdc814b19714d930e0e32d304b9e672178ac692364e0d7eaffc83d63ad4b17f4370a606839c69cbcc9dbeceb84399d9f1c61f58c53811e95325
+DIST libgee-0.6.7.tar.xz 505040 SHA256 b512bf1785fbbb6a264be5fac325c42d4e96cc560b22e3f19ea5b01b1414106d SHA512 f80221b7400de05f966e096f6147dffc3d64e67ae68723f1a56b04c6775aaa380d9694c61e84aca7317d6d72c577297d7e25af8a590c5bd87b121b6818b61968 WHIRLPOOL 1a979f94c6896e852a64075a59081671d952b1068081014ef9321680490015030c6dbf43d5f7e55f0e5e012f2e77c84e18ffc47d2b13967467fcf3d3e42b3682
+DIST libgee-0.6.8.tar.xz 443060 SHA256 a61f8d796173d41f6144a030d4bd22461f0bb3fa18a3ebe02341b315feebf5d3 SHA512 b26d36ee9fc0c5c214521ad97bc20f11f1191a3dab72a5f1af2f6435f51ff2f28e81ccb26fac399939c1a7eaad519db98032d3bc593a4052463acd91bb12902a WHIRLPOOL 4c96a3e1dc1c34ca6b23b5b34fae7420ff9215ad07618a9b818d70b12697cac430cee95ab7bd175b4f96fbae99fcd4e1fca8da7f55064962b2cb61c641d22bb2
diff --git a/dev-libs/libgee/libgee-0.14.0.ebuild b/dev-libs/libgee/libgee-0.14.0.ebuild
new file mode 100644
index 000000000000..da595b70e12b
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.14.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.8"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+# FIXME: add doc support, requires valadoc
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ $(use_enable introspection)
+ VALAC="$(type -P false)"
+}
diff --git a/dev-libs/libgee/libgee-0.16.1.ebuild b/dev-libs/libgee/libgee-0.16.1.ebuild
new file mode 100644
index 000000000000..20a6e47d8fbc
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.16.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.8/2"
+KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 ~sh ~sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+# FIXME: add doc support, requires valadoc
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ $(use_enable introspection)
+ VALAC="$(type -P false)"
+}
diff --git a/dev-libs/libgee/libgee-0.18.0.ebuild b/dev-libs/libgee/libgee-0.18.0.ebuild
new file mode 100644
index 000000000000..c8dd612fa17e
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.18.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.8/2"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+# FIXME: add doc support, requires valadoc
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ $(use_enable introspection)
+ VALAC="$(type -P false)"
+}
diff --git a/dev-libs/libgee/libgee-0.6.7.ebuild b/dev-libs/libgee/libgee-0.6.7.ebuild
new file mode 100644
index 000000000000..f54d88c07850
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.6.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://live.gnome.org/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sh sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+RDEPEND=">=dev-libs/glib-2.12:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
+ G2CONF+=" $(use_enable introspection)"
+ gnome2_src_prepare
+}
diff --git a/dev-libs/libgee/libgee-0.6.8.ebuild b/dev-libs/libgee/libgee-0.6.8.ebuild
new file mode 100644
index 000000000000..774006cab447
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.6.8.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://live.gnome.org/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+RDEPEND=">=dev-libs/glib-2.12:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
+ gnome2_src_configure $(use_enable introspection)
+}
diff --git a/dev-libs/libgee/metadata.xml b/dev-libs/libgee/metadata.xml
new file mode 100644
index 000000000000..8f409b1b5785
--- /dev/null
+++ b/dev-libs/libgee/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription lang="en">
+libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/libgit2-glib/Manifest b/dev-libs/libgit2-glib/Manifest
new file mode 100644
index 000000000000..dd3330745601
--- /dev/null
+++ b/dev-libs/libgit2-glib/Manifest
@@ -0,0 +1,5 @@
+DIST libgit2-glib-0.0.12.tar.xz 396768 SHA256 193125b314f588894b769058be28101fb0b2bec345520ca6398ee4e8b7319762 SHA512 b3299a20a1a24243604f33dff1e9df0ac0c244049d99e6ec29e9ae405e4370ff229b4b8186593347515930fd483a2b78dcb041d33749076f9dc9778d3674da06 WHIRLPOOL 41adce53f6b08172bcb9940f21141665fbcde04962ede9f68f1797cceeca8c68f156c5668d5a84f392a92ef57f2bc45a9e8b706cd2df98ec0e352ec66463b9cd
+DIST libgit2-glib-0.0.16.tar.xz 396212 SHA256 36fa374e2c01b42aab885c91f9a0da184a21fa06c9e3a273a3d4f593c083627e SHA512 1fcdec0dea0a5ba580e49ebc9805765adbeb827292f9a2686f8289dc98604a332bb4e553f4c74927020352f15eb3e0589c211c4b96d524167dc447268a382194 WHIRLPOOL 236286633c9aec5bcaeaa762e07ea4615081fb610dcf712bea48943aa34cd17ba371c5ec77cf3906ca16c83efe1d710feec486c7fc7c4743a82d1128fd21437e
+DIST libgit2-glib-0.0.24.tar.xz 422768 SHA256 8a0a6f65d86f2c8cb9bcb20c5e0ea6fd02271399292a71fc7e6852f13adbbdb8 SHA512 4500abd0e478293a86db1cd82536c6cc818b500b4784b03c168a2827509586d1f3670767e6e410e7e52e827e4e3c6086a538398287cbf1a274dce45edb72874d WHIRLPOOL dbecc4d146ab6f7c4f6bcb919ccda1e1cb5acca5b580cf6dd86c9a989b5a35e56222eab7d70832957a1c87a43e032f2a295869cf01264a10cf5459682e05baad
+DIST libgit2-glib-0.22.0.tar.xz 428776 SHA256 8ae19e1dd2a6b37dd81843182d96dc5f8d439013c26658670a08287abfedaee2 SHA512 8c1d76e93eb21fab823fcaf1067c703d05bf844d16653769c6c58c8b890e1439c8f9fe49bd4035a116785030ffc8d2c3927e42f8c69306233c9990c47621179a WHIRLPOOL 514a47886649e352a9e9589dc0a793ce01dae850ad2e1115761bfe1db4fd10d240dcdf6916c37bd1268e5e252f5dfa2af71aed4d7edcbc9eaaa3588aa6dd0dfe
+DIST libgit2-glib-0.22.8.tar.xz 429300 SHA256 05c9453b195f1af0df2a5d8bc71472c9fb26d14bb8fbb5b688ad1b8ef7a30959 SHA512 caa0076127cd846b31bc9d341ecb0a07b0a4e960b16387b241f1e322627d304636bf59c34a657675444a7a5be66ab645416be0be14cc0e841078f5ce2ac7c9fd WHIRLPOOL 831b57d9da81c5fb3e5ad06a6e7080b1570e2b215eb193a3704cb4b7caa2e361c3290e0b15ab3d27ecc4402756e9d1cd4e8db0da0ea4cd119eafefe32a987213
diff --git a/dev-libs/libgit2-glib/files/libgit2-glib-0.0.24-automagic-ssh.patch b/dev-libs/libgit2-glib/files/libgit2-glib-0.0.24-automagic-ssh.patch
new file mode 100644
index 000000000000..5c3904cc0062
--- /dev/null
+++ b/dev-libs/libgit2-glib/files/libgit2-glib-0.0.24-automagic-ssh.patch
@@ -0,0 +1,75 @@
+diff --git a/configure.ac b/configure.ac
+index 8c1559c..94175c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,32 +79,44 @@ dnl ===========================================================================
+ dnl Check for libgit2 ssh support
+ dnl ===========================================================================
+
+-AC_MSG_CHECKING([for libgit2 ssh support])
+-
+-cflags_save="${CFLAGS}"
+-libs_save="${LIBS}"
+-
+-CFLAGS="${LIBGIT2_GLIB_CFLAGS}"
+-LIBS="${LIBGIT2_GLIB_LIBS}"
+-
+-AC_TRY_RUN([
+- #include <git2.h>
+- int
+- main(int argc, const char *argv[])
+- {
+- git_threads_init ();
+- return ((git_libgit2_features() & GIT_FEATURE_SSH) != 0) ? 0 : 1;
+- }
+-],[
+- AC_MSG_RESULT([yes])
+- git_ssh=yes
+-],[
+- AC_MSG_RESULT([no])
+- git_ssh=no
+-])
+-
+-CFLAGS="${cflags_save}"
+-LIBS="${libs_save}"
++AC_ARG_ENABLE([ssh],
++ AS_HELP_STRING([--enable-ssh[=@<:@no/auto/yes@:>@]],[Build with libgit2 ssh support]),
++ [enable_ssh=$enableval],
++ [enable_ssh="auto"])
++
++git_ssh=no
++
++if test "x$enable_ssh" != "xno"; then
++ AC_MSG_CHECKING([for libgit2 ssh support])
++
++ cflags_save="${CFLAGS}"
++ libs_save="${LIBS}"
++
++ CFLAGS="${LIBGIT2_GLIB_CFLAGS}"
++ LIBS="${LIBGIT2_GLIB_LIBS}"
++
++ AC_TRY_RUN([
++ #include <git2.h>
++ int
++ main(int argc, const char *argv[])
++ {
++ git_threads_init ();
++ return ((git_libgit2_features() & GIT_FEATURE_SSH) != 0) ? 0 : 1;
++ }
++ ],[
++ AC_MSG_RESULT([yes])
++ git_ssh=yes
++ ],[
++ AC_MSG_RESULT([no])
++ git_ssh=no
++ if test "x$enable_ssh" = "xyes"; then
++ AC_MSG_ERROR([libgit2 ssh support was requiested, but not found])
++ fi
++ ])
++
++ CFLAGS="${cflags_save}"
++ LIBS="${libs_save}"
++fi
+
+ if test "x$git_ssh" = "xyes"; then
+ LIBGIT2_GLIB_CFLAGS="${LIBGIT2_GLIB_CFLAGS} -DGIT_SSH=1"
diff --git a/dev-libs/libgit2-glib/files/libgit2-glib-0.22.0-automagic-ssh.patch b/dev-libs/libgit2-glib/files/libgit2-glib-0.22.0-automagic-ssh.patch
new file mode 100644
index 000000000000..9ec626486f66
--- /dev/null
+++ b/dev-libs/libgit2-glib/files/libgit2-glib-0.22.0-automagic-ssh.patch
@@ -0,0 +1,93 @@
+From e67a9ba456bc7f4b6b8c4899179d6b7a2863d592 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
+Date: Tue, 20 Jan 2015 08:12:41 +0100
+Subject: [PATCH] configure: Add flag to force on or off SSH support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Remove an automagic dependency on libgit2's SSH support.
+
+Signed-off-by: Rémi Cardona <remi@gentoo.org>
+---
+ configure.ac | 64 ++++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 38 insertions(+), 26 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1bd96bc..61744db 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,32 +79,44 @@ dnl ===========================================================================
+ dnl Check for libgit2 ssh support
+ dnl ===========================================================================
+
+-AC_MSG_CHECKING([for libgit2 ssh support])
+-
+-cflags_save="${CFLAGS}"
+-libs_save="${LIBS}"
+-
+-CFLAGS="${LIBGIT2_GLIB_CFLAGS}"
+-LIBS="${LIBGIT2_GLIB_LIBS}"
+-
+-AC_TRY_RUN([
+- #include <git2.h>
+- int
+- main(int argc, const char *argv[])
+- {
+- git_libgit2_init ();
+- return ((git_libgit2_features() & GIT_FEATURE_SSH) != 0) ? 0 : 1;
+- }
+-],[
+- AC_MSG_RESULT([yes])
+- git_ssh=yes
+-],[
+- AC_MSG_RESULT([no])
+- git_ssh=no
+-])
+-
+-CFLAGS="${cflags_save}"
+-LIBS="${libs_save}"
++AC_ARG_ENABLE([ssh],
++ AS_HELP_STRING([--enable-ssh[=@<:@no/auto/yes@:>@]],[Build with libgit2 ssh support]),
++ [enable_ssh=$enableval],
++ [enable_ssh="auto"])
++
++git_ssh=no
++
++if test "x$enable_ssh" != "xno"; then
++ AC_MSG_CHECKING([for libgit2 ssh support])
++
++ cflags_save="${CFLAGS}"
++ libs_save="${LIBS}"
++
++ CFLAGS="${LIBGIT2_GLIB_CFLAGS}"
++ LIBS="${LIBGIT2_GLIB_LIBS}"
++
++ AC_TRY_RUN([
++ #include <git2.h>
++ int
++ main(int argc, const char *argv[])
++ {
++ git_libgit2_init ();
++ return ((git_libgit2_features() & GIT_FEATURE_SSH) != 0) ? 0 : 1;
++ }
++ ],[
++ AC_MSG_RESULT([yes])
++ git_ssh=yes
++ ],[
++ AC_MSG_RESULT([no])
++ git_ssh=no
++ if test "x$enable_ssh" = "xyes"; then
++ AC_MSG_ERROR([libgit2 ssh support was requiested, but not found])
++ fi
++ ])
++
++ CFLAGS="${cflags_save}"
++ LIBS="${libs_save}"
++fi
+
+ if test "x$git_ssh" = "xyes"; then
+ LIBGIT2_GLIB_CFLAGS="${LIBGIT2_GLIB_CFLAGS} -DGIT_SSH=1"
+--
+2.2.1
+
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.0.12.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.0.12.ebuild
new file mode 100644
index 000000000000..cc79364132fc
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-0.0.12.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python3_3 )
+
+inherit gnome2 python-r1
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/libgit2-0.20.0:=
+ <dev-libs/libgit2-0.21
+ >=dev-libs/glib-2.28.0:2
+ >=dev-libs/gobject-introspection-0.10.1
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+"
+
+src_configure() {
+ gnome2_src_configure $(use_enable python)
+}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.0.16.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.0.16.ebuild
new file mode 100644
index 000000000000..ef4e7f8012fc
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-0.0.16.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit gnome2 python-r1
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/libgit2-0.21.0:=
+ >=dev-libs/glib-2.28.0:2
+ >=dev-libs/gobject-introspection-0.10.1
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+"
+
+src_configure() {
+ gnome2_src_configure $(use_enable python)
+}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.0.24.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.0.24.ebuild
new file mode 100644
index 000000000000..72317accae4b
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-0.0.24.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{3_3,3_4} )
+VALA_MIN_API_VERSION="0.22"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils gnome2 python-r1 vala
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="python ssh +vala"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ =dev-libs/libgit2-0.21*:=
+ >=dev-libs/glib-2.28.0:2
+ >=dev-libs/gobject-introspection-0.10.1
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}] )
+ ssh? ( dev-libs/libgit2[ssh] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-0.0.24-automagic-ssh.patch" # make libgit2[ssh] dep non-magic
+ eautoreconf
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ $(use_enable ssh) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.22.0.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.22.0.ebuild
new file mode 100644
index 000000000000..873bc26db0ca
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-0.22.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{3_3,3_4} )
+VALA_MIN_API_VERSION="0.22"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils gnome2 python-r1 vala
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="python ssh +vala"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/libgit2-0.21.0:=
+ <dev-libs/libgit2-0.23
+ >=dev-libs/glib-2.28.0:2
+ >=dev-libs/gobject-introspection-0.10.1
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}] )
+ ssh? ( dev-libs/libgit2[ssh] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ # Make libgit2[ssh] dep non-magic, upstream bug #743236
+ epatch "${FILESDIR}/${PN}-0.22.0-automagic-ssh.patch"
+
+ eautoreconf
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ $(use_enable ssh) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.22.8.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.22.8.ebuild
new file mode 100644
index 000000000000..e4d8b1f5a9b4
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-0.22.8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{3_3,3_4} )
+VALA_MIN_API_VERSION="0.22"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 python-r1 vala
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="python ssh +vala"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/libgit2-0.21.0:=
+ <dev-libs/libgit2-0.23
+ >=dev-libs/glib-2.28.0:2
+ >=dev-libs/gobject-introspection-0.10.1
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}] )
+ ssh? ( dev-libs/libgit2[ssh] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ $(use_enable ssh) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgit2-glib/metadata.xml b/dev-libs/libgit2-glib/metadata.xml
new file mode 100644
index 000000000000..a0afca69a125
--- /dev/null
+++ b/dev-libs/libgit2-glib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="ssh">Enable SSH transport support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libgit2/Manifest b/dev-libs/libgit2/Manifest
new file mode 100644
index 000000000000..daa1f51e6bd2
--- /dev/null
+++ b/dev-libs/libgit2/Manifest
@@ -0,0 +1,12 @@
+DIST libgit2-0.16.0.tar.gz 1042613 SHA256 b84e5353ebc41e785f777a4977da9fa3eaf19f71c07eb2a2c23c2ceafb811597 SHA512 cc12ce986ee9d179a7e5b01607d69ee212a4885b0487a06d5cfaba3ecb538932fc9baec86dcb44936e47ab8eb43838b9b4108541c07833d9d688e36cd03ab8c6 WHIRLPOOL 5f557998f3be9e984c78c89fd5a6036f1b44100bcf1c6c12c9dd8a59193dea827498a3ba5e1fc822eb537880607f152ddc9daa1693c972a62098947196d78dd1
+DIST libgit2-0.17.0.tar.gz 2096159 SHA256 068eed0b8fe852a7cc55aae46d2299e9c9e3e00badc1c293d72a9dd122226018 SHA512 a51420ae78be1f81104afdb58fdb9d7681a1a3ec3ee907b04bc2f2c5a8629a331b34d0fc67fa8e98d809a4352971149307553bbfec6799d919e84d292456a764 WHIRLPOOL c37f0301487375b47b77f4f7869830e2dc9d0c4227c36e3a7e8e72b7f27794be321dd047f13394f2828016bcbeb1375784ad873743b2c0e45bfb85b2c8a463cb
+DIST libgit2-0.18.0.tar.gz 2958095 SHA256 88a6ef6f87905e0b574123b85c5746025a408c6169e754906e939acbca75ac5f SHA512 3fc1610667a4a0bb9d7ace11e65d590178bcd8687a2866fa7687123468bad7dcaf6365b3e593b686e727bc62746e655eb4a08d5ddb7d69e65c5bad1b1e6fc2be WHIRLPOOL 9ffa51954b893bb0ef5ac6a1866282e11ffbd6e9277e20222ddb34e45af16df8a0ab1014425ae956baf0ab905cc0875a67ad9c7c86e02ac700b43940a1be301a
+DIST libgit2-0.19.0.tar.gz 3122978 SHA256 f526f8cf5547c70fe00169d587ca18367541a95fad5849352c3e2ffc94d583bf SHA512 e14b71e5e9b0c97255b47d35dd216ad24aeba04050a3407a90ac422b27df87cc0ad97b538230d07b7299863c7d1c3919dc2912713add31b7c585949cd4b436be WHIRLPOOL 0e551738f1dedf13a103a71f8e4149620e341a36da2f737c5fb10cd461ba77e1367f8bdff9304142b72919c6940db9d7afc40cfd5ab7e661fe6c4b60b36d54a2
+DIST libgit2-0.20.0.tar.gz 3255478 SHA256 509ab8091623df5b745cd13682539ca2dc2372051d3418355a7acc5b4a20c2f1 SHA512 0512a2d6daa149f6c6bada3b9ea8b228d6ba9180d7030cf41f3e9888fb15f068ef7c7722f636f8750c4643b58453299179d73e0b71e08ae79439060a27efe9d6 WHIRLPOOL 996a3639bd8f598b07f12115a2af0b5d28de51163338c34b39872046776a0144e57a0598ab493dcf717fa16ed093d9b00546009d2a4426a27a0451e97759783b
+DIST libgit2-0.21.3.tar.gz 3454810 SHA256 7c40cb783e5b7bcae46986e35e531794d378872574237f4b5f34e3a7d2a25c32 SHA512 399e16c9ca9d5a9e95ac929d7bd327038ba0e590e37ceee2aab062472f28a32905e90b5ee59990dad428d04c1c0d3f388381e3e44f775dfaafe37b21dbd7c892 WHIRLPOOL 4facdc843c3f8d66fe1290708a402476263484fd1a1365ced406a0e21515d4d65f1da2e73615fdfb241fc33bdb575a9f688140e17a82ec2e5002648e46c975cc
+DIST libgit2-0.21.5.tar.gz 3460366 SHA256 46ca07becbdcda0da96a553d9f45e64ead29276ba14049e4bc8e2730ed1aa494 SHA512 080624aa1479b9b393d4b3341b2dd5640e7d61f21c44b04c54bdd6be589fcdfc628219046f3dfda48f563560a1db1f9ddf0626d2802a1f60122b9609d0412dce WHIRLPOOL 6bdc7d40afb9bf427ffe96d87a920b4421f902f0548018477324d69a563751696a1288c5564d87efbabac779273f1992f6d79f9ac101814cfbcbcdc11584dba3
+DIST libgit2-0.22.0.tar.gz 3586058 SHA256 b70965b35e6d0adc891ba2edb28d982cb27729a3f2bb02186084f692e94922b2 SHA512 08d939f9fe6000587ce3695e215e92fba77de32c7b4e898d8ceeacd8e6f6151dd69bd160ef9e38a0e073a970712d61d34955320847d51e3c67910a413e909d42 WHIRLPOOL a167e1957cbe6c0ad5b46daed379fe92178848e517ab90d41d2281ff285775eb2a61ed231149cee40699d1919153cdf38bf9bcce1bbbb0892f66bc5b16dc7e0f
+DIST libgit2-0.22.1.tar.gz 3590204 SHA256 c7f1bf99ed8aeba65a485489869e2a50f022f3cd847df85e192fc99fdd6c8b5e SHA512 0fae8562c9b2f5575f908f23773da36d29554cdafb71e551abb68dc18e6cee36e5b96d3a7e585a235e520acc49983caf7a78d8f0b6dd43b378dc6cdf0cef42c9 WHIRLPOOL 933f9b574ff77ef298eb21fca4696d7910d4cd49738f0b6cd8f8a64dd75b21423168cc0ef7cdbd1e08dd53b5f2647c5c5b614767ba6b8a3b385001ac6d5cb39d
+DIST libgit2-0.22.2.tar.gz 3591643 SHA256 3109f2579180d561fc736bad8bd917d7241477aab11633755c8a273beac53cdc SHA512 ab97a2a548fa0e9be113bfe58f6d4e97dda9d7b10b4979b5736c6d410a8f1f3fb6801d691aad246481567eecc99b6f658f7bab639076ffdf21d30561243c8eb9 WHIRLPOOL 39a55c3a76f7c9f24efb8c72d5322afd35ee4880a06be2e22106690da8321b9d0a685128657c08d332c6c154e0dab6148cf740e676b6b16e9731eb9d99bb49d8
+DIST libgit2-0.22.3.tar.gz 3594098 SHA256 511fe60e7c12c3525b4e0489861e5c1fe0e331d604bee9a3dfb8420c2f288f60 SHA512 2bbb04789702d206e65b18d96752113d2c1b0af7b7779cf7c90c326ec47f535b36327b0171ae1f614179c24275e2c04c51d62e44eedba87530509a29c15ab25c WHIRLPOOL 2fbb2739856e6cef3ae1a103e1b999b3362c79536423e5cd6d46d60276a14e87298ec36e2e03e8ea0fa8ebe28a140ba20ce077fb30ab3fc0d1337ec3b04fde87
+DIST libgit2-0.23.0.tar.gz 3714985 SHA256 49d75c601eb619481ecc0a79f3356cc26b89dfa646f2268e434d7b4c8d90c8a1 SHA512 e0f414529ba6faf877b1848101fda3f5dc4b84e75c56996378c098d1bdc5f03e60c22a1ee5768a8a9a5d5aab313f52ce8df5b1bd3f9bfb2c36aae7117a368f22 WHIRLPOOL 9716f3ac340bd28d151814488898a09df8f867b7a40b59e71c12b6d7d8af3c7ac41ac0ae8de239be0743db03b4451ca87462835faac7f6938d5a82564a7b1f13
diff --git a/dev-libs/libgit2/files/libgit2-0.17.0-cflags.patch b/dev-libs/libgit2/files/libgit2-0.17.0-cflags.patch
new file mode 100644
index 000000000000..fbf760038de1
--- /dev/null
+++ b/dev-libs/libgit2/files/libgit2-0.17.0-cflags.patch
@@ -0,0 +1,12 @@
+--- libgit2-0.17.0/CMakeLists.txt
++++ libgit2-0.17.0/CMakeLists.txt
+@@ -70,8 +70,7 @@
+
+ # Precompiled headers
+ ELSE ()
+- SET(CMAKE_C_FLAGS "-O2 -g -D_GNU_SOURCE -fvisibility=hidden -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}")
+- SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
++ SET(CMAKE_C_FLAGS "-D_GNU_SOURCE -fvisibility=hidden -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}")
+ IF (NOT MINGW) # MinGW always does PIC and complains if we tell it to
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+ ENDIF ()
diff --git a/dev-libs/libgit2/files/libgit2-0.19.0-automagic-libssh2.patch b/dev-libs/libgit2/files/libgit2-0.19.0-automagic-libssh2.patch
new file mode 100644
index 000000000000..afd8935dc893
--- /dev/null
+++ b/dev-libs/libgit2/files/libgit2-0.19.0-automagic-libssh2.patch
@@ -0,0 +1,23 @@
+--- libgit2-0.19.0/CMakeLists.txt
++++ libgit2-0.19.0/CMakeLists.txt
+@@ -20,6 +20,7 @@
+ # Build options
+ #
+ OPTION( SONAME "Set the (SO)VERSION of the target" ON )
++OPTION( ENABLE_SSH "Enable SSH transport support" OFF )
+ OPTION( BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON )
+ OPTION( THREADSAFE "Build libgit2 as threadsafe" OFF )
+ OPTION( BUILD_CLAR "Build Tests using the Clar suite" ON )
+@@ -151,10 +152,8 @@
+ FILE(GLOB SRC_ZLIB deps/zlib/*.c)
+ ENDIF()
+
+-IF(NOT LIBSSH2_LIBRARY)
+- FIND_PACKAGE(LIBSSH2 QUIET)
+-ENDIF()
+-IF (LIBSSH2_FOUND)
++IF(ENABLE_SSH)
++ FIND_PACKAGE(LIBSSH2 REQUIRED)
+ ADD_DEFINITIONS(-DGIT_SSH)
+ INCLUDE_DIRECTORIES(${LIBSSH2_INCLUDE_DIR})
+ SET(SSH_LIBRARIES ${LIBSSH2_LIBRARIES})
diff --git a/dev-libs/libgit2/files/libgit2-0.20.0-skip-blame-test.patch b/dev-libs/libgit2/files/libgit2-0.20.0-skip-blame-test.patch
new file mode 100644
index 000000000000..de70672cd169
--- /dev/null
+++ b/dev-libs/libgit2/files/libgit2-0.20.0-skip-blame-test.patch
@@ -0,0 +1,147 @@
+Skip test that requires the libgit2 git repo.
+
+--- libgit2-0.20.0/tests/blame/simple.c
++++ libgit2-0.20.0/tests/blame/simple.c
+@@ -130,74 +130,74 @@
+ * bf477ed4 include/git2.h 45 (Michael Schubert 2012-02-15 00:33:38 +0100 59
+ * d12299fe src/git.h 49 (Vicent Martí 2010-12-03 22:22:10 +0200 60
+ */
+-void test_blame_simple__trivial_libgit2(void)
+-{
+- git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
+- git_object *obj;
+-
+- cl_git_pass(git_repository_open(&g_repo, cl_fixture("../..")));
+-
+- /* This test can't work on a shallow clone */
+- if (git_repository_is_shallow(g_repo))
+- return;
+-
+- cl_git_pass(git_revparse_single(&obj, g_repo, "359fc2d"));
+- git_oid_cpy(&opts.newest_commit, git_object_id(obj));
+- git_object_free(obj);
+-
+- cl_git_pass(git_blame_file(&g_blame, g_repo, "include/git2.h", &opts));
+-
+- check_blame_hunk_index(g_repo, g_blame, 0, 1, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 1, 2, 1, 0, "359fc2d2", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 2, 3, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 3, 4, 2, 0, "bb742ede", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 4, 6, 5, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 5, 11, 1, 0, "96fab093", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 6, 12, 1, 0, "9d1dcca2", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 7, 13, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 8, 14, 1, 0, "a15c550d", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 9, 15, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 10, 16, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 11, 17, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 12, 18, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 13, 19, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 14, 20, 1, 0, "638c2ca4", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 15, 21, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 16, 22, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 17, 23, 2, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 18, 25, 1, 0, "bf787bd8", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 19, 26, 1, 0, "0984c876", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 20, 27, 1, 0, "2f8a8ab2", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 21, 28, 1, 0, "27df4275", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 22, 29, 1, 0, "a346992f", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 23, 30, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 24, 31, 5, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 25, 36, 1, 0, "65b09b1d", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 26, 37, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 27, 38, 1, 0, "44908fe7", "src/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 28, 39, 1, 0, "5d4cd003", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 29, 40, 1, 0, "41fb1ca0", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 30, 41, 1, 0, "2dc31040", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 31, 42, 1, 0, "764df57e", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 32, 43, 1, 0, "5280f4e6", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 33, 44, 1, 0, "613d5eb9", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 34, 45, 1, 0, "d12299fe", "src/git.h");
+- check_blame_hunk_index(g_repo, g_blame, 35, 46, 1, 0, "111ee3fe", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 36, 47, 1, 0, "f004c4a8", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 37, 48, 1, 0, "111ee3fe", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 38, 49, 1, 0, "9c82357b", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 39, 50, 1, 0, "d6258deb", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 40, 51, 1, 0, "b311e313", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 41, 52, 1, 0, "3412391d", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 42, 53, 1, 0, "bfc9ca59", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 43, 54, 1, 0, "bf477ed4", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 44, 55, 1, 0, "edebceff", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 45, 56, 1, 0, "743a4b3b", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 46, 57, 1, 0, "0a32dca5", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 47, 58, 1, 0, "590fb68b", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 48, 59, 1, 0, "bf477ed4", "include/git2.h");
+- check_blame_hunk_index(g_repo, g_blame, 49, 60, 1, 0, "d12299fe", "src/git.h");
+-}
++//void test_blame_simple__trivial_libgit2(void)
++//{
++// git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
++// git_object *obj;
++//
++// cl_git_pass(git_repository_open(&g_repo, cl_fixture("../..")));
++//
++// /* This test can't work on a shallow clone */
++// if (git_repository_is_shallow(g_repo))
++// return;
++//
++// cl_git_pass(git_revparse_single(&obj, g_repo, "359fc2d"));
++// git_oid_cpy(&opts.newest_commit, git_object_id(obj));
++// git_object_free(obj);
++//
++// cl_git_pass(git_blame_file(&g_blame, g_repo, "include/git2.h", &opts));
++//
++// check_blame_hunk_index(g_repo, g_blame, 0, 1, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 1, 2, 1, 0, "359fc2d2", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 2, 3, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 3, 4, 2, 0, "bb742ede", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 4, 6, 5, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 5, 11, 1, 0, "96fab093", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 6, 12, 1, 0, "9d1dcca2", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 7, 13, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 8, 14, 1, 0, "a15c550d", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 9, 15, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 10, 16, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 11, 17, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 12, 18, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 13, 19, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 14, 20, 1, 0, "638c2ca4", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 15, 21, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 16, 22, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 17, 23, 2, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 18, 25, 1, 0, "bf787bd8", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 19, 26, 1, 0, "0984c876", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 20, 27, 1, 0, "2f8a8ab2", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 21, 28, 1, 0, "27df4275", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 22, 29, 1, 0, "a346992f", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 23, 30, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 24, 31, 5, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 25, 36, 1, 0, "65b09b1d", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 26, 37, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 27, 38, 1, 0, "44908fe7", "src/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 28, 39, 1, 0, "5d4cd003", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 29, 40, 1, 0, "41fb1ca0", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 30, 41, 1, 0, "2dc31040", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 31, 42, 1, 0, "764df57e", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 32, 43, 1, 0, "5280f4e6", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 33, 44, 1, 0, "613d5eb9", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 34, 45, 1, 0, "d12299fe", "src/git.h");
++// check_blame_hunk_index(g_repo, g_blame, 35, 46, 1, 0, "111ee3fe", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 36, 47, 1, 0, "f004c4a8", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 37, 48, 1, 0, "111ee3fe", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 38, 49, 1, 0, "9c82357b", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 39, 50, 1, 0, "d6258deb", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 40, 51, 1, 0, "b311e313", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 41, 52, 1, 0, "3412391d", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 42, 53, 1, 0, "bfc9ca59", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 43, 54, 1, 0, "bf477ed4", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 44, 55, 1, 0, "edebceff", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 45, 56, 1, 0, "743a4b3b", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 46, 57, 1, 0, "0a32dca5", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 47, 58, 1, 0, "590fb68b", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 48, 59, 1, 0, "bf477ed4", "include/git2.h");
++// check_blame_hunk_index(g_repo, g_blame, 49, 60, 1, 0, "d12299fe", "src/git.h");
++//}
+
+
+ /*
diff --git a/dev-libs/libgit2/libgit2-0.16.0.ebuild b/dev-libs/libgit2/libgit2-0.16.0.ebuild
new file mode 100644
index 000000000000..e44d14fd521d
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.16.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="mirror://github/${PN}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples test"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test TESTS)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.17.0.ebuild b/dev-libs/libgit2/libgit2-0.17.0.ebuild
new file mode 100644
index 000000000000..53c1b12df70b
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.17.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="mirror://github/${PN}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples test"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=( "${FILESDIR}"/${P}-cflags.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.18.0.ebuild b/dev-libs/libgit2/libgit2-0.18.0.ebuild
new file mode 100644
index 000000000000..328c2f2b472e
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.18.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples test"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.19.0-r1.ebuild b/dev-libs/libgit2/libgit2-0.19.0-r1.ebuild
new file mode 100644
index 000000000000..36dcf264ee08
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.19.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64 x86 ~ppc-macos"
+IUSE="examples ssh test"
+
+RDEPEND="sys-libs/zlib
+ net-libs/http-parser
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=( "${FILESDIR}"/${P}-automagic-libssh2.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_enable ssh SSH)
+ $(cmake-utils_use_build test CLAR)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.20.0-r1.ebuild b/dev-libs/libgit2/libgit2-0.20.0-r1.ebuild
new file mode 100644
index 000000000000..b6c502a003a5
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.20.0-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64 x86 ~ppc-macos"
+IUSE="examples ssh test threads trace"
+
+RDEPEND="
+ sys-libs/zlib
+ net-libs/http-parser
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+PATCHES=( "${FILESDIR}"/${P}-skip-blame-test.patch )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.21.3.ebuild b/dev-libs/libgit2/libgit2-0.21.3.ebuild
new file mode 100644
index 000000000000..1ab0541953e4
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.21.3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/21"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples ssh test threads trace"
+
+RDEPEND="
+ sys-libs/zlib
+ net-libs/http-parser
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.21.5.ebuild b/dev-libs/libgit2/libgit2-0.21.5.ebuild
new file mode 100644
index 000000000000..608bab4390a5
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.21.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/21"
+KEYWORDS="amd64 x86 ~ppc-macos"
+IUSE="examples ssh test threads trace"
+
+RDEPEND="
+ sys-libs/zlib
+ net-libs/http-parser
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.22.0.ebuild b/dev-libs/libgit2/libgit2-0.22.0.ebuild
new file mode 100644
index 000000000000..d3b222302c08
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.22.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/22"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.22.1.ebuild b/dev-libs/libgit2/libgit2-0.22.1.ebuild
new file mode 100644
index 000000000000..d3b222302c08
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.22.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/22"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.22.2.ebuild b/dev-libs/libgit2/libgit2-0.22.2.ebuild
new file mode 100644
index 000000000000..a441cc2a64e3
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.22.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/22"
+KEYWORDS="~amd64 ~x86 ~ppc-macos"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ dev-libs/openssl:0
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.22.3.ebuild b/dev-libs/libgit2/libgit2-0.22.3.ebuild
new file mode 100644
index 000000000000..f111675f545c
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.22.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~ppc-macos"
+fi
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/22"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ dev-libs/openssl:0
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-0.23.0.ebuild b/dev-libs/libgit2/libgit2-0.23.0.ebuild
new file mode 100644
index 000000000000..a72ecc24e6b9
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-0.23.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~ppc-macos"
+fi
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/23"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ dev-libs/openssl:0
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-9999.ebuild b/dev-libs/libgit2/libgit2-9999.ebuild
new file mode 100644
index 000000000000..a72ecc24e6b9
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~ppc-macos"
+fi
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="http://libgit2.github.com/"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/23"
+IUSE="examples gssapi ssh test threads trace"
+
+RDEPEND="
+ dev-libs/openssl:0
+ sys-libs/zlib
+ net-libs/http-parser
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
+
+src_prepare() {
+ # skip online tests
+ sed -i '/libgit2_clar/s/-ionline/-xonline/' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use_build test CLAR)
+ $(cmake-utils_use_enable trace TRACE)
+ $(cmake-utils_use_use gssapi GSSAPI)
+ $(cmake-utils_use_use ssh SSH)
+ $(cmake-utils_use threads THREADSAFE)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake-utils_src_test
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ find examples -name .gitignore -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/metadata.xml b/dev-libs/libgit2/metadata.xml
new file mode 100644
index 000000000000..f7c153d62e0a
--- /dev/null
+++ b/dev-libs/libgit2/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <longdescription lang="en">
+ libgit2 is a portable, pure C implementation of the Git core methods provided
+ as a re-entrant linkable library with a solid API, allowing you to write native
+ speed custom Git applications in any language which supports C bindings.
+ </longdescription>
+ <use>
+ <flag name="gssapi">Enable GSSAPI support for SPNEGO auth</flag>
+ <flag name="ssh">Enable SSH transport support</flag>
+ <flag name="trace">Enable tracing support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">libgit2/libgit2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgpg-error/Manifest b/dev-libs/libgpg-error/Manifest
new file mode 100644
index 000000000000..3647d8085b85
--- /dev/null
+++ b/dev-libs/libgpg-error/Manifest
@@ -0,0 +1,3 @@
+DIST libgpg-error-1.13.tar.bz2 489948 SHA256 f8aba9038d8a46cefe6a6c4a7e4527144c029eb4e3ca1ed27011b962102c9b0a SHA512 db35cff54f12fef121f62bd989147acb8a2bc0711564e7153c1d10c5542e3530d3b3e172210320d312a8438372a099977dc72905e1fcdc29eddfacf8d34998fe WHIRLPOOL 1460d2fe700d33d247090acd400e014162c179ae70f0b9ee432103a52928efe31f0c774da493d7ad468fe165c831e05aacc3959d6dcbf497791673c4959a4e29
+DIST libgpg-error-1.18.tar.bz2 718070 SHA256 9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153d80810 SHA512 0b434361b134af4d535f34879425ef1c8102da27ebeb307abc73371f4fc5e3636aaf89f7903f79a1019a8a29b866907bb15cc02c11bbcd589b339909fe80760d WHIRLPOOL f70138d2f236204afdbfa869c91fd24046432071e9cb1586fee69b2cde45aefb06569da148668a0d0ed7affd7820e88a96f7f4f858e5dadf60f7fe3b624e83fd
+DIST libgpg-error-1.19.tar.bz2 761622 SHA256 53120e1333d5c5d28d87ff2854e9e98719c8e214152f17ad5291704d25c4978b SHA512 24ac1799260611f6fe3d0931fbb735f6e7e9d3a794190fba71c71d0324230f635655db96db134a1ddf56ea9c46654feb4ea2649c31e6ee31c9fd1ca41e86b56b WHIRLPOOL 479dbb813d5ff20fa232ece85a6321dd7daccb961851ef39fdc9d21a4f3250a4edc7c9e350bd880203bf7fa3b651ca9d9a862a7306c8f834c8879c8661fee2a5
diff --git a/dev-libs/libgpg-error/libgpg-error-1.13.ebuild b/dev-libs/libgpg-error/libgpg-error-1.13.ebuild
new file mode 100644
index 000000000000..59d9fbf8c84b
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.13.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="http://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="common-lisp nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r12
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+)
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+)
+
+src_prepare() {
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ $(use_enable common-lisp languages)
+ )
+
+ multilib_is_native_abi || myeconfargs+=(
+ --disable-languages
+ )
+
+ ECONF_SOURCE=${S} \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # library has no dependencies, so it does not need the .la file
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.18.ebuild b/dev-libs/libgpg-error/libgpg-error-1.18.ebuild
new file mode 100644
index 000000000000..8299779d0140
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.18.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils libtool multilib-minimal toolchain-funcs
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="http://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="common-lisp nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r12
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+)
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+)
+
+src_prepare() {
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ CC_FOR_BUILD=$(tc-getBUILD_CC)
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ $(use_enable common-lisp languages)
+ )
+
+ multilib_is_native_abi || myeconfargs+=(
+ --disable-languages
+ )
+
+ ECONF_SOURCE=${S} \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # library has no dependencies, so it does not need the .la file
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.19.ebuild b/dev-libs/libgpg-error/libgpg-error-1.19.ebuild
new file mode 100644
index 000000000000..8299779d0140
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.19.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils libtool multilib-minimal toolchain-funcs
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="http://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="common-lisp nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r12
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+)
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+)
+
+src_prepare() {
+ epatch_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ CC_FOR_BUILD=$(tc-getBUILD_CC)
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ $(use_enable common-lisp languages)
+ )
+
+ multilib_is_native_abi || myeconfargs+=(
+ --disable-languages
+ )
+
+ ECONF_SOURCE=${S} \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # library has no dependencies, so it does not need the .la file
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libgpg-error/metadata.xml b/dev-libs/libgpg-error/metadata.xml
new file mode 100644
index 000000000000..780611be23d4
--- /dev/null
+++ b/dev-libs/libgpg-error/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <use>
+ <flag name="common-lisp">Install common-lisp files</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libgringotts/Manifest b/dev-libs/libgringotts/Manifest
new file mode 100644
index 000000000000..16cf4562fdd7
--- /dev/null
+++ b/dev-libs/libgringotts/Manifest
@@ -0,0 +1 @@
+DIST libgringotts-1.2.1.tar.bz2 167013 SHA256 3757be9a2bb12aac91d90e80e65a955fca12a926284788be2f5118cb854dd277 SHA512 b38ce74a77be8e70d8d8a5f78b308bb6233db0be7875046163c0c3a385250e8b8675b87f5078e1ac1ea13447cf55b7ee016d719437ec230952d1d3e5d620650a WHIRLPOOL 159e08d5d71972d8dc143a3ef5baa9d7ff2c0d807743b2d74d3a6138bef07a98da8ff75ffbccd0e27f697ceb1570de307742e2c10cc6f606d020071216f4dfaf
diff --git a/dev-libs/libgringotts/libgringotts-1.2.1.ebuild b/dev-libs/libgringotts/libgringotts-1.2.1.ebuild
new file mode 100644
index 000000000000..a560eb5fcabc
--- /dev/null
+++ b/dev-libs/libgringotts/libgringotts-1.2.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Needed by Gringotts"
+HOMEPAGE="http://packages.debian.org/sid/libgringotts2"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/libmcrypt-2.4.21
+ >=app-crypt/mhash-0.8.13
+ app-arch/bzip2
+ sys-apps/coreutils
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_install() {
+ emake DESTDIR="${D}" libgringottsdocdir="/usr/share/doc/${PF}" \
+ install || die "emake install failed."
+ rm -f "${D}"/usr/share/doc/${PF}/{COPYING,*.htm}
+ dohtml -r docs/*.htm
+ prepalldocs
+}
diff --git a/dev-libs/libgringotts/metadata.xml b/dev-libs/libgringotts/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/libgringotts/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libgudev/Manifest b/dev-libs/libgudev/Manifest
new file mode 100644
index 000000000000..9e8c1a3ecb7b
--- /dev/null
+++ b/dev-libs/libgudev/Manifest
@@ -0,0 +1 @@
+DIST libgudev-230.tar.xz 257528 SHA256 a2e77faced0c66d7498403adefcc0707105e03db71a2b2abd620025b86347c18 SHA512 682e08f1a406bd323a59268d9d2fde9efd015a7e0cd5958c5c4e0bc94b593d071a9b824c8b9dfc104c93e555342b1a74a63da91834e10558a9646c9195ef6fbd WHIRLPOOL 1b376686899062ae900a782c97dcabc1321bced2b546617e48b48442a15823ae58e137f1442c1df3ae6fe3a37f44a722905ddb505fea68b274ee41d16032d4f0
diff --git a/dev-libs/libgudev/libgudev-230.ebuild b/dev-libs/libgudev/libgudev-230.ebuild
new file mode 100644
index 000000000000..74ca4b26e4ba
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-230.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="GObject bindings for libudev"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
+SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="introspection static-libs"
+
+DEPEND=">=dev-libs/glib-2.22.0:2=[static-libs?]
+ virtual/libudev:=[static-libs?]
+ introspection? ( dev-libs/gobject-introspection )"
+RDEPEND="${DEPEND}
+ !sys-fs/eudev[gudev(-)]
+ !sys-fs/udev[gudev(-)]
+ !sys-apps/systemd[gudev(-)]"
+
+multilib_src_configure() {
+ local G2CONF="
+ $(multilib_native_use_enable introspection)
+ $(use_enable static-libs static)
+ "
+ ECONF_SOURCE=${S} gnome2_src_configure
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/libgudev/metadata.xml b/dev-libs/libgudev/metadata.xml
new file mode 100644
index 000000000000..0caa4209786b
--- /dev/null
+++ b/dev-libs/libgudev/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libgusb/Manifest b/dev-libs/libgusb/Manifest
new file mode 100644
index 000000000000..d932fd130425
--- /dev/null
+++ b/dev-libs/libgusb/Manifest
@@ -0,0 +1,2 @@
+DIST libgusb-0.2.4.tar.xz 273832 SHA256 437966fb45e30b8e757b2c200daf5d4e7dd22bf5aa80e151e3b1807270d38083 SHA512 51b51a613718507d5bcc5789c9583f48e31269cee6a673d1ebdfcca974c78b9395dddc9de0f09f925283798fa349e99b4e4ee4f7d67726235015d19c57f305c4 WHIRLPOOL 5e515aa4ad2a363067fdfe15507bb589e5200cdb505497bbe99d6440c05f853eea52ca776ea64743768d669e73a328a660f9cda894fbfdc1d4246de46b5b7fed
+DIST libgusb-0.2.5.tar.xz 275948 SHA256 a3ad56773548695292f49b62df1eb7fb1e87e1e0c9d3982e80f65f47095fa492 SHA512 6ac07c40faf6919991f5cbc3e5fd0523b7486b5437a6ac3d0bd1cfd05d645fe25e311366bb507d1b7af2fe913ae869523c052a7571cd8191914f8b1a81a4c22a WHIRLPOOL 3da2b781ef8df7912aababe174f83c020ac24fefc754303dd38beebd49fceaf40138cd601ffa11b02e2512e0e2ebe3727b1cdee89d0b504962d82a3898fd8c0f
diff --git a/dev-libs/libgusb/libgusb-0.2.4.ebuild b/dev-libs/libgusb/libgusb-0.2.4.ebuild
new file mode 100644
index 000000000000..2ac801ebe32a
--- /dev/null
+++ b/dev-libs/libgusb/libgusb-0.2.4.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib-minimal vala
+
+DESCRIPTION="GObject wrapper for libusb"
+HOMEPAGE="https://gitorious.org/gusb/"
+SRC_URI="http://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86"
+
+IUSE="+introspection static-libs vala"
+REQUIRED_USE="vala? ( introspection )"
+
+# Yes, we really need API from dev-libs/libusb-1.0.19, not virtual/libusb
+RDEPEND="
+ >=dev-libs/glib-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libusb-1.0.19[udev,${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.29 )
+"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ dev-libs/libxslt
+ dev-util/gtk-doc-am
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ vala? ( $(vala_depend) )
+"
+
+# Tests try to access usb devices in /dev
+RESTRICT="test"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable vala)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/api/html docs/api/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/libgusb/libgusb-0.2.5.ebuild b/dev-libs/libgusb/libgusb-0.2.5.ebuild
new file mode 100644
index 000000000000..8f59bd49161d
--- /dev/null
+++ b/dev-libs/libgusb/libgusb-0.2.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib-minimal vala
+
+DESCRIPTION="GObject wrapper for libusb"
+HOMEPAGE="https://github.com/hughsie/libgusb"
+SRC_URI="http://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86"
+
+IUSE="+introspection static-libs vala"
+REQUIRED_USE="vala? ( introspection )"
+
+# Yes, we really need API from dev-libs/libusb-1.0.19, not virtual/libusb
+RDEPEND="
+ >=dev-libs/glib-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libusb-1.0.19[udev,${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.29:= )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ dev-util/gtk-doc-am
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ vala? ( $(vala_depend) )
+"
+
+# Tests try to access usb devices in /dev
+RESTRICT="test"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(multilib_native_use_enable introspection) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable vala)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/api/html docs/api/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-libs/libgusb/metadata.xml b/dev-libs/libgusb/metadata.xml
new file mode 100644
index 000000000000..5787e7504aaf
--- /dev/null
+++ b/dev-libs/libgusb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <upstream>
+ <remote-id type="github">hughsie/libgusb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
new file mode 100644
index 000000000000..9154c7c6c94d
--- /dev/null
+++ b/dev-libs/libgweather/Manifest
@@ -0,0 +1,3 @@
+DIST libgweather-3.14.3.tar.xz 3467744 SHA256 04dd25064cdc7715c1bf5fc476c8596d640cbcb3551217867195cef16bbbbf6b SHA512 f6e82c1a1b26ccaf0f6feb533147ac4108210096a7462ec394aa4174d772ad74c92ecae16450875a5c965ee17c0d041bee25de98a6ee8b842091adb426bd1d01 WHIRLPOOL bdf76e024bd0d7d71f60d162f7cee5e8b407bff318a71e28112c2ee5b68c66c726eb1b9484c3e033b7f3c7d1b515dad3b5c91c1de53d8d10e2cef26e1cd9f66d
+DIST libgweather-3.14.4.tar.xz 3471124 SHA256 e65555079fce545082ba2231ae9fdeb8ff1716286f36d86806834ab8b1274b18 SHA512 d72d2c1b0abf3a2a12f54d7f8d62dc6e3eda3cdf03012afb22b28ac751fe7a64811656ed82197212e55366547702e0e3e8d3984037c68b7bce036bd1a75c3366 WHIRLPOOL 5d6e977d31e74caa83b9de1d2ebc966f2d89f957e0768aa38735bf3c8e83fe407524c161374a00eba5dd446c3514c6cb785ca209b1884c09283c5e329f7c8557
+DIST libgweather-3.16.1.tar.xz 3478080 SHA256 db0955261427bb0f1a3f2747507863c591bf2f09dc477cfbf1cea0382cd34dfd SHA512 753f5428760b1a14bda18c4b2ae056d54433ef68745521f3ec3685b298b934667206af23d61604d13ddc8d36a2a659c02e2a2d498be288c16ea67d4c3eadf040 WHIRLPOOL ae2f2891afd3d8150377c4ae9076533892b49143f4871836415384a065f2f69d9768c1c07f9bc853919f1f5c41db2068e1fe480f64a8c098bed6a5ee3f0a1c33
diff --git a/dev-libs/libgweather/libgweather-3.14.3.ebuild b/dev-libs/libgweather/libgweather-3.14.3.ebuild
new file mode 100644
index 000000000000..2ba6b5b54903
--- /dev/null
+++ b/dev-libs/libgweather/libgweather-3.14.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.18"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Library to access weather information from online services"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
+
+LICENSE="GPL-2+"
+SLOT="2/3-6" # subslot = 3-(libgweather-3 soname suffix)
+IUSE="glade +introspection vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+
+COMMON_DEPEND="
+ >=x11-libs/gtk+-3.13.5:3[introspection?]
+ >=dev-libs/glib-2.35.1:2
+ >=net-libs/libsoup-2.34:2.4
+ >=dev-libs/libxml2-2.6.0
+ sci-geosciences/geocode-glib
+ >=sys-libs/timezone-data-2010k
+
+ glade? ( >=dev-util/glade-3.16:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<gnome-base/gnome-applets-2.22.0
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.50
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable glade glade-catalog) \
+ $(use_enable introspection) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgweather/libgweather-3.14.4.ebuild b/dev-libs/libgweather/libgweather-3.14.4.ebuild
new file mode 100644
index 000000000000..2ba6b5b54903
--- /dev/null
+++ b/dev-libs/libgweather/libgweather-3.14.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.18"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Library to access weather information from online services"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
+
+LICENSE="GPL-2+"
+SLOT="2/3-6" # subslot = 3-(libgweather-3 soname suffix)
+IUSE="glade +introspection vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+
+COMMON_DEPEND="
+ >=x11-libs/gtk+-3.13.5:3[introspection?]
+ >=dev-libs/glib-2.35.1:2
+ >=net-libs/libsoup-2.34:2.4
+ >=dev-libs/libxml2-2.6.0
+ sci-geosciences/geocode-glib
+ >=sys-libs/timezone-data-2010k
+
+ glade? ( >=dev-util/glade-3.16:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<gnome-base/gnome-applets-2.22.0
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.50
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable glade glade-catalog) \
+ $(use_enable introspection) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgweather/libgweather-3.16.1.ebuild b/dev-libs/libgweather/libgweather-3.16.1.ebuild
new file mode 100644
index 000000000000..59987d785237
--- /dev/null
+++ b/dev-libs/libgweather/libgweather-3.16.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.18"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Library to access weather information from online services"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
+
+LICENSE="GPL-2+"
+SLOT="2/3-6" # subslot = 3-(libgweather-3 soname suffix)
+IUSE="glade +introspection vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+
+COMMON_DEPEND="
+ >=x11-libs/gtk+-3.13.5:3[introspection?]
+ >=dev-libs/glib-2.35.1:2
+ >=net-libs/libsoup-2.34:2.4
+ >=dev-libs/libxml2-2.6.0
+ sci-geosciences/geocode-glib
+ >=sys-libs/timezone-data-2010k
+
+ glade? ( >=dev-util/glade-3.16:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<gnome-base/gnome-applets-2.22.0
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.50
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable glade glade-catalog) \
+ $(use_enable introspection) \
+ $(use_enable vala)
+}
diff --git a/dev-libs/libgweather/metadata.xml b/dev-libs/libgweather/metadata.xml
new file mode 100644
index 000000000000..e64ea6610adb
--- /dev/null
+++ b/dev-libs/libgweather/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="glade">Installs catalog files for <pkg>dev-util/glade</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libhash/Manifest b/dev-libs/libhash/Manifest
new file mode 100644
index 000000000000..3d9826bb1d4f
--- /dev/null
+++ b/dev-libs/libhash/Manifest
@@ -0,0 +1 @@
+DIST libhash-1.0.3.tar.gz 8918 SHA256 13d57b35537d98aaf39115d0bb253fe54009f773d239b235267c34769bd1ef9d SHA512 46deb4b02b14da13b3dfdae0993c8a98e12ec6dee25fb04b83a088364b29067bb9b39395d8b44231cf23873ff299c419edde40d42a1b62443f9a93ed5f11b9b5 WHIRLPOOL d0da4cc30c2cd18a524dea142bc6758f390c2ab6fd960b2a1a7ac1b4f0c7f9eb0475a6d3c4dbd240e2792d48e8c0d507234b24d3d9c58aa5acdab88fecc62aed
diff --git a/dev-libs/libhash/libhash-1.0.3-r1.ebuild b/dev-libs/libhash/libhash-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..8dad745b310c
--- /dev/null
+++ b/dev-libs/libhash/libhash-1.0.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs
+
+DESCRIPTION="a small hash library written in C"
+HOMEPAGE="ftp://ftp.ugh.net.au/pub/unix/libhash/"
+SRC_URI="ftp://ftp.ugh.net.au/pub/unix/libhash/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc x86"
+IUSE="doc"
+
+DEPEND=""
+
+S=${WORKDIR}/${PN}
+
+src_compile() {
+ rm -f Makefile
+ $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} \
+ -Wl,-soname,libhash.so -fPIC -shared \
+ -o libhash.so hash.c || die ".so failed"
+ $(tc-getCC) ${CPPFLAGS} ${CFLAGS} \
+ -c -o libhash.a hash.c || die ".a failed"
+}
+
+src_test() {
+ cd tests
+ sed -i '/wrappers.h/d' *.c
+ for n in 2 3 ; do
+ $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -I.. -L.. ${n}.c -o ${n} -lhash || die "compile ${n} failed"
+ LD_LIBRARY_PATH=.. ./${n} || die "test ${n} failed"
+ done
+}
+
+src_install() {
+ insinto /usr/include
+ doins hash.h || die "hash.h"
+ dolib.so libhash.so || die "dolib.so"
+ dolib.a libhash.a || die "dolib.a"
+ doman *.3 || die "doman"
+ use doc && dodoc tests/*.c
+}
diff --git a/dev-libs/libhash/metadata.xml b/dev-libs/libhash/metadata.xml
new file mode 100644
index 000000000000..411d6550e013
--- /dev/null
+++ b/dev-libs/libhash/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libhid/Manifest b/dev-libs/libhid/Manifest
new file mode 100644
index 000000000000..d51f9e75fe2e
--- /dev/null
+++ b/dev-libs/libhid/Manifest
@@ -0,0 +1 @@
+DIST libhid-0.2.16.tar.gz 435245 SHA256 f6809ab3b9c907cbb05ceba9ee6ca23a705f85fd71588518e14b3a7d9f2550e5 SHA512 3c9348f9d63e0e1577e983c65ff8e6acbaee0d5f43ecb29b7004654a7e9d14a94176aa029f259e0b8576fc30e8a9af6d1df34912dd582bfadc2b29f9b87eb52b WHIRLPOOL 76edaf3a22f015d16fe2583102c9ee9a839ff17b8172309d3595f3054a22e3f8b119b3560a621490fac7a47966f2519b9b31824e91958012f767387adaa8871c
diff --git a/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch b/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch
new file mode 100644
index 000000000000..b5960af5d7d6
--- /dev/null
+++ b/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,7 +78,6 @@
+ AC_C_BIGENDIAN
+ AC_C_STRINGIZE
+
+-MD_CONF_DEBUGGING
+ MD_CONF_COMPILER
+ AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux")
+ AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd")
+--- a/m4/md_check_gcc3.m4
++++ b/m4/md_check_gcc3.m4
+@@ -1,7 +1,7 @@
+ AC_DEFUN([MD_CHECK_GCC3],
+ [
+ if [[ "$GCC" = "yes" ]]; then
+- ver=$(gcc -dD -E - < /dev/null | sed -ne 's,.*__GNUC__ ,,p')
++ ver=$(${CC} -dD -E - < /dev/null | sed -ne 's,.*__GNUC__ ,,p')
+ case $ver in
+ *[[^[:digit:]]]*)
+ AC_MSG_WARN([Could not determine compiler version. Trying our luck...])
diff --git a/dev-libs/libhid/files/libhid-0.2.16-libusb.patch b/dev-libs/libhid/files/libhid-0.2.16-libusb.patch
new file mode 100644
index 000000000000..aa49205ec75d
--- /dev/null
+++ b/dev-libs/libhid/files/libhid-0.2.16-libusb.patch
@@ -0,0 +1,25 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -59,6 +59,8 @@
+ MD_CHECK_OS
+
+ MD_CHECK_LIBUSB018B
++LIBS="$LIBS $LIBUSB_LIBS"
++INCLUDES="$INCLUDES $LIBUSB_CFLAGS"
+
+ AC_PROG_CC
+ MD_CHECK_GCC3
+@@ -97,13 +99,6 @@
+
+ MD_CHECK_DOXYGEN
+
+-MD_CONF_FLAGS(
+- [],
+- [$OS_CFLAGS $LIBUSB_CFLAGS],
+- [],
+- [$OS_LDFLAGS $LIBUSB_LIBS]
+-)
+-
+ MD_CONF_DB2MAN
+
+ ##### OUTPUT #################################################################
diff --git a/dev-libs/libhid/files/libhid-0.2.16-swig.patch b/dev-libs/libhid/files/libhid-0.2.16-swig.patch
new file mode 100644
index 000000000000..ce5dae7481b9
--- /dev/null
+++ b/dev-libs/libhid/files/libhid-0.2.16-swig.patch
@@ -0,0 +1,45 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -88,8 +87,8 @@
+ if test "${ac_cv_enable_swig}" = "no" ; then
+ AM_CONDITIONAL(HAVE_SWIG, false)
+ else
+- AC_PROG_SWIG(1.3)
+- AM_CONDITIONAL(HAVE_SWIG, "$SWIG" -version)
++ AC_CHECK_PROG(SWIG,swig,swig,false)
++ AM_CONDITIONAL(HAVE_SWIG, "$ac_cv_prog_SWIG" -version)
+ if test -z "${HAVE_SWIG_TRUE}" ; then
+ AM_PATH_PYTHON
+ SWIG_PYTHON
+--- a/swig/Makefile.am
++++ b/swig/Makefile.am
+@@ -1,7 +1,7 @@
+ # AM_MAKEFLAGS = @MAKEFLAGS@
+ ACLOCAL_AMFLAGS = -I m4
+
+-AM_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/hidparser -DHID_INTERNAL -DSWIG
++AM_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -iquote$(top_srcdir)/include -I$(top_srcdir)/hidparser -DHID_INTERNAL -DSWIG
+ AM_CFLAGS = -fPIC -fno-strict-aliasing
+ AM_LDFLAGS = -shared ../src/libhid.la -lusb
+
+@@ -29,7 +29,7 @@ __init__.py: hid.py
+
+ %_wrap.c %.py: %.i $(top_srcdir)/include/hid.h
+ $(SWIG) $(SWIG_PYTHON_OPT) $(SWIG_INC) -o $@ $<
+- echo '#include <compiler.h>' > tmp.c
++ echo '#include "compiler.h"' > tmp.c
+ sed -e 's/PyObject \*self/& UNUSED/' \
+ -e 's/int flags)/int flags UNUSED)/' < $@ >> tmp.c \
+ && mv tmp.c $@
+--- a/swig/hid.i
++++ b/swig/hid.i
+@@ -1,7 +1,7 @@
+ %module(docstring="libhid is a user-space USB HID access library built on libusb.", "threads"=1) hid
+ %{
+-#include <compiler.h>
+-#include <hid.h>
++#include "compiler.h"
++#include "hid.h"
+ %}
+
+ %feature("autodoc","0");
diff --git a/dev-libs/libhid/libhid-0.2.16-r4.ebuild b/dev-libs/libhid/libhid-0.2.16-r4.ebuild
new file mode 100644
index 000000000000..f73c9372aa04
--- /dev/null
+++ b/dev-libs/libhid/libhid-0.2.16-r4.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils python-single-r1
+
+DESCRIPTION="Provides a generic and flexible way to access and interact with USB HID devices"
+HOMEPAGE="http://libhid.alioth.debian.org/"
+SRC_URI="http://beta.magicaltux.net/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="doc python static-libs"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ virtual/libusb:0
+"
+DEPEND="
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+ python? ( dev-lang/swig )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ epatch "${FILESDIR}"/${P}-swig.patch
+ epatch "${FILESDIR}"/${P}-libusb.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ export OS_LDFLAGS="${LDFLAGS}"
+ use python && export PYTHON_LDFLAGS=$(${EPYTHON}-config --ldflags)
+
+ econf \
+ $(use_enable python swig) \
+ $(use_enable static-libs static) \
+ $(use_with doc doxygen) \
+ --disable-debug \
+ --disable-werror
+}
+
+DOCS=( AUTHORS ChangeLog NEWS README README.licence TODO )
+
+src_install() {
+ default
+
+ use doc && dohtml -r doc/html/*
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libhid/metadata.xml b/dev-libs/libhid/metadata.xml
new file mode 100644
index 000000000000..006ee5dd3d44
--- /dev/null
+++ b/dev-libs/libhid/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+<longdescription lang="en">
+libhid provides a generic and flexible way to access and interact with USB
+HID devices, much like libusb does for plain USB devices. It is based on
+libusb, thus it requires no HID support in the kernel and provides means to
+take control over a device even if the kernel governs it.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/libhome/Manifest b/dev-libs/libhome/Manifest
new file mode 100644
index 000000000000..da7e52f7e2ef
--- /dev/null
+++ b/dev-libs/libhome/Manifest
@@ -0,0 +1 @@
+DIST libhome-0.10.2.tar.gz 286453 SHA256 a099e61e83c140d74e3515135881903f26358bc32ce97292c8a8c673e7c0de13 SHA512 9f144b6aeb8e01f5ca2f8f90c5289d4449895e2eddbfd2d8d9b1828bb203fd8f68c224c0f068ffabfa5ee1514f9b756cb2499f862418d793eb8d06ae960447a9 WHIRLPOOL 04db6d6406e9f4f715db2236fa48b2b1e5bc7e625cbfd1c0ac192fff58dac71bc4e9ef1dac6cdd4d8ab01beede31ecda7c9fac6ec239939ef061e576c0250b44
diff --git a/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch b/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch
new file mode 100644
index 000000000000..54915fd4bb04
--- /dev/null
+++ b/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch
@@ -0,0 +1,59 @@
+--- Makefile.in
++++ Makefile.in
+@@ -61,7 +61,7 @@
+ LIBTOOL=./libtool
+
+ COMPILE=${LIBTOOL} --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS}
+-LINK=${LIBTOOL} --mode=link ${CC} ${CFLAGS}
++LINK=${LIBTOOL} --mode=link ${CC} ${CFLAGS} ${LDFLAGS}
+
+
+ hparam.o: version.h
+@@ -114,27 +114,32 @@
+ install:: install-man install-lib
+
+ install-man:: home.conf.5
+- ${INSTALL_DATA} home.conf.5 ${mandir}/man5/
+-@DO_PROXY@ ${INSTALL_DATA} home_proxy.8 ${mandir}/man8/
++ ${INSTALL} -d $(DESTDIR)${mandir}/man5
++@DO_PROXY@ ${INSTALL} -d $(DESTDIR)${mandir}/man8
++ ${INSTALL_DATA} home.conf.5 $(DESTDIR)${mandir}/man5/
++@DO_PROXY@ ${INSTALL_DATA} home_proxy.8 $(DESTDIR)${mandir}/man8/
+
+ install-lib:: all
+- ${LIBTOOL} --mode=install ${INSTALL_DATA} libhome.la ${libdir}/
++ ${INSTALL} -d $(DESTDIR)${libdir}
++ ${INSTALL} -d $(DESTDIR)${bindir}
++@DO_PROXY@ ${INSTALL} -d $(DESTDIR)${sbindir}
++ ${INSTALL} -d $(DESTDIR)${includedir}/home
++ ${LIBTOOL} --mode=install ${INSTALL_DATA} libhome.la $(DESTDIR)${libdir}/
+ test "@PRELOAD_LIB@" = "" || \
+- ${LIBTOOL} --mode=install ${INSTALL_DATA} @PRELOAD_LIB@ ${libdir}/
+- ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_finger ${bindir}/
+- ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_su ${bindir}/
+- -mkdir -p ${includedir}/home
+- ${INSTALL_DATA} hpwd.h ${includedir}/home/pwd.h
+- ${INSTALL_DATA} hpwd.h ${includedir}/home/
+- ${INSTALL_DATA} hparam.h ${includedir}/home/
+- ${INSTALL_DATA} home_version.h ${includedir}/home/
++ ${LIBTOOL} --mode=install ${INSTALL_DATA} @PRELOAD_LIB@ $(DESTDIR)${libdir}/
++ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_finger $(DESTDIR)${bindir}/
++ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_su $(DESTDIR)${bindir}/
++ ${INSTALL_DATA} -D hpwd.h $(DESTDIR)${includedir}/home/pwd.h
++ ${INSTALL_DATA} -D hpwd.h $(DESTDIR)${includedir}/home/
++ ${INSTALL_DATA} -D hparam.h $(DESTDIR)${includedir}/home/
++ ${INSTALL_DATA} -D home_version.h $(DESTDIR)${includedir}/home/
+ chmod +x libhome.sh
+- ${INSTALL_SCRIPT} libhome.sh ${bindir}/
+-@DO_PROXY@ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_proxy ${sbindir}/
+-@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} ${libdir}/
++ ${INSTALL_SCRIPT} -D libhome.sh $(DESTDIR)${bindir}/
++@DO_PROXY@ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_proxy $(DESTDIR)${sbindir}/
++@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} $(DESTDIR)${libdir}/
+
+ install-nss:: nss
+-@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} ${libdir}/
++@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} $(DESTDIR)${libdir}/
+
+ compat:
+ -mkdir compat
diff --git a/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch b/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch
new file mode 100644
index 000000000000..a96645176c13
--- /dev/null
+++ b/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch
@@ -0,0 +1,12 @@
+Index: libhome-0.10.2/hldap.c
+===================================================================
+--- libhome-0.10.2.orig/hldap.c
++++ libhome-0.10.2/hldap.c
+@@ -27,6 +27,7 @@ static char const rcsid[] UNUSED =
+ "$Id: libhome-0.10.2-ldap_deprecated.patch,v 1.1 2009/07/05 19:25:41 hollow Exp $";
+
+ #define passwd system_passwd
++#define LDAP_DEPRECATED 1
+ #include <lber.h> /* for openldap 1.x */
+ #include <ldap.h>
+ #include <errno.h>
diff --git a/dev-libs/libhome/libhome-0.10.2-r1.ebuild b/dev-libs/libhome/libhome-0.10.2-r1.ebuild
new file mode 100644
index 000000000000..701c5c986cf8
--- /dev/null
+++ b/dev-libs/libhome/libhome-0.10.2-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools db-use eutils
+
+DESCRIPTION="libhome is a library providing a getpwnam() emulation"
+HOMEPAGE="http://pll.sourceforge.net"
+SRC_URI="mirror://sourceforge/pll/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="berkdb ldap mysql pam postgres"
+
+DEPEND="berkdb? ( >=sys-libs/db-4 )
+ ldap? ( net-nds/openldap )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql[server] )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ rm -f aclocal.m4
+
+ epatch "${FILESDIR}"/${PN}-0.10.2-Makefile.patch
+ epatch "${FILESDIR}"/${PN}-0.10.2-ldap_deprecated.patch
+
+ # bug 225579
+ sed -i -e 's:\<VERSION\>:__PKG_VERSION:' configure.in
+
+ sed -i -e '/AC_SEARCH_LIBS.*db4/s: db-4.* db4:'$(db_libname)':' \
+ configure.in
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --without-db3 \
+ $(use_with berkdb db4 $(db_includedir)) \
+ $(use_with ldap) \
+ $(use_with mysql) \
+ $(use_with pam) \
+ $(use_with postgres pgsql) \
+ || die "econf failed"
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+}
diff --git a/dev-libs/libhome/metadata.xml b/dev-libs/libhome/metadata.xml
new file mode 100644
index 000000000000..312dcb0c7d32
--- /dev/null
+++ b/dev-libs/libhome/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">pll</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libhtmlparse/Manifest b/dev-libs/libhtmlparse/Manifest
new file mode 100644
index 000000000000..c475c0ee8361
--- /dev/null
+++ b/dev-libs/libhtmlparse/Manifest
@@ -0,0 +1 @@
+DIST libhtmlparse-0.1.13.tar.gz 202176 SHA256 d8259d8b07691dff589741c20161c32be45ac5ee43d4ba8d5caa6901e430f4ad SHA512 51366b24ebf5cc1e494f146ec996f9327d20a41cd425ccade23c45bc95eaf76dc5e339aee6a459c794f527a55d7cf96502832dbe88281ee7c7e2b3c14d3a53aa WHIRLPOOL c23ca68cd8c5449039a11d1a939afc7a5805aeb7cacb742f4d160ca52158c3aca88f034fc128c0f73582acc9ef34451efb4e39575af67fb178aa7737a4437b1e
diff --git a/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild b/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild
new file mode 100644
index 000000000000..623266920b5c
--- /dev/null
+++ b/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="HTML parsing library. It takes HTML tags, text, and calls callbacks for each type of token"
+HOMEPAGE="http://msalem.translator.cx/libhtmlparse.html"
+SRC_URI="http://msalem.translator.cx/dist/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="static-libs"
+
+DOCS=( AUTHORS BUGS INSTALL ChangeLog NEWS README TODO )
+
+src_unpack() {
+ # for some reason, we get a "this does not look like a tar archive" error
+ # but the following works... go figure.
+ gunzip -c "${DISTDIR}"/${P}.tar.gz > ${P}.tar || die 'gunzip failed'
+ tar xf ${P}.tar || die "failed to unpack ${P}.tar"
+ rm ${P}.tar || die "rm failed"
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libhtmlparse/metadata.xml b/dev-libs/libhtmlparse/metadata.xml
new file mode 100644
index 000000000000..e96e35b1a37c
--- /dev/null
+++ b/dev-libs/libhtmlparse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
new file mode 100644
index 000000000000..8eb60fe32e22
--- /dev/null
+++ b/dev-libs/libical/Manifest
@@ -0,0 +1 @@
+DIST libical-1.0.1.tar.gz 720618 SHA256 7d5f613454ec6c7d1bcfb441c919215be53292aa15cd1cb14249d1413d6c610c SHA512 efce88c73352fc34e9f7eda2234bdb593e917b33d1373cc6e6a21a72db1b14f2ed72976d6084dddcd8f07b08a15d5f04370bc825695d2fd40cc7b8488a7a977f WHIRLPOOL b9b4aa3fe0287a5394a8b23a1c3c810059554f6cce396b98f383df9950f984e0d18961086ecbdeb1c099ca6c63f68ceb2be08a9471817e0554ecc6e7fce06347
diff --git a/dev-libs/libical/libical-1.0.1.ebuild b/dev-libs/libical/libical-1.0.1.ebuild
new file mode 100644
index 000000000000..b528c006d7cc
--- /dev/null
+++ b/dev-libs/libical/libical-1.0.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils
+
+DESCRIPTION="An implementation of basic iCAL protocols"
+HOMEPAGE="http://github.com/libical/libical"
+SRC_URI="http://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+# FIGURE OUT: Why ebuild for 1.0 was marked || ( MPL-1.1 LGPL-2 ) against what COPYING file says?
+LICENSE="|| ( MPL-1.0 LGPL-2.1 )"
+SLOT="0/1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples introspection static-libs"
+
+RDEPEND="introspection? ( dev-libs/gobject-introspection )"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+DOCS=(
+ AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
+ doc/{AddingOrModifyingComponents,UsingLibical}.txt
+)
+
+src_configure() {
+ local mycmakeargs=( $(cmake-utils_use introspection GOBJECT_INTROSPECTION) )
+ use static-libs || mycmakeargs+=( -DSHARED_ONLY=ON )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile -j1
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples; then
+ rm examples/Makefile* examples/CMakeLists.txt
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+ fi
+}
diff --git a/dev-libs/libical/metadata.xml b/dev-libs/libical/metadata.xml
new file mode 100644
index 000000000000..ef10b94c5849
--- /dev/null
+++ b/dev-libs/libical/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libical/libical</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libiconv/Manifest b/dev-libs/libiconv/Manifest
new file mode 100644
index 000000000000..f6974165fadd
--- /dev/null
+++ b/dev-libs/libiconv/Manifest
@@ -0,0 +1,2 @@
+DIST libiconv-1.13.1.tar.gz 4716070 SHA256 55a36168306089009d054ccdd9d013041bfc3ab26be7033d107821f1c4949a49 SHA512 8475b020769e66f56e476143b81da032e10b02b76b8b49468ce0d8c5658dca1a36940da5cde2fc7e82add2679fc9efe5cd2ea10ccd349682ff85a64d10101662 WHIRLPOOL 5f8b8f72176a3e80e416e3d0535e9ec77322f9a268567c7175f521d1cd3b15818779f28a0e50bac29048c26c14bb149450b81cc5af2d824ff4fc3c2559e0a97c
+DIST libiconv-1.14.tar.gz 4984397 SHA256 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613 SHA512 b96774fefc4fa1d07948fcc667027701373c34ebf9c4101000428e048addd85a5bb5e05e59f80eb783a3054a3a8a3c0da909450053275bbbf3ffde511eb3f387 WHIRLPOOL e96337209a4f86eccb112e94c3cd6b668b2a8fc4b05ed7becaa2f6fbc9279f7b32ec1fa4b086e61520bfffea5d4f7a1cad58bdb266b5f0aa7d02b89aeed9759a
diff --git a/dev-libs/libiconv/files/libiconv-1.10-link.patch b/dev-libs/libiconv/files/libiconv-1.10-link.patch
new file mode 100644
index 000000000000..c17019c93375
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.10-link.patch
@@ -0,0 +1,13 @@
+Index: libiconv-1.10/src/Makefile.in
+===================================================================
+--- libiconv-1.10.orig/src/Makefile.in
++++ libiconv-1.10/src/Makefile.in
+@@ -92,7 +92,7 @@ install : all force
+ if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi
+ case "@host_os@" in \
+ hpux*) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv;; \
+- *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la @LTLIBINTL@ -o iconv;; \
++ *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la @LTLIBINTL@ -o iconv;; \
+ esac
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv $(DESTDIR)$(bindir)/iconv
+
diff --git a/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch b/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch
new file mode 100644
index 000000000000..db767ac1dd81
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch
@@ -0,0 +1,22 @@
+hack until gzip pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/srclib/stdio.in.h
++++ b/srclib/stdio.in.h
+@@ -695,7 +695,6 @@ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
+
diff --git a/dev-libs/libiconv/libiconv-1.13.1.ebuild b/dev-libs/libiconv/libiconv-1.13.1.ebuild
new file mode 100644
index 000000000000..c131e559cc85
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.13.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib flag-o-matic libtool toolchain-funcs
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="http://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="!sys-libs/glibc
+ !sys-apps/man-pages"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # This patch is needed as libiconv 1.10 provides (and uses) new functions
+ # and they are not present in the old libiconv.so, and this breaks the
+ # ${DESTDIR} != ${prefix} that we use. It's a problem for Solaris, but we
+ # don't have to deal with it for now.
+ #epatch "${FILESDIR}"/${PN}-1.10-link.patch
+
+ # Make sure that libtool support is updated to link "the linux way" on
+ # FreeBSD.
+ elibtoolize
+}
+
+src_compile() {
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+
+ econf \
+ --disable-nls \
+ --enable-shared \
+ --enable-static \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" docdir="/usr/share/doc/${PF}/html" install || die "make install failed"
+
+ # Move static libs and creates ldscripts into /usr/lib
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/lib{iconv,charset}*$(get_libname)* "${D}/$(get_libdir)" || die
+ gen_usr_ldscript libiconv$(get_libname)
+ gen_usr_ldscript libcharset$(get_libname)
+}
diff --git a/dev-libs/libiconv/libiconv-1.14-r1.ebuild b/dev-libs/libiconv/libiconv-1.14-r1.ebuild
new file mode 100644
index 000000000000..7cdadacf4bfc
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.14-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="http://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="+static-libs"
+
+DEPEND="!sys-libs/glibc
+ !userland_GNU? ( !sys-apps/man-pages )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-gets.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ ECONF_SOURCE="${S}" \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+
+ # If we have a GNU userland, we probably have sys-apps/man-pages
+ # installed, which means we want to rename our copies #503162.
+ # The use of USELAND=GNU is kind of a hack though ...
+ if use userland_GNU ; then
+ cd "${ED}"/usr/share/man || die
+ local f
+ for f in man*/*.[0-9] ; do
+ mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
+ done
+ fi
+}
diff --git a/dev-libs/libiconv/libiconv-1.14.ebuild b/dev-libs/libiconv/libiconv-1.14.ebuild
new file mode 100644
index 000000000000..52449aba031c
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.14.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit libtool toolchain-funcs
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="http://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="!sys-libs/glibc
+ !sys-apps/man-pages"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Make sure that libtool support is updated to link "the linux way"
+ # on FreeBSD.
+ elibtoolize
+}
+
+src_configure() {
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ --enable-static
+}
+
+src_install() {
+ default
+
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+}
diff --git a/dev-libs/libiconv/metadata.xml b/dev-libs/libiconv/metadata.xml
new file mode 100644
index 000000000000..c06fa3348596
--- /dev/null
+++ b/dev-libs/libiconv/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+<longdescription lang="en">
+libiconv is a standalone package which implements the iconv() related
+functions as glibc already embed. Libraries and applications needs it
+when built in a non-glibc system.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/libidmef/Manifest b/dev-libs/libidmef/Manifest
new file mode 100644
index 000000000000..b50c513b3db0
--- /dev/null
+++ b/dev-libs/libidmef/Manifest
@@ -0,0 +1 @@
+DIST libidmef-1.0.3.tar.gz 1321584 SHA256 6dfece5f9c0ddbe60218cddf112d8867693ee6e8a3ce1b8f78be0016ded845c0 SHA512 5f21c50efffc52b8008c979b95fcedd2add7e4355643626043880105f96b4086cd9cda3c9532ddd6745f6236e2edf15a20324bdfb932e63cdcf23c8104b03dc5 WHIRLPOOL b74c5cdaf4295feb34a61385dcf53791d03c925c9e47a706a6aa6a6c656e2f64ac2ff282b70531b5976ad8bcf6488cf76d2a1c5d7fded0fa21c50c4d0c1cf8dc
diff --git a/dev-libs/libidmef/libidmef-1.0.3.ebuild b/dev-libs/libidmef/libidmef-1.0.3.ebuild
new file mode 100644
index 000000000000..bbca8848500e
--- /dev/null
+++ b/dev-libs/libidmef/libidmef-1.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Implementation of the IDMEF XML draft"
+HOMEPAGE="http://sourceforge.net/projects/libidmef/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+DEPEND=">=dev-libs/libxml2-2.5.10"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS ChangeLog FAQ NEWS README TODO )
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
diff --git a/dev-libs/libidmef/metadata.xml b/dev-libs/libidmef/metadata.xml
new file mode 100644
index 000000000000..2205e192480f
--- /dev/null
+++ b/dev-libs/libidmef/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ <name>Default assignee for orphaned packages</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libidmef</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libindicate-qt/Manifest b/dev-libs/libindicate-qt/Manifest
new file mode 100644
index 000000000000..21b307d1a114
--- /dev/null
+++ b/dev-libs/libindicate-qt/Manifest
@@ -0,0 +1,2 @@
+DIST libindicate-qt_0.2.5.91-5.debian.tar.gz 5263 SHA256 11ac1c983dc0f326c9280941d82d51e98d246dfb033cbdcdddacd9bbb8d98066 SHA512 9e377d06be8b65f54bceb7fb50f83c9aefae1c5f27ca1a695997d6cd4b39ec3a1d1fe0b39322b276e1c0fc2157d5eb9a89fa3d7cc6879fbaa9d027e255c3cdc3 WHIRLPOOL bcc54a04cfe2613dabaf6ccd1d5cd060ff8cf771ae2a22375279b92b5a9cd2574814933e29df694f0795f66bbb71138f23d50630321cf8f987045df2ddd6ed36
+DIST libindicate-qt_0.2.5.91.orig.tar.bz2 33799 SHA256 bcdcbe92f5917e6622836c67a897c7399d25448984614a08eb184e82bfc14385 SHA512 62b6ee0a758729f8007d0dfe6c7b9f55264f0bc110cebc8ef9f782c345fb81e45d9b652de45db06105510a232449b2427fb9a8344f86fb911d3fac1d5c552a23 WHIRLPOOL ada9936a5c2f754a3a5afb4c8bddb7ead9261111134360a65db3f39d73a4174774b45ca584e0b5476facf4e57746456ba5ecb9a99d76d50b3de30b38d166129b
diff --git a/dev-libs/libindicate-qt/files/libindicate-qt-0.2.5.91-optionaltests.patch b/dev-libs/libindicate-qt/files/libindicate-qt-0.2.5.91-optionaltests.patch
new file mode 100644
index 000000000000..70a54fdbe6f8
--- /dev/null
+++ b/dev-libs/libindicate-qt/files/libindicate-qt-0.2.5.91-optionaltests.patch
@@ -0,0 +1,24 @@
+https://code.launchpad.net/~ballogy/libindicate-qt/make-examples-and-tests-optional/+merge/82829
+=== modified file 'CMakeLists.txt'
+--- CMakeLists.txt 2010-03-08 09:02:19 +0000
++++ CMakeLists.txt 2011-11-20 20:28:23 +0000
+@@ -36,8 +36,16 @@
+ DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+
+ add_subdirectory(src)
+-add_subdirectory(examples)
+-add_subdirectory(tests)
++
++option( BUILD_EXAMPLES "build examples" ON )
++if (BUILD_EXAMPLES)
++ add_subdirectory(examples)
++endif (BUILD_EXAMPLES)
++
++option( BUILD_TESTS "build tests" ON )
++if (BUILD_TESTS)
++ add_subdirectory(tests)
++endif (BUILD_TESTS)
+
+ # Packaging
+ set(ARCHIVE_NAME libindicate-qt-${indicate_qt_VERSION})
+
diff --git a/dev-libs/libindicate-qt/libindicate-qt-0.2.5.91.ebuild b/dev-libs/libindicate-qt/libindicate-qt-0.2.5.91.ebuild
new file mode 100644
index 000000000000..14c4a8966932
--- /dev/null
+++ b/dev-libs/libindicate-qt/libindicate-qt-0.2.5.91.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils virtualx cmake-utils
+
+_UBUNTU_REVISION=5
+
+DESCRIPTION="Qt wrapper for libindicate library"
+HOMEPAGE="https://launchpad.net/libindicate-qt/"
+SRC_URI="mirror://ubuntu/pool/main/libi/${PN}/${PN}_${PV}.orig.tar.bz2
+ mirror://ubuntu/pool/main/libi/${PN}/${PN}_${PV}-${_UBUNTU_REVISION}.debian.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/libindicate-12.10.0
+ dev-qt/qtgui:4"
+DEPEND="${RDEPEND}
+ test? ( dev-qt/qttest:4 )
+ virtual/pkgconfig"
+
+# bug #440042
+RESTRICT="test"
+
+src_prepare() {
+ EPATCH_FORCE=yes EPATCH_SUFFIX=diff epatch "${WORKDIR}"/debian/patches
+ epatch "${FILESDIR}"/${P}-optionaltests.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF
+ $(cmake-utils_use_build test TESTS)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local ctestargs
+ [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
+
+ cd "${CMAKE_BUILD_DIR}"/tests
+
+ VIRTUALX_COMMAND="ctest ${ctestargs}" virtualmake || die
+}
diff --git a/dev-libs/libindicate-qt/metadata.xml b/dev-libs/libindicate-qt/metadata.xml
new file mode 100644
index 000000000000..887d1ab3b568
--- /dev/null
+++ b/dev-libs/libindicate-qt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">libindicate-qt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libindicate/Manifest b/dev-libs/libindicate/Manifest
new file mode 100644
index 000000000000..205554d665c6
--- /dev/null
+++ b/dev-libs/libindicate/Manifest
@@ -0,0 +1 @@
+DIST libindicate-12.10.1.tar.gz 550378 SHA256 41e0c059e96172975c716aa70dc60f669e21d359c65935c61ac374a9aa075581 SHA512 4dcb5f292153210bc15a05f117101429da77a60b8b05b569baddf0e9043d852c2dccb0d5a6adbdf4d4a1b6f06b33c61e242bb4bcb376e3d96563bda591685c06 WHIRLPOOL f175329bac76581ebc596771794e8e81c4e03b6042cc3508a7743034b7ed1f50b61b9accf78595c3beeed7236801096dfb58d42bd94959b433dfcf92b3114fae
diff --git a/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch b/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch
new file mode 100644
index 000000000000..349828a6058c
--- /dev/null
+++ b/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch
@@ -0,0 +1,78 @@
+Temporary patch to disable mono until new gtk-sharp is in tree wrt bug #382491
+
+--- bindings/Makefile.am
++++ bindings/Makefile.am
+@@ -1,9 +1,5 @@
+ SUBDIRS =
+
+-if HAS_MONO
+-SUBDIRS += mono
+-endif
+-
+ if HAS_PYTHON
+ SUBDIRS += python
+ endif
+--- configure.ac
++++ configure.ac
+@@ -124,61 +124,6 @@
+ AC_PATH_PROG([VALA_API_GEN], [vapigen])
+
+ ###########################
+-# Check for Mono support
+-###########################
+-
+-MONO_REQUIRED_VERSION=1.0
+-PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
+-
+-AC_PATH_PROG(AL, al, no)
+-if test "x$AL" = "xno" ; then
+- AC_MSG_NOTICE([No al tool found. You need to install Mono.])
+-fi
+-
+-if test "x$has_mono" = "xtrue" ; then
+- GENERATED_SOURCES=generated/*.cs
+- AC_PATH_PROG(RUNTIME, mono, no)
+-
+- if test "x$RUNTIME" != "no" ; then
+- RUNTIME=mono
+- fi
+-
+- AC_PATH_PROG(CSC, gmcs, no)
+- LIB_PREFIX=.so
+- LIB_SUFFIX=
+-fi
+-
+-if test "x$CSC" = "xno" ; then
+- AC_MSG_NOTICE([No Mono compiler found.])
+-fi
+-
+-AC_PATH_PROG(GACUTIL, gacutil, no)
+-if test "x$GACUTIL" = "xno" ; then
+- AC_MSG_NOTICE([No gacutil tool found])
+-fi
+-
+-AC_SUBST(RUNTIME)
+-AC_SUBST(CSC)
+-AC_SUBST(GACUTIL)
+-AC_SUBST(LIB_PREFIX)
+-AC_SUBST(LIB_SUFFIX)
+-AC_SUBST(GENERATED_SOURCES)
+-
+-GLIB_SHARP_REQ_VERSION=2.12.1
+-GTK_SHARP_REQ_VERSION=2.12
+-PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQ_VERSION, has_gtksharp=true, has_gtksharp=false)
+-AC_SUBST(GTK_SHARP_LIBS)
+-AC_SUBST(GTK_SHARP_CFLAGS)
+-
+-PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIB_SHARP_REQ_VERSION, has_gapi=true, has_gapi=false)
+-AC_PATH_PROG(GAPI_PARSER, gapi2-parser, no)
+-AC_SUBST(GAPI_PARSER)
+-AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no)
+-AC_SUBST(GAPI_CODEGEN)
+-AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no)
+-AC_SUBST(GAPI_FIXUP)
+-
+-###########################
+ # Check for Python support
+ ###########################
+
diff --git a/dev-libs/libindicate/libindicate-12.10.1-r1.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r1.ebuild
new file mode 100644
index 000000000000..c843703a16cc
--- /dev/null
+++ b/dev-libs/libindicate/libindicate-12.10.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.16"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils flag-o-matic vala
+
+DESCRIPTION="A library to raise flags on DBus for other components of the desktop to pick up and visualize"
+HOMEPAGE="http://launchpad.net/libindicate"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gtk +introspection"
+
+RESTRICT="test" # consequence of the -no-mono.patch
+
+RDEPEND=">=dev-libs/dbus-glib-0.100
+ >=dev-libs/glib-2.30
+ >=dev-libs/libdbusmenu-0.6.2[introspection?]
+ dev-libs/libxml2
+ gtk? (
+ dev-libs/libdbusmenu[gtk3]
+ >=x11-libs/gtk+-3.2:3
+ )
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+ !<${CATEGORY}/${PN}-0.6.1-r201"
+EAUTORECONF_DEPEND="dev-util/gtk-doc-am
+ gnome-base/gnome-common"
+DEPEND="${RDEPEND}
+ ${EAUTORECONF_DEPEND}
+ $(vala_depend)
+ app-text/gnome-doc-utils
+ virtual/pkgconfig"
+
+src_prepare() {
+ vala_src_prepare
+
+ epatch "${FILESDIR}"/${PN}-0.6.1-no-mono.patch
+
+ sed -i -e "s:vapigen:vapigen-$(vala_best_api_version):" configure.ac || die
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -Wno-error
+
+ # python bindings are only for GTK+-2.x
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --disable-silent-rules \
+ --disable-static \
+ $(use_enable gtk) \
+ $(use_enable introspection) \
+ --disable-python \
+ --disable-scrollkeeper \
+ --with-gtk=3 \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS
+
+ nonfatal dosym /usr/share/doc/${PF}/html/${PN} /usr/share/gtk-doc/html/${PN}
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libindicate/libindicate-12.10.1-r2.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r2.ebuild
new file mode 100644
index 000000000000..f53629cd67bb
--- /dev/null
+++ b/dev-libs/libindicate/libindicate-12.10.1-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VALA_MIN_API_VERSION="0.16"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils flag-o-matic vala
+
+DESCRIPTION="A library to raise flags on DBus for other components of the desktop to pick up and visualize"
+HOMEPAGE="http://launchpad.net/libindicate"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gtk +introspection"
+
+RESTRICT="test" # consequence of the -no-mono.patch
+
+RDEPEND=">=dev-libs/dbus-glib-0.100
+ >=dev-libs/glib-2.30
+ >=dev-libs/libdbusmenu-0.6.2[introspection?]
+ dev-libs/libxml2
+ gtk? (
+ dev-libs/libdbusmenu[gtk3]
+ >=x11-libs/gtk+-3.2:3
+ )
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+ !<${CATEGORY}/${PN}-0.6.1-r201"
+EAUTORECONF_DEPEND="dev-util/gtk-doc-am
+ gnome-base/gnome-common"
+DEPEND="${RDEPEND}
+ ${EAUTORECONF_DEPEND}
+ $(vala_depend)
+ app-text/gnome-doc-utils
+ virtual/pkgconfig"
+
+src_prepare() {
+ vala_src_prepare
+
+ epatch "${FILESDIR}"/${PN}-0.6.1-no-mono.patch
+
+ sed -i \
+ -e "s:vapigen:vapigen-$(vala_best_api_version):" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -Wno-error
+
+ # python bindings are only for GTK+-2.x
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ $(use_enable gtk) \
+ $(use_enable introspection) \
+ --disable-python \
+ --disable-scrollkeeper \
+ --with-gtk=3
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libindicate/metadata.xml b/dev-libs/libindicate/metadata.xml
new file mode 100644
index 000000000000..14cb6a728c3b
--- /dev/null
+++ b/dev-libs/libindicate/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> for introspection</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">libindicate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libindicator/Manifest b/dev-libs/libindicator/Manifest
new file mode 100644
index 000000000000..7a579eeb4472
--- /dev/null
+++ b/dev-libs/libindicator/Manifest
@@ -0,0 +1,2 @@
+DIST libindicator-12.10.0.tar.gz 427575 SHA256 dd8e5cb40407da9c837793af5c9e62e73c2054525733c7cd654c387bb010c2e4 SHA512 c0b9dc5a6c7b3ddd9392ae5a5db40f216439b869426e5b8a307a4adee5290376c2edc32f3a0268aafe63ae8b80dc0298b125c6c539c50a5c5545d7d727679007 WHIRLPOOL a7252a2646bdb250d4f756439d338e4defda6ff380d864cf97bcc2d2f023ef3f69ca37b28898cb2d5e87523d6cb5c4b690b735869435a020ad2fb49bb22b8fea
+DIST libindicator-12.10.1.tar.gz 427764 SHA256 b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f SHA512 d6d77d0309b15cf6b52539323920ab0c1594cb1c1cef8a8d67cd0f76f8ceeeac28eb6db6227563df1932e6f1fadcffac68d82982182b745257dfaf91f1c945af WHIRLPOOL 0fd630c390c16cd42a133c2eb2f7471e7d231de6c1c15a187e608bb305cac1435d5fa753043fc88825e53f081dffe0974d960e047b48fa9871426e09b5e1fd4e
diff --git a/dev-libs/libindicator/libindicator-12.10.0-r200.ebuild b/dev-libs/libindicator/libindicator-12.10.0-r200.ebuild
new file mode 100644
index 000000000000..b95353bf4a8a
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.0-r200.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic virtualx
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22
+ >=x11-libs/gtk+-2.18:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )"
+
+src_configure() {
+ append-flags -Wno-error
+
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=2
+}
+
+src_test() {
+ Xemake check #391179
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ prune_libtool_files --all
+
+ rm -vf \
+ "${ED}"/usr/lib*/libdummy-indicator-* \
+ "${ED}"/usr/share/${PN}/*indicator-debugging
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.0-r300.ebuild b/dev-libs/libindicator/libindicator-12.10.0-r300.ebuild
new file mode 100644
index 000000000000..e3ff033d25d2
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.0-r300.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic virtualx
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22
+ >=x11-libs/gtk+-3.2:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )"
+
+src_configure() {
+ append-flags -Wno-error
+
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=3
+}
+
+src_test() {
+ Xemake check #391179
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r200.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r200.ebuild
new file mode 100644
index 000000000000..21495aa2fadc
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.1-r200.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic virtualx
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22
+ >=x11-libs/gtk+-2.18:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )"
+
+src_configure() {
+ append-flags -Wno-error
+
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=2
+}
+
+src_test() {
+ Xemake check #391179
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ prune_libtool_files --all
+
+ rm -vf \
+ "${ED}"/usr/lib*/libdummy-indicator-* \
+ "${ED}"/usr/share/${PN}/*indicator-debugging
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild
new file mode 100644
index 000000000000..f003f7a63325
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic virtualx multilib-minimal
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ test? ( dev-util/dbus-test-runner )"
+
+multilib_src_configure() {
+ append-flags -Wno-error
+
+ myconf=(
+ --disable-silent-rules
+ --disable-static
+ --with-gtk=2
+ )
+ local ECONF_SOURCE=${S}
+ econf "${myconf[@]}"
+}
+
+multilib_src_test() {
+ Xemake check #391179
+}
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+
+ rm -vf \
+ "${ED}"/usr/lib*/libdummy-indicator-* \
+ "${ED}"/usr/share/${PN}/*indicator-debugging
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r300.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r300.ebuild
new file mode 100644
index 000000000000..29701d462b7e
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.1-r300.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic virtualx
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22
+ >=x11-libs/gtk+-3.2:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )"
+
+src_configure() {
+ append-flags -Wno-error
+
+ econf \
+ --disable-silent-rules \
+ --disable-static \
+ --with-gtk=3
+}
+
+src_test() {
+ Xemake check #391179
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
new file mode 100644
index 000000000000..8e863b01d56a
--- /dev/null
+++ b/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic virtualx multilib-minimal
+
+DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
+HOMEPAGE="http://launchpad.net/libindicator"
+SRC_URI="http://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ test? ( dev-util/dbus-test-runner )"
+
+multilib_src_configure() {
+ append-flags -Wno-error
+
+ myconf=(
+ --disable-silent-rules
+ --disable-static
+ --with-gtk=3
+ )
+ local ECONF_SOURCE=${S}
+ econf "${myconf[@]}"
+}
+
+multilib_src_test() {
+ Xemake check #391179
+}
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libindicator/metadata.xml b/dev-libs/libindicator/metadata.xml
new file mode 100644
index 000000000000..97d25986e74d
--- /dev/null
+++ b/dev-libs/libindicator/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>ayatana</herd>
+ <maintainer>
+ <email>ayatana-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">libindicator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libinput/Manifest b/dev-libs/libinput/Manifest
new file mode 100644
index 000000000000..32b187b16223
--- /dev/null
+++ b/dev-libs/libinput/Manifest
@@ -0,0 +1,7 @@
+DIST libinput-0.13.0.tar.xz 540300 SHA256 6cecaf7fde525f1d81474cbd495ce526d5e34c845d3e9d6f3e2565b7048cc61a SHA512 d07b35cec8d8cd3f75d7f8916fda4723e6a7b94bf457e249ee2b93e9a7c60b9999508d071b8959c7fb3676d13a3b5430c71f2bf579572cab87bcc4e655ab69ab WHIRLPOOL 944a1336d764d6359f65a4d3ac8d3150caf1b0db649a6dea2eaf52fae2b2e14a2ffac8b3de93280115d296c773bb7fc0d6c771e98514f76061fb8814bf0d56ff
+DIST libinput-0.18.0.tar.xz 623740 SHA256 64a70f96bab17a22eaf2fd7af17cf83def3388374096c7623be9448f62808cda SHA512 352a941a03942ed486f4d0d1ce09c928b5230bb041f71d6d906307cd208d23071b85f885658e9118cf29a72686dcd76c2c66c1b3291f48745efd40e6e5dfe38b WHIRLPOOL 50a6e2f58ef35746fec615bb61f9859347853f3fbc6044903975668e50f92fa6713a4bf05e6e038ebe5184a7fd496778b6b64d582607b0f183d44404e327587b
+DIST libinput-0.19.0.tar.xz 627800 SHA256 69a97da47ef8fa9debadaa8ee11005b9b5183bd2b87c5aa7827b7c388a5acc5d SHA512 773e59ff0e797c206410f417fcc8cb775dd0e87277a598cf7bacd2f116df1e62de9e99b12b318de0d098ad43882728fa19334ed4e2ae1f8f39bc28c255307c5a WHIRLPOOL adac12649898714306ab59f7af08a7edfdc133bdd9703b7896cde2a771111b60b5a359182698ab9cb46cd8a66dfc3d422bd9a0bceb940a83f9ecfdc9dccbc21d
+DIST libinput-0.20.0.tar.xz 647668 SHA256 175bdfce97cfab13a2a0d02c3138fcf02f60c8fcd098835a97128ff114d7125d SHA512 5c38024d4f0f7c4a7f50b5bfe1ebcb60778643ab053798847b48c704dbf19de3443d98ea508f1dd72577567f949fe85bc80ff1706e6a0896d02449485b41b1a6 WHIRLPOOL c92b82b477cb09744815a6b07293f1a4b8347a630c75628ad0b0e510bfe8a47e8e916128520946a17cf8273ad0c5fa6c0d464f124c70eac6e89611aedd170bdc
+DIST libinput-0.21.0.tar.xz 658788 SHA256 7cce7a9e510dfe5c4a19ad00e9350808d4f59f8611fd2b5e87213c507283f550 SHA512 676d5353ca9fb6b6a3f76f4e2d2ab4c78b09240c0bba5d4e06049e2f6fc913ed99cdc60880d00d34c2f3367937e3fca03f0d3d8baaf3d3348d4f2edba1b600a5 WHIRLPOOL a6367e7edc797292937bc956d3ed6c2d73987f058d4eeddc43436115f8674ba1ff558ca9f7b5b6d56420fe64210565d47fae9dfe188b8ebedc91d2b991901721
+DIST libinput-0.7.0.tar.xz 440228 SHA256 129f485afe5e4a9394641293991c97cb99f5f3338340d0d65b704ff463d1579e SHA512 0e03ab7ca98c4574997742b7d8912000fb176d7a3e2c381b7e63139f78455374f8f38284e226fe443d5a524f34be8995317b91fc0190795a97b10af060423b77 WHIRLPOOL 664510fc33cb718b56600553332bb3eb587b3f4a40f81d4a80dd218882aba204522bcbbfab98f3ae0c6447d3a39cc98b9d88aea5f8e3c21da0803b93d64ad321
+DIST libinput-0.9.0.tar.xz 510512 SHA256 309043976f41f5451c2a4b1c25bc2993b18aecb22524d797f21eb6b6c968ff0d SHA512 a6f718215428eda45ac00c25d0b62ada84bf924822cb66e0a9b28f4cfc36e7d1678f2dfb47afae16ce4c277d589adcf97aefe8e2e5a154873b649fe4a84527a1 WHIRLPOOL 23da6dbcd7b17000cea641e0931db8a9b2ad34b0655e4e31b0419ff4799adc59d2646b10316e073ad49695ebd652c150abf05c39d15c735ecb1d97f6f8c1d8de
diff --git a/dev-libs/libinput/files/libinput-0.18.0-includes.patch b/dev-libs/libinput/files/libinput-0.18.0-includes.patch
new file mode 100644
index 000000000000..22e292d6d2fb
--- /dev/null
+++ b/dev-libs/libinput/files/libinput-0.18.0-includes.patch
@@ -0,0 +1,37 @@
+From 984dec0ed1c52087a4a32e181a1c09817881de39 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 23 Jun 2015 11:31:56 +0200
+Subject: [PATCH] Add missing includes for *stat
+
+---
+ src/evdev.c | 1 +
+ src/path.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/evdev.c b/src/evdev.c
+index 7e1e5c8..cfcdc34 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -29,6 +29,7 @@
+ #include <stdbool.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/stat.h>
+ #include "linux/input.h"
+ #include <unistd.h>
+ #include <fcntl.h>
+diff --git a/src/path.c b/src/path.c
+index 92535cd..ab4d065 100644
+--- a/src/path.c
++++ b/src/path.c
+@@ -26,6 +26,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
++#include <sys/stat.h>
+ #include <libudev.h>
+
+ #include "path.h"
+--
+2.4.3
+
diff --git a/dev-libs/libinput/libinput-0.13.0-r1.ebuild b/dev-libs/libinput/libinput-0.13.0-r1.ebuild
new file mode 100644
index 000000000000..a8ff917d5e73
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.13.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+# License appears to be a variant of libtiff
+LICENSE="libtiff"
+SLOT="0/10"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ --disable-tests \
+ --with-udev-dir="$(get_udevdir)"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.18.0.ebuild b/dev-libs/libinput/libinput-0.18.0.ebuild
new file mode 100644
index 000000000000..b104b57dd10d
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.18.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/10"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="test"
+# Tests require write access to udev rules directory which is a no-no for live system.
+# Other tests are just about logs, exported symbols and autotest of the test library.
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# test? (
+# >=dev-libs/check-0.9.10
+# dev-util/valgrind
+# sys-libs/libunwind )
+
+src_prepare() {
+ # Fix missing include for *stat, upstream #91069
+ epatch "${FILESDIR}"/${PN}-0.18.0-includes.patch
+}
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ $(use_enable test tests) \
+ --with-udev-dir="$(get_udevdir)"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.19.0.ebuild b/dev-libs/libinput/libinput-0.19.0.ebuild
new file mode 100644
index 000000000000..b1aa4c8175e7
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.19.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/10"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="test"
+# Tests require write access to udev rules directory which is a no-no for live system.
+# Other tests are just about logs, exported symbols and autotest of the test library.
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# test? (
+# >=dev-libs/check-0.9.10
+# dev-util/valgrind
+# sys-libs/libunwind )
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ $(use_enable test tests) \
+ --with-udev-dir="$(get_udevdir)"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.20.0.ebuild b/dev-libs/libinput/libinput-0.20.0.ebuild
new file mode 100644
index 000000000000..b1aa4c8175e7
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.20.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/10"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="test"
+# Tests require write access to udev rules directory which is a no-no for live system.
+# Other tests are just about logs, exported symbols and autotest of the test library.
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# test? (
+# >=dev-libs/check-0.9.10
+# dev-util/valgrind
+# sys-libs/libunwind )
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ $(use_enable test tests) \
+ --with-udev-dir="$(get_udevdir)"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.21.0.ebuild b/dev-libs/libinput/libinput-0.21.0.ebuild
new file mode 100644
index 000000000000..b1aa4c8175e7
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.21.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/10"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="test"
+# Tests require write access to udev rules directory which is a no-no for live system.
+# Other tests are just about logs, exported symbols and autotest of the test library.
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# test? (
+# >=dev-libs/check-0.9.10
+# dev-util/valgrind
+# sys-libs/libunwind )
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ $(use_enable test tests) \
+ --with-udev-dir="$(get_udevdir)"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.7.0.ebuild b/dev-libs/libinput/libinput-0.7.0.ebuild
new file mode 100644
index 000000000000..4ea4655c85e3
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.7.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+# License appears to be a variant of libtiff
+LICENSE="libtiff"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm ~mips ppc ppc64 x86"
+IUSE=""
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ econf \
+ --disable-event-gui \
+ --disable-tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/libinput-0.9.0.ebuild b/dev-libs/libinput/libinput-0.9.0.ebuild
new file mode 100644
index 000000000000..2853cb49add5
--- /dev/null
+++ b/dev-libs/libinput/libinput-0.9.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/libinput/"
+SRC_URI="http://www.freedesktop.org/software/${PN}/${P}.tar.xz"
+
+# License appears to be a variant of libtiff
+LICENSE="libtiff"
+SLOT="0/7"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
+IUSE=""
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/libevdev-0.4
+ >=sys-libs/mtdev-1.1
+ virtual/libudev
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Doc handling in kinda strange but everything
+ # is available in the tarball already.
+ sed -e 's/^\(SUBDIRS =.*\)doc\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ # building documentation silently fails with graphviz syntax errors
+ econf \
+ --disable-documentation \
+ --disable-event-gui \
+ --disable-tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc -r doc/html
+ prune_libtool_files
+}
diff --git a/dev-libs/libinput/metadata.xml b/dev-libs/libinput/metadata.xml
new file mode 100644
index 000000000000..42473bf06aa3
--- /dev/null
+++ b/dev-libs/libinput/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/dev-libs/libisoburn/Manifest b/dev-libs/libisoburn/Manifest
new file mode 100644
index 000000000000..5fbcad51f686
--- /dev/null
+++ b/dev-libs/libisoburn/Manifest
@@ -0,0 +1,2 @@
+DIST libisoburn-1.3.8.tar.gz 1429974 SHA256 b75c9a7f17faab5280ddc34ea6610c4e8bcf630762ee386d10bc52c4b50f6806 SHA512 369299e491a379e048038d8a46040feb628b6b9dfb6d6ffac01808b6814e6ca936bb7e4fe75f904ce755e9957011403a5d38bff9f37901086d284f5c1014deb7 WHIRLPOOL 3dc40ab34838bb3d79f0cbb08b16480106de16b2c8401859c52fa139eb8a555f4182402dacf51ee481ec8f490a33a2e09cfc4ec3ba63db9fc876854c80f4dd12
+DIST libisoburn-1.4.0.tar.gz 1453974 SHA256 c1d51ae7e4662f75caae4442071b8e1480efb8e80682a9f82c32a76f30ba6421 SHA512 d9fd1e4a6f8d6ec2dfe2eccdf2ba2e379232d5eb66e25940a8854f160ccd456fa384488acf466af51fb9662ecd5a774dc81fe0fbd03fb8e1b82118ee9d066d1c WHIRLPOOL 3db2740f2ed9dc4b872f0d424a231673a10d0bb8af88ac9cdc1272e3e738d5bdda43b57ac0e0e69a95ad4d73b97947bbb07b360b275ec57a53dbb75d6565004d
diff --git a/dev-libs/libisoburn/libisoburn-1.3.8.ebuild b/dev-libs/libisoburn/libisoburn-1.3.8.ebuild
new file mode 100644
index 000000000000..163d995bba48
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.3.8.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Enables creation and expansion of ISO-9660 filesystems on all CD/DVD media supported by libburn"
+HOMEPAGE="http://libburnia-project.org/"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ppc64 x86"
+IUSE="acl cdio debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+RDEPEND=">=dev-libs/libburn-1.3.8
+ >=dev-libs/libisofs-1.3.8
+ readline? ( sys-libs/readline:0= )
+ !readline? ( libedit? ( dev-libs/libedit ) )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ cdio? ( >=dev-libs/libcdio-0.83 )
+ launch-frontend? ( dev-lang/tcl:0 dev-lang/tk:0 )
+ launch-frontend-setuid? ( dev-lang/tcl:0 dev-lang/tk:0 )
+ frontend-optional? ( dev-tcltk/bwidget )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable cdio libcdio) \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+ docinto xorriso/html
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libisoburn/libisoburn-1.4.0.ebuild b/dev-libs/libisoburn/libisoburn-1.4.0.ebuild
new file mode 100644
index 000000000000..750b8f14d591
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.4.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Enables creation and expansion of ISO-9660 filesystems on all CD/DVD media supported by libburn"
+HOMEPAGE="http://libburnia-project.org/"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="acl cdio debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+RDEPEND=">=dev-libs/libburn-1.4.0
+ >=dev-libs/libisofs-1.4.0
+ readline? ( sys-libs/readline:0= )
+ !readline? ( libedit? ( dev-libs/libedit ) )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ cdio? ( >=dev-libs/libcdio-0.83 )
+ launch-frontend? ( dev-lang/tcl:0 dev-lang/tk:0 )
+ launch-frontend-setuid? ( dev-lang/tcl:0 dev-lang/tk:0 )
+ frontend-optional? ( dev-tcltk/bwidget )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable cdio libcdio) \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+ docinto xorriso/html
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libisoburn/metadata.xml b/dev-libs/libisoburn/metadata.xml
new file mode 100644
index 000000000000..8617e6515120
--- /dev/null
+++ b/dev-libs/libisoburn/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>media-optical</herd>
+<maintainer>
+<email>billie@gentoo.org</email>
+<name>Daniel Pielmeier</name>
+</maintainer>
+<use>
+<flag name='external-filters'>Allow the use of external processes as file content
+filters (Note: this is a potential security risk)</flag>
+<flag name='external-filters-setuid'>Also allow the use of external setuid
+processes as file content filters (Note: this is a potential security
+risk)</flag>
+<flag name='launch-frontend'>Enable the tcl gui for xorriso</flag>
+<flag name='launch-frontend-setuid'>Enable the tcl gui for xorriso under setuid</flag>
+<flag name='frontend-optional'>Use <pkg>dev-tcltk/bwidget</pkg> which is not strictly required for the frontend</flag>
+<flag name="cdio">Enable EXPERIMENTAL use of libcdio as system adapter</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libisofs/Manifest b/dev-libs/libisofs/Manifest
new file mode 100644
index 000000000000..6ba531ed3da0
--- /dev/null
+++ b/dev-libs/libisofs/Manifest
@@ -0,0 +1,2 @@
+DIST libisofs-1.3.8.tar.gz 802154 SHA256 acd7bf42d5d1d5c277f4aad46e5b96229045a38a0fb7d43cfd7841ee3268fda5 SHA512 7e078a4070741d975234ac10ed6cd2a0366724e9fa440e7063c64f91a60c9454c6828e2b7737d6105f36067008495bfcba8327e56892ccb0962027dc78e251ce WHIRLPOOL 660f2cba77e8b83306fe4d40e34f0e94ecc18a8defd0375cadc84c0d964d6c868b2965329e51e3b5139c88e7cb20ee78f817004cb141e8be5528aa00a25d5647
+DIST libisofs-1.4.0.tar.gz 817349 SHA256 6e62824d879ffe85c0e4363677fd10f177a4c85af049d0861c70bf442b901fce SHA512 894976bc432f429d4a9fd4d92ba51d042b4944991c5ff01edc4cae5753f5fb73a4e4f147284974e4233c5b5fb1137c989d60ea349a4d8be7a237fd82530d3f36 WHIRLPOOL 378fb62befe4c929932386ee6b1a91d1b90f3de41abc65e7335a9015021aa0e49fddb1b0d46166087ae5b3719b2324163335233ac80a3da94f1fe2612d695c77
diff --git a/dev-libs/libisofs/libisofs-1.3.8.ebuild b/dev-libs/libisofs/libisofs-1.3.8.ebuild
new file mode 100644
index 000000000000..bf9f02d3f91a
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.3.8.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="libisofs is an open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="http://libburnia-project.org/"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+RDEPEND="acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libisofs/libisofs-1.4.0.ebuild b/dev-libs/libisofs/libisofs-1.4.0.ebuild
new file mode 100644
index 000000000000..b0e0e418161d
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.4.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="libisofs is an open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="http://libburnia-project.org/"
+SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+RDEPEND="acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libisofs/metadata.xml b/dev-libs/libisofs/metadata.xml
new file mode 100644
index 000000000000..7562711d5e18
--- /dev/null
+++ b/dev-libs/libisofs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>media-optical</herd>
+<maintainer>
+<email>billie@gentoo.org</email>
+<name>Daniel Pielmeier</name>
+</maintainer>
+<use>
+<flag name='verbose-debug'>Enable verbose debug messages</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libixion/Manifest b/dev-libs/libixion/Manifest
new file mode 100644
index 000000000000..e1da979aa372
--- /dev/null
+++ b/dev-libs/libixion/Manifest
@@ -0,0 +1,3 @@
+DIST libixion-0.7.0.tar.bz2 398089 SHA256 c9594ec93e911b40b26784ccdae47df8ea3a7d9b57bbad876733e4efcedf5581 SHA512 bda96a9cefb4bd842cd399a74c2fb5791d2a1d1d06d07106e1a121dc0bc02c00bef371b480ab1a7f922d5292c4d94fa8f7faaa2c6cd7596f2bc08b6ddfc929f5 WHIRLPOOL 0881a4b350eb6e8dc30ec166630cf46f85af07f41010b51b1b359787641d7f742ae10f1d4b1b3e438460bdb72468f43158c5baf1da95a0b70ed9d380c230f7d3
+DIST libixion-0.9.0.tar.xz 351388 SHA256 2112b4304667c4c2cdb8f3d331cc4ba696ea581db7d228b5b06ea2559e7531a5 SHA512 da6ca9e79841f1f529328e39a2977d95a261ddaaf4a254bfc46de004d52d4b1e8fc0c8c1cbeb3e8ee18e9a5663b046cf1d3f232f31bdd83db75a766be654f49b WHIRLPOOL f35087fce0a0e53650b988b36ecde8378aa75d2a4b769f6046dce544b9fe89a0025c82a6ab2564b5a12c813e0726875c088d5cc37cfcad055d79d2c5563d53af
+DIST libixion-0.9.1.tar.xz 356500 SHA256 77e35c163cd27657b83626a6da26c3b90f37ba9089d00aa25f384a9ac4b4e3a1 SHA512 074318c6db01ec13f6cbdfb8d7d04aede9f20cac4c23476b570a37638b0e68170aabf977520b94dfc2dce079314109c2e70d64376f9f314890d4d60854458c03 WHIRLPOOL ed79f0ed5705f8f8c5a24603fa4386b8822b477a21896d13eaf5fbe52d0f12fbf451f68de49314d8736160f82895047ba4d387431f989683553316d523bb0ce4
diff --git a/dev-libs/libixion/files/libixion-0.9.1-python-optional.patch b/dev-libs/libixion/files/libixion-0.9.1-python-optional.patch
new file mode 100644
index 000000000000..a4e7239568a2
--- /dev/null
+++ b/dev-libs/libixion/files/libixion-0.9.1-python-optional.patch
@@ -0,0 +1,56 @@
+commit 59c360c9fe438a2805d65decc6c7889bc99a7747
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun May 31 10:14:17 2015 +0200
+
+ python: Make it optional
+
+ python bindings are built unless disabled
+
+diff --git a/configure.ac b/configure.ac
+index 03f6120..1c7d8b2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,6 @@ AC_PREREQ([2.63])
+ AC_INIT([libixion], [ixion_version])
+ AC_CONFIG_HEADERS([config.h])
+ AM_INIT_AUTOMAKE([1.11 foreign dist-bzip2 dist-xz])
+-AM_PATH_PYTHON(2.7.0)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+ AC_ARG_WITH(hash-container-compat,
+@@ -28,6 +27,9 @@ AC_ARG_WITH(mdds-include-path,
+ AS_HELP_STRING([--with-mdds-include-path], [specify include path for mdds headers.])
+ ,)
+
++AC_ARG_ENABLE([python],
++ AS_HELP_STRING([--disable-python], [Disable python bindings]))
++
+ IXION_API_VERSION=ixion_api_version
+ IXION_MAJOR_VERSION=ixion_major_version
+ IXION_MINOR_VERSION=ixion_minor_version
+@@ -82,7 +84,11 @@ fi
+ PKG_CHECK_MODULES([MDDS],[mdds >= 0.12.0])
+
+ # Check for python.
+-PKG_CHECK_MODULES([PYTHON], [python >= 0.27.1])
++AS_IF([test "x$enable_python" != "xno"], [
++ AM_PATH_PYTHON(2.7.0)
++ PKG_CHECK_MODULES([PYTHON], [python >= 0.27.1])
++])
++AM_CONDITIONAL([PYTHON], [test "x$enable_python" != "xno"])
+
+ CPPFLAGS="$CPPFLAGS -g -Os -fvisibility=hidden"
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 6e138a4..cd912ab 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,4 +1,7 @@
+-SUBDIRS = libixion python
++SUBDIRS = libixion
++if PYTHON
++ SUBDIRS += python
++endif
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include $(MDDS_CFLAGS)
+
diff --git a/dev-libs/libixion/files/libixion-0.9.1-typo.patch b/dev-libs/libixion/files/libixion-0.9.1-typo.patch
new file mode 100644
index 000000000000..7e41f7bb752f
--- /dev/null
+++ b/dev-libs/libixion/files/libixion-0.9.1-typo.patch
@@ -0,0 +1,18 @@
+commit ceddf45ed98dd0b65b510a284d373630c7642587
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun May 31 11:55:08 2015 +0200
+
+ src/Makefile.am: Fix typo
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index ee9a1cc..b28c610 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,6 +28,6 @@ ixion_sorter_SOURCES = \
+ ixion_sorter_LDADD = libixion/libixion-@IXION_API_VERSION@.la \
+ $(BOOST_THREAD_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS)
+
+-AM_TESTS_ENVIRONMENT = PATH=.libs$${PATH:+:$${PATH}}; epxort PATH; \
++AM_TESTS_ENVIRONMENT = PATH=.libs$${PATH:+:$${PATH}}; export PATH; \
+ LD_LIBRARY_PATH=libixion/.libs$${LD_LIBRARY_PATH:+:$${LD_LIBRARY_PATH}}; export LD_LIBRARY_PATH;
+ TESTS = ../test/ixion-parser-test.sh
diff --git a/dev-libs/libixion/libixion-0.7.0.ebuild b/dev-libs/libixion/libixion-0.7.0.ebuild
new file mode 100644
index 000000000000..527d18132dda
--- /dev/null
+++ b/dev-libs/libixion/libixion-0.7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://gitorious.org/ixion/ixion.git"
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-2 autotools"
+inherit eutils ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="General purpose formula parser & interpreter"
+HOMEPAGE="https://gitlab.com/ixion/ixion"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/ixion/src/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="amd64 ~arm ~ppc x86"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/boost:=[threads]"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.10.1:=
+ <dev-util/mdds-0.12.0:=
+"
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libixion/libixion-0.9.0.ebuild b/dev-libs/libixion/libixion-0.9.0.ebuild
new file mode 100644
index 000000000000..f36ed2573dbb
--- /dev/null
+++ b/dev-libs/libixion/libixion-0.9.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
+
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
+inherit eutils python-single-r1 ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="General purpose formula parser & interpreter"
+HOMEPAGE="https://gitlab.com/ixion/ixion"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/ixion/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/0.10"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="amd64 ~arm ~ppc x86"
+
+IUSE="static-libs"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-libs/boost:=[threads]
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.12.0:=
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libixion/libixion-0.9.1.ebuild b/dev-libs/libixion/libixion-0.9.1.ebuild
new file mode 100644
index 000000000000..ff9dd6d029b8
--- /dev/null
+++ b/dev-libs/libixion/libixion-0.9.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
+
+PYTHON_COMPAT=( python2_7 )
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-r3"
+inherit autotools eutils python-single-r1 ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="General purpose formula parser & interpreter"
+HOMEPAGE="https://gitlab.com/ixion/ixion"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/ixion/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/0.10"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="python static-libs"
+
+RDEPEND="
+ dev-libs/boost:=[threads]
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.12.0:=
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-0.9.1-typo.patch"
+ epatch "${FILESDIR}/${PN}-0.9.1-python-optional.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable python) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libixion/libixion-9999.ebuild b/dev-libs/libixion/libixion-9999.ebuild
new file mode 100644
index 000000000000..676202bf741d
--- /dev/null
+++ b/dev-libs/libixion/libixion-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
+inherit eutils python-single-r1 ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="General purpose formula parser & interpreter"
+HOMEPAGE="https://gitlab.com/ixion/ixion"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/ixion/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/0.12"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="python static-libs"
+
+RDEPEND="
+ dev-libs/boost:=[threads]
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.12.0:=
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable python) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libixion/metadata.xml b/dev-libs/libixion/metadata.xml
new file mode 100644
index 000000000000..5d46203011d6
--- /dev/null
+++ b/dev-libs/libixion/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+</pkgmetadata>
diff --git a/dev-libs/libjit/Manifest b/dev-libs/libjit/Manifest
new file mode 100644
index 000000000000..7295a51ec2a9
--- /dev/null
+++ b/dev-libs/libjit/Manifest
@@ -0,0 +1 @@
+DIST libjit-0.1.2.tar.gz 1195466 SHA256 f1650938b8f7cd1cd5280f6197f02c2161841d7d66beecf8f9c2d4115cb195d0 SHA512 0174fa695838c40142b4c8cd10cf0d8fb1bd41760e53d262a24b3588a717c9568ec91670c138d57b5d759c18dd4228779b50b36968f7a0ab5d80a203b5da3ab7 WHIRLPOOL d41f6692c74ed7785c46610ec39dae537f8a65010e55a40f249f7727d891b75fcca1dec8c56b3b7870c1b6a834c77f8ebad8290195606e4eb344c506272fbc0d
diff --git a/dev-libs/libjit/files/libjit-0.1.2-gcc43.patch b/dev-libs/libjit/files/libjit-0.1.2-gcc43.patch
new file mode 100644
index 000000000000..e264b38bf2ef
--- /dev/null
+++ b/dev-libs/libjit/files/libjit-0.1.2-gcc43.patch
@@ -0,0 +1,11 @@
+--- libjit-0.1.2.orig/tools/gen-apply.c 2008/11/23 09:15:25 1.20
++++ libjit-0.1.2/tools/gen-apply.c 2009/01/30 19:46:01 1.21
+@@ -959,7 +959,7 @@
+ void run_detect_struct_##n(void) \
+ { \
+ jit_nint *args; \
+- jit_nint stack[1]; \
++ volatile jit_nint stack[1]; \
+ jit_nint buffer[64 / sizeof(jit_nint)]; \
+ void *apply_return; \
+ jit_builtin_apply_args(jit_nint *, args); \
diff --git a/dev-libs/libjit/libjit-0.1.2.ebuild b/dev-libs/libjit/libjit-0.1.2.ebuild
new file mode 100644
index 000000000000..3bce7812ca4b
--- /dev/null
+++ b/dev-libs/libjit/libjit-0.1.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils
+
+DESCRIPTION="Libjit is a generic Just-In-Time compilation library"
+HOMEPAGE="http://www.gnu.org/software/dotgnu/"
+SRC_URI="mirror://gnu/dotgnu/libjit/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="doc examples interpreter long-double"
+
+DEPEND="doc? ( app-text/texi2html )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gcc43.patch"
+}
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-static \
+ $(use_enable interpreter) \
+ $(use_enable long-double) \
+ || die "configure failed"
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ if use doc ; then
+ if [ ! -f "${S}"/doc/libjit.texi ] ; then
+ die "libjit.texi was not generated"
+ fi
+
+ texi2html -split_chapter "${S}"/doc/libjit.texi \
+ || die "texi2html failed"
+ fi
+}
+
+src_test () {
+ if use interpreter || use long-double ; then
+ emake check || die "Tests failed."
+ else
+ ewarn "Skipping Tests due to missing use flags:"
+ ewarn "Please enable either the interpreter or long-double use flags"
+ ewarn "if you want to run tests."
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+
+ if use examples ; then
+ docinto examples
+ dodoc tutorial/{README,*.c} || die "examples failed"
+ fi
+
+ if use doc ; then
+ docinto html
+ dohtml libjit/*.html || die "doc failed"
+ fi
+
+ find "${D}" -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
+}
diff --git a/dev-libs/libjit/metadata.xml b/dev-libs/libjit/metadata.xml
new file mode 100644
index 000000000000..e35a06f44114
--- /dev/null
+++ b/dev-libs/libjit/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dotnet</herd>
+<use>
+ <flag name='interpreter'>Enable the libjit interpreter</flag>
+ <flag name='long-double'>Enable the use of long double for jit_nfloat</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libjwc_c/Manifest b/dev-libs/libjwc_c/Manifest
new file mode 100644
index 000000000000..91e153d94c90
--- /dev/null
+++ b/dev-libs/libjwc_c/Manifest
@@ -0,0 +1 @@
+DIST libjwc_c-1.1.tar.gz 253637 SHA256 4e3c5406347356ac4549b2b977c8011391926470cc3556e54148070b929d9ea9 SHA512 5a095fdbf4f70d012f718d2bcd2a9689bf788801df3f3f97bead70861d08d5f6b5a9ac879e02c260974b755906d35de168646947900bcb18dad40839846d87ad WHIRLPOOL bca0bb19e2898c18f29a275c1997bf55058f5efbbc1147cb7e7a967f2eafb346c0d74975208dc6dd749ba60b256dca3c1548d9a58bd938fb19d77946a1aaa85a
diff --git a/dev-libs/libjwc_c/files/612-gentoo.patch b/dev-libs/libjwc_c/files/612-gentoo.patch
new file mode 100644
index 000000000000..af4a691febb9
--- /dev/null
+++ b/dev-libs/libjwc_c/files/612-gentoo.patch
@@ -0,0 +1,20 @@
+diff -Nu libjwc_c-1.1/imglib.c libjwc_c/imglib.c
+--- libjwc_c-1.1/imglib.c 1999-08-17 15:58:11.000000000 +0200
++++ libjwc_c/imglib.c 2004-06-03 14:24:05.000000000 +0200
+@@ -4259,7 +4259,7 @@
+ {
+
+ /* Note: In this routine the first local axis is called 'x' and the
+- second logal axi is called 'y' */
++ second local axis is called 'y' */
+
+ int mxcent; /* Current max no. of elements in active
+ spots array */
+@@ -4469,6 +4469,7 @@
+
+ /* skipping condition */
+
++ iymid = (actspots[j].iyend+actspots[j].iybeg)/2;
+ itmp = abs(iymid-actspots[j].iycent);
+ if (abs((actspots[j].iyend+actspots[j].iybeg) -(iel+ibl))>
+ abs((actspots[j].iyend-actspots[j].iybeg) +(iel-ibl))&&
diff --git a/dev-libs/libjwc_c/libjwc_c-1.1-r2.ebuild b/dev-libs/libjwc_c/libjwc_c-1.1-r2.ebuild
new file mode 100644
index 000000000000..cc9feb0c8f9f
--- /dev/null
+++ b/dev-libs/libjwc_c/libjwc_c-1.1-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+PATCH="612"
+
+DESCRIPTION="additional c library for ccp4"
+HOMEPAGE="http://www.ccp4.ac.uk/main.html"
+SRC_URI="ftp://ftp.ccp4.ac.uk/jwc/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="static-libs"
+
+DEPEND="sci-libs/ccp4-libs"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PATCH}-gentoo.patch )
+
+src_prepare() {
+ rm missing || die
+ echo "libjwc_c_la_LIBADD = -lm -lccp4f" >> Makefile.am || die
+ autotools-utils_src_prepare
+}
diff --git a/dev-libs/libjwc_c/metadata.xml b/dev-libs/libjwc_c/metadata.xml
new file mode 100644
index 000000000000..d747d72a25b4
--- /dev/null
+++ b/dev-libs/libjwc_c/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>sci@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libjwc_f/Manifest b/dev-libs/libjwc_f/Manifest
new file mode 100644
index 000000000000..65e6fb796fb7
--- /dev/null
+++ b/dev-libs/libjwc_f/Manifest
@@ -0,0 +1 @@
+DIST libjwc_f-1.1.tar.gz 170973 SHA256 9c05d5bac2a2e75d5fd490665c795ae31280da886e30f66cf39b3a32f2981199 SHA512 6d947e1513c137a23a4b6c2525e2a2f71c31a41f37455b9b3c97bd4c82128d5b3f4a7bfdd14aba57fbc258dcdcb8fa55e420a8573576992d0ae164bfe394f8d1 WHIRLPOOL 2652f3f43451cfb378d931ccff22a20131f2f44c40c2fe4c51ea45ef08f2e08306c1362f256c0c13014b9db3418ccbce437e4ccea41faae066c800a2ece02551
diff --git a/dev-libs/libjwc_f/files/612-gentoo.patch b/dev-libs/libjwc_f/files/612-gentoo.patch
new file mode 100644
index 000000000000..e687d8bec6ea
--- /dev/null
+++ b/dev-libs/libjwc_f/files/612-gentoo.patch
@@ -0,0 +1,100 @@
+diff -Nu libjwc_f-1.1/configure.in ccp4-6.1.2/x-windows/libjwc/libjwc_f/configure.in
+--- libjwc_f-1.1/configure.in 1999-10-21 16:07:14.000000000 +0200
++++ ccp4-6.1.2/x-windows/libjwc/libjwc_f/configure.in 2004-03-11 17:31:45.000000000 +0100
+@@ -8,6 +8,7 @@
+ AC_CANONICAL_SYSTEM
+
+ AM_INIT_AUTOMAKE(libjwc_f, 1.1)
++AM_MAINTAINER_MODE
+
+ case ${with_g77} in
+ "yes" ) CC="gcc" GCC=yes F77=g77 ;;
+@@ -17,7 +18,7 @@
+ AC_PROG_F77
+
+ AC_PROG_INSTALL
+-AC_PROG_RANLIB
++AC_PROG_LIBTOOL
+
+ case "$target" in
+ *irix6* )
+@@ -26,8 +27,9 @@
+ case "$FFLAGS" in
+ *-64* ) ;; # assume they meant it
+ *-o32* | *-32* ) ;; # presumably OK
+- * ) FFLAGS="$FFLAGS -o32 -O -g3"
+- CFLAGS=-32
++ *-n32* ) ;;
++ * ) FFLAGS="$FFLAGS -n32 -O -g3"
++ CFLAGS=-n32
+ AC_MSG_WARN([
+
+ *** Using compiler flag -o32 for probable compatibility with
+@@ -47,8 +49,33 @@
+ *** See the INSTALL file for more info.
+ ])
+ fi ;;
++ *linux* )
++ case $F77 in
++ g77*)
++ case "$FFLAGS" in
++ *no-second-underscore* ) ;; # presumably OK
++ * ) FFLAGS="$FFLAGS -fno-second-underscore -fno-globals" ;;
++ esac
++ esac ;;
++ *darwin* )
++ case $F77 in
++ g77*)
++ case "$FFLAGS" in
++ *no-second-underscore* ) ;; # presumably OK
++ * ) FFLAGS="$FFLAGS -fno-second-underscore -fno-globals" ;;
++ esac
++#mac g77 currently goes not handle -fno-common
++ enable_shared=no;
++ esac ;;
+ * )
+ esac
++# efc, version 7.1 at least does not support soname, so use CC
++case "$F77" in
++ *efc ) F77LD=${F77LD:-'${CC}'} ;;
++ * ) F77LD=${F77LD:-'${F77}'}
++esac
++
++AC_SUBST(F77LD)
+
+ AM_PROG_LIBTOOL
+
+Common subdirectories: libjwc_f-1.1/doc and ccp4-6.1.2/x-windows/libjwc/libjwc_f/doc
+diff -Nu libjwc_f-1.1/opn_scr.f ccp4-6.1.2/x-windows/libjwc/libjwc_f/opn_scr.f
+--- libjwc_f-1.1/opn_scr.f 1999-09-07 12:50:13.000000000 +0200
++++ ccp4-6.1.2/x-windows/libjwc/libjwc_f/opn_scr.f 2000-10-25 13:03:09.000000000 +0200
+@@ -16,6 +16,6 @@
+ C
+ C====== Open the file
+ C
+- OPEN (IUN_SCR, STATUS='SCRATCH')
+- RETURN
++C OPEN (IUN_SCR, STATUS='SCRATCH')
++ CALL CCPDPN(IUN_SCR,'JWCSCR','SCRATCH','U',0, IFAIL)
+ END
+diff -Nu libjwc_f-1.1/rpf_dstar.f ccp4-6.1.2/x-windows/libjwc/libjwc_f/rpf_dstar.f
+--- libjwc_f-1.1/rpf_dstar.f 1999-07-09 13:39:38.000000000 +0200
++++ ccp4-6.1.2/x-windows/libjwc/libjwc_f/rpf_dstar.f 2004-06-04 12:10:59.000000000 +0200
+@@ -376,7 +376,8 @@
+ INR_FLAG = 2
+ PHIW = 0.0
+ END IF
+- ELSE
++ RETURN
++ ENDIF
+ C
+ C---- Calculate distance of edge of spot from sphere at end of rotation
+ Crotgen.for
+@@ -418,7 +419,6 @@
+ INR_FLAG = 4
+ 40 RETURN
+ END IF
+- END IF
+ END IF
+ RETURN
+ END
diff --git a/dev-libs/libjwc_f/libjwc_f-1.1-r2.ebuild b/dev-libs/libjwc_f/libjwc_f-1.1-r2.ebuild
new file mode 100644
index 000000000000..69a97bf28d98
--- /dev/null
+++ b/dev-libs/libjwc_f/libjwc_f-1.1-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils fortran-2
+
+PATCH="612"
+
+DESCRIPTION="Additional fortran library for ccp4"
+HOMEPAGE="http://www.ccp4.ac.uk/main.html"
+SRC_URI="ftp://ftp.ccp4.ac.uk/jwc/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="static-libs"
+
+RDEPEND="
+ dev-libs/libjwc_c
+ sci-libs/ccp4-libs"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PATCH}-gentoo.patch )
+
+src_prepare() {
+ rm missing || die
+ echo "libjwc_f_la_LIBADD = -ljwc_c -lccp4f" >> Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_install() {
+ autotools-utils_src_install
+ dohtml doc/*
+}
diff --git a/dev-libs/libjwc_f/metadata.xml b/dev-libs/libjwc_f/metadata.xml
new file mode 100644
index 000000000000..d747d72a25b4
--- /dev/null
+++ b/dev-libs/libjwc_f/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>sci@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libkpass/Manifest b/dev-libs/libkpass/Manifest
new file mode 100644
index 000000000000..484ace504b6e
--- /dev/null
+++ b/dev-libs/libkpass/Manifest
@@ -0,0 +1 @@
+DIST libkpass-6.tar.gz 407412 SHA256 901f94961e017e13bb763245d5304d4f487e16dc586c820a90241c6f3a8b8b0a SHA512 506e642dbbd1295fe9f46e31d80d151df4428373b191cc98340d9bd2f5e06c31e53b45a35e843d8cbb1ef2b2c4fee36a54032e7ced6dead789082c4a174443de WHIRLPOOL cbb933924b1546b9d8b0267d679c8026da89b1bee7e92b2ec4635541902a4d0f06dc6fe7a494a695cdb514f06df0bcd4fcfc5f359aea757ef33122b5b5f13259
diff --git a/dev-libs/libkpass/libkpass-6.ebuild b/dev-libs/libkpass/libkpass-6.ebuild
new file mode 100644
index 000000000000..ff0a798ec738
--- /dev/null
+++ b/dev-libs/libkpass/libkpass-6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Libkpass is a from-scratch C implementation of accessing KeePass 1.x format password databases"
+HOMEPAGE="http://libkpass.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/nettle-2.7.1"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog README TODO )
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${ED}"/usr/lib*/${PN}.la
+}
diff --git a/dev-libs/libkpass/metadata.xml b/dev-libs/libkpass/metadata.xml
new file mode 100644
index 000000000000..c40e02cd279a
--- /dev/null
+++ b/dev-libs/libkpass/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>joker@gentoo.org</email>
+ <name>Christian Birchinger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libkpass</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libksba/Manifest b/dev-libs/libksba/Manifest
new file mode 100644
index 000000000000..0ec5ebd88961
--- /dev/null
+++ b/dev-libs/libksba/Manifest
@@ -0,0 +1 @@
+DIST libksba-1.3.3.tar.bz2 618698 SHA256 0c7f5ffe34d0414f6951d9880a46fcc2985c487f7c36369b9f11ad41131c7786 SHA512 57de827a67a88dddf9227a5409bb86220e773f18b53d3d06c45699677e3052f94abe78bcd1895c3bd7594c5e728b4c8232dd3bd3b1cd22cf47f8110e2aec9db7 WHIRLPOOL 53cc4ccec055124522825771e26a2084d1d1b67c7b7e0f87be247c547653dc7f98a60b4e207312db0bb25889de0d99db2792407d50bdf6239f039c3f5e874704
diff --git a/dev-libs/libksba/libksba-1.3.3.ebuild b/dev-libs/libksba/libksba-1.3.3.ebuild
new file mode 100644
index 000000000000..8c4b2f59c9d2
--- /dev/null
+++ b/dev-libs/libksba/libksba-1.3.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# so we won't need to autoreconf yet another g10 package
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils
+
+DESCRIPTION="X.509 and CMS (PKCS#7) library"
+HOMEPAGE="http://www.gnupg.org/related_software/libksba"
+SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
+
+LICENSE="LGPL-3+ GPL-2+ GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.8"
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/libksba/metadata.xml b/dev-libs/libksba/metadata.xml
new file mode 100644
index 000000000000..d68fe974c15a
--- /dev/null
+++ b/dev-libs/libksba/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/liblazy/Manifest b/dev-libs/liblazy/Manifest
new file mode 100644
index 000000000000..ef26ff4374ac
--- /dev/null
+++ b/dev-libs/liblazy/Manifest
@@ -0,0 +1 @@
+DIST liblazy-0.2.tar.bz2 232417 SHA256 703bec3eb265ae1976008d134be4334a2a74503c293d96e426669da3591d502f SHA512 1b3977d297caa985d77c5be61af1853a96fb23beb4b340a21bc0bac3160a68147396dc677d029ffac170c63f631e28422903fcc08b9f1c7e363ce0e776c9652b WHIRLPOOL 36faf4419b61cb0fd73291ee9bf269f4e5336e24eded3b9ea35675c47749c985d34257e059d4e67e9569e1ff1b1da847e53746038cc2dba55d4ef0474711f6e6
diff --git a/dev-libs/liblazy/liblazy-0.2.ebuild b/dev-libs/liblazy/liblazy-0.2.ebuild
new file mode 100644
index 000000000000..5d2e6160d2aa
--- /dev/null
+++ b/dev-libs/liblazy/liblazy-0.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="lib for D-Bus daemon messages, querying HAL or PolicyKit privileges"
+HOMEPAGE="http://freedesktop.org/wiki/Software/liblazy"
+SRC_URI="http://people.freedesktop.org/~homac/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-apps/dbus"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_compile() {
+ econf --disable-dependency-tracking
+ emake || die "emake failed."
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc AUTHORS NEWS README
+}
diff --git a/dev-libs/liblazy/metadata.xml b/dev-libs/liblazy/metadata.xml
new file mode 100644
index 000000000000..a40624fba8f0
--- /dev/null
+++ b/dev-libs/liblazy/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liblinear/Manifest b/dev-libs/liblinear/Manifest
new file mode 100644
index 000000000000..a5af098345ba
--- /dev/null
+++ b/dev-libs/liblinear/Manifest
@@ -0,0 +1 @@
+DIST liblinear-196.tar.gz 361430 SHA256 e61297bf72f882ba891ec7b77fbc633d6d933738c1d61780917d75747bd0539c SHA512 6ed1ed45a98c1ff050537d4dd3234088c9ec394d339456168133200d074d1eb5ce80391dd2bf99b1a74e3bd4907ca7b04a5dd95bc42fcfad84ec8a6c38a7feb9 WHIRLPOOL a3622c23b29a0c40e00d1af8d53323c2131123d568223ab54a9dcd0c746906a576f57fd5e4d207643283a655647ebd66a9ac13c31fc36a2ffbac2e0bfdfcd98e
diff --git a/dev-libs/liblinear/liblinear-196-r1.ebuild b/dev-libs/liblinear/liblinear-196-r1.ebuild
new file mode 100644
index 000000000000..959b5e8cfee0
--- /dev/null
+++ b/dev-libs/liblinear/liblinear-196-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit multilib toolchain-funcs
+
+DESCRIPTION="A Library for Large Linear Classification"
+HOMEPAGE="http://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
+SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+
+src_prepare() {
+ sed -i \
+ -e '/^AR/s|=|?=|g' \
+ -e '/^RANLIB/s|=|?=|g' \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ blas/Makefile || die
+ sed -i \
+ -e 's|make|$(MAKE)|g' \
+ -e '/$(LIBS)/s|$(CFLAGS)|& $(LDFLAGS)|g' \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ -e 's|$${SHARED_LIB_FLAG}|& $(LDFLAGS)|g' \
+ Makefile || die
+}
+
+src_compile() {
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ CFLAGS="${CFLAGS} -fPIC" \
+ CXXFLAGS="${CXXFLAGS} -fPIC" \
+ AR="$(tc-getAR) rcv" \
+ RANLIB="$(tc-getRANLIB)" \
+ emake lib all
+}
+
+src_install() {
+ dolib ${PN}.so.2
+ dosym ${PN}.so.2 /usr/$(get_libdir)/${PN}.so
+
+ newbin predict ${PN}-predict
+ newbin train ${PN}-train
+
+ insinto /usr/include
+ doins linear.h
+
+ dodoc README
+}
diff --git a/dev-libs/liblinear/metadata.xml b/dev-libs/liblinear/metadata.xml
new file mode 100644
index 000000000000..8996024d3cf1
--- /dev/null
+++ b/dev-libs/liblinear/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cjlin1/liblinear</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/liblinebreak/Manifest b/dev-libs/liblinebreak/Manifest
new file mode 100644
index 000000000000..013528d0eae6
--- /dev/null
+++ b/dev-libs/liblinebreak/Manifest
@@ -0,0 +1 @@
+DIST liblinebreak-2.1.tar.gz 390922 SHA256 dd8cba554d260cf686865cc53d0c6be98102a80f56f8152ca5e7307bf06a66b8 SHA512 063cef3bf2d5266387c00a5f5adce883b6ae9c33e153f5cda5475652a45fe5e3a0b609a56ec1093cfe988869cf3164285756e3b7a7428a02ee7184f683c7eb3a WHIRLPOOL aa4bbc517b09c2f0ccb94d19c10b960cffd1d9c35b9df9b58abbd18fed93549500e890132ff0e188c8d378c2257d666aae21337fe87ad9092af567f688ac9b63
diff --git a/dev-libs/liblinebreak/liblinebreak-2.1.ebuild b/dev-libs/liblinebreak/liblinebreak-2.1.ebuild
new file mode 100644
index 000000000000..67851dca198e
--- /dev/null
+++ b/dev-libs/liblinebreak/liblinebreak-2.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="Line breaking library"
+HOMEPAGE="http://vimgadgets.sourceforge.net/liblinebreak/"
+SRC_URI="mirror://sourceforge/vimgadgets/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="static-libs"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/liblinebreak/metadata.xml b/dev-libs/liblinebreak/metadata.xml
new file mode 100644
index 000000000000..2baeb4697824
--- /dev/null
+++ b/dev-libs/liblinebreak/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Liblinebreak is an implementation of the line breaking algorithm as described
+ in Unicode 5.1.0 Standard Annex 14, Revision 22. It breaks lines that contain
+ Unicode characters. It is designed to be used in a generic text renderer.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">vimgadgets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/liblist/Manifest b/dev-libs/liblist/Manifest
new file mode 100644
index 000000000000..5e0b94f046c4
--- /dev/null
+++ b/dev-libs/liblist/Manifest
@@ -0,0 +1,2 @@
+DIST liblist-2.3.1.tar.bz2 257253 SHA256 a956e9c48a5aadecafdc3916eacf2b6cff1eb23e1c40a3119bba2f2a1b4d82a3 SHA512 4bb9cc678bafc3be68f94d028aa9a9a9c9dd792043adc6e7916955afa07b6e94653bd235ee81880307e433e07130823daf1fd36ba0663da7d09e5f4eb84efc6c WHIRLPOOL 511c8453eae6648ef8412168289a8c75dff70ac436984f4d2651a7aaec494b51ead89b639ae2405e23554104a1f08c4660c17bebe8ec9d2d748bc6363ced24f6
+DIST liblist-2.4.tar.bz2 275234 SHA256 ab63d5410952ed3158f1332ce6c17f9ee66241bbc172b811eb573d7db399c836 SHA512 814a02e4e47de8d234e592b87156533c30563c64c3a7515712fb9b75119bcee21796232b2a5abf7e4ab892932fa256890ad175aecb75aad8fb4614c6f4fbe3dd WHIRLPOOL d3ba056c380b251fb0dd9ef0b26b1564ae12483d76960fec95bfaf46dccc7dc4ca5784f874c8b33b294fef9571652d13fba4fa8cfae273536b9bae6bcc552918
diff --git a/dev-libs/liblist/liblist-2.3.1-r1.ebuild b/dev-libs/liblist/liblist-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..2a4f7ab8d037
--- /dev/null
+++ b/dev-libs/liblist/liblist-2.3.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit multilib
+
+DESCRIPTION="This package provides generic linked-list manipulation routines, plus queues and stacks"
+HOMEPAGE="http://ohnopub.net/liblist"
+SRC_URI="ftp://ohnopublishing.net/mirror/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
+IUSE="doc examples static-libs"
+
+DEPEND="doc? ( media-gfx/transfig
+ dev-texlive/texlive-metapost
+ virtual/latex-base )"
+
+src_configure() {
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable doc docs) \
+ $(use_enable examples) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc README || die
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/{*.c,Makefile,README} || die
+ insinto /usr/share/doc/${PF}/examples/cache
+ doins examples/cache/{*.c,README} || die
+ fi
+
+ if ! use static-libs; then
+ rm -v "${ED}"/usr/$(get_libdir)/liblist.la || die
+ if use examples; then
+ rm -v "${ED}"/usr/$(get_libdir)/libcache.la || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ elog "Note the man pages for this package have been renamed to avoid"
+ elog "name collisions with some system functions, however, the libs"
+ elog "and header files have not been changed."
+ elog "The new names are llist, lcache, lqueue, and lstack."
+}
diff --git a/dev-libs/liblist/liblist-2.4.ebuild b/dev-libs/liblist/liblist-2.4.ebuild
new file mode 100644
index 000000000000..3d870c35eea7
--- /dev/null
+++ b/dev-libs/liblist/liblist-2.4.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils multilib
+
+DESCRIPTION="This package provides generic linked-list manipulation routines, plus queues and stacks"
+HOMEPAGE="http://ohnopub.net/liblist"
+SRC_URI="ftp://ohnopublishing.net/mirror/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="doc? ( media-gfx/transfig
+ dev-texlive/texlive-metapost
+ virtual/latex-base )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable doc docs)
+ $(use_enable examples)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodoc README
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/{*.c,Makefile,README}
+ insinto /usr/share/doc/${PF}/examples/cache
+ doins examples/cache/{*.c,README}
+ fi
+
+ docompress -x /usr/share/doc/${PF}/{list.0,paper.dvi,examples}
+}
+
+pkg_postinst() {
+ elog "Note that man pages for this package have been renamed to avoid"
+ elog "name collisions with some system functions. However, the libs"
+ elog "and header files have not been changed."
+ elog "The new names are liblist, lcache, liblist_queue, and liblist_stack."
+}
diff --git a/dev-libs/liblist/metadata.xml b/dev-libs/liblist/metadata.xml
new file mode 100644
index 000000000000..34c84d91eed5
--- /dev/null
+++ b/dev-libs/liblist/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>dev-tools</herd>
+ <maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+ <description>Primary maintainer</description>
+ </maintainer>
+ <longdescription>
+ This package provides generic linked-list manipulation routines. In addition,
+ queue and stack abstractions are provided by single header files.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/liblogging/Manifest b/dev-libs/liblogging/Manifest
new file mode 100644
index 000000000000..e3f3a80842ec
--- /dev/null
+++ b/dev-libs/liblogging/Manifest
@@ -0,0 +1,3 @@
+DIST liblogging-1.0.2.tar.gz 285555 SHA256 bcadd9fc0253ee096df965d8d46bc3f27a95f4885d66e55e495e5dfddb16b0dd SHA512 bd2a78110f080e0531388bac372e5dac2c7f10973e59bc3c702d3c9ae3a5d21ae021df00b53092fabcbbde20f1eba108b22ea81156c2fcb6bc2053531385b9f9 WHIRLPOOL da2a6963e93527ea0d30fbffb5d9971cd62b36871d488a88b500848a7920b0416415480e2002529f7fa51d730f0f5a30946a34af4628eefb69dcc82349620731
+DIST liblogging-1.0.4.tar.gz 565078 SHA256 aceb5d2aa8bdc771ff66f407f9adf4176b654db63e34a8605795b68be537b81c SHA512 7d57a4d5d41ab2033dd57370c4511749f7965949a30eacaf36e7608acc64a32c42903dc1b5bb50c649dcb9a5ed91a2f0339d21aa0fc20a6a6144616dae556ccf WHIRLPOOL 76f9ba9ed7b8b7a050a29ca1be8e723c0b99f774416dd514b74b792bafafadd677533f38d77577b75ec6267b1025810a5262b763223c55a983efbf39a3f19085
+DIST liblogging-1.0.5.tar.gz 571051 SHA256 310dc1691279b7a669d383581fe4b0babdc7bf75c9b54a24e51e60428624890b SHA512 fd0c89b670bdf4d257d6a31b18b44940ba2edae84633ead6577f164e1ded93709445c35027a28f6e7fda4c984964c3446978eaf0abf843e31ecc11b979e2adde WHIRLPOOL 17c22802e9037aee69c6985a627b6eb24281311292543bc4d9e0383290f7181bcf959de07405a5783f09e8d3dcfb2c88ae5701cec97a3812815f40c6a36ea715
diff --git a/dev-libs/liblogging/liblogging-1.0.2.ebuild b/dev-libs/liblogging/liblogging-1.0.2.ebuild
new file mode 100644
index 000000000000..170146bbe784
--- /dev/null
+++ b/dev-libs/liblogging/liblogging-1.0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Liblogging is an easy to use, portable, open source library for system logging"
+HOMEPAGE="http://www.liblogging.org"
+SRC_URI="https://github.com/rsyslog/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86"
+IUSE="rfc3195 static-libs +stdlog systemd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/docutils
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ sed -i -e 's|rst2man|rst2man.py|g' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable rfc3195)
+ $(use_enable stdlog)
+ $(use_enable systemd journal)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/liblogging/liblogging-1.0.4.ebuild b/dev-libs/liblogging/liblogging-1.0.4.ebuild
new file mode 100644
index 000000000000..fa93a5971868
--- /dev/null
+++ b/dev-libs/liblogging/liblogging-1.0.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Liblogging is an easy to use, portable, open source library for system logging"
+HOMEPAGE="http://www.liblogging.org"
+SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm hppa x86"
+IUSE="rfc3195 static-libs +stdlog systemd"
+
+RDEPEND="systemd? ( sys-apps/systemd )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable rfc3195)
+ $(use_enable stdlog)
+ $(use_enable systemd journal)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/liblogging/liblogging-1.0.5.ebuild b/dev-libs/liblogging/liblogging-1.0.5.ebuild
new file mode 100644
index 000000000000..431fe6f5f73b
--- /dev/null
+++ b/dev-libs/liblogging/liblogging-1.0.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Liblogging is an easy to use, portable, open source library for system logging"
+HOMEPAGE="http://www.liblogging.org"
+SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86"
+IUSE="rfc3195 static-libs +stdlog systemd"
+
+RDEPEND="systemd? ( sys-apps/systemd )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable rfc3195)
+ $(use_enable stdlog)
+ $(use_enable systemd journal)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/liblogging/metadata.xml b/dev-libs/liblogging/metadata.xml
new file mode 100644
index 000000000000..38eb6acc140f
--- /dev/null
+++ b/dev-libs/liblogging/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Ultrabug</name>
+ </maintainer>
+ <maintainer>
+ <email>whissi@whissi.de</email>
+ <name>Thomas D. (Whissi)</name>
+ <description>Proxy-Maintainer, CC. bugs</description>
+ </maintainer>
+ <use>
+ <flag name="rfc3195">
+ Enables RFC 3195 protocol (aka syslog-reliable) support.
+ If you don't know what this is, you don't need it!
+ </flag>
+ <flag name="stdlog">
+ Enables liblogging's core component (think of it as a the next version of the syslog(3) API).
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/liblognorm/Manifest b/dev-libs/liblognorm/Manifest
new file mode 100644
index 000000000000..0873873aef55
--- /dev/null
+++ b/dev-libs/liblognorm/Manifest
@@ -0,0 +1,4 @@
+DIST liblognorm-0.3.6.tar.gz 345483 SHA256 e2cf27027905c7be91c891b5ac9304a88a5c1981cd36011c84b45de29336b111 SHA512 86138738c7945861cf012bb0148d747c1161956db9bc60589e5b91d6210aa7fcf9b28bc63ab3d865d8c20be26ed1654de4a942b5e9a4d32a967978ad6693a77c WHIRLPOOL dc6f95ae0f9f1f7f6251ec2826366660a54808f09dfc08ac70c112d1afccae24a93791c0fd34d5e07f2232a502d3880507f094ce30fd7c7098c5d24e8ce06e5c
+DIST liblognorm-0.3.7.tar.gz 346903 SHA256 b000ab7aab9ed3d7a2c23303463b5bcceb7bb6538714bd41248d02913a82e223 SHA512 f7dac7b913d61cc86bf55d0278ae96055e5336ba304fefb3abf4604976f1713ad5e6bba983a1d29b71cac987e9587e5310454e9ae9e07c3f332cd2ce329c9164 WHIRLPOOL 521ea13c8311fa9411bfc026b7a6118e8a34dafcdc298b9ff8115c555bf7614f7afb3f49f806b9bbbc377f97e9d95402261f515b7cd55dcd9f45c40c89d1ad38
+DIST liblognorm-1.0.1.tar.gz 475226 SHA256 1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5 SHA512 89425d612d4b256f15b224d255c05550a0ac5eae19b886646bd618a49eedb17cf4d4ab641b238ccc9bbd8b6418c53cba04a42977b9cb2804d0380f539ad77782 WHIRLPOOL 72581b4b32bbacb476a0405ac68c44d6f5d364b866ddd3f32c620359dbde07ccf787bde2a86165308020bd820b6c4edfe9764a76c5fccbbee4c865be9cccab25
+DIST liblognorm-1.1.0.tar.gz 499355 SHA256 2ddff2ee893c9268e19868f19dc4d8037e3d266c0d001436c33c9429fcbb3030 SHA512 f694d47c8e60871f0f3ce1fe8092b2596850beea618760c289d9cec6068fb8e8e260f4abb3faf20b931864d91ed18f640c65235fd693f6c67ce232fa11006107 WHIRLPOOL b03347d89e86d858d98a2237b6319f1646c995b5a725b486a9288de9a1cfc243b826c822a22f9e5a2a6f3c13c68a2e408ee8d5a68f2c361aeb40bc1b7d8af644
diff --git a/dev-libs/liblognorm/files/liblognorm-1.1.0-fix-enable-docs.patch b/dev-libs/liblognorm/files/liblognorm-1.1.0-fix-enable-docs.patch
new file mode 100644
index 000000000000..3bffe5ec74f0
--- /dev/null
+++ b/dev-libs/liblognorm/files/liblognorm-1.1.0-fix-enable-docs.patch
@@ -0,0 +1,41 @@
+[PATCH] Turn --disable-docs into --enable-docs and make it work
+
+See upstream issue #16 for more details.
+---
+ configure.ac | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 547908c..26a2f96 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -96,15 +96,21 @@ fi
+
+ # docs (html) build settings
+ AC_ARG_ENABLE(docs,
+- [AS_HELP_STRING([--disable-docs],[Disable building HTML docs (requires Sphinx)])],
+- [enable_docs="no"],
+- [enable_docs="yes"]
++ [AS_HELP_STRING([--enable-docs],[Enable building HTML docs (requires Sphinx) @<:@default=no@:>@])],
++ [case "${enableval}" in
++ yes) enable_docs="yes" ;;
++ no) enable_docs="no" ;;
++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs) ;;
++ esac],
++ [enable_docs="no"]
+ )
+-AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no])
+-AS_IF([test "$enable_docs" = "yes" -a "x$SPHINXBUILD" = xno],
+- [AC_MSG_ERROR([sphinx-build is required to build documentation, install it or try --disable-docs])]
+-)
+-AM_CONDITIONAL([ENABLE_DOCS], [test "$enable_docs" = yes])
++if test "$enable_docs" = "yes"; then
++ AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no])
++ if test "$SPHINXBUILD" = "no"; then
++ AC_MSG_ERROR([sphinx-build is required to build documentation, install it or try --disable-docs])
++ fi
++fi
++AM_CONDITIONAL([ENABLE_DOCS], [test "$enable_docs" = "yes"])
+
+ AC_ARG_ENABLE(testbench,
+ [AS_HELP_STRING([--enable-testbench],[testbench enabled @<:@default=no@:>@])],
diff --git a/dev-libs/liblognorm/files/respect_CFLAGS.patch b/dev-libs/liblognorm/files/respect_CFLAGS.patch
new file mode 100644
index 000000000000..6e8d28099ee9
--- /dev/null
+++ b/dev-libs/liblognorm/files/respect_CFLAGS.patch
@@ -0,0 +1,11 @@
+--- configure.ac.new 2014-03-20 10:56:14.777901140 +0200
++++ configure.ac 2014-03-20 10:56:50.154143106 +0200
+@@ -12,7 +12,7 @@
+ AC_PROG_CC
+ AM_PROG_CC_C_O
+ if test "$GCC" = "yes"
+-then CFLAGS="$CFLAGS -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -g"
++then CFLAGS="$CFLAGS -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute"
+ fi
+
+ AC_PROG_LIBTOOL
diff --git a/dev-libs/liblognorm/liblognorm-0.3.6.ebuild b/dev-libs/liblognorm/liblognorm-0.3.6.ebuild
new file mode 100644
index 000000000000..8027e63a06be
--- /dev/null
+++ b/dev-libs/liblognorm/liblognorm-0.3.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Fast samples-based log normalization library"
+HOMEPAGE="http://www.liblognorm.com"
+SRC_URI="http://www.liblognorm.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa x86 ~amd64-linux"
+IUSE="debug static-libs"
+
+RDEPEND="
+ >=dev-libs/libestr-0.1.3
+ >=dev-libs/libee-0.3.2
+ "
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ "
+DOCS=( ChangeLog )
+
+src_compile() {
+ autotools-utils_src_compile -j1
+}
diff --git a/dev-libs/liblognorm/liblognorm-0.3.7.ebuild b/dev-libs/liblognorm/liblognorm-0.3.7.ebuild
new file mode 100644
index 000000000000..f5a6589c38ed
--- /dev/null
+++ b/dev-libs/liblognorm/liblognorm-0.3.7.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF="yes"
+
+inherit autotools-utils
+
+DESCRIPTION="Fast samples-based log normalization library"
+HOMEPAGE="http://www.liblognorm.com"
+SRC_URI="http://www.liblognorm.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86 ~amd64-linux"
+IUSE="debug static-libs"
+
+RDEPEND="
+ >=dev-libs/libestr-0.1.3
+ >=dev-libs/libee-0.3.2
+ "
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ "
+DOCS=( ChangeLog )
+
+PATCHES=( "${FILESDIR}"/respect_CFLAGS.patch )
+
+src_compile() {
+ autotools-utils_src_compile -j1
+}
diff --git a/dev-libs/liblognorm/liblognorm-1.0.1.ebuild b/dev-libs/liblognorm/liblognorm-1.0.1.ebuild
new file mode 100644
index 000000000000..a56fbaa42395
--- /dev/null
+++ b/dev-libs/liblognorm/liblognorm-1.0.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF="yes"
+
+inherit autotools-utils
+
+DESCRIPTION="Fast samples-based log normalization library"
+HOMEPAGE="http://www.liblognorm.com"
+SRC_URI="http://www.liblognorm.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm hppa x86 ~amd64-linux"
+#IUSE="debug static-libs" - "debug" USE flag disabled due to https://github.com/rsyslog/liblognorm/issues/5
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/libestr-0.1.3
+ >=dev-libs/json-c-0.11:=
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog )
+
+PATCHES=( "${FILESDIR}"/respect_CFLAGS.patch )
+
+src_configure() {
+ local myeconfargs=(
+ --disable-docs
+ #$(use_enable debug)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/liblognorm/liblognorm-1.1.0.ebuild b/dev-libs/liblognorm/liblognorm-1.1.0.ebuild
new file mode 100644
index 000000000000..4fee39961d97
--- /dev/null
+++ b/dev-libs/liblognorm/liblognorm-1.1.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF="yes"
+
+inherit autotools-utils
+
+DESCRIPTION="Fast samples-based log normalization library"
+HOMEPAGE="http://www.liblognorm.com"
+SRC_URI="http://www.liblognorm.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/1"
+KEYWORDS="amd64 arm hppa x86 ~amd64-linux"
+IUSE="debug doc pcre static-libs test"
+
+RDEPEND="
+ >=dev-libs/libestr-0.1.3
+ >=dev-libs/json-c-0.11:=
+ pcre? ( >=dev-libs/libpcre-8.35 )
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog )
+
+PATCHES=(
+ "${FILESDIR}"/respect_CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.1.0-fix-enable-docs.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable doc docs)
+ $(use_enable pcre regexp)
+ $(use_enable test testbench)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/liblognorm/metadata.xml b/dev-libs/liblognorm/metadata.xml
new file mode 100644
index 000000000000..eec0cf1d8c2c
--- /dev/null
+++ b/dev-libs/liblognorm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liblouis/Manifest b/dev-libs/liblouis/Manifest
new file mode 100644
index 000000000000..4e73edf6c9bf
--- /dev/null
+++ b/dev-libs/liblouis/Manifest
@@ -0,0 +1 @@
+DIST liblouis-2.5.3.tar.gz 3785311 SHA256 19ed3c31e11cc53d51bb7bc1d6868ad57e6966c0512b74c716d94298fca2e548 SHA512 5aa65f3a0b7cef37fe7cd8ccf09df8c40f38d183a88d1be9f1251b40406204e57a8d95716bf1de3569b09b640be613cc3e0bd0e05dc4d544face00bfc8d75ac7 WHIRLPOOL ab21ce69e5cdd9a7bb3e6d3f50d0ac64c9d7818c6e47ee5d2898ee7e0ba3fa1a8b4b032a226f83098fe45f3bde815feca4baa358f44b50f37d24a67396e9ae3a
diff --git a/dev-libs/liblouis/liblouis-2.5.3.ebuild b/dev-libs/liblouis/liblouis-2.5.3.ebuild
new file mode 100644
index 000000000000..afaa126a1bd8
--- /dev/null
+++ b/dev-libs/liblouis/liblouis-2.5.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='wide-unicode(+)'
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+DESCRIPTION="An open-source braille translator and back-translator"
+HOMEPAGE="http://code.google.com/p/liblouis/"
+SRC_URI="http://liblouis.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86"
+IUSE="python"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+src_prepare() {
+ default
+
+ if use python; then
+ pushd python > /dev/null
+ distutils-r1_src_prepare
+ popd > /dev/null
+ fi
+}
+
+src_configure() {
+ econf --enable-ucs4
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd python > /dev/null
+ # setup.py imports liblouis to get the version number,
+ # and this causes the shared library to be dlopened
+ # at build-time. Hack around it with LD_PRELOAD.
+ # Thanks ArchLinux.
+ LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
+ distutils-r1_src_compile
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ if use python; then
+ pushd python > /dev/null
+ LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
+ distutils-r1_src_install
+ popd > /dev/null
+ fi
+
+ dodoc README AUTHORS NEWS ChangeLog || die
+ dohtml doc/liblouis.html
+}
diff --git a/dev-libs/liblouis/metadata.xml b/dev-libs/liblouis/metadata.xml
new file mode 100644
index 000000000000..b723de1dbba2
--- /dev/null
+++ b/dev-libs/liblouis/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>accessibility</herd>
+</pkgmetadata>
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
new file mode 100644
index 000000000000..21d614d52f55
--- /dev/null
+++ b/dev-libs/libltdl/Manifest
@@ -0,0 +1,5 @@
+DIST libtool-1.3.5.tar.gz 538884 SHA256 02e287ba621aa01ee581b0f88854deb222fa61e7e0fc55ed7685038354f0259f SHA512 e7e693da0e87bc3b178b270c1d5b0d46116d1624f6e3657ad75bc381bcbba8949ab0913fe3985c77e9dd0ee519df7da9c5ee3b4f6030ad1d4651de2e642c4bd6 WHIRLPOOL 038305555932f7554c5e50932a0bf8cd0f2a8007c26fdd21c81dc7c44ca9076d1086e3c05911f62719685bd7aa6b14463f3a1160bfbf6090bcdba6a162d95630
+DIST libtool-1.5.26.tar.gz 2961939 SHA256 1c35ae34fe85aa167bd7ab4bc9f477fe019138e1af62678d952fc43c0b7e2f09 SHA512 fcd39856c8cd457c97f176d5f6ce97fd93108808ce24315d179a7c9ca85bb90e799afaa83bc283ec627d73cfe0e0710d36a1ee8f39c9963cf2e806e64a0e0bcf WHIRLPOOL 0a56e666ee7ec79b74b500e761ebddc94fb3d322b1c29c3f9929071f71a339b3082faa486b75c7cfcf72182976a8d6152585ca92c08735a512c07eff80a24ec4
+DIST libtool-2.4.4.tar.xz 957476 SHA256 a8295b5853bf82a46635c944031e84970f2aa79c19df7a0c28f3ec8e11c07f6c SHA512 1ff24aa88962e0aae82e1fff41df7863f925627a506c6a663a79afa23729272aa4e5816889dd4697d5286d42483bcee2cc7352514768f1bd28ea546476074a84 WHIRLPOOL def0381a3608b52f8f5e9b83d297643d48d3e695117199b10b4ae3d6f5b11f3d3a36c4b6572b7659061c3fee77e46da4f5e3cfffa594063fed0fe382869c3539
+DIST libtool-2.4.5.tar.xz 971620 SHA256 84aac136513b009278896ffa255e4d685bcdb0cb0e5363be36adad64c986177e SHA512 67ceb387e33fbf0ffe6df422cd26939e305a365bb22674ce064ed7f7d6602054682515b014e290c70587b7f9b6f85f00fac31d6f000b4b022daaa2b343c17327 WHIRLPOOL 4a5171a8f23d50b78eb70bbd2ff9497fe2a970933392c65c41ab44600838cdc744e4e9ddfef37ac009cf5784de8c7b1ef061f8156919b7417e78529978afe7ed
+DIST libtool-2.4.6.tar.xz 973080 SHA256 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4 WHIRLPOOL f6e1ea25cc8dd853f0de53c045bcd1166cfede9cb0e890079c2c05e6cbdb5e705e137f83ba32f7e16691b9c9108e9cfb2d14ed030cea07b6eacbe3f1ae18a73b
diff --git a/dev-libs/libltdl/libltdl-1.3.5.ebuild b/dev-libs/libltdl/libltdl-1.3.5.ebuild
new file mode 100644
index 000000000000..0287fee272ae
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-1.3.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# This ebuild provides libltdl.so.0.
+
+EAPI="4"
+
+inherit multilib-minimal
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1.3"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+IUSE=""
+# libltdl doesn't have a testsuite.
+RESTRICT="test"
+
+RDEPEND="!sys-devel/libtool:1.3"
+
+S="${WORKDIR}/${MY_P}"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-ltdl-install \
+ --disable-static
+}
+
+multilib_src_compile() {
+ emake -C libltdl
+}
+
+multilib_src_install() {
+ emake -C libltdl DESTDIR="${D}" install-exec
+ # basically we just install ABI libs for old packages
+ rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
+}
diff --git a/dev-libs/libltdl/libltdl-1.5.26.ebuild b/dev-libs/libltdl/libltdl-1.5.26.ebuild
new file mode 100644
index 000000000000..578f78a692af
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-1.5.26.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# This ebuild provides libltdl.so.3.
+
+EAPI="4"
+
+inherit multilib-minimal
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1.5"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+# libltdl doesn't have a testsuite.
+RESTRICT="test"
+
+RDEPEND="!sys-devel/libtool:1.5"
+
+S="${WORKDIR}/${MY_P}/libltdl"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-ltdl-install \
+ --disable-static
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install-exec
+ # basically we just install ABI libs for old packages
+ rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
+}
diff --git a/dev-libs/libltdl/libltdl-2.4.4.ebuild b/dev-libs/libltdl/libltdl-2.4.4.ebuild
new file mode 100644
index 000000000000..48e28b63b408
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-2.4.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit multilib-minimal
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+# libltdl doesn't have a testsuite.
+RESTRICT="test"
+
+RDEPEND="!<sys-devel/libtool-2.4.3-r2:2
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="app-arch/xz-utils"
+
+S="${WORKDIR}/${MY_P}/libltdl"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-ltdl-install \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # While the libltdl.la file is not used directly, the m4 ltdl logic
+ # keys off of its existence when searching for ltdl support. #293921
+ #use static-libs || find "${D}" -name libltdl.la -delete
+}
diff --git a/dev-libs/libltdl/libltdl-2.4.5.ebuild b/dev-libs/libltdl/libltdl-2.4.5.ebuild
new file mode 100644
index 000000000000..cea79ced4864
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-2.4.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit multilib-minimal
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+# libltdl doesn't have a testsuite.
+RESTRICT="test"
+
+RDEPEND="!<sys-devel/libtool-2.4.3-r2:2
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="app-arch/xz-utils"
+
+S="${WORKDIR}/${MY_P}/libltdl"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-ltdl-install \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # While the libltdl.la file is not used directly, the m4 ltdl logic
+ # keys off of its existence when searching for ltdl support. #293921
+ #use static-libs || find "${D}" -name libltdl.la -delete
+}
diff --git a/dev-libs/libltdl/libltdl-2.4.6.ebuild b/dev-libs/libltdl/libltdl-2.4.6.ebuild
new file mode 100644
index 000000000000..48e28b63b408
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-2.4.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit multilib-minimal
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+# libltdl doesn't have a testsuite.
+RESTRICT="test"
+
+RDEPEND="!<sys-devel/libtool-2.4.3-r2:2
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="app-arch/xz-utils"
+
+S="${WORKDIR}/${MY_P}/libltdl"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-ltdl-install \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # While the libltdl.la file is not used directly, the m4 ltdl logic
+ # keys off of its existence when searching for ltdl support. #293921
+ #use static-libs || find "${D}" -name libltdl.la -delete
+}
diff --git a/dev-libs/libltdl/metadata.xml b/dev-libs/libltdl/metadata.xml
new file mode 100644
index 000000000000..96a2d586367d
--- /dev/null
+++ b/dev-libs/libltdl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>
diff --git a/dev-libs/liblzw/Manifest b/dev-libs/liblzw/Manifest
new file mode 100644
index 000000000000..107b4d3a4700
--- /dev/null
+++ b/dev-libs/liblzw/Manifest
@@ -0,0 +1,2 @@
+DIST liblzw-0.1.2.tar.bz2 930710 SHA256 8bb307bb1d1c3c6d4e477b52ce9f2bd42728ac8ef6f018e6ca61fab72490c3ef SHA512 ecdaa6391eb9fe1e17361a5e01e32046f8418a8c9d5f1893831ada3e68fc939a716fff46950572f4cbc7c876ca74a0485617bb261ed858f47b82da595cf41742 WHIRLPOOL 0cd30a8a5a4bc8901afd439e2536657a384734aa1b654e44cc999894929a11de14d6e5098dc3f370f8e9f635c2b5089cbebd3d3070994f1534276dfaa2d7a3cf
+DIST liblzw-0.2.tar.lzma 868300 SHA256 0688acd09f93f3d5e7fdfd3c5cc988c1940d22b9d71618fb4a2c79e8d118f8dc SHA512 46b14fe83793e9611c9ee969f699fe752f4d2df46a53b0f975fbce9805259fe4024c42df6f4946fc6dd7270b9b15307c54f31417309806ab6c616abcee73d9bf WHIRLPOOL 1ea89bf03015c9a006b0c3534edaa4a7c08c2748da45ff4df3a91de90abdd03696cbd6b6a9d6fb7e748456a6dbff891703b1e6db11a4336d862416f26d3a17de
diff --git a/dev-libs/liblzw/liblzw-0.1.2.ebuild b/dev-libs/liblzw/liblzw-0.1.2.ebuild
new file mode 100644
index 000000000000..960d56a4ebc6
--- /dev/null
+++ b/dev-libs/liblzw/liblzw-0.1.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="small C library for reading LZW compressed files (.Z)"
+HOMEPAGE="https://github.com/vapier/liblzw"
+SRC_URI="mirror://sourceforge/freestdf/${P}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ia64 m68k s390 sh x86"
+IUSE=""
+
+DEPEND=""
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/liblzw/liblzw-0.2.ebuild b/dev-libs/liblzw/liblzw-0.2.ebuild
new file mode 100644
index 000000000000..bafb7866b538
--- /dev/null
+++ b/dev-libs/liblzw/liblzw-0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="small C library for reading LZW compressed files (.Z)"
+HOMEPAGE="https://github.com/vapier/liblzw"
+SRC_URI="mirror://sourceforge/freestdf/${P}.tar.lzma"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ia64 m68k s390 sh x86"
+IUSE=""
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/liblzw/metadata.xml b/dev-libs/liblzw/metadata.xml
new file mode 100644
index 000000000000..97af1306a233
--- /dev/null
+++ b/dev-libs/liblzw/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">freestdf</remote-id>
+ <remote-id type="github">vapier/liblzw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmaa/Manifest b/dev-libs/libmaa/Manifest
new file mode 100644
index 000000000000..5429e0a731b1
--- /dev/null
+++ b/dev-libs/libmaa/Manifest
@@ -0,0 +1 @@
+DIST libmaa-1.3.2.tar.gz 287198 SHA256 59a5a01e3a9036bd32160ec535d25b72e579824e391fea7079e9c40b0623b1c5 SHA512 dde91e8bf1c08515ff4662282d16a03b18a1dfb16eb7b95be980ba398ed1e65d8cd88e58d454e03a03f48a5ecca8bf23b4ebaf475a98630a9178318c12a1b176 WHIRLPOOL 9e650e7d896d89730901166222ed57d994a8f87f78ae29aaae09c03b4d1618815ec9e8a1421ea69324ec86293934f2fc70347049c59fe14bf54dc643c2c01418
diff --git a/dev-libs/libmaa/libmaa-1.3.2.ebuild b/dev-libs/libmaa/libmaa-1.3.2.ebuild
new file mode 100644
index 000000000000..e464c1d3a230
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.3.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
+HOMEPAGE="http://www.dict.org/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE=""
+
+DOCS="ChangeLog NEWS README doc/libmaa.600dpi.ps"
diff --git a/dev-libs/libmaa/metadata.xml b/dev-libs/libmaa/metadata.xml
new file mode 100644
index 000000000000..b95bde345a8b
--- /dev/null
+++ b/dev-libs/libmaa/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ The <pkg>libmaa</pkg> library provides many low-level data structures which
+ are helpful for writing compilers, including hash tables, sets, lists,
+ debugging support, and memory management. Although <pkg>libmaa</pkg> was
+ designed and implemented as a foundation for the KHEPERA Transformation
+ System, the data structures are generally applicable to a wide range of
+ programming problems. The memory management routines are especially helpful
+ for improving the performance of memory-intensive applications.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">dict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmacaroons/Manifest b/dev-libs/libmacaroons/Manifest
new file mode 100644
index 000000000000..404b713b9c98
--- /dev/null
+++ b/dev-libs/libmacaroons/Manifest
@@ -0,0 +1,2 @@
+DIST libmacaroons-0.2.0.tar.gz 423629 SHA256 5fcbfcec06749fccef3f8741ddf4680d032cc55eccdfaa0c9b73429a1df38c33 SHA512 4bc5f83b57c6a8080e646141a3c8b90c0025a894449dea4cb0ab15d1423a067b9833e70014468437d9edfe875e12ea90cae6f715893ded1eefa34f2f6506ecbe WHIRLPOOL 835d15b21c77a97ea1ba717a09356c8b87d27f88dc6bac0da05f21b9977e58affba508c4c123fa6d4139c5090aa1d3dc4e2a88d9fa8b8fa84195c0e44568f841
+DIST libmacaroons-0.3.0.tar.gz 422086 SHA256 8a01587790a8f5d641524b02f4146e2265c437339fea24b34c478240e85afe84 SHA512 57a5ffa1a8397228e29ab3f3f7d1440cd70b163b1b28904a046d7b3b1f70dbb0693ea983409f57cc63a02097a1af57209c70ecf8e3be5b8635a7ab6e498b1bcb WHIRLPOOL c11e44f4b9cf0a996508fc66611a13905c2631d68e6faa883033af229405598d416cc9d0a91efc56e7ab391b33c02d810b1f864a37fec3381fc3929cc2107743
diff --git a/dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild b/dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..4cfbb6bf145a
--- /dev/null
+++ b/dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1
+
+# Tests can't function after 2014-12-31 ...
+RESTRICT="test"
+
+DESCRIPTION="Hyperdex macaroons support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test +python"
+
+RDEPEND="dev-libs/libsodium
+ dev-libs/json-c"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+REQUIRED_USE="test? ( python )"
+
+src_prepare() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ econf $(use_enable python python-bindings)
+}
+
+src_test() {
+ emake -j1 check || die
+}
diff --git a/dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild b/dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild
new file mode 100644
index 000000000000..4cfbb6bf145a
--- /dev/null
+++ b/dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1
+
+# Tests can't function after 2014-12-31 ...
+RESTRICT="test"
+
+DESCRIPTION="Hyperdex macaroons support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test +python"
+
+RDEPEND="dev-libs/libsodium
+ dev-libs/json-c"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+REQUIRED_USE="test? ( python )"
+
+src_prepare() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ econf $(use_enable python python-bindings)
+}
+
+src_test() {
+ emake -j1 check || die
+}
diff --git a/dev-libs/libmacaroons/metadata.xml b/dev-libs/libmacaroons/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/libmacaroons/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libmail/Manifest b/dev-libs/libmail/Manifest
new file mode 100644
index 000000000000..c9cf7cad4633
--- /dev/null
+++ b/dev-libs/libmail/Manifest
@@ -0,0 +1 @@
+DIST libmail-0.3.tar.bz2 271946 SHA256 b07db69866ae649d0489b35a38a11692b6e404078931ec384973134b3913db51 SHA512 df4e0e549867f7cf73db8c965a28c14e3e089e54a8272b70be8b00c896dcd91d68625e2287a15d353eff75ec05e702e6d113f8122ed0e9d294766fe4f467e9d3 WHIRLPOOL 9ab90bd0545d52ab692f56fd5c222848a00351bf61b588779bb7de3b1c8e43f2102519fd79e44dca438a71ba693007b58651c63280ea900b258a4ce3cbe38627
diff --git a/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch b/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch
new file mode 100644
index 000000000000..7e22de4c7576
--- /dev/null
+++ b/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch
@@ -0,0 +1,37 @@
+--- configure.ac.orig 2013-01-31 16:18:06.537834009 +0400
++++ configure.ac 2013-01-31 16:19:00.138835711 +0400
+@@ -12,7 +12,7 @@
+ AC_PROG_MAKE_SET
+ AC_PROG_LIBTOOL
+
+-CFLAGS="-D_GNU_SOURCE -Wall -Wunused -Wstrict-prototypes"
++CFLAGS="-D_GNU_SOURCE -Wall -Wunused -Wstrict-prototypes ${CFLAGS}"
+
+ use_sasl=false
+ use_apop=false
+@@ -99,7 +99,6 @@
+ ;;
+ yes)
+ AC_DEFINE(NDEBUG, [1], [Use debug functionality])
+- CFLAGS="$CFLAGS -g"
+ optimize="no"
+ ;;
+ *)
+@@ -119,7 +118,6 @@
+ ;;
+ yes)
+ AC_DEFINE(NDEBUG, [1], [Use debug functionality])
+- CFLAGS="$CFLAGS -pg -g"
+ optimize="yes"
+ ;;
+ *)
+@@ -127,9 +125,6 @@
+ ;;
+ esac
+ ])
+-if test $optimize = "yes"; then
+- CFLAGS="$CFLAGS -O2"
+-fi
+ AM_CONDITIONAL([LIBMAIL_USE_SASL], [test x$use_sasl = xtrue])
+ AM_CONDITIONAL([LIBMAIL_USE_APOP], [test x$use_apop = xtrue])
+ AM_CONDITIONAL([LIBMAIL_USE_TLS], [test x$use_tls = xtrue])
diff --git a/dev-libs/libmail/libmail-0.3-r3.ebuild b/dev-libs/libmail/libmail-0.3-r3.ebuild
new file mode 100644
index 000000000000..f1de2c6a1c5c
--- /dev/null
+++ b/dev-libs/libmail/libmail-0.3-r3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="A mail handling library"
+HOMEPAGE="http://libmail.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="apop debug gnutls profile sasl static-libs"
+
+DEPEND="gnutls? ( >=net-libs/gnutls-2 )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+# Do not unset user's CFLAGS, bug #454558
+PATCHES=( "${FILESDIR}/${P}-respect-cflags.patch" )
+
+src_prepare() {
+ # Drop quotes from ACLOCAL_AMFLAGS otherwise aclocal will fail
+ # see 447760
+ sed -i -e "/ACLOCAL_AMFLAGS/s:\"::g" Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable apop)
+ $(use_enable debug)
+ $(use_enable gnutls tls)
+ $(use_enable profile)
+ $(use_enable sasl)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ # headers, that are wrongly skipped from installing
+ insinto /usr/include/libmail
+ doins libmail/libmail_intl.h
+ doins config.h
+}
diff --git a/dev-libs/libmail/metadata.xml b/dev-libs/libmail/metadata.xml
new file mode 100644
index 000000000000..74ca61607e28
--- /dev/null
+++ b/dev-libs/libmail/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="apop">Enables the APOP authentication method</flag>
+ </use>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">libmail</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmal/Manifest b/dev-libs/libmal/Manifest
new file mode 100644
index 000000000000..9d894d9ee934
--- /dev/null
+++ b/dev-libs/libmal/Manifest
@@ -0,0 +1 @@
+DIST libmal-0.44.1.tar.gz 459226 SHA256 9f6ab41215c53c010e91c5a47949c1bcd793be4b869d986e1192305c998a0170 SHA512 1d34066c0a7c4204afe3520a03c0aabb027049ec74b66133a5b2e649cf56b4446c1595d08b068cb2d28ec42e062cf2f65964f30b315c7139a0299675f0e5c343 WHIRLPOOL 068deb1d74d21c226227a450a7e0e08ba8d1219a4bbe01c7e313f62a2037f85dbad782fe6279e99ea59960d42aaaccd69238fb94b00ce565e65869216e9a5919
diff --git a/dev-libs/libmal/libmal-0.44.1.ebuild b/dev-libs/libmal/libmal-0.44.1.ebuild
new file mode 100644
index 000000000000..cda6bd945c58
--- /dev/null
+++ b/dev-libs/libmal/libmal-0.44.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="convenience library of the functions malsync distribution"
+HOMEPAGE="http://www.jlogday.com/code/libmal/index.html"
+SRC_URI="http://www.jlogday.com/code/libmal/${P}.tar.gz"
+
+LICENSE="MPL-1.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 x86"
+IUSE="static-libs"
+
+RDEPEND=">=app-pda/pilot-link-0.12.3"
+DEPEND="${RDEPEND}"
+
+DOCS="ChangeLog README"
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ docinto malsync
+ dodoc malsync/{ChangeLog,README,Doc/README*} || die
+
+ find "${D}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libmal/metadata.xml b/dev-libs/libmal/metadata.xml
new file mode 100644
index 000000000000..228404d3a4b2
--- /dev/null
+++ b/dev-libs/libmal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>pda</herd>
+</pkgmetadata>
diff --git a/dev-libs/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
new file mode 100644
index 000000000000..211f8c33b397
--- /dev/null
+++ b/dev-libs/libmateweather/Manifest
@@ -0,0 +1 @@
+DIST libmateweather-1.8.0.tar.xz 3530972 SHA256 801ec5512e9099c39ce819a82e2dde62477a3783894a5e7fbfff3493d04607ba SHA512 5942af847b6940f94e2ac48bdeb0d3ae96d1e61e1c3ce28d8a3cfa6e2b5b287e5d9f5a1a63481cbdaaf0595243a87c7a35886dc7fdab09f17527388149dd3422 WHIRLPOOL 8181d254bd836e96adaf6b5b7c8d58f9c0652175ccea78a66db12769840db2401d0b5e1a365660cbfa1463bdd4a312ebcd58738bac631b17c4b6ae39472e168b
diff --git a/dev-libs/libmateweather/files/libmateweather-1.5.0-fix-automagic-python-support.patch b/dev-libs/libmateweather/files/libmateweather-1.5.0-fix-automagic-python-support.patch
new file mode 100644
index 000000000000..de5f44a2c0fd
--- /dev/null
+++ b/dev-libs/libmateweather/files/libmateweather-1.5.0-fix-automagic-python-support.patch
@@ -0,0 +1,12 @@
+diff -burN libmateweather-1.5.1.orig/configure.ac libmateweather-1.5.1/configure.ac
+--- libmateweather-1.5.1.orig/configure.ac 2013-02-04 15:53:55.420890494 +0100
++++ libmateweather-1.5.1/configure.ac 2013-02-04 15:55:19.618967277 +0100
+@@ -215,7 +215,7 @@
+ AC_ARG_ENABLE(python,
+ [AC_HELP_STRING([--enable-python],
+ [Build libmateweather python bindings])],
+- [enable_python=yes],
++ [enable_python=$enableval],
+ [enable_python=no])
+ if test "$enable_python" = "yes"; then
+ AM_PATH_PYTHON()
diff --git a/dev-libs/libmateweather/files/libmateweather-1.6.1-fix-mkdirp.patch b/dev-libs/libmateweather/files/libmateweather-1.6.1-fix-mkdirp.patch
new file mode 100644
index 000000000000..a76d6c76a192
--- /dev/null
+++ b/dev-libs/libmateweather/files/libmateweather-1.6.1-fix-mkdirp.patch
@@ -0,0 +1,11 @@
+diff -burN a/python/Makefile.am b/python/Makefile.am
+--- a/python/Makefile.am 2012-06-22 01:08:01.978411103 +0200
++++ b/python/Makefile.am 2012-06-22 01:11:02.007416691 +0200
+@@ -1,4 +1,7 @@
+ if BUILD_PYTHON
++
++MKDIR_P=@mkdir_p@
++
+ AM_CPPFLAGS = \
+ -I$(top_srcdir) \
+ $(PYTHON_INCLUDES) \
diff --git a/dev-libs/libmateweather/libmateweather-1.8.0.ebuild b/dev-libs/libmateweather/libmateweather-1.8.0.ebuild
new file mode 100644
index 000000000000..0d9aeb45b457
--- /dev/null
+++ b/dev-libs/libmateweather/libmateweather-1.8.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools gnome2 python-r1 versionator
+
+MATE_BRANCH="$(get_version_component_range 1-2)"
+
+SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
+DESCRIPTION="MATE library to access weather information from online services"
+HOMEPAGE="http://mate-desktop.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/glib-2.13:2[${PYTHON_USEDEP}]
+ >=dev-libs/libxml2-2.6:2
+ >=net-libs/libsoup-2.34:2.4
+ >=sys-libs/timezone-data-2010k:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-2.11:2
+ virtual/libintl:0
+
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2:2[${PYTHON_USEDEP}]
+ )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40.3:*
+ >=mate-base/mate-common-1.8:0
+ sys-devel/gettext:*
+ virtual/pkgconfig:*"
+
+my_command() {
+ if use python ; then
+ python_foreach_impl run_in_build_dir $@
+ else
+ $@
+ fi
+}
+
+src_prepare() {
+ # Fix undefined use of MKDIR_P in python/Makefile.am.
+ epatch "${FILESDIR}"/${PN}-1.6.1-fix-mkdirp.patch
+ eautoreconf
+
+ use python && python_copy_sources
+ my_command gnome2_src_prepare
+}
+
+src_configure() {
+ my_command gnome2_src_configure \
+ --enable-locations-compression \
+ --disable-all-translations-in-one-xml \
+ $(use_enable python)
+}
+
+src_compile() {
+ my_command gnome2_src_compile
+}
+
+DOCS="AUTHORS ChangeLog NEWS"
+
+src_install() {
+ my_command gnome2_src_install
+}
diff --git a/dev-libs/libmateweather/metadata.xml b/dev-libs/libmateweather/metadata.xml
new file mode 100644
index 000000000000..d2f9020ebfb1
--- /dev/null
+++ b/dev-libs/libmateweather/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mate</herd>
+ <upstream>
+ <remote-id type="github">mate-desktop/libmateweather</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmba/Manifest b/dev-libs/libmba/Manifest
new file mode 100644
index 000000000000..c62b74cb5f63
--- /dev/null
+++ b/dev-libs/libmba/Manifest
@@ -0,0 +1 @@
+DIST libmba-0.9.1.tar.gz 290080 SHA256 1482c6c1a32794d1c40df471d25006ee1cae5b07ebd76b0301268dddb8629394 SHA512 28696e6066cb6c54434e1a35576c1e2430e3b83a478fddeabb20ddf1d8b889edac023de15090762fb95a759ebb9d2d8fcf1b0d19ec22f6a98ef2780400456da6 WHIRLPOOL 3dab2a36821049859d9f6e65af70fee8756c94e5135b6070d589fa46e8d95849221231d9b80cf6df4e81b254b80e8a27072da4ba5b227f252f80312ff7265cd3
diff --git a/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch b/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch
new file mode 100644
index 000000000000..4d5651cc5d12
--- /dev/null
+++ b/dev-libs/libmba/files/libmba-0.9.1-glibc-2.20.patch
@@ -0,0 +1,34 @@
+--- a/src/mba/text.h
++++ b/src/mba/text.h
+@@ -315,31 +315,6 @@
+ /* "dumb" snprintf returns -1 on overflow */
+ LIBMBA_API int dsnprintf(char *str, size_t size, const char *format, ...);
+
+-#if !defined(_GNU_SOURCE)
+-
+-#if !defined(_BSD_SOURCE) && \
+- !defined(_XOPEN_SOURCE_EXTENDED) && \
+- !defined(_WIN32) && \
+- !(defined(__APPLE__) && defined(__MACH__))
+-LIBMBA_API char *strdup(const char *s);
+-#endif
+-
+-LIBMBA_API wchar_t *wcsdup(const wchar_t *s);
+-LIBMBA_API size_t strnlen(const char *s, size_t maxlen);
+-
+-#if (__STDC_VERSION__ < 199901L) && \
+- !defined(_BSD_SOURCE) && \
+- (_XOPEN_VERSION < 500) && \
+- !(defined(__APPLE__) && defined(__MACH__))
+-#include <stdarg.h>
+-int vsnprintf(char *str, size_t size, const char *format, va_list ap);
+-#endif
+-
+-LIBMBA_API size_t wcsnlen(const wchar_t *s, size_t maxlen);
+-LIBMBA_API int wcscasecmp(const wchar_t *s1, const wchar_t *s2);
+-
+-#endif /* _GNU_SOURCE */
+-
+ /*
+ wchar_t *wcschrnul(const wchar_t *s, wchar_t wc);
+ int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n);
diff --git a/dev-libs/libmba/files/libmba-0.9.1-qa.patch b/dev-libs/libmba/files/libmba-0.9.1-qa.patch
new file mode 100644
index 000000000000..0f9859504f0a
--- /dev/null
+++ b/dev-libs/libmba/files/libmba-0.9.1-qa.patch
@@ -0,0 +1,96 @@
+Addresing multiple QA issues:
+ - fixing CFLAGS, LDFLAGS, CC
+ - fixing parallel build
+ - fixing as-needed issues
+ - making static libs optional
+ - introducing make DESTDIR compatibility
+ - removing Makefile.PLATFORM bits, as they violate sandbox
+
+http://bugs.gentoo.org/show_bug.cgi?id=313673
+
+Patch written by Kacper Kowalik <xarthisius.kk@gmail.com>
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,13 +1,13 @@
+ # Makefile for libmba
+ # Supported flags: -DVARRAY_INIT_SIZE=N -DUSE_WCHAR
+
+-MFLAGS = -g -W1 -Isrc
++MFLAGS = -Isrc
+ MKTOOL = ./mktool
+
+-prefix = /usr/local
++prefix = $(DESTDIR)/usr
+ includedir = $(prefix)/include
+-libdir = $(prefix)/lib
+-mandir = $(prefix)/man
++libdir = $(prefix)/$(LIBDIR)
++mandir = $(prefix)/share/man
+ LIBNAME = mba
+ LIBVERS = 0.9.1
+ ARNAME = lib$(LIBNAME).a
+@@ -19,39 +19,49 @@
+ MAN = diff.3m bitset.3m allocator.3m cfg.3m pool.3m varray.3m csv.3m text.3m path.3m suba.3m msgno.3m stack.3m linkedlist.3m hashmap.3m hexdump.3m shellout.3m eval.3m svsem.3m svcond.3m time.3m
+ MANGZ = $(MAN:.3m=.3m.gz)
+
++.PHONY: all clean install uninstall install-ar uninstall-ar
+ .SUFFIXES: .pic.o .3m .3m.gz
+
+-all: mktool so ar
++ifeq ($(STATIC),1)
++all: $(MKTOOL) so ar
++install-ar: $(ARNAME)
++ -$(MKTOOL) -i $(ARNAME) $(libdir)
++uninstall-ar:
++ $(MKTOOL) -u $(ARNAME) $(libdir)
++else
++all: $(MKTOOL) so
++install-ar:
++uninstall-ar:
++endif
+
+-mktool:
++$(MKTOOL): mktool.c
+ $(CC) -g -o mktool mktool.c
+
+-ar: mktool $(OBJS)
++$(PICOBJS): $(MKTOOL)
++$(OBJS): $(MKTOOL)
++
++ar: $(OBJS)
+ ar $(ARFLAGS) $(ARNAME) $(OBJS)
+ ranlib $(ARNAME)
+-so: mktool $(PICOBJS)
+- @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname -lutil $(PICOBJS)
++so: $(PICOBJS)
++ @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname $(LDFLAGS) $(PICOBJS) -lutil
+
+ .c.pic.o:
+- @$(MKTOOL) -c -v $(MFLAGS) -fpic -c -o $*.pic.o $<
++ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -fpic -c -o $*.pic.o $<
+ .c.o:
+- @$(MKTOOL) -c -v $(MFLAGS) -c -o $*.o $<
++ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -c -o $*.o $<
+
+-install: mktool
+- -$(MKTOOL) -i $(ARNAME) $(libdir)
+- -$(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
++install: install-ar
++ $(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
+ $(MKTOOL) -i $(HDRS) $(includedir)/mba
+ $(MKTOOL) -i docs/man/*.3m.gz $(mandir)/man3
+- @-libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_install
+ @echo
+ @echo installation successful
+-uninstall: mktool
+- $(MKTOOL) -u $(ARNAME) $(libdir)
++uninstall: uninstall-ar
+ $(MKTOOL) -u -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
+ $(MKTOOL) -u $(HDRS) $(includedir)/mba
+ rm -rf $(includedir)/mba
+ $(MKTOOL) -u $(MANGZ) $(mandir)/man3
+- -@libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_uninstall
+ @echo
+ @echo de-installation successful
+
diff --git a/dev-libs/libmba/libmba-0.9.1-r3.ebuild b/dev-libs/libmba/libmba-0.9.1-r3.ebuild
new file mode 100644
index 000000000000..d16a14a94449
--- /dev/null
+++ b/dev-libs/libmba/libmba-0.9.1-r3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="A library of generic C modules"
+LICENSE="MIT"
+HOMEPAGE="http://www.ioplex.com/~miallen/libmba/"
+SRC_URI="${HOMEPAGE}dl/${P}.tar.gz"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+src_prepare() {
+ use static-libs && export STATIC="1"
+
+ epatch "${FILESDIR}"/${P}-qa.patch
+ epatch "${FILESDIR}"/${P}-glibc-2.20.patch
+
+ tc-export CC
+ sed -i -e "s:gcc:${CC}:g" mktool.c || die
+
+ # prevent reinventing strdup(), wcsdup() and strnlen()
+ append-cflags -D_XOPEN_SOURCE=500
+}
+
+src_compile() {
+ emake LIBDIR="$(get_libdir)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
+
+ dodoc README.txt docs/*.txt
+ dohtml -r docs/*.html docs/www/* docs/ref
+
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+}
diff --git a/dev-libs/libmba/metadata.xml b/dev-libs/libmba/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/libmba/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libmcal/Manifest b/dev-libs/libmcal/Manifest
new file mode 100644
index 000000000000..6947cb84be9e
--- /dev/null
+++ b/dev-libs/libmcal/Manifest
@@ -0,0 +1,2 @@
+DIST libmcal-0.7.tar.gz 49039 SHA256 5e9fc22ac4b73ad2fed4fc6eab0c413fd3eb1ea750ab1da6f8a6931e8af48861 SHA512 9d94d9acb663f9add43000be91c1c59e7d5a2a968b3526a97a37c7965df4b07e1e4efa92533bfd0aa92105a90efb7e062307a07b36ca1f21fdc9ea6928fea2f4 WHIRLPOOL 73e85ab4406a5c3616bf6444bbadbd4259133c7e5fd4f9d2da9a316e53700d5a6df647d9bee9d5a63e9fb694c1005d4bfc3824d4495c0da683e5dd842a334db4
+DIST mcaldrivers-0.9.tar.gz 13445 SHA256 9af4110285a6b7a08a272a9f7a20f43f2731200dd03878a651f303302be7161f SHA512 1dda4e09c85ac461bff4d812f51aaec600ecd6b337cce5f73c3b2a9a3f9a1685f5fbe915073df5f10b3ba16e1a6a0f8821c59e23b2600acde8a00de3f92960d9 WHIRLPOOL b933b0fa26ea8870f0996d8d7c037159d8f29128e03df83920cb820210eb257ff51d5de91d13eda7da16bcbd8fb7122996af7f2a55b418581da3d674d4e7a33d
diff --git a/dev-libs/libmcal/files/libmcal-0.7-flex-2.5.37.patch b/dev-libs/libmcal/files/libmcal-0.7-flex-2.5.37.patch
new file mode 100644
index 000000000000..8c2e38699876
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-flex-2.5.37.patch
@@ -0,0 +1,14 @@
+--- libmcal.orig/icalroutines.h 2003-01-28 18:45:21.000000000 +0100
++++ libmcal/icalroutines.h 2013-02-04 01:54:27.833995640 +0100
+@@ -48,8 +48,10 @@
+
+
+ /* ICAL parser. */
++#ifndef ical_yytext
+ extern char *ical_yytext;
+-extern int ical_yyleng;
++extern size_t ical_yyleng;
++#endif
+ int ical_yylex(void);
+ void ical_usebuf(const char *buf, size_t size);
+ void ical_preprocess(char *buf, size_t *size);
diff --git a/dev-libs/libmcal/files/libmcal-0.7-flexfix.patch b/dev-libs/libmcal/files/libmcal-0.7-flexfix.patch
new file mode 100644
index 000000000000..0088dce4ccc8
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-flexfix.patch
@@ -0,0 +1,29 @@
+--- libmcal/icalscanner.lex 2003-01-28 09:45:21.000000000 -0800
++++ libmcal/icalscanner.lex.new 2006-04-01 22:47:58.515410944 -0800
+@@ -32,13 +32,6 @@
+ */
+
+ #include "icalroutines.h"
+-
+-void
+-ical_usebuf(const char *buf, size_t size)
+-{
+- BEGIN(INITIAL);
+- yy_scan_bytes(buf, size);
+-}
+ %}
+
+
+@@ -68,3 +61,12 @@
+ {LF} BEGIN(INITIAL); return ICALTOK_LF;
+ . return ICALTOK_JUNK;
+ <<EOF>> return ICALTOK_EOF;
++
++%%
++
++void
++ical_usebuf(const char *buf, size_t size)
++{
++ BEGIN(INITIAL);
++ yy_scan_bytes(buf, size);
++}
diff --git a/dev-libs/libmcal/files/libmcal-0.7-fpic.patch b/dev-libs/libmcal/files/libmcal-0.7-fpic.patch
new file mode 100644
index 000000000000..be003d354a4c
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-fpic.patch
@@ -0,0 +1,56 @@
+--- Makefile.in 2003-11-27 15:46:46.887752568 +0000
++++ Makefile.in 2003-11-27 16:14:17.325847840 +0000
+@@ -7,7 +7,7 @@
+
+ INCLUDE=@DRIVER_INCDIR@ ${OTHERINCDIR} -I.
+
+-CFLAGS=-O0 -Wall -g ${INCLUDE} ${OTHER_CFLAGS}
++CFLAGS=-O0 -Wall -g ${OTHER_CFLAGS}
+
+ LIBOBJS=mcal.o datetime.o lex.ical_yy.o icalroutines.o cal_misc.o $(DRIVER_LIBS)
+ ALLOBJS=${LIBOBJS} tester.o
+@@ -17,6 +17,9 @@
+ LIBCAL=libmcal.a
+ LIBCAL_SO=libmcal.so
+
++%.o: %.c
++ gcc $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
+ all: libmcal.a libmcal.so
+
+ install: libmcal.a libmcal.so
+@@ -38,7 +41,7 @@
+
+ libmcal.so: $(LIBOBJS)
+ rm -f $(LIBCAL_SO)
+- gcc $(CFLAGS) -shared -o $(LIBCAL_SO) $(LIBOBJS)
++ gcc $(CFLAGS) $(INCLUDE) -shared -o $(LIBCAL_SO) $(LIBOBJS)
+
+ lex.ical_yy.c: icalscanner.lex
+ $(FLEX) $<
+--- mstore/Makefile.old 2004-08-08 16:37:13.641537544 +0100
++++ mstore/Makefile 2004-08-08 16:37:35.473218624 +0100
+@@ -8,6 +8,10 @@
+ ALLOBJS=mstore.o
+ TARGET=mstore_driver.o
+
++%.o: %.c
++ gcc $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
++
+ all: $(TARGET)
+
+
+--- icap/Makefile.old 2004-08-08 16:38:58.353618888 +0100
++++ icap/Makefile 2004-08-08 16:39:18.841504256 +0100
+@@ -7,6 +7,10 @@
+ ALLOBJS=icap.o icaproutines.o lex.icap_yy.o
+ TARGET=icap_driver.o
+
++%.o: %.c
++ gcc $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
++
+ all: $(TARGET)
+
+
diff --git a/dev-libs/libmcal/files/libmcal-0.7-gcc4.patch b/dev-libs/libmcal/files/libmcal-0.7-gcc4.patch
new file mode 100644
index 000000000000..d38d0c356dcb
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-gcc4.patch
@@ -0,0 +1,32 @@
+--- a/icap/icap.c 2003-01-28 18:31:33.000000000 +0100
++++ b/icap/icap.c 2005-08-12 15:04:36.000000000 +0200
+@@ -159,7 +159,7 @@
+ if (!reopen) {
+ if ((stream = calloc(1, sizeof(*stream))) == NULL)
+ goto fail;
+- if ((DATA = calloc(1, sizeof(*DATA))) == NULL)
++ if ((stream->data = calloc(1, sizeof(*DATA))) == NULL)
+ goto fail;
+
+ /* Copy host. */
+--- a/mstore/mstore.c 2005-08-12 15:30:52.000000000 +0200
++++ b/mstore/mstore.c 2005-08-12 15:31:38.000000000 +0200
+@@ -308,7 +308,7 @@
+ if (!reopen) {
+ if ((stream = calloc(1, sizeof(*stream))) == NULL)
+ goto fail;
+- if ((DATA = calloc(1, sizeof(*DATA))) == NULL)
++ if ((stream->data = calloc(1, sizeof(*DATA))) == NULL)
+ goto fail;
+ }
+
+@@ -773,7 +773,7 @@
+ while((event=read_event(calfile))) {
+ if (event->id == modified_event->id)
+ {
+- (const CALEVENT*)event = modified_event;
++ event = modified_event;
+ /*is more required here to assign objects, a loop through all the properties*/
+ /* We actually only want to modify any individual property, not the whole thing..
+ TODO */
+
diff --git a/dev-libs/libmcal/files/libmcal-0.7-libdir.patch b/dev-libs/libmcal/files/libmcal-0.7-libdir.patch
new file mode 100644
index 000000000000..b784993aed01
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-libdir.patch
@@ -0,0 +1,25 @@
+diff -Naur libmcal.orig/Makefile.in libmcal/Makefile.in
+--- libmcal.orig/Makefile.in 2003-01-28 09:45:21.000000000 -0800
++++ libmcal/Makefile.in 2005-02-06 21:20:58.860199158 -0800
+@@ -20,17 +20,17 @@
+ all: libmcal.a libmcal.so
+
+ install: libmcal.a libmcal.so
+- mkdir -p ${DESTDIR}@prefix@/lib/
++ mkdir -p ${DESTDIR}@libdir@
+ mkdir -p ${DESTDIR}@prefix@/include/mcal/
+- install -m 755 -o 0 -g 0 libmcal.a libmcal.so ${DESTDIR}@prefix@/lib
++ install -m 755 -o 0 -g 0 libmcal.a libmcal.so ${DESTDIR}@libdir@
+ install -m 644 -o 0 -g 0 \
+ mcal.h bool.h datetime.h drivers.h cal_misc.h icalroutines.h \
+ ${DESTDIR}@prefix@/include/mcal/
+ touch installed
+
+ install-strip: installed
+- strip ${DESTDIR}@prefix@/lib/libmcal.so
+- strip ${DESTDIR}@prefix@/lib/libmcal.a
++ strip ${DESTDIR}@libdir@/libmcal.so
++ strip ${DESTDIR}@libdir@/libmcal.a
+
+ libmcal.a: $(LIBOBJS)
+ rm -f $(LIBCAL)
diff --git a/dev-libs/libmcal/files/libmcal-0.7-r6-fpic.patch b/dev-libs/libmcal/files/libmcal-0.7-r6-fpic.patch
new file mode 100644
index 000000000000..72a199a3a57e
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-r6-fpic.patch
@@ -0,0 +1,56 @@
+--- Makefile.in 2003-11-27 15:46:46.887752568 +0000
++++ Makefile.in 2003-11-27 16:14:17.325847840 +0000
+@@ -7,7 +7,7 @@
+
+ INCLUDE=@DRIVER_INCDIR@ ${OTHERINCDIR} -I.
+
+-CFLAGS=-O0 -Wall -g ${INCLUDE} ${OTHER_CFLAGS}
++CFLAGS=-O0 -Wall -g ${OTHER_CFLAGS}
+
+ LIBOBJS=mcal.o datetime.o lex.ical_yy.o icalroutines.o cal_misc.o $(DRIVER_LIBS)
+ ALLOBJS=${LIBOBJS} tester.o
+@@ -17,6 +17,9 @@
+ LIBCAL=libmcal.a
+ LIBCAL_SO=libmcal.so
+
++%.o: %.c
++ $(CC) $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
+ all: libmcal.a libmcal.so
+
+ install: libmcal.a libmcal.so
+@@ -38,7 +41,7 @@
+
+ libmcal.so: $(LIBOBJS)
+ rm -f $(LIBCAL_SO)
+- gcc $(CFLAGS) -shared -o $(LIBCAL_SO) $(LIBOBJS)
++ $(CC) -Wl,-soname=$@ $(CFLAGS) $(LDFLAGS) $(INCLUDE) -shared -o $(LIBCAL_SO) $(LIBOBJS)
+
+ lex.ical_yy.c: icalscanner.lex
+ $(FLEX) $<
+--- mstore/Makefile.old 2004-08-08 16:37:13.641537544 +0100
++++ mstore/Makefile 2004-08-08 16:37:35.473218624 +0100
+@@ -8,6 +8,10 @@
+ ALLOBJS=mstore.o
+ TARGET=mstore_driver.o
+
++%.o: %.c
++ $(CC) $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
++
+ all: $(TARGET)
+
+
+--- icap/Makefile.old 2004-08-08 16:38:58.353618888 +0100
++++ icap/Makefile 2004-08-08 16:39:18.841504256 +0100
+@@ -7,6 +7,10 @@
+ ALLOBJS=icap.o icaproutines.o lex.icap_yy.o
+ TARGET=icap_driver.o
+
++%.o: %.c
++ $(CC) $(CFLAGS) -fPIC $(INCLUDE) -c -o $@ $<
++
++
+ all: $(TARGET)
+
+
diff --git a/dev-libs/libmcal/files/libmcal-0.7-r6-gcc4.patch b/dev-libs/libmcal/files/libmcal-0.7-r6-gcc4.patch
new file mode 100644
index 000000000000..065a82dc24c3
--- /dev/null
+++ b/dev-libs/libmcal/files/libmcal-0.7-r6-gcc4.patch
@@ -0,0 +1,34 @@
+diff -urN libmcal-/icap/icap.c icap/icap.c
+--- libmcal/icap/icap.c 2003-01-28 18:31:33.000000000 +0100
++++ icap/icap.c 2005-08-12 15:04:36.000000000 +0200
+@@ -159,7 +159,7 @@
+ if (!reopen) {
+ if ((stream = calloc(1, sizeof(*stream))) == NULL)
+ goto fail;
+- if ((DATA = calloc(1, sizeof(*DATA))) == NULL)
++ if ((stream->data = calloc(1, sizeof(*DATA))) == NULL)
+ goto fail;
+
+ /* Copy host. */
+diff -urN libmcal/mstore/mstore.c mstore/mstore.c
+--- libmcal/mstore/mstore.c 2005-08-12 15:30:52.000000000 +0200
++++ mstore/mstore.c 2005-08-12 15:31:38.000000000 +0200
+@@ -308,7 +308,7 @@
+ if (!reopen) {
+ if ((stream = calloc(1, sizeof(*stream))) == NULL)
+ goto fail;
+- if ((DATA = calloc(1, sizeof(*DATA))) == NULL)
++ if ((stream->data = calloc(1, sizeof(*DATA))) == NULL)
+ goto fail;
+ }
+
+@@ -773,7 +773,7 @@
+ while((event=read_event(calfile))) {
+ if (event->id == modified_event->id)
+ {
+- (const CALEVENT*)event = modified_event;
++ event = modified_event;
+ /*is more required here to assign objects, a loop through all the properties*/
+ /* We actually only want to modify any individual property, not the whole thing..
+ TODO */
+
diff --git a/dev-libs/libmcal/libmcal-0.7-r5.ebuild b/dev-libs/libmcal/libmcal-0.7-r5.ebuild
new file mode 100644
index 000000000000..1255038a7a18
--- /dev/null
+++ b/dev-libs/libmcal/libmcal-0.7-r5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib
+
+DRIVERS="mcaldrivers-0.9"
+SRC_URI_BASE="mirror://sourceforge/libmcal"
+DESCRIPTION="Modular Calendar Access Library"
+HOMEPAGE="http://mcal.chek.com/"
+SRC_URI="${SRC_URI_BASE}/${P}.tar.gz ${SRC_URI_BASE}/${DRIVERS}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="pam"
+
+DEPEND="pam? ( virtual/pam )"
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ mv ${S}/../mcal-drivers/* ${S}/
+ einfo "Using /var/spool/calendar instead of /var/calendar"
+ for i in FAQ-MCAL HOW-TO-MCAL mstore/mstore.c mstore/README mstore/Changelog; do
+ sed -e 's|/var/calendar|/var/spool/calendar|g' -i ${i}
+ done
+ cd ${S}
+ epatch ${FILESDIR}/${P}-fpic.patch
+ epatch ${FILESDIR}/${P}-libdir.patch
+ epatch ${FILESDIR}/${P}-gcc4.patch
+ epatch ${FILESDIR}/${P}-flexfix.patch
+}
+
+src_compile() {
+ use pam && CFLAGS="${CFLAGS} -DUSE_PAM -lpam" LDFLAGS="${LDFLAGS} -lpam"
+ einfo "Setting up mstore back-end"
+ cd ${S}/mstore
+ emake CFLAGS="${CFLAGS} -I.." LDFLAGS="${LDFLAGS}" || die
+
+ einfo "Setting up icap back-end"
+ cd ${S}/icap
+ emake CFLAGS="${CFLAGS} -I.." LDFLAGS="${LDFLAGS}" || die
+
+ cd ${S}
+ myconf="--with-mstore --with-icap"
+ econf ${myconf} --libdir=/usr/$(get_libdir) || die
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc CHANGELOG FAQ-MCAL FEATURE-IMPLEMENTATION HOW-TO-MCAL LICENSE README
+ newdoc mstore/README mstore-README
+ newdoc mstore/Changelog mstore-Changelog
+ newdoc icap/Changelog icap-Changelog
+ dohtml FUNCTION-REF.html
+ keepdir /var/spool/calendar
+ fperms 1777 /var/spool/calendar
+}
+
+pkg_postinst() {
+ einfo "You should start adding users to your calendar. ( e.g. htpasswd -c /etc/mpasswd username )"
+ # enforce perms
+ chmod 1777 ${ROOT}/var/spool/calendar
+}
diff --git a/dev-libs/libmcal/libmcal-0.7-r6.ebuild b/dev-libs/libmcal/libmcal-0.7-r6.ebuild
new file mode 100644
index 000000000000..6bd71be218f9
--- /dev/null
+++ b/dev-libs/libmcal/libmcal-0.7-r6.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib
+
+DRIVERS="mcaldrivers-0.9"
+SRC_URI_BASE="mirror://sourceforge/libmcal"
+DESCRIPTION="Modular Calendar Access Library"
+HOMEPAGE="http://mcal.chek.com/"
+SRC_URI="${SRC_URI_BASE}/${P}.tar.gz ${SRC_URI_BASE}/${DRIVERS}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="pam"
+DOCS="CHANGELOG FAQ-MCAL FEATURE-IMPLEMENTATION HOW-TO-MCAL LICENSE README"
+
+DEPEND="pam? ( virtual/pam )"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ mv "${S}"/../mcal-drivers/* "${S}"/
+ einfo "Using /var/spool/calendar instead of /var/calendar"
+ for i in FAQ-MCAL HOW-TO-MCAL mstore/mstore.c mstore/README mstore/Changelog; do
+ sed -e 's|/var/calendar|/var/spool/calendar|g' -i ${i} || die
+ done
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.7-r6-fpic.patch
+ epatch "${FILESDIR}"/${PN}-0.7-libdir.patch
+ epatch "${FILESDIR}"/${PN}-0.7-r6-gcc4.patch
+ epatch "${FILESDIR}"/${PN}-0.7-flexfix.patch
+ epatch "${FILESDIR}"/${PN}-0.7-flex-2.5.37.patch
+}
+
+src_configure() {
+ use pam && export CFLAGS="${CFLAGS} -DUSE_PAM -lpam" LDFLAGS="${LDFLAGS} -lpam"
+}
+
+src_compile() {
+ einfo "Setting up mstore back-end"
+ cd "${S}"/mstore
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -I.." LDFLAGS="${LDFLAGS}"
+
+ einfo "Setting up icap back-end"
+ cd "${S}"/icap
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -I.." LDFLAGS="${LDFLAGS}"
+
+ cd "${S}"
+ myconf="--with-mstore --with-icap"
+ # Sorry repoman, this econf cannot be run until the above two compiles are
+ # done.
+ econf ${myconf} --libdir=/usr/$(get_libdir)
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc ${DOCS}
+ newdoc mstore/README mstore-README
+ newdoc mstore/Changelog mstore-Changelog
+ newdoc icap/Changelog icap-Changelog
+ dohtml FUNCTION-REF.html
+ keepdir /var/spool/calendar
+ fperms 1777 "${ROOT}"/var/spool/calendar
+}
+
+pkg_postinst() {
+ einfo "You should start adding users to your calendar. ( e.g. htpasswd -c /etc/mpasswd username )"
+}
diff --git a/dev-libs/libmcal/metadata.xml b/dev-libs/libmcal/metadata.xml
new file mode 100644
index 000000000000..f8f84bd43495
--- /dev/null
+++ b/dev-libs/libmcal/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libmcal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmcrypt/Manifest b/dev-libs/libmcrypt/Manifest
new file mode 100644
index 000000000000..ce9f657c03b7
--- /dev/null
+++ b/dev-libs/libmcrypt/Manifest
@@ -0,0 +1 @@
+DIST libmcrypt-2.5.8.tar.gz 1335178 SHA256 e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e SHA512 471a4e0dcbede836c975697a4edd5c3a53d555dde122a045d702e619d7e9768c7abc1ab541c79829f644b70241ac2e0cd274cf22499e47862983401566ca1fd1 WHIRLPOOL 2fbe22466ecd42161e0de75dfdcdd42edd7f5f1422a2fd9b8bc4bf81f7005749e500058bbb62827f8be34fb707c70fd5920f37b2e27743814d96dd89c03f7deb
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
new file mode 100644
index 000000000000..ca31df4b2719
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-rotate-mask.patch
@@ -0,0 +1,18 @@
+--- KNOWN-BUGS 2008-12-13 15:31:49.000000000 -0500
++++ /dev/null 2008-12-13 02:05:21.751517562 -0500
+@@ -1 +0,0 @@
+-- cast-256 and rc6 do not work properly on Alpha (64 bit) machines
+--- lib/mcrypt_modules.h.orig 2008-12-13 15:33:06.000000000 -0500
++++ lib/mcrypt_modules.h 2008-12-13 15:25:01.000000000 -0500
+@@ -1,7 +1,7 @@
+-#define rotl32(x,n) (((x) << ((word32)(n))) | ((x) >> (32 - (word32)(n))))
+-#define rotr32(x,n) (((x) >> ((word32)(n))) | ((x) << (32 - (word32)(n))))
+-#define rotl16(x,n) (((x) << ((word16)(n))) | ((x) >> (16 - (word16)(n))))
+-#define rotr16(x,n) (((x) >> ((word16)(n))) | ((x) << (16 - (word16)(n))))
++#define rotl32(x,n) (((x) << ((word32)(n & 31))) | ((x) >> (32 - (word32)(n & 31))))
++#define rotr32(x,n) (((x) >> ((word32)(n & 31))) | ((x) << (32 - (word32)(n & 31))))
++#define rotl16(x,n) (((x) << ((word16)(n & 15))) | ((x) >> (16 - (word16)(n & 15))))
++#define rotr16(x,n) (((x) >> ((word16)(n & 15))) | ((x) << (16 - (word16)(n & 15))))
+
+ /* Use hardware rotations.. when available */
+ #ifdef swap32
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r2.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r2.ebuild
new file mode 100644
index 000000000000..9c05f5cce796
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools eutils
+
+DESCRIPTION="libmcrypt is a library that provides uniform interface to access several encryption algorithms"
+HOMEPAGE="http://mcrypt.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-rotate-mask.patch
+ eautoreconf # need new libtool for interix (elibtoolize would suffice for freebsd)
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die "install failure"
+
+ dodoc AUTHORS NEWS README THANKS TODO ChangeLog
+ dodoc doc/README.* doc/example.c
+ prepalldocs
+}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r3.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r3.ebuild
new file mode 100644
index 000000000000..c683e2e486e4
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils
+
+DESCRIPTION="libmcrypt is a library that provides uniform interface to access several encryption algorithms"
+HOMEPAGE="http://mcrypt.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-rotate-mask.patch
+ mv configure.in configure.ac
+ mv libltdl/configure.in libltdl/configure.ac
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
+ eautoreconf # need new libtool for interix (elibtoolize would suffice for freebsd)
+}
+
+src_install() {
+ default
+ dodoc AUTHORS NEWS README THANKS TODO ChangeLog
+ dodoc doc/README.* doc/example.c
+}
diff --git a/dev-libs/libmcrypt/metadata.xml b/dev-libs/libmcrypt/metadata.xml
new file mode 100644
index 000000000000..0549001de3c4
--- /dev/null
+++ b/dev-libs/libmcrypt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mcrypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmcs/Manifest b/dev-libs/libmcs/Manifest
new file mode 100644
index 000000000000..ce03a77b5d8a
--- /dev/null
+++ b/dev-libs/libmcs/Manifest
@@ -0,0 +1 @@
+DIST libmcs-0.7.2.tgz 112987 SHA256 989f8dc4598ffab2f6a5648ba40f12d2e2c392b7ec6e66eeef194591565e60d9 SHA512 798420299d7aa756a949ebfb21ae13effe146d222f1c09233ff64736c4f24c5aa132520d3486ab9460cd38632f67e47e619148acfffa74d82638a5b3cbf0c0d6 WHIRLPOOL 3e4fa46c72dad44388df62e556cca563edce37ff2a6f1eca72d0982b4f5d52a6675c7df5c181423e4c7a4a457dfd894bdcac71cd83b37b32aae98c043096ccd7
diff --git a/dev-libs/libmcs/libmcs-0.7.2.ebuild b/dev-libs/libmcs/libmcs-0.7.2.ebuild
new file mode 100644
index 000000000000..1dfad7f72668
--- /dev/null
+++ b/dev-libs/libmcs/libmcs-0.7.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Abstracts the storage of configuration settings away from applications"
+HOMEPAGE="http://git.atheme.org/libmcs/"
+SRC_URI="http://distfiles.atheme.org/${P}.tgz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux"
+IUSE="gnome"
+
+RDEPEND=">=dev-libs/libmowgli-0.6.1:0
+ gnome? ( >=gnome-base/gconf-2.6.0 )"
+DEPEND="virtual/pkgconfig
+ ${RDEPEND}"
+DOCS="AUTHORS README TODO"
+
+src_configure() {
+ econf \
+ --disable-kconfig \
+ $(use_enable gnome gconf)
+}
diff --git a/dev-libs/libmcs/metadata.xml b/dev-libs/libmcs/metadata.xml
new file mode 100644
index 000000000000..50547930c6fa
--- /dev/null
+++ b/dev-libs/libmcs/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jdhore@gentoo.org</email>
+ <name>Jeff Horelick</name>
+ </maintainer>
+ <longdescription></longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libmelf/Manifest b/dev-libs/libmelf/Manifest
new file mode 100644
index 000000000000..6be18592b1c7
--- /dev/null
+++ b/dev-libs/libmelf/Manifest
@@ -0,0 +1 @@
+DIST libmelf-0.4.0.tar.gz 163173 SHA256 f0820cec3b4338b4441743fc74d183fd28ad4e405e90d99c1dc01cf787ff0246 SHA512 c702c72026f494b0d3ee665d6734cbd302c002c904721c0b58f71850f20c3249e5cabca4fcc5ecfe0a4e114df2e31c6faed84634ad593ff61de2e5acffd70227 WHIRLPOOL 79f547661c8373122314f03803a737baf3ec3bdf4634c3d0a521ec6b0646351777183a9bd7b6104bf6cb55dd2e73fb65876e52b7ee677757c43d80198b7d637f
diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch b/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch
new file mode 100644
index 000000000000..ddf7c8a1ca03
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch
@@ -0,0 +1,129 @@
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/example/Makefile.in libmelf-0.4.0/example/Makefile.in
+--- libmelf-0.4.0.orig/example/Makefile.in 2003-03-24 00:48:22.000000000 -0800
++++ libmelf-0.4.0/example/Makefile.in 2010-05-31 19:56:43.546947560 -0700
+@@ -1,7 +1,13 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS = sign test new
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 sign.c -o sign ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 test.c -o test ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 new.c -o new ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: $(BINS)
++
++clean:
++ -rm -f $(BINS)
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/Makefile.in libmelf-0.4.0/Makefile.in
+--- libmelf-0.4.0.orig/Makefile.in 2003-11-07 22:09:10.000000000 -0800
++++ libmelf-0.4.0/Makefile.in 2010-05-31 19:58:12.172822406 -0700
+@@ -6,35 +6,43 @@
+ DEFINES=@DEFINES@ -DMELF_COMP
+ INCLUDES=-I.
+ PREFIX=@PREFIX@
+-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3
+-LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS}
++LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS} -o
++LIBDIR=lib
+ LIBS=
+ OBJS=melf.o melf_dynamic.o melf_elf.o melf_list.o melf_note.o melf_program.o melf_reloc.o \
+ melf_res.o melf_section.o melf_string.o melf_symbol.o melf_symbolTable.o
+
+-all: ${OBJS}
+- ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
+- @SHAREDEXEC@
+- cd example && make
+- cd tools && make
++all: ${STATICBIN} ${DYNAMICBIN}
++ cd example && $(MAKE)
++ cd tools && $(MAKE)
+
+ *.c.${O}:
+ ${CC} ${CFLAGS} $*.c
+
++${STATICBIN}: ${OBJS}
++ ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
++${DYNAMICBIN}: ${OBJS}
++ @SHAREDEXEC@
++
+ clean:
+ rm -f *.o ${STATICBIN} ${DYNAMICBIN} example/test example/new example/sign tools/elfres config.*
+- cd tools && make clean
++ cd tools && $(MAKE) clean
+
+-distclean:
+- make clean
++distclean: clean
+ rm -f Makefile example/Makefile stdelf.h
+- cd tools && make distclean
++ cd tools && $(MAKE) distclean
+
+ install: ${OBJS} ${STATICBIN}
+- cp libmelf.a ${PREFIX}/lib
+- cp libmelf.so ${PREFIX}/lib
++ cp ${STATICBIN} ${PREFIX}/$(LIBDIR)
++ cp ${DYNAMICBIN} ${PREFIX}/$(LIBDIR)
+ cp melf.h ${PREFIX}/include
+ cp stdelf.h ${PREFIX}/include
+
+ uninstall:
+- rm -f ${PREFIX}/lib/libmelf.a ${PREFIX}/lib/libmelf.so ${PREFIX}/include/melf.h ${PREFIX}/include/stdelf.h
++ -rm -f \
++ ${PREFIX}/$(LIBDIR)/${STATICBIN} \
++ ${PREFIX}/$(LIBDIR)/${DYNAMICBIN} \
++ ${PREFIX}/include/melf.h \
++ ${PREFIX}/include/stdelf.h
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/melf_dynamic.c libmelf-0.4.0/melf_dynamic.c
+--- libmelf-0.4.0.orig/melf_dynamic.c 2004-01-08 23:25:32.000000000 -0800
++++ libmelf-0.4.0/melf_dynamic.c 2010-05-31 19:35:59.230823053 -0700
+@@ -227,7 +227,7 @@
+ return NULL;
+
+ dynamic->content = (void *)base;
+- (unsigned char *)base += dynamic->contentLength;
++ /*(unsigned char *)*/ base += dynamic->contentLength;
+ dynamic->contentLength = newLength;
+
+ base->d_tag = DT_NULL;
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/melf_note.c libmelf-0.4.0/melf_note.c
+--- libmelf-0.4.0.orig/melf_note.c 2004-01-08 23:25:56.000000000 -0800
++++ libmelf-0.4.0/melf_note.c 2010-05-31 19:36:11.535947632 -0700
+@@ -205,7 +205,7 @@
+ return NULL;
+
+ note->content = (void *)base;
+- (unsigned char *)base += note->contentLength;
++ /*(unsigned char *)*/ base += note->contentLength;
+
+ memset(base, 0, newLength - note->contentLength);
+
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/tools/Makefile.in libmelf-0.4.0/tools/Makefile.in
+--- libmelf-0.4.0.orig/tools/Makefile.in 2003-09-17 01:03:49.000000000 -0700
++++ libmelf-0.4.0/tools/Makefile.in 2010-05-31 19:57:55.126198024 -0700
+@@ -1,11 +1,15 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS=elfres
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 elfres.c -o elfres ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: $(BINS)
+
+ clean:
+- rm -f elfres
++ -rm -f $(BINS)
+
+ distclean:
+- rm -f elfres Makefile
++ -rm -f $(BINS) Makefile
diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch b/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch
new file mode 100644
index 000000000000..384818f57630
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch
@@ -0,0 +1,105 @@
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/example/Makefile.in libmelf-0.4.0/example/Makefile.in
+--- libmelf-0.4.0.orig/example/Makefile.in 2003-03-24 00:48:22.000000000 -0800
++++ libmelf-0.4.0/example/Makefile.in 2010-05-31 19:56:43.546947560 -0700
+@@ -1,7 +1,13 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS = sign test new
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 sign.c -o sign ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 test.c -o test ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 new.c -o new ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: $(BINS)
++
++clean:
++ -rm -f $(BINS)
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/Makefile.in libmelf-0.4.0/Makefile.in
+--- libmelf-0.4.0.orig/Makefile.in 2003-11-07 22:09:10.000000000 -0800
++++ libmelf-0.4.0/Makefile.in 2010-05-31 19:58:12.172822406 -0700
+@@ -6,35 +6,43 @@
+ DEFINES=@DEFINES@ -DMELF_COMP
+ INCLUDES=-I.
+ PREFIX=@PREFIX@
+-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -fPIC
+-LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS}
++LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS} -o
++LIBDIR=lib
+ LIBS=
+ OBJS=melf.o melf_dynamic.o melf_elf.o melf_list.o melf_note.o melf_program.o melf_reloc.o \
+ melf_res.o melf_section.o melf_string.o melf_symbol.o melf_symbolTable.o
+
+-all: ${OBJS}
+- ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
+- @SHAREDEXEC@
+- cd example && make
+- cd tools && make
++all: ${STATICBIN} ${DYNAMICBIN}
++ cd example && $(MAKE)
++ cd tools && $(MAKE)
+
+ *.c.${O}:
+ ${CC} ${CFLAGS} $*.c
+
++${STATICBIN}: ${OBJS}
++ ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
++${DYNAMICBIN}: ${OBJS}
++ @SHAREDEXEC@
++
+ clean:
+ rm -f *.o ${STATICBIN} ${DYNAMICBIN} example/test example/new example/sign tools/elfres config.*
+- cd tools && make clean
++ cd tools && $(MAKE) clean
+
+-distclean:
+- make clean
++distclean: clean
+ rm -f Makefile example/Makefile stdelf.h
+- cd tools && make distclean
++ cd tools && $(MAKE) distclean
+
+ install: ${OBJS} ${STATICBIN}
+- cp libmelf.a ${PREFIX}/lib
+- cp libmelf.so ${PREFIX}/lib
++ cp ${STATICBIN} ${PREFIX}/$(LIBDIR)
++ cp ${DYNAMICBIN} ${PREFIX}/$(LIBDIR)
+ cp melf.h ${PREFIX}/include
+ cp stdelf.h ${PREFIX}/include
+
+ uninstall:
+- rm -f ${PREFIX}/lib/libmelf.a ${PREFIX}/lib/libmelf.so ${PREFIX}/include/melf.h ${PREFIX}/include/stdelf.h
++ -rm -f \
++ ${PREFIX}/$(LIBDIR)/${STATICBIN} \
++ ${PREFIX}/$(LIBDIR)/${DYNAMICBIN} \
++ ${PREFIX}/include/melf.h \
++ ${PREFIX}/include/stdelf.h
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/tools/Makefile.in libmelf-0.4.0/tools/Makefile.in
+--- libmelf-0.4.0.orig/tools/Makefile.in 2003-09-17 01:03:49.000000000 -0700
++++ libmelf-0.4.0/tools/Makefile.in 2010-05-31 19:57:55.126198024 -0700
+@@ -1,11 +1,15 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS=elfres
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 elfres.c -o elfres ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: $(BINS)
+
+ clean:
+- rm -f elfres
++ -rm -f $(BINS)
+
+ distclean:
+- rm -f elfres Makefile
++ -rm -f $(BINS) Makefile
diff --git a/dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch b/dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch
new file mode 100644
index 000000000000..359ceda352bb
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch
@@ -0,0 +1,145 @@
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//ChangeLog elfsign-0.2.2/melf//ChangeLog
+--- libmelf-0.4.0.orig//ChangeLog 2004-05-03 22:15:29.000000000 -0700
++++ elfsign-0.2.2/melf//ChangeLog 2004-11-30 08:14:39.000000000 -0800
+@@ -1,3 +1,7 @@
++0.4.1
++
++ * Fixed issues with serializing SHT_DYNSYM
++
+ 0.4.0 05/04/2004
+
+ * Major enhancements to make the library more robust
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//configure.in elfsign-0.2.2/melf//configure.in
+--- libmelf-0.4.0.orig//configure.in 2003-11-07 22:08:15.000000000 -0800
++++ elfsign-0.2.2/melf//configure.in 2004-06-05 10:44:17.000000000 -0700
+@@ -25,7 +25,7 @@
+ if test "x$cache_sys_os" = "xSolaris"; then
+ SHAREDEXEC="ld -dy -r -o libmelf.so \${OBJS}"
+ else
+- SHAREDEXEC="\${CC} \${FLAGS} -shared -fPIC \${OBJS} -o libmelf.so"
++ SHAREDEXEC="\${CC} \${FLAGS} -shared \${OBJS} -o libmelf.so"
+ fi
+
+ AC_C_BIGENDIAN()
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//example/enum_sym.c elfsign-0.2.2/melf//example/enum_sym.c
+--- libmelf-0.4.0.orig//example/enum_sym.c 1969-12-31 16:00:00.000000000 -0800
++++ elfsign-0.2.2/melf//example/enum_sym.c 2004-11-27 18:04:36.000000000 -0800
+@@ -0,0 +1,39 @@
++#include <stdlib.h>
++#include <stdio.h>
++
++#include "melf.h"
++
++void enum_symtab(MELF *melf, ELF_SPEC_HEADER *curr);
++
++int main(int argc, char **argv)
++{
++ ELF_SPEC_HEADER *curr;
++ MELF *melf = melf_open(argv[1], MELF_ACCESS_ALL);
++
++ if (!melf)
++ return 0;
++
++ for (curr = melf_sectionGetEnum(melf);
++ curr;
++ curr = melf_sectionEnumNext(melf, curr))
++ {
++ if ((curr->spec.section.sh_type == SHT_DYNSYM) ||
++ (curr->spec.section.sh_type == SHT_SYMTAB))
++ {
++ enum_symtab(melf, curr);
++ }
++ }
++
++ return 0;
++}
++
++void enum_symtab(MELF *melf, ELF_SPEC_HEADER *curr)
++{
++ Elf32_Sym *sym;
++ unsigned long index = 0;
++
++ while ((sym = melf_symbolTableEnum(melf, curr, index++)))
++ {
++ printf("%s\n", melf_symbolGetName(melf, curr, sym));
++ }
++}
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//Makefile.in elfsign-0.2.2/melf//Makefile.in
+--- libmelf-0.4.0.orig//Makefile.in 2003-11-07 22:09:10.000000000 -0800
++++ elfsign-0.2.2/melf//Makefile.in 2004-06-05 10:44:06.000000000 -0700
+@@ -6,7 +6,7 @@
+ DEFINES=@DEFINES@ -DMELF_COMP
+ INCLUDES=-I.
+ PREFIX=@PREFIX@
+-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3
++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -fPIC
+ LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o
+ LIBS=
+ OBJS=melf.o melf_dynamic.o melf_elf.o melf_list.o melf_note.o melf_program.o melf_reloc.o \
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_dynamic.c elfsign-0.2.2/melf//melf_dynamic.c
+--- libmelf-0.4.0.orig//melf_dynamic.c 2004-01-08 23:25:32.000000000 -0800
++++ elfsign-0.2.2/melf//melf_dynamic.c 2004-12-19 13:12:45.000000000 -0800
+@@ -227,7 +227,7 @@
+ return NULL;
+
+ dynamic->content = (void *)base;
+- (unsigned char *)base += dynamic->contentLength;
++ base = (Elf32_Dyn *)((char *)base + dynamic->contentLength);
+ dynamic->contentLength = newLength;
+
+ base->d_tag = DT_NULL;
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_note.c elfsign-0.2.2/melf//melf_note.c
+--- libmelf-0.4.0.orig//melf_note.c 2004-01-08 23:25:56.000000000 -0800
++++ elfsign-0.2.2/melf//melf_note.c 2004-12-19 13:13:16.000000000 -0800
+@@ -204,8 +204,8 @@
+ if (!base)
+ return NULL;
+
+- note->content = (void *)base;
+- (unsigned char *)base += note->contentLength;
++ note->content = (void *)base;
++ base = (Elf32_Nhdr *)((char *)base + note->contentLength);
+
+ memset(base, 0, newLength - note->contentLength);
+
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_section.c elfsign-0.2.2/melf//melf_section.c
+--- libmelf-0.4.0.orig//melf_section.c 2004-05-03 21:37:29.000000000 -0700
++++ elfsign-0.2.2/melf//melf_section.c 2004-11-27 17:46:45.000000000 -0800
+@@ -485,6 +485,7 @@
+ melf_relocInitializeRelaEntryList(melf, sect);
+ break;
+ case SHT_SYMTAB:
++ case SHT_DYNSYM:
+ melf_symbolTableInitializeEntryList(melf, sect);
+ break;
+ case SHT_DYNAMIC:
+@@ -511,6 +512,7 @@
+ case SHT_REL:
+ case SHT_RELA:
+ case SHT_SYMTAB:
++ case SHT_DYNSYM:
+ case SHT_DYNAMIC:
+ case SHT_NOTE:
+ case SHT_RES:
+@@ -534,6 +536,7 @@
+ melf_relocSynchronizeRelaEntryList(melf, sect);
+ break;
+ case SHT_SYMTAB:
++ case SHT_DYNSYM:
+ melf_symbolTableSynchronizeEntryList(melf, sect);
+ break;
+ case SHT_DYNAMIC:
+diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//stdelf.h.in elfsign-0.2.2/melf//stdelf.h.in
+--- libmelf-0.4.0.orig//stdelf.h.in 2003-06-01 11:13:56.000000000 -0700
++++ elfsign-0.2.2/melf//stdelf.h.in 2004-05-11 07:38:17.000000000 -0700
+@@ -919,8 +919,8 @@
+ #define AT_FLAGS 8 /* Flags */
+ #define AT_ENTRY 9 /* Entry point of program */
+ #define AT_NOTELF 10 /* Program is not ELF */
+-#define AT_UID 11 /* Real uid */
+-#define AT_EUID 12 /* Effective uid */
++#define E_AT_UID 11 /* Real uid */
++#define E_AT_EUID 12 /* Effective uid */
+ #define AT_GID 13 /* Real gid */
+ #define AT_EGID 14 /* Effective gid */
+ #define AT_CLKTCK 17 /* Frequency of times() */
diff --git a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..64a7294626fc
--- /dev/null
+++ b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
+HOMEPAGE="http://www.hick.org/code/skape/libmelf/"
+SRC_URI="http://www.hick.org/code/skape/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # This patch was gained from the elfsign-0.2.2 release
+ epatch "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch
+ # Cleanup stuff
+ epatch "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch
+}
+
+src_compile() {
+ append-flags -fPIC
+ emake CC="$(tc-getCC)" OPTFLAGS="${CFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ into /usr
+ dobin tools/elfres
+ dolib.a libmelf.a
+ dolib.so libmelf.so
+ insinto /usr/include
+ doins melf.h stdelf.h
+ dodoc ChangeLog README
+ dohtml -r docs/html
+}
diff --git a/dev-libs/libmelf/libmelf-0.4.0.ebuild b/dev-libs/libmelf/libmelf-0.4.0.ebuild
new file mode 100644
index 000000000000..5918e347c132
--- /dev/null
+++ b/dev-libs/libmelf/libmelf-0.4.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
+HOMEPAGE="http://www.hick.org/code/skape/libmelf/"
+SRC_URI="http://www.hick.org/code/skape/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc-makefile-cleanup.patch
+}
+
+src_compile() {
+ append-flags -fPIC
+ emake CC="$(tc-getCC)" OPTFLAGS="${CFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ into /usr
+ dobin tools/elfres
+ dolib.a libmelf.a
+ dolib.so libmelf.so
+ insinto /usr/include
+ doins melf.h stdelf.h
+ dodoc ChangeLog README
+ dohtml -r docs/html
+}
diff --git a/dev-libs/libmelf/metadata.xml b/dev-libs/libmelf/metadata.xml
new file mode 100644
index 000000000000..a732fd8b2f03
--- /dev/null
+++ b/dev-libs/libmelf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libmemcache/Manifest b/dev-libs/libmemcache/Manifest
new file mode 100644
index 000000000000..fca3c49ac26d
--- /dev/null
+++ b/dev-libs/libmemcache/Manifest
@@ -0,0 +1 @@
+DIST libmemcache-1.4.0.rc2.tar.bz2 301136 SHA256 f496d41092c697384a7180720689da6a85d7c6ea2283eca69c8aaff2b58bebbf SHA512 4b8c09c425d48d0ad040d3f01ec3c0d88babefb702b666d5cb3d10eac9993be88d00120b57b6224f7d55ae979d3136de10d5ddc793d9aa7f8b9531b5d79449d0 WHIRLPOOL 89cf5df9b87193ce25b3c76086e59c9879fadb6ba9343e6a97a3982fd50976e4ec69668360ceaf5183e73470a4c3841c19eaa65a38a69a472f15dccc9404b540
diff --git a/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-implicit_pointer.patch b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-implicit_pointer.patch
new file mode 100644
index 000000000000..e944ce1725a9
--- /dev/null
+++ b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-implicit_pointer.patch
@@ -0,0 +1,12 @@
+Index: libmemcache-1.4.0.rc2/test/benchmark/benchmark.c
+===================================================================
+--- libmemcache-1.4.0.rc2.orig/test/benchmark/benchmark.c
++++ libmemcache-1.4.0.rc2/test/benchmark/benchmark.c
+@@ -29,6 +29,7 @@
+
+ #include "memcache.h"
+
++char *strdup(const char *s1);
+ double tt(const struct timeval *t1, const struct timeval *t2);
+
+ double
diff --git a/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-inline.patch b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-inline.patch
new file mode 100644
index 000000000000..6eba5dffd135
--- /dev/null
+++ b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-inline.patch
@@ -0,0 +1,33 @@
+http://bugs.gentoo.org/276571
+
+--- include/memcache.h.in
++++ include/memcache.h.in
+@@ -923,7 +923,7 @@ int mcMemGet(mcFreeFunc *freeFunc, mcMallocFunc *mallocFunc,
+ mcMallocFunc *mallocAtomicFunc, mcReallocFunc *reallocFunc);
+
+ /* Returns a pointer to the global context. */
+-inline struct memcache_ctxt *mc_global_ctxt(void);
++struct memcache_ctxt *mc_global_ctxt(void);
+
+ /* The next two functions are used to setup an error handler. */
+ int mcErrSetup(mcErrFunc errFunc);
+--- include/memcache/buffer.h
++++ include/memcache/buffer.h
+@@ -63,14 +63,14 @@ struct memcache_buf *mcm_buf_find_replace(struct memcache_ctxt *, struct memcach
+ struct memcache_buf *mcm_buf_find_replace2(struct memcache_ctxt *, struct memcache_buf *,
+ const char *, struct memcache_buf *);
+ int mcm_buf_free(struct memcache_ctxt *, struct memcache_buf **);
+-inline u_int32_t mcm_buf_len(const struct memcache_ctxt *, const struct memcache_buf *);
++u_int32_t mcm_buf_len(const struct memcache_ctxt *, const struct memcache_buf *);
+ struct memcache_buf *mcm_buf_new(struct memcache_ctxt *);
+ struct memcache_buf *mcm_buf_new2(struct memcache_ctxt *, const char *, const u_int32_t);
+ struct memcache_buf *mcm_buf_new3(struct memcache_ctxt *, const char *);
+ size_t mcm_buf_read(struct memcache_ctxt *, struct memcache_buf *, int);
+ int mcm_buf_realloc(struct memcache_ctxt *, struct memcache_buf *, const u_int32_t);
+-inline size_t mcm_buf_remain(const struct memcache_ctxt *, const struct memcache_buf *);
+-inline size_t mcm_buf_remain_off(const struct memcache_ctxt *, const struct memcache_buf *);
++size_t mcm_buf_remain(const struct memcache_ctxt *, const struct memcache_buf *);
++size_t mcm_buf_remain_off(const struct memcache_ctxt *, const struct memcache_buf *);
+ int mcm_buf_replace(struct memcache_ctxt *, struct memcache_buf *, const char *, const u_int32_t);
+ int mcm_buf_replace2(struct memcache_ctxt *, struct memcache_buf *, const char *);
+ int mcm_buf_replace_buf(struct memcache_ctxt *, struct memcache_buf *, struct memcache_buf *);
diff --git a/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-ppc_ftbfs.patch b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-ppc_ftbfs.patch
new file mode 100644
index 000000000000..dbeee57b1c6b
--- /dev/null
+++ b/dev-libs/libmemcache/files/libmemcache-1.4.0_rc2-ppc_ftbfs.patch
@@ -0,0 +1,40 @@
+Debian patch: 10_ftbfs_fix_powerpc.patch
+Fixing build on PowerPC
+https://bugs.gentoo.org/show_bug.cgi?id=365303
+
+--- a/include/memcache.h.in
++++ b/include/memcache.h.in
+@@ -61,6 +61,11 @@
+ #ifndef MEMCACHE_H
+ #define MEMCACHE_H
+
++/* fix FTBFS on powerpc for Debian libmemcache */
++#ifndef __USE_POSIX
++#define __USE_POSIX
++#endif
++
+ #include <netdb.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+--- a/src/memcache.c
++++ b/src/memcache.c
+@@ -39,12 +39,17 @@
+ #include <sysexits.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#ifdef __linux
++
++/* fix FTBFS on powerpc for Debian libmemcache. I personally think this
++ * shouldnt be the case, as Debian Bug#345587 seems to show. */
++
++/* #ifdef __linux */
+ # ifndef __USE_POSIX
+ # define __USE_POSIX
+ #warning "Working around busted-ass Linux header include problems: use FreeBSD instead"
+ #warning "http://www.FreeBSD.org/ - you won't regret it"
+-# endif
++/* #endif */
++
+ #endif
+ #include <sys/time.h>
+ #include <sys/socket.h>
diff --git a/dev-libs/libmemcache/libmemcache-1.4.0_rc2-r1.ebuild b/dev-libs/libmemcache/libmemcache-1.4.0_rc2-r1.ebuild
new file mode 100644
index 000000000000..b76057467e2a
--- /dev/null
+++ b/dev-libs/libmemcache/libmemcache-1.4.0_rc2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit autotools eutils toolchain-funcs
+
+MY_P=${PN}-${PV/_/.}
+
+DESCRIPTION="C API for memcached"
+HOMEPAGE="http://people.freebsd.org/~seanc/libmemcache/"
+SRC_URI="http://people.freebsd.org/~seanc/libmemcache/${MY_P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-inline.patch
+ epatch "${FILESDIR}"/${P}-implicit_pointer.patch
+ [[ $(tc-arch) == ppc* ]] && epatch "${FILESDIR}"/${P}-ppc_ftbfs.patch
+
+ rm -rf test/unit || die
+ sed -i -e '/DIR/s,unit,,g' test/Makefile.am || die
+ sed -i \
+ -e 's,test/unit/Makefile,,g' \
+ -e '/^CFLAGS=.*Wall.*pipe/s,-Wall,${CFLAGS} -Wall,g' \
+ -e '/^OPTIMIZE=/d' \
+ -e '/^PROFILE=/d' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ChangeLog
+}
diff --git a/dev-libs/libmemcache/metadata.xml b/dev-libs/libmemcache/metadata.xml
new file mode 100644
index 000000000000..dbee0aa46b5f
--- /dev/null
+++ b/dev-libs/libmemcache/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libmemcached/Manifest b/dev-libs/libmemcached/Manifest
new file mode 100644
index 000000000000..40b12673467a
--- /dev/null
+++ b/dev-libs/libmemcached/Manifest
@@ -0,0 +1,4 @@
+DIST libmemcached-0.50.tar.gz 884272 SHA256 d3ed82f9c5cdfa816047ed6b7475b5708f9040b5cf3d9e2aed55de235e8b2f9a SHA512 f06a17b365779eb8fb0c94982e5141643ed17f91e5137565ff756912cf96b3f68b11a643f84d0cba1b474411f16a64086cc311ac5cea4bc3792da81b40d423b7 WHIRLPOOL fc1d3107772a45e844764c570261ccd2556ff11b770377c84788cc3d8a8ee946a8e5b3527c21e70c1c5aa1d9493270d9079f8a75cd5387835ccd7def1cab0f9e
+DIST libmemcached-1.0.14.tar.gz 1000929 SHA256 32eaea2c4b8965a12bd33fe1af043d7e20b7ec64977937973a3d97514f1e946b SHA512 4c0371cc4752eeee94baad6063b2413f096b5050166ce761ac26080559537dab32b69131a97703fdebf8f4886520d4bc29c7d4d8d1df6d0d681c81b88354c15b WHIRLPOOL be3760f75a6de33687272b5bf7be950edb0a3f96184c7f8f7e1cb47ff85479ea76c277f298d36f21a5f15c1ce8e04a0714f1bf73700711842bb4c0841959674a
+DIST libmemcached-1.0.17.tar.gz 1023177 SHA256 7bb27b2589400f918df1cf5002cb01ef7ccac6e23f818604e2386de62c80bba5 SHA512 7cc2a836524a628f4617bad12e8ea3b0192a3f8530a3588a076daac56b3e773d7d36823091a81d6447da9fe9d017849c59dbbcc65190ff9817bb985dc6c11a3b WHIRLPOOL 34b57811750667bca59efa5a4356a15dd2bd0135534c1d157df4b3d9ff3575db1848f363914ee1b6b606a45dae3145985c791f11ae5890a7493207cb2e9eb3b4
+DIST libmemcached-1.0.18.tar.gz 1039649 SHA256 e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82 SHA512 2d95fea63b8b6dc7ded42c3a88a54aad74d5a1d417af1247144dae4a88c3b639a3aabc0c2b66661ff69a7609a314efaaae236e10971af9c428a4bca0a0101585 WHIRLPOOL f7d8f405306fd7cbfee6ba8b340305bc79b1dbcd6a2a2dcb0ee74a24d8928e5a5a7f0d20afebf58cecf44e7ca3fd66abd2d30041848b89ddbb10eb1da9179b94
diff --git a/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
new file mode 100644
index 000000000000..ed87cbd7a1c1
--- /dev/null
+++ b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
@@ -0,0 +1,29 @@
+Fixed a bug that caused configure to disobey the enable/disable debug flag. The debug flag will default to disabled if not specified.
+diff -ru libmemcached-1.0.18-orig/m4/ax_debug.m4 libmemcached-1.0.18/m4/ax_debug.m4
+--- libmemcached-1.0.18-orig/m4/ax_debug.m4 2014-11-05 14:43:53.720284916 -0600
++++ libmemcached-1.0.18/m4/ax_debug.m4 2014-11-19 14:23:19.512482198 -0600
+@@ -49,16 +49,18 @@
+ [AC_PREREQ([2.63])dnl
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+- [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
+- [ax_enable_debug=yes
++ [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])])
++ AS_IF([test "x$enable_debug" = "xyes"], [
++ ax_enable_debug=yes
+ AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])
+ AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck])])
+ AX_ADD_AM_MACRO([--debug],[AM_YFLAGS])
+- AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])],
+- [ax_enable_debug=no
++ AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])
++ ], [
++ ax_enable_debug=no
+ AC_SUBST([MCHECK])
+- AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])])
+-
++ AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])
++ ])
+ AC_MSG_CHECKING([for debug])
+ AC_MSG_RESULT([$ax_enable_debug])
+ AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = "xyes"])])
diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.17-gcc4_8.patch b/dev-libs/libmemcached/files/libmemcached-1.0.17-gcc4_8.patch
new file mode 100644
index 000000000000..5f42d3f3cabd
--- /dev/null
+++ b/dev-libs/libmemcached/files/libmemcached-1.0.17-gcc4_8.patch
@@ -0,0 +1,183 @@
+Description: Fix compilation with gcc-4.8
+ This patch fixes the error flags made incompatible with gcc-4.8:
+ g++: error: -fsanitize=address is incompatible with -fsanitize=thread
+Author: Brian Aker
+Last-Update: 2013-06-14
+Bug: https://bugs.launchpad.net/libmemcached/+bug/1164442
+
+--- a/libtest/run.gdb 2012-03-26 01:08:09 +0000
++++ b/libtest/run.gdb 2013-04-10 05:25:24 +0000
+@@ -1,5 +1,6 @@
+ set logging on
+ set logging overwrite on
+ set environment LIBTEST_IN_GDB=1
++set ASAN_OPTIONS=abort_on_error=1
+ run
+ thread apply all bt
+
+--- a/m4/ax_harden_compiler_flags.m4 2013-02-12 05:44:21 +0000
++++ b/m4/ax_harden_compiler_flags.m4 2013-04-10 05:25:24 +0000
+@@ -53,7 +53,7 @@
+ # ? _APPEND_COMPILE_FLAGS_ERROR([-Wlong-long]) -- Don't turn on for
+ # compatibility issues memcached_stat_st
+
+-#serial 8
++#serial 9
+
+ AC_DEFUN([_WARNINGS_AS_ERRORS],
+ [AC_CACHE_CHECK([if all warnings into errors],[ac_cv_warnings_as_errors],
+@@ -92,9 +92,12 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-ggdb])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O0])],
+- [_APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O2])])
++ _APPEND_COMPILE_FLAGS_ERROR([-O0]),
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ ],[
++ _APPEND_COMPILE_FLAGS_ERROR([-g])
++ _APPEND_COMPILE_FLAGS_ERROR([-O2])
++ ])
+
+ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+ [_APPEND_COMPILE_FLAGS_ERROR([-fstack-check])
+@@ -155,26 +158,31 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-Wundef])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunsafe-loop-optimizations])
+ _APPEND_COMPILE_FLAGS_ERROR([-funsafe-loop-optimizations])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
++ AS_IF([test "x$enable_shared" = "xyes"],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
++ ])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ ])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wclobbered])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused-result])
+@@ -186,6 +194,7 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+ _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
++ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
+
+ AS_IF([test "x$ax_enable_debug" = xno],
+ [AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+@@ -213,9 +222,12 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-ggdb])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O0])],
+- [_APPEND_COMPILE_FLAGS_ERROR([-g])
+- _APPEND_COMPILE_FLAGS_ERROR([-O2])])
++ _APPEND_COMPILE_FLAGS_ERROR([-O0]),
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ ],[
++ _APPEND_COMPILE_FLAGS_ERROR([-g])
++ _APPEND_COMPILE_FLAGS_ERROR([-O2])
++ ])
+
+ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+ [_APPEND_COMPILE_FLAGS_ERROR([-fstack-check])
+@@ -268,27 +280,32 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-funsafe-loop-optimizations])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wc++11-compat])
+ # _APPEND_COMPILE_FLAGS_ERROR([-Weffc++])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
+- _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
+-# _APPEND_COMPILE_FLAGS_ERROR([-Wold-style-cast])
++ AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
++ AS_IF([test "x$enable_shared" = "xyes"],[
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=thread])
++ ])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=memory])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=alignment])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bool])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=bounds])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=enum])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-cast-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=float-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer-divide-by-zero])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=null])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=object-size])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=return])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=shift])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=signed-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unreachable])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=unsigned-integer-overflow])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vla-bound])
++ _APPEND_COMPILE_FLAGS_ERROR([-fsanitize=vptr])
++ ])
++# _APPEND_COMPILE_FLAGS_ERROR([-Wold-style-cast])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wclobbered])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused-result])
+@@ -301,6 +318,7 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+ _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
++ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
+
+ AS_IF([test "x$ax_enable_debug" = xno],
+ [AS_IF([test "x$ac_cv_vcs_checkout" = xyes],
+
diff --git a/dev-libs/libmemcached/libmemcached-0.50.ebuild b/dev-libs/libmemcached/libmemcached-0.50.ebuild
new file mode 100644
index 000000000000..b8d0de92d608
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-0.50.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils multilib
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://tangent.org/552/libmemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug doc hsieh +libevent sasl static-libs tcmalloc"
+
+DEPEND="net-misc/memcached
+ virtual/perl-Pod-Parser
+ doc? ( dev-python/sphinx )
+ libevent? ( dev-libs/libevent )
+ tcmalloc? ( dev-util/google-perftools )
+ sasl? ( virtual/gsasl )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # These tests freezes for me
+ sed -i -e "/connectionpool/d" \
+ -e "/lp:583031/d" tests/mem_functions.cc || die
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ --disable-libinnodb \
+ $(use_enable debug assert) \
+ $(use_with debug debug) \
+ $(use_enable hsieh hsieh_hash) \
+ $(use_enable libevent libevent) \
+ $(use_enable tcmalloc tcmalloc) \
+ $(use_with sasl libsasl-prefix) \
+ $(use_with sasl libsasl2-prefix) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake || die
+
+ if use doc; then
+ emake html-local || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Install failed"
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.* || die "Install failed"
+ newman docs/man/memdump.1 memcached_memdump.1
+ if use doc; then
+ dohtml -r docs/html/* || die
+ fi
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.14.ebuild b/dev-libs/libmemcached/libmemcached-1.0.14.ebuild
new file mode 100644
index 000000000000..6ca367483600
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.14.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh ~sparc x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent static-libs"
+
+DEPEND="net-misc/memcached
+ dev-libs/cyrus-sasl
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myconf
+ if use debug; then
+ myconf="--enable-debug --enable-assert"
+ fi
+ if use hsieh; then
+ myconf+=" --enable-hsieh_hash"
+ fi
+
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.17-r3.ebuild b/dev-libs/libmemcached/libmemcached-1.0.17-r3.ebuild
new file mode 100644
index 000000000000..3e55b6dee5d6
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.17-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib
+RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent sasl static-libs"
+
+DEPEND="net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.0.17-gcc4_8.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash) \
+ --libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.17-r4.ebuild b/dev-libs/libmemcached/libmemcached-1.0.17-r4.ebuild
new file mode 100644
index 000000000000..06e44c1fe6cd
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.17-r4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib
+RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent sasl static-libs"
+
+DEPEND="net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i '6i CFLAGS = @CFLAGS@' Makefile.am
+ epatch "${FILESDIR}/${PN}-1.0.17-gcc4_8.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash) \
+ --libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r1.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r1.ebuild
new file mode 100644
index 000000000000..85d0a6a3b90f
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.18-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib
+RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent sasl static-libs"
+
+DEPEND="net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/debug-disable-enable-1.0.18.patch"
+ sed -i '6i CFLAGS = @CFLAGS@' Makefile.am
+ sed -e "/_APPEND_COMPILE_FLAGS_ERROR(\[-fmudflapth\?\])/d" -i m4/ax_harden_compiler_flags.m4
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash) \
+ --libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r2.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r2.ebuild
new file mode 100644
index 000000000000..4faff5fc4600
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.18-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WANT_AUTOMAKE=1.13
+
+inherit autotools eutils multilib
+RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent sasl static-libs"
+
+DEPEND="net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/debug-disable-enable-1.0.18.patch"
+ sed -i '6i CFLAGS = @CFLAGS@' Makefile.am
+ sed -e "/_APPEND_COMPILE_FLAGS_ERROR(\[-fmudflapth\?\])/d" -i m4/ax_harden_compiler_flags.m4
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash) \
+ --libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18.ebuild
new file mode 100644
index 000000000000..cbcf50e18256
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.18.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib
+RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="http://libmemcached.org/libMemcached.html"
+SRC_URI="http://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh ~sparc x86 ~sparc-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug hsieh +libevent sasl static-libs"
+
+DEPEND="net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i '6i CFLAGS = @CFLAGS@' Makefile.am
+ sed -e "/_APPEND_COMPILE_FLAGS_ERROR(\[-fmudflapth\?\])/d" -i m4/ax_harden_compiler_flags.m4
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable static-libs static) \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash) \
+ --libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
+
+ dodoc AUTHORS ChangeLog README THANKS TODO
+ # remove manpage to avoid collision, see bug #299330
+ rm -f "${D}"/usr/share/man/man1/memdump.*
+ newman man/memdump.1 memcached_memdump.1
+}
diff --git a/dev-libs/libmemcached/metadata.xml b/dev-libs/libmemcached/metadata.xml
new file mode 100644
index 000000000000..3b3006f876c5
--- /dev/null
+++ b/dev-libs/libmemcached/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ libmemcached is a C client library to the memcached server
+ (http://danga.com/memcached). It has been designed to be light on memory
+ usage, thread safe, and provide full access to server side methods.
+ </longdescription>
+ <use>
+ <flag name="hsieh">Use Hsieh hash algorithm.</flag>
+ <flag name="libevent">Use the libevent event loop interface.</flag>
+ <flag name="sasl">Use sasl auth for communications.</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">libmemcached</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmimedir/Manifest b/dev-libs/libmimedir/Manifest
new file mode 100644
index 000000000000..9fd6c1a5ff26
--- /dev/null
+++ b/dev-libs/libmimedir/Manifest
@@ -0,0 +1 @@
+DIST libmimedir-0.5.1.tar.gz 284854 SHA256 5e809c704b56e7769fa97da2035dae3948a810d6cb925cf86cdf2fc5193052a8 SHA512 156be7b56260cb1d83ea6f9378ef2d79147c7d92bf83370edb8ef69aac7a7fff68ed262d79c4c397029297241c18b091d286e014cbdfb68962afa8222b649568 WHIRLPOOL 63b3586a71c6e959af1648474c5be57895524cd1d849d118f761d932e4eddaff3ad5b9cb9854a7e18b415ebae8d47f85175676a0e396388f319800e344aed429
diff --git a/dev-libs/libmimedir/files/libmimedir-0.5.1-destdir.patch b/dev-libs/libmimedir/files/libmimedir-0.5.1-destdir.patch
new file mode 100644
index 000000000000..19b5c66e9253
--- /dev/null
+++ b/dev-libs/libmimedir/files/libmimedir-0.5.1-destdir.patch
@@ -0,0 +1,20 @@
+Add DESDIR support to Makefile.in
+Index: libmimedir-0.5.1/Makefile.in
+===================================================================
+--- libmimedir-0.5.1.orig/Makefile.in 2009-02-03 21:29:05.000000000 -0500
++++ libmimedir-0.5.1/Makefile.in 2009-02-03 21:31:01.000000000 -0500
+@@ -55,9 +55,11 @@
+ ./test
+
+ install: all
+- ${INSTALL} -m 444 libmimedir.h ${includedir}
+- ${INSTALL} -m 444 libmimedir.a ${libdir}
+- $(LIBTOOL) --mode=install ${INSTALL} -c -m 444 libmimedir.la ${libdir}/libmimedir.la
++ mkdir -p ${DESTDIR}${includedir}
++ mkdir -p ${DESTDIR}${libdir}
++ ${INSTALL} -m 444 libmimedir.h ${DESTDIR}${includedir}
++ ${INSTALL} -m 444 libmimedir.a ${DESTDIR}${libdir}
++ $(LIBTOOL) --mode=install ${INSTALL} -c -m 444 libmimedir.la ${DESTDIR}${libdir}
+
+ clean:
+ rm -f $(OBJS) $(LOBJS) test.o *.a *.la *.core
diff --git a/dev-libs/libmimedir/libmimedir-0.5.1.ebuild b/dev-libs/libmimedir/libmimedir-0.5.1.ebuild
new file mode 100644
index 000000000000..ab20dc6b8807
--- /dev/null
+++ b/dev-libs/libmimedir/libmimedir-0.5.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+DESCRIPTION="Library for manipulating MIME directory profiles (RFC2425)"
+HOMEPAGE="http://sourceforge.net/projects/libmimedir/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-2" # COPYING -> BSD-2, dirsynt.* -> GPL-2
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="sys-devel/bison
+ sys-devel/flex"
+
+MAKEOPTS="${MAKEOPTS} -j1"
+
+DOCS="ChangeLog README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-destdir.patch
+
+ if ! use static-libs; then
+ sed -i \
+ -e '/^all/s:libmimedir.a::' \
+ -e '/INSTALL.*libmimedir.a/d' \
+ Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ rm -f "${ED}"/usr/lib*/*.la
+}
diff --git a/dev-libs/libmimedir/metadata.xml b/dev-libs/libmimedir/metadata.xml
new file mode 100644
index 000000000000..762857812a3c
--- /dev/null
+++ b/dev-libs/libmimedir/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>pda</herd>
+ <upstream>
+ <remote-id type="sourceforge">libmimedir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest
new file mode 100644
index 000000000000..c2736233b7fe
--- /dev/null
+++ b/dev-libs/libmirage/Manifest
@@ -0,0 +1,2 @@
+DIST libmirage-2.1.1.tar.bz2 190118 SHA256 f606391095200df510b923201881bfbadb6ab032035ce9a67aa24fcae3145108 SHA512 19e34e4f4546426dfe12f1dca65a8a8221d32be7c1b60313b8a4ed2ab0729508638a8b3acc74e44a29de7080b4cbc9d1590965b3a0e5a796756ff3a7f41ea652 WHIRLPOOL c09bcf628722a0a711c0e5280a6aed931e5b860e598354a48757bd941cb264cfc6d6f9a62d2cebc7c9e3a989276634a02ad3474ad499f2c0f86e1f6153856ef8
+DIST libmirage-3.0.3.tar.bz2 210568 SHA256 d65b70fe7045a4575d3bc71678d515db93e0b047bca58798b515e202497a2d0e SHA512 f2f74cef07be964516ea5a502d0b16a9631ae8973fea3d2196b5e5da7545958c6c06dcd639f8b6d10570f125fab3c2f4b4e53cedaa30528f1c8c34f33dd88a82 WHIRLPOOL 51280bd4470cd78c95b9ed9b6d1533ff36bce1ddf7d7305934c7aba0b5a379c208418db330500fb177602566a9b17677dbe72ac3d6f1606013880ec1a567a9b5
diff --git a/dev-libs/libmirage/libmirage-2.1.1.ebuild b/dev-libs/libmirage/libmirage-2.1.1.ebuild
new file mode 100644
index 000000000000..ed40e8510262
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-2.1.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+CMAKE_MIN_VERSION="2.8.5"
+
+inherit cmake-utils eutils fdo-mime toolchain-funcs versionator
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="http://cdemu.org"
+SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0/9" # subslot = libmirage soname version
+KEYWORDS="amd64 ~hppa x86"
+IUSE="doc +introspection"
+
+RDEPEND=">=app-arch/bzip2-1:=
+ >=app-arch/xz-utils-5:=
+ >=dev-libs/glib-2.24:2
+ >=media-libs/libsamplerate-0.1:=
+ >=media-libs/libsndfile-1.0:=
+ sys-libs/zlib:=
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+DEPEND="${RDEPEND}
+ dev-util/desktop-file-utils
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )"
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use doc GTKDOC_ENABLED)
+ $(cmake-utils_use introspection INTROSPECTION_ENABLED)
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ DOCS="AUTHORS README"
+ cmake-utils_src_install
+ prune_libtool_files --modules
+}
+
+pkg_postinst() {
+ fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_mime_database_update
+}
diff --git a/dev-libs/libmirage/libmirage-3.0.3.ebuild b/dev-libs/libmirage/libmirage-3.0.3.ebuild
new file mode 100644
index 000000000000..95851f4f0c10
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-3.0.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+CMAKE_MIN_VERSION="2.8.5"
+
+inherit cmake-utils eutils fdo-mime toolchain-funcs versionator
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="http://cdemu.org"
+SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0/10" # subslot = libmirage soname version
+KEYWORDS="amd64 ~hppa x86"
+IUSE="doc +introspection"
+
+RDEPEND=">=app-arch/bzip2-1:=
+ >=app-arch/xz-utils-5:=
+ >=dev-libs/glib-2.28:2
+ >=media-libs/libsamplerate-0.1:=
+ >=media-libs/libsndfile-1.0:=
+ sys-libs/zlib:=
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+DEPEND="${RDEPEND}
+ dev-util/desktop-file-utils
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )"
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use doc GTKDOC_ENABLED)
+ $(cmake-utils_use introspection INTROSPECTION_ENABLED)
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ DOCS="AUTHORS README"
+ cmake-utils_src_install
+ prune_libtool_files --modules
+}
+
+pkg_postinst() {
+ fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_mime_database_update
+}
diff --git a/dev-libs/libmirage/metadata.xml b/dev-libs/libmirage/metadata.xml
new file mode 100644
index 000000000000..e56b6a0cf661
--- /dev/null
+++ b/dev-libs/libmirage/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">cdemu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmix/Manifest b/dev-libs/libmix/Manifest
new file mode 100644
index 000000000000..72ddafa40e1b
--- /dev/null
+++ b/dev-libs/libmix/Manifest
@@ -0,0 +1 @@
+DIST libmix-205.tgz 79860 SHA256 7d2ca949652137c20fdf1cb87482f92bdbeef403cd832a8597e747d8651137c6 SHA512 412a1506d15b5ff3fff7f32caf50dca9283c9d667e4bce40a20be45465fcfe72e177159f546d4b8059de94c107faf641d116621ea395bc0ddb91c2a1d77257ec WHIRLPOOL b0f6ff2ebd604abde8ef7a0108903816181b768cccc6a1b8a30b8061d40c01f41f66f30301af49981429b2e8172f65316482c54db02b9d82f2a8a2198525e513
diff --git a/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch b/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch
new file mode 100644
index 000000000000..58d978e96df6
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch
@@ -0,0 +1,12 @@
+diff -durp libmix-v2.05/misc/misc.c libmix-v2.05-fix-pattern/misc/misc.c
+--- libmix-v2.05/misc/misc.c 2002-05-19 09:51:23.000000000 +0100
++++ libmix-v2.05-fix-pattern/misc/misc.c 2007-08-25 22:48:14.000000000 +0100
+@@ -209,7 +209,7 @@ pattern(char *data, char **list)
+ {
+ int i = 0;
+
+- while (strcmp(list[i++], NULL) != 0)
++ while (list[i++] != NULL)
+ if (strstr(data, list[i]) != NULL)
+ return 1;
+
diff --git a/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch b/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch
new file mode 100644
index 000000000000..b7405cead6ba
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch
@@ -0,0 +1,287 @@
+Fix install paths, respect user flags, build shared libs with -fPIC,
+make static libs optional, convert use "--with/without-net2" instead
+"--without-no-net2"
+
+http://bugs.gentoo.org/268444
+
+Thanks to Doktor Notor <notordoktor@gmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,16 +1,18 @@
+-INSTALL_INCLUDES_IN = /usr/include
+-INSTALL_LIBRARY_IN = /usr/lib
+-INSTALL_MANPAGE_IN = /usr/local/man
+-
+-# Compiler to produce C/C++ libraries with (autodetected)
+-GCC = @CCAUTO@
+-GPP = @CXAUTO@
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++libdir = @libdir@
++includedir = @includedir@
++mandir = @mandir@
++BUILD_STATIC = @BUILD_STATIC@
+
+ RANLIB = @RANLIB@
+ AR = @AR@
+ INSTALL = @INSTALL@
+
+ CFLAGS = @CFLAGS@
++CXXFLAGS = @CXXFLAGS@
++LDFLAGS = @LDFLAGS@
++CCOPTS = @CCOPTS@
+ CLIB = @CLIB@
+
+ AESOBJ = aes/aes.o aes/cast-256.o aes/mars.o aes/saferp.o aes/twofish.o aes/rijndael.o aes/md5.o
+@@ -21,120 +19,80 @@
+ NETOBJPP = net/net++.o net/net2++.o
+ MISCOBJPP = misc/misc++.o misc/exclude++.o
+
+-all: libmix.a libmix.so libmix++.a libmix++.so
++OBJS_C = $(AESOBJ) $(NETOBJ) $(MISCOBJ)
++OBJS_PP = $(AESOBJPP) $(NETOBJPP) $(MISCOBJPP)
++
++OBJS_C_A = $(OBJS_C:%.o=%.lo)
++OBJS_PP_A = $(OBJS_PP:%.o=%.lo)
++
++TARGETS = libmix.so libmix++.so
++ifdef BUILD_STATIC
++TARGETS += libmix.a libmix++.a
++endif
++
++all: $(TARGETS)
+ @echo ""
+ @echo Check the install location in the Makefile, and type 'make install'.
+ @echo You may also want to run './libtest' to see all functions work reliably.
+ @echo "Attention: libmix for C++ is now called libmix++[.so|.a]. The original libmix.[so|.a] name will be a plain C library."
+ @echo ""
+
+-libmix.so: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${GCC} ${CFLAGS} -shared ${AESOBJ} ${NETOBJ} ${MISCOBJ} -o libmix.so ${CLIB}
++libmix.so: $(OBJS_C)
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,$@ $(CLIB)
+
+-libmix.a: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${AR} -cr libmix.a ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${RANLIB} libmix.a
++libmix.a: $(OBJS_C_A)
++ $(AR) -cr $@ $^
++ $(RANLIB) $@
+
+-libmix++.so: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${GPP} ${CFLAGS} -shared ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} -o libmix++.so ${CLIB}
++libmix++.so: $(OBJS_PP)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,$@ $(CLIB)
+
+-libmix++.a: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${AR} -cr libmix++.a ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${RANLIB} libmix++.a
++libmix++.a: $(OBJS_PP_A)
++ $(AR) -cr $@ $^
++ $(RANLIB) $@
+
+ libtest: libtest.o
+- ${GPP} ${CFLAGS} -static -I. -L. libtest++.o -o libtest -lmix++ @LIBS@ ${CLIB}
++ $(CXX) $(CXXFLAGS) $(CCOPTS) -static -I. -L. $^ -o $@ -lmix++ $(CLIB)
+
+ libtest.o:
+- ${GPP} ${CFLAGS} -c libtest.c -o libtest.o
+- ${GPP} ${CFLAGS} -c libtest.c -o libtest++.o
+-
+-aes/aes++.o:
+- ${GPP} ${CFLAGS} -c aes/aes.c -o aes/aes++.o
+-
+-aes/cast-256++.o:
+- ${GPP} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256++.o
+-
+-aes/mars++.o:
+- ${GPP} ${CFLAGS} -c aes/mars.c -o aes/mars++.o
+-
+-aes/saferp++.o:
+- ${GPP} ${CFLAGS} -c aes/saferp.c -o aes/saferp++.o
+-
+-aes/twofish++.o:
+- ${GPP} ${CFLAGS} -c aes/twofish.c -o aes/twofish++.o
+-
+-aes/rijndael++.o:
+- ${GPP} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael++.o
+-
+-aes/md5++.o:
+- ${GPP} ${CFLAGS} -c aes/md5.c -o aes/md5++.o
+-
+-net/net++.o:
+- ${GPP} ${CFLAGS} -c net/net.c -o net/net++.o
+-
+-net/net2++.o:
+- ${GPP} ${CFLAGS} -c net/net2.c -o net/net2++.o
+-
+-misc/misc++.o:
+- ${GPP} ${CFLAGS} -c misc/misc.c -o misc/misc++.o
+-
+-misc/exclude++.o:
+- ${GPP} ${CFLAGS} -c misc/exclude.c -o misc/exclude++.o
+-
+-aes/aes.o:
+- ${GCC} ${CFLAGS} -c aes/aes.c -o aes/aes.o
+-
+-aes/cast-256.o:
+- ${GCC} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256.o
+-
+-aes/mars.o:
+- ${GCC} ${CFLAGS} -c aes/mars.c -o aes/mars.o
+-
+-aes/saferp.o:
+- ${GCC} ${CFLAGS} -c aes/saferp.c -o aes/saferp.o
+-
+-aes/twofish.o:
+- ${GCC} ${CFLAGS} -c aes/twofish.c -o aes/twofish.o
+-
+-aes/rijndael.o:
+- ${GCC} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael.o
+-
+-aes/md5.o:
+- ${GCC} ${CFLAGS} -c aes/md5.c -o aes/md5.o
+-
+-net/net.o:
+- ${GCC} ${CFLAGS} -c net/net.c -o net/net.o
+-
+-net/net2.o:
+- ${GCC} ${CFLAGS} -c net/net2.c -o net/net2.o
++ $(CC) $(CCOPTS) $(CFLAGS) -c libtest.c -o libtest.o
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -c libtest.c -o libtest++.o
+
+-misc/misc.o:
+- ${GCC} ${CFLAGS} -c misc/misc.c -o misc/misc.o
+
+-misc/exclude.o:
+- ${GCC} ${CFLAGS} -c misc/exclude.c -o misc/exclude.o
++%++.o: %.c
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -fPIC -c $< -o $@
+
+-install: mix/mix.h mix/net.h mix/aes.h mix/misc.h libmix.so libmix.a
+- ${INSTALL} -d ${INSTALL_INCLUDES_IN}/mix/
+- ${INSTALL} -d ${INSTALL_LIBRARY_IN}/
+- ${INSTALL} -d ${INSTALL_MANPAGE_IN}/man3/
+- ${INSTALL} -m 0644 libmix.3 ${INSTALL_MANPAGE_IN}/man3/libmix.3
+- ${INSTALL} -m 0644 mix/misc.h ${INSTALL_INCLUDES_IN}/mix/misc.h
+- ${INSTALL} -m 0644 mix/net.h ${INSTALL_INCLUDES_IN}/mix/net.h
+- ${INSTALL} -m 0644 mix/aes.h ${INSTALL_INCLUDES_IN}/mix/aes.h
+- ${INSTALL} -m 0644 mix/mix.h ${INSTALL_INCLUDES_IN}/mix/mix.h
+- ${INSTALL} -m 0644 mix/lmconfig.h ${INSTALL_INCLUDES_IN}/mix/lmconfig.h
+- ${INSTALL} -m 0755 libmix.so ${INSTALL_LIBRARY_IN}/libmix.so
+- ${INSTALL} -m 0755 libmix.a ${INSTALL_LIBRARY_IN}/libmix.a
+- ${INSTALL} -m 0755 libmix++.so ${INSTALL_LIBRARY_IN}/libmix++.so
+- ${INSTALL} -m 0755 libmix++.a ${INSTALL_LIBRARY_IN}/libmix++.a
++%++.lo: %.c
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -c $< -o $@
++
++%.o: %.c
++ $(CC) $(CCOPTS) $(CFLAGS) -fPIC -c $< -o $@
++
++%.lo: %.c
++ $(CC) $(CCOPTS) $(CFLAGS) -c $< -o $@
++
++install: mix/mix.h mix/net.h mix/aes.h mix/misc.h $(TARGETS)
++ ${INSTALL} -d $(DESTDIR)/$(includedir)/mix/
++ ${INSTALL} -d $(DESTDIR)/$(libdir)/
++ ${INSTALL} -d $(DESTDIR)/$(mandir)/man3/
++ ${INSTALL} -m 0644 libmix.3 $(DESTDIR)/$(mandir)/man3/libmix.3
++ ${INSTALL} -m 0644 mix/misc.h $(DESTDIR)/$(includedir)/mix/misc.h
++ ${INSTALL} -m 0644 mix/net.h $(DESTDIR)/$(includedir)/mix/net.h
++ ${INSTALL} -m 0644 mix/aes.h $(DESTDIR)/$(includedir)/mix/aes.h
++ ${INSTALL} -m 0644 mix/mix.h $(DESTDIR)/$(includedir)/mix/mix.h
++ ${INSTALL} -m 0644 mix/lmconfig.h $(DESTDIR)/$(includedir)/mix/lmconfig.h
++ ${INSTALL} -m 0755 libmix.so $(DESTDIR)/$(libdir)/libmix.so
++ ${INSTALL} -m 0755 libmix++.so $(DESTDIR)/$(libdir)/libmix++.so
++ifdef BUILD_STATIC
++ ${INSTALL} -m 0755 libmix.a $(DESTDIR)/$(libdir)/libmix.a
++ ${INSTALL} -m 0755 libmix++.a $(DESTDIR)/$(libdir)/libmix++.a
++endif
+ @echo ""
+ @echo "Installation complete."
+ @echo ""
+
+ uninstall:
+- rm -fr /usr/include/mix /usr/lib/libmix* /usr/local/man/man3/libmix.3
++ rm -fr $(includedir)/mix $(libdir)/libmix* $(mandir)/man3/libmix.3
+
+ cleanobj:
+ rm -f ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} ${AESOBJ} ${NETOBJ} ${MISCOBJ} */core */*~ core *~ *.o libtest
+--- a/configure.in
++++ b/configure.in
+@@ -4,7 +4,6 @@
+ AC_CONFIG_HEADER(mix/lmconfig.h)
+
+ compileas="0"
+-net2="1"
+
+ dnl AC_ARG_WITH(libraries-as-c,
+ dnl [ --with-libraries-as-c Generate LibMix binaries with GCC ],
+@@ -24,30 +23,33 @@
+ dnl ]
+ dnl )
+
+-AC_ARG_WITH(no-net2,
+- [ --with-no-net2 Don't use net2 functions, don't require libnet/libpcap.],
+- [
+- if test "x$withval" != "$xno" ; then
+- net2="0"
+- fi
+- ]
+-)
++AC_ARG_WITH([net2],
++ AS_HELP_STRING([--with-net2], [Use net2 functions from libnet/libpcap.]))
++AS_IF([test "x$with_net2" = "xyes"], [
++ AC_DEFINE(LM_USE_NET2)
++ CLIB="-lnet-1.0 -lpcap"
++], [CLIB=""])
++
++AC_ARG_ENABLE([static],
++ AS_HELP_STRING([--enable-static], [Build static libs]))
++AS_IF([test "x$enable_static" = "xyes"], [
++ BUILD_STATIC=1
++ AC_SUBST(BUILD_STATIC)
++])
+
+ AC_PROG_CC
+ AC_MSG_CHECKING(accepted compiler flags)
+ if test $ac_cv_prog_gcc = yes; then
+- CCOPTS='-I. -Wall -O3 -funroll-loops -ansi -D_LIBMIX_'
++ CCOPTS='-I. -Wall -ansi -D_LIBMIX_'
+ AC_MSG_RESULT(GNU CC/ANSI (good))
+ else
+ CCOPTS='-I. -D_LIBMIX_'
+ AC_MSG_RESULT(crappy :P)
+ fi
+- CFLAGS="$CCOPTS"
+
+ AC_PROG_CXX
+
+ CXAUTO="null"
+-CLIB=""
+
+ CCAUTO=$CC
+ CXAUTO=$CXX
+@@ -60,10 +62,6 @@
+ dnl CXAUTO=$CXX
+ dnl fi
+
+-if test $net2 = "1"; then
+- AC_DEFINE(LM_USE_NET2)
+- CLIB="-lnet -lpcap"
+-fi
+
+ if test $CXAUTO = "null"; then
+ AC_MSG_ERROR( *** Please use either ./configure --with-libraries-as-c
+@@ -74,6 +72,11 @@
+ AC_SUBST(CXAUTO)
+ AC_SUBST(AR)
+ AC_SUBST(CLIB)
++AC_SUBST(LDFLAGS)
++AC_SUBST(libdir)
++AC_SUBST(mandir)
++AC_SUBST(includedir)
++AC_SUBST(CCOPTS)
+ AC_CHECK_PROGS(AR, ar, @true)
+ AC_PROG_RANLIB
+ AC_PROG_INSTALL
diff --git a/dev-libs/libmix/files/libmix-2.05-libnet.patch b/dev-libs/libmix/files/libmix-2.05-libnet.patch
new file mode 100644
index 000000000000..a9866e221580
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-libnet.patch
@@ -0,0 +1,27 @@
+--- a/mix/net.h.in
++++ b/mix/net.h.in
+@@ -78,11 +78,11 @@
+ #endif
+ #ifdef __cplusplus
+ extern "C" {
+-#include <libnet.h>
++#include <libnet-1.0.h>
+ #include <pcap.h>
+ }
+ #else
+-#include <libnet.h>
++#include <libnet-1.0.h>
+ #include <pcap.h>
+ #endif
+
+--- a/net/net2.c
++++ b/net/net2.c
+@@ -260,7 +260,7 @@
+ lm_libpcap_init();
+
+ rawpacket = (unsigned char *)pcap_next(pcap_fd, &hdr);
+- (char *)rawpacket += pcap_l2offset;
++ *rawpacket += pcap_l2offset;
+
+ ih = (struct lmip *)rawpacket;
+ switch(ih->pro)
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
new file mode 100644
index 000000000000..251357bf52c7
--- /dev/null
+++ b/dev-libs/libmix/libmix-2.05-r7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools base multilib toolchain-funcs
+
+DESCRIPTION="Programs Crypto/Network/Multipurpose Library"
+HOMEPAGE="http://mixter.void.ru/"
+SRC_URI="http://mixter.void.ru/${P/.}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+S=${WORKDIR}/${PN}-v${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-pattern.patch
+ "${FILESDIR}"/${P}-gentoo-r1.patch
+ "${FILESDIR}"/${P}-libnet.patch
+)
+
+DOCS=( CHANGES )
+
+src_prepare() {
+ base_src_prepare
+
+ sed -i \
+ -e 's/expf/libmix_expf/g' \
+ -e 's/logf/libmix_logf/g' \
+ aes/saferp.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC CXX
+ econf \
+ $(use_enable static-libs static) \
+ --without-net2
+}
diff --git a/dev-libs/libmix/metadata.xml b/dev-libs/libmix/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/libmix/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libmodbus/Manifest b/dev-libs/libmodbus/Manifest
new file mode 100644
index 000000000000..6e61f48e60ce
--- /dev/null
+++ b/dev-libs/libmodbus/Manifest
@@ -0,0 +1,2 @@
+DIST libmodbus-3.0.6.tar.gz 504757 SHA256 046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6 SHA512 47a271b3677822701bac924f3e3245e3db72dbadfe1d860ae5d8171b32d2dbb1c761a351d055eafc661a15bc13cb60b793b2b0f9654bbafcf01b457d51991dca WHIRLPOOL f586f4e98083d9eccda7bc49dfda2ff24b167e50fb7cbf9a515066cef179b8a43190daecbf2de0871d09d443ff5d1ec871a77590b8d6f0d992354912a80d5215
+DIST libmodbus-3.1.1.tar.gz 595100 SHA256 76d93aff749d6029f81dcf1fb3fd6abe10c9b48d376f3a03a4f41c5197c95c99 SHA512 0e7b26137b9cdf13decb39a3662767e9309ca4937010a36baba05adb92b7322a85f07557367b80e7242b2cce714007d0e9e6701e127f15f866dae3861e180012 WHIRLPOOL 82ade12450aebad66b0ddd9adf73a1f9f91547e5d7bde85346867ff6a0b991ed532b8b10623e7b79d785092a07b9d34a583114ec573ef7109ec057c714dd4adb
diff --git a/dev-libs/libmodbus/libmodbus-3.0.6.ebuild b/dev-libs/libmodbus/libmodbus-3.0.6.ebuild
new file mode 100644
index 000000000000..f40acebb606c
--- /dev/null
+++ b/dev-libs/libmodbus/libmodbus-3.0.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Modbus library which supports RTU communication over a serial line or a TCP link"
+HOMEPAGE="http://libmodbus.org/"
+SRC_URI="http://libmodbus.org/releases/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc AUTHORS MIGRATION NEWS README.rst
+ use static-libs || rm "${D}"/usr/*/libmodbus.la
+}
diff --git a/dev-libs/libmodbus/libmodbus-3.1.1.ebuild b/dev-libs/libmodbus/libmodbus-3.1.1.ebuild
new file mode 100644
index 000000000000..a609319c078e
--- /dev/null
+++ b/dev-libs/libmodbus/libmodbus-3.1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Modbus library which supports RTU communication over a serial line or a TCP link"
+HOMEPAGE="http://libmodbus.org/"
+SRC_URI="http://libmodbus.org/releases/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc AUTHORS MIGRATION NEWS README.md
+ use static-libs || rm "${D}"/usr/*/libmodbus.la
+}
diff --git a/dev-libs/libmodbus/metadata.xml b/dev-libs/libmodbus/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/libmodbus/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libmoe/Manifest b/dev-libs/libmoe/Manifest
new file mode 100644
index 000000000000..0a825f171788
--- /dev/null
+++ b/dev-libs/libmoe/Manifest
@@ -0,0 +1 @@
+DIST libmoe-1.5.8.tar.gz 1559398 SHA256 6a379a7bbd234783a323b85ba8782360391942530290805e37e02e02e656eeb7 SHA512 937e7e0f1d562c5ea1f93ec755d6125f389cffaa2989b4ec4c1c1b42fab927f1884e1dab2c65e1487f4d9fdb0f9ed306a7d32e13e8b24302837a9e7b5634449b WHIRLPOOL 2e514ff03dccc0528b3dd8877dde68397143e49ca83fa3b56a80992482ee1750e044a5c6170819dc3a2547b081822f5c3c78d00ba251964434d92c17b006910f
diff --git a/dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch b/dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch
new file mode 100644
index 000000000000..cf436c11577b
--- /dev/null
+++ b/dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch
@@ -0,0 +1,9 @@
+diff -Naur libmoe-1.5.8.orig/altmalloc.c libmoe-1.5.8/altmalloc.c
+--- libmoe-1.5.8.orig/altmalloc.c 2002-02-01 22:25:10.000000000 +0900
++++ libmoe-1.5.8/altmalloc.c 2008-11-19 08:44:34.000000000 +0900
+@@ -1,3 +1,5 @@
++#include <string.h>
++
+ #include "altmalloc.h"
+
+ alt_allocater_t alt_malloc = malloc;
diff --git a/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch b/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch
new file mode 100644
index 000000000000..2cdfa1a24c22
--- /dev/null
+++ b/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch
@@ -0,0 +1,23 @@
+diff --git a/Makefile b/Makefile
+index 1bae380..605d674 100644
+--- a/Makefile
++++ b/Makefile
+@@ -72,8 +72,7 @@ AR=ar
+ all: ${INSTLIBA} mbconv mbconv.man
+
+ mbconv: mbconv.c ${ALL}
+- ${CC} ${CF} -o $@ $< -L. -lmoe
+-
++ ${CC} ${CF} ${LDFLAGS} -o $@ $< -L. -lmoe
+
+ ${DEST}.so: ${DEST}.so.${VER}.${RELEASE}
+ ln -sf $< $@
+@@ -116,7 +115,7 @@ ${BTRI_Cs}: %.c: %.mk_btri.c mk_btri
+ ./mk_btri <$< >$@-new && mv $@-new $@
+
+ mk_btri: btri.c btri.h altmalloc.o
+- ${CC} ${CF} -DMAIN -o $@ $< altmalloc.o
++ ${CC} ${CF} ${LDFLAGS} -DMAIN -o $@ $< altmalloc.o
+
+ mbconv.man: mbconv.pod
+ pod2man --section=${MANSECT} --center=' ' $< >$@
diff --git a/dev-libs/libmoe/libmoe-1.5.8-r2.ebuild b/dev-libs/libmoe/libmoe-1.5.8-r2.ebuild
new file mode 100644
index 000000000000..35ccd9f8476c
--- /dev/null
+++ b/dev-libs/libmoe/libmoe-1.5.8-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="multi octet character encoding handling library"
+HOMEPAGE="http://pub.ks-and-ks.ne.jp/prog/libmoe/"
+SRC_URI="http://pub.ks-and-ks.ne.jp/prog/pub/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+ epatch "${FILESDIR}/${P}-makefile.patch"
+
+ sed -i \
+ -e "/^PREFIX=/s:=.*:=/usr:" \
+ -e "/^LIBSODIR=/s:=.*:=/usr/$(get_libdir):" \
+ -e "/^MANDIR=/s:=.*:=/usr/share/man:" \
+ -e "/^CF=/s:=:=${CFLAGS} :" \
+ -e "/^LF=/s:=:=${LDFLAGS} :" \
+ -e "s:=gcc:=$(tc-getCC):" \
+ -e "/^AR=/s:=ar:=$(tc-getAR):" \
+ Makefile || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog
+ dohtml libmoe.shtml
+}
diff --git a/dev-libs/libmoe/metadata.xml b/dev-libs/libmoe/metadata.xml
new file mode 100644
index 000000000000..2d5852c16c60
--- /dev/null
+++ b/dev-libs/libmoe/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+</pkgmetadata>
diff --git a/dev-libs/libmongo-client/Manifest b/dev-libs/libmongo-client/Manifest
new file mode 100644
index 000000000000..9d0cf59618fb
--- /dev/null
+++ b/dev-libs/libmongo-client/Manifest
@@ -0,0 +1 @@
+DIST libmongo-client-0.1.7.tar.gz 122495 SHA256 820d98d1ee06070aa51861d1583dd5b3556b6dbca6fecdc1c91eb3c18360d2d9 SHA512 c8250ee04c01650b624641d8c3e0cb81e17bdc12d1d64ccb173c15db58d39953fec39dcf5b92ec91378b93574319ab47bb523d1c50594cbc89479c65d219b5ee WHIRLPOOL 8a7096b9ba6a43013307ea946edab483bf904794e3d61ab6dc4be4669cc284acabdc8d7bfe0bd5e6d4f3087123bbff9ddb787b90df54003febc1adf102f001bb
diff --git a/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild b/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild
new file mode 100644
index 000000000000..50f99d119835
--- /dev/null
+++ b/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="The alternative C driver for MongoDB"
+HOMEPAGE="https://github.com/algernon/libmongo-client"
+SRC_URI="https://github.com/algernon/${PN}/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa x86"
+IUSE="doc"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+RDEPEND="
+ dev-libs/glib"
+
+S=${WORKDIR}/${PN}-${P}
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ default
+ use doc && emake DESTDIR="${D}" doxygen
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete
+ use doc && dohtml -r docs/html/*
+}
diff --git a/dev-libs/libmongo-client/metadata.xml b/dev-libs/libmongo-client/metadata.xml
new file mode 100644
index 000000000000..fd87687030d7
--- /dev/null
+++ b/dev-libs/libmongo-client/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vadimk@gentoo.org</email>
+ <name>Vadim Kuznetsov</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is an alternative C driver for MongoDB, with slightly different
+ goals than the official one:
+ libmongo-client is meant to be a stable (API, ABI and quality alike),
+ clean, well documented and well tested shared library, that strives
+ to make the most common use cases as convenient as possible.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">algernon/libmongo-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmowgli-glib/Manifest b/dev-libs/libmowgli-glib/Manifest
new file mode 100644
index 000000000000..a5bc15491b83
--- /dev/null
+++ b/dev-libs/libmowgli-glib/Manifest
@@ -0,0 +1 @@
+DIST libmowgli-glib-0.1.tar.bz2 64029 SHA256 92766ebde1569ead3aa43dfe13ba354ae3480ac02137361fb7e6da11dc67522e SHA512 4ea1163f24cf70200f9f9b7616209814a8337bf3fb14342eeba1ae92855604f017ac43b66472c8673a515a57447ffe02e5952b364c33a2f1fc0494942757059d WHIRLPOOL fc31e940216c87f15d8188bd5c5bf6ff34bd9a599ce428e4e475b9e64ceeae1461732c2ae6308e4ce4055783d38854691b32fb12f0c9ece2ea07bff10e98978f
diff --git a/dev-libs/libmowgli-glib/libmowgli-glib-0.1.ebuild b/dev-libs/libmowgli-glib/libmowgli-glib-0.1.ebuild
new file mode 100644
index 000000000000..52943cf3600d
--- /dev/null
+++ b/dev-libs/libmowgli-glib/libmowgli-glib-0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="GLib bridge for libmowgli-2 eventing"
+HOMEPAGE="http://github.com/nenolod/libmowgli-glib"
+SRC_URI="http://tortois.es/~nenolod/distfiles/${P}.tar.bz2"
+IUSE=""
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RDEPEND="dev-libs/glib:2
+ dev-libs/libmowgli:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+DOCS="README.md"
diff --git a/dev-libs/libmowgli-glib/metadata.xml b/dev-libs/libmowgli-glib/metadata.xml
new file mode 100644
index 000000000000..1b815e9a2a5e
--- /dev/null
+++ b/dev-libs/libmowgli-glib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jdhore@gentoo.org</email>
+ <name>Jeff Horelick</name>
+ </maintainer>
+ <longdescription/>
+ <upstream>
+ <remote-id type="github">nenolod/libmowgli-glib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmowgli/Manifest b/dev-libs/libmowgli/Manifest
new file mode 100644
index 000000000000..e4b7a55d8a64
--- /dev/null
+++ b/dev-libs/libmowgli/Manifest
@@ -0,0 +1,2 @@
+DIST libmowgli-1.0.0.tar.bz2 105929 SHA256 8ea0dfd606b0ac280747c9a5f93ca940c23c7367dee0776715c87623ae6624fb SHA512 f3f7f9a527cb3f6f24c23d0585b55509d8721023c670df9e59a7f5667d4e12caf17ed71773cd1283a3ebfada465824653f654aa29d857c076875d36b2a824313 WHIRLPOOL 209cb5a81003eac9952a771a0afc08073f242566e28d378432a0f172b8b195ccfc03b1a8f85949f1d22063c1519afd48b6263de7e4403a14c365de94d5f8f83e
+DIST libmowgli-2.0.0.tar.gz 200771 SHA256 7c5a94082899d055fc9a02b94e2658b42616fdb98e58e9a71165c07b6f5cceba SHA512 efccd93824c116fa8440f1d327382997f7d752d007dc9fad650ef1935fe0cee1a3fa1c645442a3f3f0f6d9f2916f66882e537a1692c494303fc0bf062df51e3a WHIRLPOOL 75c5698e1ccc5e1895d8d5f35d00347ceaf5424a621ecae399ebfe6537bf591edc21d0e42f7923704e3c857cc7349447d514605bb1d3e0e78f136e530933e8ed
diff --git a/dev-libs/libmowgli/libmowgli-1.0.0.ebuild b/dev-libs/libmowgli/libmowgli-1.0.0.ebuild
new file mode 100644
index 000000000000..8f6bc141ab04
--- /dev/null
+++ b/dev-libs/libmowgli/libmowgli-1.0.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+DESCRIPTION="High-performance C development framework. Can be used stand-alone or as a supplement to GLib"
+HOMEPAGE="http://www.atheme.org/project/mowgli"
+SRC_URI="http://distfiles.atheme.org/${P}.tar.bz2"
+IUSE=""
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS README doc/BOOST
+}
diff --git a/dev-libs/libmowgli/libmowgli-2.0.0.ebuild b/dev-libs/libmowgli/libmowgli-2.0.0.ebuild
new file mode 100644
index 000000000000..ca061b82adc6
--- /dev/null
+++ b/dev-libs/libmowgli/libmowgli-2.0.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
+HOMEPAGE="http://www.atheme.org/project/mowgli"
+SRC_URI="http://atheme.org/downloads/${P}.tar.gz"
+IUSE="ssl"
+
+LICENSE="BSD-2"
+SLOT="2"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+RDEPEND="ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}"
+DOCS="AUTHORS README doc/BOOST doc/design-concepts.txt"
+
+src_configure() {
+ # disabling SSL is "broken" in 2.0.0 so we have to use this hack till 2.0.1
+ use !ssl && myconf="--with-openssl=/dev/null"
+ econf ${myconf}
+}
diff --git a/dev-libs/libmowgli/libmowgli-9999.ebuild b/dev-libs/libmowgli/libmowgli-9999.ebuild
new file mode 100644
index 000000000000..f2e1e27c88af
--- /dev/null
+++ b/dev-libs/libmowgli/libmowgli-9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit git-2
+
+DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
+HOMEPAGE="http://www.atheme.org/project/mowgli"
+EGIT_REPO_URI="git://github.com/atheme/libmowgli-2.git"
+IUSE="ssl"
+
+LICENSE="BSD-2"
+SLOT="2"
+KEYWORDS=""
+RDEPEND="ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}"
+DOCS="AUTHORS README doc/BOOST doc/design-concepts.txt"
+
+src_configure() {
+ # disabling SSL is "broken" in 2.0.0 so we have to use this hack till 2.0.1
+ use !ssl && myconf="--with-openssl=/dev/null"
+ econf ${myconf}
+}
diff --git a/dev-libs/libmowgli/metadata.xml b/dev-libs/libmowgli/metadata.xml
new file mode 100644
index 000000000000..9ee9b551c519
--- /dev/null
+++ b/dev-libs/libmowgli/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jdhore@gentoo.org</email>
+ <name>Jeff Horelick</name>
+ </maintainer>
+ <maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+ <description>Co-maintainer</description>
+ </maintainer>
+ <longdescription></longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libnatspec/Manifest b/dev-libs/libnatspec/Manifest
new file mode 100644
index 000000000000..3df091b75b3d
--- /dev/null
+++ b/dev-libs/libnatspec/Manifest
@@ -0,0 +1 @@
+DIST libnatspec-0.2.6.tar.bz2 500525 SHA256 c3831f7373501ed7b23ffb03d9a78650dee93dbf997a61767b7dea009d4a757f SHA512 6bed3c8b2937ee27666a7deedcdebd7b24a8f495be63008fd70c467de4ab532e6448e6b682ed3be04a3a60ed64acaa0074d87231a421f6c73d6a7ee1d17bc66b WHIRLPOOL 04848603498ab27ea5dc09f1352e08632b3a182e4e2f0cdc0cb0f650709533ae13e768f973e94425a1088da3c8b090ca4e9cd047b0c1394e89742ab3a5a8d542
diff --git a/dev-libs/libnatspec/files/libnatspec-0.2.6-iconv.patch b/dev-libs/libnatspec/files/libnatspec-0.2.6-iconv.patch
new file mode 100644
index 000000000000..baf024d29b1a
--- /dev/null
+++ b/dev-libs/libnatspec/files/libnatspec-0.2.6-iconv.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index ce9ce28..f1c4826 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,6 +50,7 @@ AC_CHECK_HEADERS([iconv.h],check_iconv=true)
+ if test "x$check_iconv" == x ; then
+ AC_MSG_ERROR([*** iconv.h not found.])
+ fi
++AC_CHECK_LIB([iconv], libiconv_open)
+
+ # check Doxygen
+ DOXYGEN=""
diff --git a/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild b/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild
new file mode 100644
index 000000000000..0862e60a57af
--- /dev/null
+++ b/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils python-single-r1
+
+DESCRIPTION="library to smooth charset/localization issues"
+HOMEPAGE="http://natspec.sourceforge.net/"
+SRC_URI="mirror://sourceforge/natspec/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/popt
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ python? ( dev-lang/tcl:0= )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-iconv.patch
+ # regenerate to fix imcompatible readlink usage
+ rm -f "${S}"/ltmain.sh "${S}"/libtool || die
+ eautoreconf
+}
+
+src_configure() {
+ use doc || export ac_cv_prog_DOX=no
+ # braindead configure script does not disable python on --without-python
+ econf $(use python && use_with python)
+}
diff --git a/dev-libs/libnatspec/libnatspec-0.2.6.ebuild b/dev-libs/libnatspec/libnatspec-0.2.6.ebuild
new file mode 100644
index 000000000000..ac9e7f259d27
--- /dev/null
+++ b/dev-libs/libnatspec/libnatspec-0.2.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools eutils
+
+DESCRIPTION="library to smooth charset/localization issues"
+HOMEPAGE="http://natspec.sourceforge.net/"
+SRC_URI="mirror://sourceforge/natspec/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc python"
+
+RDEPEND="python? ( >=dev-lang/python-2.3 )
+ dev-libs/popt"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ python? ( dev-lang/tcl:0 )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-iconv.patch
+ # regenerate to fix imcompatible readlink usage
+ rm -f "${S}"/ltmain.sh "${S}"/libtool || die
+ eautoreconf
+}
+
+src_configure() {
+ use doc || export ac_cv_prog_DOX=no
+ # braindead configure script does not disable python on --without-python
+ econf $(use python && use_with python)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/libnatspec/metadata.xml b/dev-libs/libnatspec/metadata.xml
new file mode 100644
index 000000000000..773243d1cf6f
--- /dev/null
+++ b/dev-libs/libnatspec/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cjk</herd>
+ <upstream>
+ <remote-id type="sourceforge">natspec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libnfc/Manifest b/dev-libs/libnfc/Manifest
new file mode 100644
index 000000000000..af5d01760a3d
--- /dev/null
+++ b/dev-libs/libnfc/Manifest
@@ -0,0 +1,4 @@
+DIST libnfc-1.4.2.tar.gz 487310 SHA256 295ad8a0dc0e4469d9f10589449a9a04eed284a2e7faf398e91d84a89ca91bfa SHA512 96710f1a808ab1cf90d86f687ec82339a3efab78253f840fba0188c01beadb326f1b521b67a8b7d47b217eae63ff6c5ec3906b4cbd743afa970aecf801b448ef WHIRLPOOL ab483d6e199f2cd0ff548c422e49836588308d8fd8e99f4484bc0efbad85e9a3201fe508e1b3c3c761f170981ef04030159ef0c27853da91fb151367a7775f96
+DIST libnfc-1.5.0.tar.gz 502506 SHA256 fae2910645ac71a0b7707d693d1521f210019fdf3437203b3d779951ddcb7e85 SHA512 d144d54b55fc67717c8b62f176e69d4e77163ecdf17fb4cffce8034ac1dc3ef26307e35e9e24f48d12d96a65619b635161f773d84a4c14d19ee4576d7b876375 WHIRLPOOL 03966d896a826099be0c780281c9a9c76b7f4fd5834b557a2f1e1caf3d9ecc50c733feff14db3fa4ef858a09cd053de93685efb2176c4523e55787fa52fffb33
+DIST libnfc-1.5.1.tar.gz 534349 SHA256 5c0f33465051704a67c63f6ca9782d69b0d7ac4962ea5f996829834d1327f4f7 SHA512 1b496b9368f0a19f5286c63c17ddf9c8afa3bae5106c8a85d89bbb8bb700948782722c30d9703d4348b45f362b47f5d63cbc0d7b4a4fe7d31dbbaedfa3354533 WHIRLPOOL 4b5ec3d59254c1e5bfbb92a64b81031eb03e6dc8c296eaf3d477e0ef985872f896b8a2a297d8f9ba6ae0561c59a91d4f05e1c54e1a613347ae5f3de7778f337b
+DIST libnfc-1.7.0.tar.bz2 472209 SHA256 f14df0727c301f9149608dc6e1fbad81ec48372dcd7a364ac1cb805a7a2b2b8b SHA512 f5a07b2f1438030f43715f402b756a6c8d07749866004fa74e473dbd302cb64d278413c18c7e93e80be093d2d1322d85b9df868aa640be27b6367245ab7365d5 WHIRLPOOL 4f56a3a71e7151710c19ba0debdd998e36c4fbae2a7451ccd92fe498bd346333fe63b68aedf427f948f70d8ed7ce706d302cb975c1ab899d911e87060d5a4243
diff --git a/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch b/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch
new file mode 100644
index 000000000000..fc3af861d21c
--- /dev/null
+++ b/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch
@@ -0,0 +1,13 @@
+diff --git a/libnfc/log.h b/libnfc/log.h
+index 90cb747..3438511 100644
+--- a/libnfc/log.h
++++ b/libnfc/log.h
+@@ -18,6 +18,8 @@
+ #ifndef __LOG_H__
+ #define __LOG_H__
+
++#include <stdint.h>
++
+ #if defined(HAS_LOG4C) && HAS_LOG4C
+
+ #define LOGGING 1
diff --git a/dev-libs/libnfc/libnfc-1.4.2.ebuild b/dev-libs/libnfc/libnfc-1.4.2.ebuild
new file mode 100644
index 000000000000..86aa4f43cd80
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.4.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc"
+
+RDEPEND="sys-apps/pcsc-lite
+ virtual/libusb:0"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_compile() {
+ emake || die "Failed to compile."
+ use doc && doxygen
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "Failed to install properly."
+ use doc && dohtml "${S}"/doc/html/*
+}
diff --git a/dev-libs/libnfc/libnfc-1.5.0.ebuild b/dev-libs/libnfc/libnfc-1.5.0.ebuild
new file mode 100644
index 000000000000..86aa4f43cd80
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc"
+
+RDEPEND="sys-apps/pcsc-lite
+ virtual/libusb:0"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_compile() {
+ emake || die "Failed to compile."
+ use doc && doxygen
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "Failed to install properly."
+ use doc && dohtml "${S}"/doc/html/*
+}
diff --git a/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild b/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild
new file mode 100644
index 000000000000..486447eebf2c
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc pcsc-lite readline static-libs usb"
+
+RDEPEND="pcsc-lite? ( sys-apps/pcsc-lite )
+ readline? ( sys-libs/readline )
+ usb? ( virtual/libusb:0 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.5.1-glibc-2.17.patch"
+}
+
+src_configure() {
+ # Upstream doesn't use the right macro, so we need to force this.
+ # https://code.google.com/p/libnfc/issues/detail?id=249
+ export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
+
+ local drivers="arygon,pn532_uart"
+ use pcsc-lite && drivers+=",acr122"
+ use usb && drivers+=",pn53x_usb"
+ econf \
+ --with-drivers="${drivers}" \
+ $(use_enable doc) \
+ $(use_with readline) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ use doc && doxygen
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name 'lib*.la' -delete
+ use doc && dohtml "${S}"/doc/html/*
+}
diff --git a/dev-libs/libnfc/libnfc-1.5.1.ebuild b/dev-libs/libnfc/libnfc-1.5.1.ebuild
new file mode 100644
index 000000000000..507871d9ad77
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.5.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc"
+
+RDEPEND="sys-apps/pcsc-lite
+ virtual/libusb:0"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.5.1-glibc-2.17.patch"
+}
+
+src_compile() {
+ emake || die "Failed to compile."
+ use doc && doxygen
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "Failed to install properly."
+ use doc && dohtml "${S}"/doc/html/*
+}
diff --git a/dev-libs/libnfc/libnfc-1.7.0-r1.ebuild b/dev-libs/libnfc/libnfc-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..38933e44c670
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.7.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc pcsc-lite readline static-libs usb"
+
+RDEPEND="pcsc-lite? ( sys-apps/pcsc-lite )
+ readline? ( sys-libs/readline )
+ usb? ( virtual/libusb:0 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_configure() {
+ local drivers="arygon,pn532_uart,pn532_spi,pn532_i2c,acr122s"
+ use pcsc-lite && drivers+=",acr122_pcsc"
+ use usb && drivers+=",pn53x_usb,acr122_usb"
+ econf \
+ --with-drivers="${drivers}" \
+ $(use_enable doc) \
+ $(use_with readline) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ use doc && doxygen
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name 'lib*.la' -delete
+ use doc && dohtml "${S}"/doc/html/*
+}
diff --git a/dev-libs/libnfc/metadata.xml b/dev-libs/libnfc/metadata.xml
new file mode 100644
index 000000000000..77f62c528f0c
--- /dev/null
+++ b/dev-libs/libnfc/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ikelos@gentoo.org</email>
+ <name>Mike Auty</name>
+ </maintainer>
+ <use>
+ <flag name='pcsc-lite'>Enable NFC drivers that require pcsc-lite</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">libnfc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libnl/Manifest b/dev-libs/libnl/Manifest
new file mode 100644
index 000000000000..fa99e158495c
--- /dev/null
+++ b/dev-libs/libnl/Manifest
@@ -0,0 +1,5 @@
+DIST libnl-1.1.4.tar.gz 1174974 SHA256 4f80c21fe5bbcdde6e72b59b4f98306063a41421f909887c34e58d93e746d063 SHA512 25e26ddcc16540346ea34815ab6ac094177e5cee2eb3d843c4f8b30cd9d83390a3e87cb46046dc3bd9ae4d21f77e57bb3827c2cfc588eb18afe049921f2030b4 WHIRLPOOL eab5547dce7b11c86123fbcc9cd8e00100c7e78f48a4a9fef40f80f89407ea705b701f8f0eb7df63997866f17b0cf0924b43c69b29fa1f1b016fe997371b950e
+DIST libnl-3.2.23.tar.gz 766271 SHA256 8cc2cda9aa8cbbad384b9bb1ba0f6777ed9bf65e1cc3170d8c2ba5b3ee12f2b3 SHA512 b56dde135bf8e2a48bb7bb885351cf557b6a88c67dbc012c3c3f4008b8c6066f18442de772e7f8a41d6da8c80d4a38664393f131732870deae9da090b53045d8 WHIRLPOOL ef3f35edc77b7de1657e5ddd0f26e2e316d31ffb46353ab6c7345df5ff9b6d757b2d62fbaa5c58f4a7f5ed13859b00759971b22a069e381af519a82ffa8eb7a4
+DIST libnl-3.2.24.tar.gz 802068 SHA256 fb8d6e5dc8af5b85bc6d00a71582a68a01e6a3f7d1664d4a646e289a99dd6816 SHA512 d42c131d0be3bddfd65b9353f7193d355a0b5a7f0c32ee3db67ceeb9da2b04030f2dbc0d51f7f7cddbcc15fcc596b380e0c846dbe1c52212e50d06b7ee12fb10 WHIRLPOOL a90e9dcd08c7a2fb2bc883dd4f8b09e21afd55b10573bada84d1fb6425f5a9adff90bfd0c7572aef437719cfaaa106e5cc4b4aeed081d62e6723ba31c15f0edf
+DIST libnl-3.2.25.tar.gz 832513 SHA256 8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5 SHA512 3f9649577e9282cf41d2d4894aaecb2d53b4a1c51f9e674a6fb73393e9482f9f45e6f0ffa5815e606f972916e369774bfd85141a96c0e3d9d4ead3adea796286 WHIRLPOOL f151776fa1d1b9d23416408a315c0aa900928fa902322a0f4df3c90631ef54f281cf0cae6f69ec878a76f03a609f5fa2eb52d4c03db502c9972a70d864cdaf97
+DIST libnl-3.2.26.tar.gz 896005 SHA256 1323ff6cea47efe9f988893b09840942a8c36131f472a9f3b96eb68d8f8d7555 SHA512 5ab4a3a40244d71e0c8c50fcef30a67f814509d508e9537c85f2d710578a8a61513e7f26b2c0c29a9817484ca6ecd005e53b4f9054cd878274ae3b439abbe516 WHIRLPOOL 84854749fc312c867d9eec1e4d91bbeb5a132f79c004c5db0504a7d60136a2f39263b4efd4b0d1cd2e07f6cd363cc5e68f93089cb9b9dd58a45f416338c41a6f
diff --git a/dev-libs/libnl/files/libnl-1.1-flags.patch b/dev-libs/libnl/files/libnl-1.1-flags.patch
new file mode 100644
index 000000000000..dc512c587b9e
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1-flags.patch
@@ -0,0 +1,11 @@
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -48,7 +48,7 @@
+
+ $(OUT_SLIB): ../Makefile.opts $(OBJ)
+ @echo " LD $(OUT_SLIB)"; \
+- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
+ @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \
+ rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
+ @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
diff --git a/dev-libs/libnl/files/libnl-1.1-vlan-header.patch b/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
new file mode 100644
index 000000000000..c4c2fc6382de
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
@@ -0,0 +1,80 @@
+From: Patrick McHardy <kaber@trash.net>
+Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100)
+Subject: [LIBNL]: Add if_vlan.h
+X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958
+
+[LIBNL]: Add if_vlan.h
+
+vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in
+older if_vlan.h versions. Add the current version from the kernel.
+
+Signed-off-by: Patrick McHardy <kaber@trash.net>
+---
+
+diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
+new file mode 100644
+index 0000000..068cd7b
+--- /dev/null
++++ include/linux/if_vlan.h
+@@ -0,0 +1,61 @@
++/*
++ * VLAN An implementation of 802.1Q VLAN tagging.
++ *
++ * Authors: Ben Greear <greearb@candelatech.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ *
++ */
++
++#ifndef _LINUX_IF_VLAN_H_
++#define _LINUX_IF_VLAN_H_
++
++
++/* VLAN IOCTLs are found in sockios.h */
++
++/* Passed in vlan_ioctl_args structure to determine behaviour. */
++enum vlan_ioctl_cmds {
++ ADD_VLAN_CMD,
++ DEL_VLAN_CMD,
++ SET_VLAN_INGRESS_PRIORITY_CMD,
++ SET_VLAN_EGRESS_PRIORITY_CMD,
++ GET_VLAN_INGRESS_PRIORITY_CMD,
++ GET_VLAN_EGRESS_PRIORITY_CMD,
++ SET_VLAN_NAME_TYPE_CMD,
++ SET_VLAN_FLAG_CMD,
++ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
++ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
++};
++
++enum vlan_flags {
++ VLAN_FLAG_REORDER_HDR = 0x1,
++};
++
++enum vlan_name_types {
++ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
++ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
++ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
++ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
++ VLAN_NAME_TYPE_HIGHEST
++};
++
++struct vlan_ioctl_args {
++ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
++ char device1[24];
++
++ union {
++ char device2[24];
++ int VID;
++ unsigned int skb_priority;
++ unsigned int name_type;
++ unsigned int bind_type;
++ unsigned int flag; /* Matches vlan_dev_info flags */
++ } u;
++
++ short vlan_qos;
++};
++
++#endif /* !(_LINUX_IF_VLAN_H_) */
diff --git a/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch b/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
new file mode 100644
index 000000000000..e370a5e62fc6
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
@@ -0,0 +1,12 @@
+--- a/include/netlink-local.h
++++ b/include/netlink-local.h
+@@ -343,7 +343,9 @@
+ }
+
+ #define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
++#ifndef offsetof
+ #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
++#endif
+
+ #define __init __attribute__ ((constructor))
+ #define __exit __attribute__ ((destructor))
diff --git a/dev-libs/libnl/files/libnl-3.2.20-cache-api.patch b/dev-libs/libnl/files/libnl-3.2.20-cache-api.patch
new file mode 100644
index 000000000000..ce6e47b7cfa7
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.2.20-cache-api.patch
@@ -0,0 +1,9 @@
+--- a/tests/test-cache-mngr.c
++++ b/tests/test-cache-mngr.c
+@@ -1,5 +1,5 @@
+ #include <netlink/netlink.h>
+-#include <netlink/cache.h>
++#include <netlink/cache-api.h>
+ #include <netlink/cli/utils.h>
+ #include <signal.h>
+
diff --git a/dev-libs/libnl/files/libnl-3.2.20-rtnl_tc_get_ops.patch b/dev-libs/libnl/files/libnl-3.2.20-rtnl_tc_get_ops.patch
new file mode 100644
index 000000000000..09b2f0bb8ebb
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.2.20-rtnl_tc_get_ops.patch
@@ -0,0 +1,30 @@
+--- a/src/nl-class-add.c
++++ b/src/nl-class-add.c
+@@ -14,6 +14,7 @@
+ #include <netlink/cli/qdisc.h>
+ #include <netlink/cli/class.h>
+ #include <netlink/cli/link.h>
++#include <netlink/route/tc-api.h> /* rtnl_tc_get_ops() */
+
+ static int quiet = 0;
+
+--- a/src/nl-cls-add.c
++++ b/src/nl-cls-add.c
+@@ -12,6 +12,7 @@
+ #include <netlink/cli/tc.h>
+ #include <netlink/cli/cls.h>
+ #include <netlink/cli/link.h>
++#include <netlink/route/tc-api.h> /* rtnl_tc_get_ops() */
+
+ static int quiet = 0;
+
+--- a/src/nl-qdisc-add.c
++++ b/src/nl-qdisc-add.c
+@@ -13,6 +13,7 @@
+ #include <netlink/cli/tc.h>
+ #include <netlink/cli/qdisc.h>
+ #include <netlink/cli/link.h>
++#include <netlink/route/tc-api.h> /* rtnl_tc_get_ops() */
+
+ static int quiet = 0;
+
diff --git a/dev-libs/libnl/files/libnl-3.2.23-python.patch b/dev-libs/libnl/files/libnl-3.2.23-python.patch
new file mode 100644
index 000000000000..559376b546c6
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.2.23-python.patch
@@ -0,0 +1,26 @@
+--- a/python/setup.py.in
++++ b/python/setup.py.in
+@@ -9,6 +9,7 @@
+ sources = ['netlink/capi.i'],
+ include_dirs = include,
+ swig_opts = opts,
++ library_dirs=['@top_builddir@/lib/.libs'],
+ libraries = ['nl-3'],
+ )
+
+@@ -16,6 +17,7 @@
+ sources = ['netlink/route/capi.i'],
+ include_dirs = include,
+ swig_opts = opts,
++ library_dirs=['@top_builddir@/lib/.libs'],
+ libraries = ['nl-3', 'nl-route-3'],
+ )
+
+@@ -23,6 +25,7 @@
+ sources = ['netlink/genl/capi.i'],
+ include_dirs = include,
+ swig_opts = opts,
++ library_dirs=['@top_builddir@/lib/.libs'],
+ libraries = ['nl-3', 'nl-genl-3'],
+ )
+
diff --git a/dev-libs/libnl/files/libnl-3.2.23-utils.h b/dev-libs/libnl/files/libnl-3.2.23-utils.h
new file mode 100644
index 000000000000..7836c3076ff4
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.2.23-utils.h
@@ -0,0 +1,41 @@
+struct list_head {
+ struct list_head *next;
+};
+
+#define LIST_HEAD(name) \
+ struct list_head name = { &(name) }
+
+static inline int list_empty(const struct list_head *head)
+{
+ return head->next == head;
+}
+
+static inline void list_add(struct list_head *new, struct list_head *head)
+{
+ new->next = head->next;
+ head->next = new;
+}
+
+static inline void list_del(struct list_head *entry, struct list_head *prev)
+{
+ prev->next = entry->next;
+ entry->next = entry;
+}
+
+#define list_for_each_safe(pos, n, head) \
+ for (n = (head), pos = (head)->next; pos != (head); \
+ n = pos, pos = n->next)
+
+#undef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+
+#define container_of(ptr, type, member) ({ \
+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
+
+#ifdef DEBUG
+#define pynl_dbg(fmt, ...) \
+ fprintf(stderr, "%s: " fmt, __func__, __VA_ARGS__)
+#else
+#define pynl_dbg(fmt, ...)
+#endif
diff --git a/dev-libs/libnl/libnl-1.1.4.ebuild b/dev-libs/libnl/libnl-1.1.4.ebuild
new file mode 100644
index 000000000000..ce1aeea9216d
--- /dev/null
+++ b/dev-libs/libnl/libnl-1.1.4.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="http://www.infradead.org/~tgr/libnl/files/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+SLOT="1.1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+DOCS=( ChangeLog )
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.1-vlan-header.patch \
+ "${FILESDIR}"/${PN}-1.1-flags.patch \
+ "${FILESDIR}"/${PN}-1.1.3-offsetof.patch
+ sed -i \
+ -e '/@echo/d' \
+ Makefile.rules {lib,src,tests}/Makefile || die
+ sed -i \
+ -e 's|-g ||g' \
+ Makefile.opts.in || die
+
+ if ! use static-libs; then
+ sed -i lib/Makefile -e '/OUT_AR/d' || die
+ fi
+
+ rm -f lib/libnl.a
+}
+
+src_compile() {
+ emake AR=$(tc-getAR)
+
+ if use doc ; then
+ cd "${S}/doc"
+ emake gendoc || die
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc ; then
+ cd "${S}/doc"
+ dohtml -r html/*
+ fi
+}
diff --git a/dev-libs/libnl/libnl-3.2.23.ebuild b/dev-libs/libnl/libnl-3.2.23.ebuild
new file mode 100644
index 000000000000..25cfb13442d0
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.23.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib
+
+NL_P=${P/_/-}
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="
+ http://www.infradead.org/~tgr/${PN}/files/${NL_P}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+S=${WORKDIR}/${NL_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+ epatch "${FILESDIR}"/${PN}-3.2.23-python.patch
+
+ elibtoolize
+
+ if use python; then
+ cp "${FILESDIR}"/${P}-utils.h python/netlink/utils.h || die
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(use_enable utils cli)
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ DOCS=''
+ cd "${S}"/python || die
+ distutils-r1_src_install
+ fi
+
+ prune_libtool_files $(usex static-libs --modules --all)
+}
diff --git a/dev-libs/libnl/libnl-3.2.24-r1.ebuild b/dev-libs/libnl/libnl-3.2.24-r1.ebuild
new file mode 100644
index 000000000000..4e37f2853087
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.24-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib multilib-minimal
+
+NL_P=${P/_/-}
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="
+ http://www.infradead.org/~tgr/${PN}/files/${NL_P}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+S=${WORKDIR}/${NL_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils cli)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/libnl-3.2.24.ebuild b/dev-libs/libnl/libnl-3.2.24.ebuild
new file mode 100644
index 000000000000..54069f04127b
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.24.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib
+
+NL_P=${P/_/-}
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="
+ http://www.infradead.org/~tgr/${PN}/files/${NL_P}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+S=${WORKDIR}/${NL_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(use_enable utils cli)
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ DOCS=''
+ cd "${S}"/python || die
+ distutils-r1_src_install
+ fi
+
+ prune_libtool_files $(usex static-libs --modules --all)
+}
diff --git a/dev-libs/libnl/libnl-3.2.25.ebuild b/dev-libs/libnl/libnl-3.2.25.ebuild
new file mode 100644
index 000000000000..d74367808bfb
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.25.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib multilib-minimal
+
+NL_P=${P/_/-}
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="
+ http://www.infradead.org/~tgr/${PN}/files/${NL_P}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+S=${WORKDIR}/${NL_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils cli)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/libnl-3.2.26.ebuild b/dev-libs/libnl/libnl-3.2.26.ebuild
new file mode 100644
index 000000000000..e70ea17bee2c
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.26.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1 eutils libtool multilib multilib-minimal
+
+NL_P=${P/_/-}
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+SRC_URI="
+ https://github.com/thom311/${PN}/releases/download/${PN}${PV//./_}/${P}.tar.gz
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+S=${WORKDIR}/${NL_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+
+ elibtoolize
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils cli)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/libnl-3.2.9999.ebuild b/dev-libs/libnl/libnl-3.2.9999.ebuild
new file mode 100644
index 000000000000..00792a0dd13d
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.2.9999.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1 eutils git-r3 libtool multilib multilib-minimal
+
+DESCRIPTION="A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
+EGIT_REPO_URI="
+ https://github.com/thom311/libnl.git
+"
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+KEYWORDS=""
+IUSE="static-libs python utils"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ sys-devel/flex
+ sys-devel/bison
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DOCS=( ChangeLog )
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1-vlan-header.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-rtnl_tc_get_ops.patch
+ epatch "${FILESDIR}"/${PN}-3.2.20-cache-api.patch
+
+ eautoreconf
+
+ if use python; then
+ cd "${S}"/python || die
+ distutils-r1_src_prepare
+ fi
+
+ # out-of-source build broken
+ # https://github.com/thom311/libnl/pull/58
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-silent-rules \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils cli)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+ cd python || die
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libnl/metadata.xml b/dev-libs/libnl/metadata.xml
new file mode 100644
index 000000000000..c18ce8fb117c
--- /dev/null
+++ b/dev-libs/libnl/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>netmon</herd>
+<use>
+<flag name="doc">Install development documentation</flag>
+<flag name="python">Install experimental <pkg>dev-lang/python</pkg> bindings</flag>
+<flag name="utils">Install command line interface utils</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libnsfb/Manifest b/dev-libs/libnsfb/Manifest
new file mode 100644
index 000000000000..03493871cfa1
--- /dev/null
+++ b/dev-libs/libnsfb/Manifest
@@ -0,0 +1,4 @@
+DIST libnsfb-0.1.2-src.tar.gz 80675 SHA256 b42596e990d94a76983ff35b645a2d0a01e44651e08eb42712f72a91fed312dd SHA512 a739fe4f0ed45c44f57e432d1d8dc4d4a4ed943ce0cae269b6f2761f3cd75cf5d2f364c923aeeaad0da8eb8e9d9e8d7b558fac55627d915c8eb6c76c69e999b5 WHIRLPOOL 94f0eac12bd944582cd6116ecba2df9196d0a9f985e03fcefa7285cacc07cf378e6465efe9799c0d631d600d8880685e303562d9d0f4b801aa9ec62c8eeb0dc3
+DIST libnsfb-0.1.3-src.tar.gz 80899 SHA256 52752d0dcc251b301b9cff2eaae75ee3ad56adaf90675857bbad39254de81e3e SHA512 02bbce8f026930418d9908775ded49dda9d7facdfaf8b633d021e4d101d96d6b5f2703242e17e96a3ffe3cf2eb8b6ce11cfc4b605ec612fb59586e0590d1441d WHIRLPOOL 3033412582f3fcee75d941461361ed8b8f17101e6fe4b8b9a11a48fa7666c0c76ced629c3ac9dff038d9e6ff8f7d99092684c66359b340a04a4c2a8d3b702d5a
+DIST netsurf-buildsystem-1.2.tar.gz 38914 SHA256 3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61 SHA512 963e8a5033e8ef70595507f24fea3d9697eefb50ad7f92a6d3c913501c7026f12ec6d48f92b75e352b32f212f6216b8d8455aff25fa8d8d0fc12a3b19a875a1c WHIRLPOOL e56a520ae284089d0f36f06a6891ebb5b208ca847c74340c18581340e457c20ae9365999dc13284f438b965dcd7e85f04b93d1c1f22cadf6f7c1e2cef81d528c
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libnsfb/files/libnsfb-0.1.0-autodetect.patch b/dev-libs/libnsfb/files/libnsfb-0.1.0-autodetect.patch
new file mode 100644
index 000000000000..88a776dd85b8
--- /dev/null
+++ b/dev-libs/libnsfb/files/libnsfb-0.1.0-autodetect.patch
@@ -0,0 +1,21 @@
+--- libnsfb-0.1.0/Makefile
++++ libnsfb-0.1.0/Makefile
+@@ -23,10 +23,18 @@
+ NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom
+
+ # determine which surface handlers can be compiled based upon avalable library
++ifeq ($(WITH_VNC),yes)
+ $(eval $(call pkg_config_package_available,NSFB_VNC_AVAILABLE,libvncserver))
++endif
++ifeq ($(WITH_SDL),yes)
+ $(eval $(call pkg_config_package_available,NSFB_SDL_AVAILABLE,sdl))
++endif
++ifeq ($(WITH_XCB),yes)
+ $(eval $(call pkg_config_package_available,NSFB_XCB_AVAILABLE,$(NSFB_XCB_PKG_NAMES)))
++endif
++ifeq ($(WITH_WLD),yes)
+ $(eval $(call pkg_config_package_available,NSFB_WLD_AVAILABLE,wayland-client))
++endif
+
+ # surfaces not detectable via pkg-config
+ NSFB_ABLE_AVAILABLE := no
diff --git a/dev-libs/libnsfb/files/libnsfb-0.1.2-glibc2.20.patch b/dev-libs/libnsfb/files/libnsfb-0.1.2-glibc2.20.patch
new file mode 100644
index 000000000000..0900166cc0ee
--- /dev/null
+++ b/dev-libs/libnsfb/files/libnsfb-0.1.2-glibc2.20.patch
@@ -0,0 +1,13 @@
+--- libnsfb-0.1.2/Makefile
++++ libnsfb-0.1.2/Makefile
+@@ -20,8 +20,8 @@
+ # would like these flags but gcc earlier than 4.4 fail
+ #-pedantic -Wno-overlength-strings # For nsglobe.c
+
+-CFLAGS := -g -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112L \
+- -I$(CURDIR)/include/ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS) -Wno-error
++CFLAGS := -g -std=c99 -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L \
++ -I$(CURDIR)/include/ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+
+ NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom
+
diff --git a/dev-libs/libnsfb/files/libnsfb-0.1.3-glibc2.20.patch b/dev-libs/libnsfb/files/libnsfb-0.1.3-glibc2.20.patch
new file mode 100644
index 000000000000..8d6ba888b0f4
--- /dev/null
+++ b/dev-libs/libnsfb/files/libnsfb-0.1.3-glibc2.20.patch
@@ -0,0 +1,19 @@
+--- libnsfb-0.1.3/Makefile
++++ libnsfb-0.1.3/Makefile
+@@ -15,13 +15,13 @@
+ # Toolchain flags
+ WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+- -Wmissing-declarations -Wnested-externs -Werror
++ -Wmissing-declarations -Wnested-externs
+
+ # would like these flags but gcc earlier than 4.4 fail
+ #-pedantic -Wno-overlength-strings # For nsglobe.c
+
+-CFLAGS := -g -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112L \
+- -I$(CURDIR)/include/ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS) -Wno-error
++CFLAGS := -std=c99 -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L \
++ -I$(CURDIR)/include/ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+
+ NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom
+
diff --git a/dev-libs/libnsfb/libnsfb-0.1.2.ebuild b/dev-libs/libnsfb/libnsfb-0.1.2.ebuild
new file mode 100644
index 000000000000..3fa701d0ba95
--- /dev/null
+++ b/dev-libs/libnsfb/libnsfb-0.1.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit netsurf
+
+DESCRIPTION="framebuffer abstraction library, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libnsfb/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="sdl test vnc wayland xcb"
+
+RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4[static-libs?,${MULTILIB_USEDEP}] )
+ vnc? ( >=net-libs/libvncserver-0.9.9-r2[static-libs?,${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.0.6[static-libs?,${MULTILIB_USEDEP}] )
+ xcb? ( >=x11-libs/libxcb-1.9.1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-image-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-keysyms-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.1.0-autodetect.patch
+ "${FILESDIR}"/${P}-glibc2.20.patch )
+
+DOCS=( usage )
+
+src_configure() {
+ netsurf_src_configure
+
+ netsurf_makeconf+=(
+ WITH_VNC=$(usex vnc)
+ WITH_SDL=$(usex sdl)
+ WITH_XCB=$(usex xcb)
+ WITH_WLD=$(usex wayland)
+ )
+}
diff --git a/dev-libs/libnsfb/libnsfb-0.1.3-r1.ebuild b/dev-libs/libnsfb/libnsfb-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..7415774f507b
--- /dev/null
+++ b/dev-libs/libnsfb/libnsfb-0.1.3-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="framebuffer abstraction library, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libnsfb/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="sdl test vnc wayland xcb"
+
+RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4[static-libs?,${MULTILIB_USEDEP}] )
+ vnc? ( >=net-libs/libvncserver-0.9.9-r2[static-libs?,${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.0.6[static-libs?,${MULTILIB_USEDEP}] )
+ xcb? ( >=x11-libs/libxcb-1.9.1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-image-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=x11-libs/xcb-util-keysyms-0.3.9-r1[static-libs?,${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.1.0-autodetect.patch
+ "${FILESDIR}"/${P}-glibc2.20.patch )
+
+DOCS=( usage )
+
+src_configure() {
+ netsurf_src_configure
+
+ netsurf_makeconf+=(
+ WITH_VNC=$(usex vnc)
+ WITH_SDL=$(usex sdl)
+ WITH_XCB=$(usex xcb)
+ WITH_WLD=$(usex wayland)
+ )
+}
diff --git a/dev-libs/libnsfb/metadata.xml b/dev-libs/libnsfb/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/libnsfb/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libnsutils/Manifest b/dev-libs/libnsutils/Manifest
new file mode 100644
index 000000000000..29e237ebe193
--- /dev/null
+++ b/dev-libs/libnsutils/Manifest
@@ -0,0 +1,2 @@
+DIST libnsutils-0.0.1-src.tar.gz 5932 SHA256 9ad6b921bceed2c0d44ca6ff36fa76841cc6533f8ed7ccb0a941fd9a78731afd SHA512 00685fe5924905c153b681900e7bf77e55c189ae0c3083baca282cb91e5b5b8fc36861bf1967b562a9a98024540fc2bc2ebbf9795d84133e2784adfdd033c497 WHIRLPOOL 7fade98e74ed70b7c5ec7b558df7372ce67e5a9a8a6eff57be3f6289877aaecb42f344b17c5dd03939568e249354b919225b0463aaed82c219f151f0f5eb5e10
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libnsutils/libnsutils-0.0.1-r1.ebuild b/dev-libs/libnsutils/libnsutils-0.0.1-r1.ebuild
new file mode 100644
index 000000000000..3c63ecf35c3a
--- /dev/null
+++ b/dev-libs/libnsutils/libnsutils-0.0.1-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="base64 and time library, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/libnsutils/metadata.xml b/dev-libs/libnsutils/metadata.xml
new file mode 100644
index 000000000000..5b80fb94c393
--- /dev/null
+++ b/dev-libs/libnsutils/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libntru/Manifest b/dev-libs/libntru/Manifest
new file mode 100644
index 000000000000..84817df976c6
--- /dev/null
+++ b/dev-libs/libntru/Manifest
@@ -0,0 +1,2 @@
+DIST libntru-0.2.tar.gz 49832 SHA256 bc1d10dcd1755f836d4696b734ecc4bc8b047b7ea40d857657c03ecb31ac141f SHA512 4de4cc550fb74d53a26f1b6f94d27d6131756ab7f1b62ce5f1845e6e626581a357004efbd92881d1e180d75f4a92ec97e3c30926dcdf6ea23d87f1da81809f3a WHIRLPOOL 5e96d55f56f608e5ca24506bc8a122d2dff62c61fc0dab847913456d84d36fe13d615c8910b3915c0aa3881a236aaae45725842f9d062183906162df352fd396
+DIST libntru-0.3.tar.gz 53364 SHA256 9ce6b6a20ca304c09d2ff853e3b5762880a8cb85728113b26eb8ca2e915e2a0a SHA512 b99fecf21104f73246a9494dce6caa6742b7a2e5219e9b2a46d639d3181588bb1580c0b03209f150e9294f721d2e1179157be0eab52f25b2664c1451aaae8712 WHIRLPOOL 1545da85003e0466354767388252a67d5ac9cb457e94baf9ed1862b2b2b28bfa6057202509a017765442ca502c888ca50c6724b8c67569b6e6f4fcb8d5b2fd8a
diff --git a/dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch b/dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch
new file mode 100644
index 000000000000..d7f834da315a
--- /dev/null
+++ b/dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch
@@ -0,0 +1,109 @@
+From 286bbe95e479202d8c8c3cc7bf37eaf206e5f88c Mon Sep 17 00:00:00 2001
+From: Tim Buktu <tbuktu@hotmail.com>
+Date: Tue, 15 Apr 2014 00:39:12 +0200
+Subject: [PATCH] Fix build on Mac OS X (see
+ http://sourceforge.net/p/ntru/feature-requests/2/)
+
+---
+ Makefile | 14 ++++----------
+ Makefile.osx | 31 +++++++++++++++++++++++++++++++
+ Makefile.win | 7 +++++--
+ 3 files changed, 40 insertions(+), 12 deletions(-)
+ create mode 100644 Makefile.osx
+
+diff --git a/Makefile b/Makefile
+index a349627..eb22b7a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,4 @@
++CC?=gcc
+ CFLAGS=-g -Wall -O2
+ LDFLAGS=-lrt
+ SRCDIR=src
+@@ -8,17 +9,9 @@ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test
+ LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
+ TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS))
+
+-# Use -install_name on Mac OS, -soname everywhere else
+-UNAME := $(shell uname)
+-ifeq ($(UNAME), Darwin)
+- SONAME=-install_name
+-else
+- SONAME=-soname
+-endif
+-
+ .PHONY: lib
+ lib: $(LIB_OBJS_PATHS)
+- $(CC) $(CFLAGS) -shared -Wl,$(SONAME),libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS)
++ $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS)
+
+ test: lib $(TEST_OBJS_PATHS)
+ $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm
+@@ -35,4 +28,5 @@ tests/%.o: tests/%.c
+
+ .PHONY: clean
+ clean:
+- rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dll test test.exe bench bench.exe
++ @# also clean files generated on other OSes
++ rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe
+diff --git a/Makefile.osx b/Makefile.osx
+new file mode 100644
+index 0000000..ef20d64
+--- /dev/null
++++ b/Makefile.osx
+@@ -0,0 +1,31 @@
++CC?=gcc
++CFLAGS=-g -Wall -O2
++SRCDIR=src
++TESTDIR=tests
++LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
++TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
++
++LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
++TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS))
++
++.PHONY: lib
++lib: $(LIB_OBJS_PATHS)
++ $(CC) $(CFLAGS) -dylib -dynamiclib -o libntru.dylib $(LIB_OBJS_PATHS) $(LDFLAGS)
++
++test: lib $(TEST_OBJS_PATHS)
++ $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm
++ DYLD_LIBRARY_PATH=. ./test
++
++bench: lib $(SRCDIR)/bench.o
++ $(CC) $(CFLAGS) -o bench $(SRCDIR)/bench.o -L. -lntru
++
++$(SRCDIR)/%.o: $(SRCDIR)/%.c
++ $(CC) $(CFLAGS) -c -fPIC $< -o $@
++
++tests/%.o: tests/%.c
++ $(CC) $(CFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@
++
++.PHONY: clean
++clean:
++ @# also clean files generated on other OSes
++ rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe
+diff --git a/Makefile.win b/Makefile.win
+index de8619e..8a1c55b 100644
+--- a/Makefile.win
++++ b/Makefile.win
+@@ -1,3 +1,4 @@
++CC?=gcc
+ CFLAGS=-g -Wall -O2
+ SRCDIR=src
+ TESTDIR=tests
+@@ -28,8 +29,10 @@ clean:
+ @if exist $(SRCDIR)\*.o del $(SRCDIR)\*.o
+ @if exist $(TESTDIR)\*.o del $(TESTDIR)\*.o
+ @if exist libntru.dll del libntru.dll
+- @if exist libntru.so del libntru.so
+ @if exist test.exe del test.exe
+- @if exist test del test
+ @if exist bench.exe del bench.exe
++ @rem ***** clean files generated on other OSes *****
++ @if exist libntru.so del libntru.so
++ @if exist libntru.dylib del libntru.dylib
++ @if exist test del test
+ @if exist bench del bench
+--
+1.9.1
diff --git a/dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch b/dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch
new file mode 100644
index 000000000000..454e781646b9
--- /dev/null
+++ b/dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch
@@ -0,0 +1,60 @@
+From 70ee775ae08d9965b3b1a2045703ab232289cb52 Mon Sep 17 00:00:00 2001
+From: Tim Buktu <tbuktu@hotmail.com>
+Date: Tue, 15 Apr 2014 00:56:43 +0200
+Subject: [PATCH] Add -Wextra -Wno-unused-parameter and fix a warning
+
+---
+ Makefile | 2 +-
+ Makefile.osx | 2 +-
+ Makefile.win | 2 +-
+ src/rand.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index eb22b7a..ea88bb3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ CC?=gcc
+-CFLAGS=-g -Wall -O2
++CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2
+ LDFLAGS=-lrt
+ SRCDIR=src
+ TESTDIR=tests
+diff --git a/Makefile.osx b/Makefile.osx
+index ef20d64..68877fb 100644
+--- a/Makefile.osx
++++ b/Makefile.osx
+@@ -1,5 +1,5 @@
+ CC?=gcc
+-CFLAGS=-g -Wall -O2
++CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2
+ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+diff --git a/Makefile.win b/Makefile.win
+index 8a1c55b..0eb18a5 100644
+--- a/Makefile.win
++++ b/Makefile.win
+@@ -1,5 +1,5 @@
+ CC?=gcc
+-CFLAGS=-g -Wall -O2
++CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2
+ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+diff --git a/src/rand.c b/src/rand.c
+index 187fad2..93bf76b 100644
+--- a/src/rand.c
++++ b/src/rand.c
+@@ -17,7 +17,7 @@ uint8_t ntru_rand_wincrypt(uint8_t rand_data[], uint16_t len, NtruRandContext *r
+ if (hCryptProv == 0) {
+ uint8_t result = CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0);
+ if (!result) {
+- if (GetLastError() == NTE_BAD_KEYSET) // see http://support.microsoft.com/kb/238187
++ if (GetLastError() == (DWORD)NTE_BAD_KEYSET) // see http://support.microsoft.com/kb/238187
+ result = CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET);
+ if (!result)
+ return 0;
+--
+1.9.1
diff --git a/dev-libs/libntru/files/03-libntru-0.2-install-rules.patch b/dev-libs/libntru/files/03-libntru-0.2-install-rules.patch
new file mode 100644
index 000000000000..dbe440df5419
--- /dev/null
+++ b/dev-libs/libntru/files/03-libntru-0.2-install-rules.patch
@@ -0,0 +1,255 @@
+From 625e8727bbbeb38975e54f1829bcd7a23f81bb11 Mon Sep 17 00:00:00 2001
+From: Tim Buktu <tbuktu@hotmail.com>
+Date: Tue, 15 Apr 2014 20:45:36 +0200
+Subject: [PATCH] Add Makefile targets
+
+New targets: all, install, uninstall, dist, distclean
+This fixes https://github.com/tbuktu/libntru/issues/6
+---
+ Makefile | 48 +++++++++++++++++++++++++++++++++++++++++++++
+ Makefile.osx | 47 ++++++++++++++++++++++++++++++++++++++++++++
+ Makefile.win | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/ntru.h | 1 -
+ 4 files changed, 159 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index ea88bb3..e4a6370 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,14 +5,57 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
++VERSION=0.2
++INST_PFX=/usr
++INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h
+
+ LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
+ TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS))
++DIST_NAME=libntru-$(VERSION)
++
++.PHONY: all
++all: lib
+
+ .PHONY: lib
+ lib: $(LIB_OBJS_PATHS)
+ $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS)
+
++.PHONY: install
++install: lib
++ test -d $(INST_PFX) || mkdir -p $(INST_PFX)
++ test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib
++ test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru
++ test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru
++ install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so
++ install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md
++ for header in $(INST_HEADERS); do \
++ install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \
++ done
++
++.PHONY: uninstall
++uninstall:
++ rm -f $(INST_PFX)/lib/libntru.so
++ rm -f $(INST_PFX)/share/doc/libntru/README.md
++ rmdir $(INST_PFX)/share/doc/libntru/
++ for header in $(INST_HEADERS); do \
++ rm $(INST_PFX)/include/libntru/$$header; \
++ done
++ rmdir $(INST_PFX)/include/libntru/
++
++.PHONY: dist
++dist:
++ rm -rf $(DIST_NAME)
++ mkdir $(DIST_NAME)
++ mkdir $(DIST_NAME)/$(SRCDIR)
++ mkdir $(DIST_NAME)/$(TESTDIR)
++ cp Makefile Makefile.win Makefile.osx README.md LICENSE PATENTS $(DIST_NAME)
++ cp $(SRCDIR)/*.c $(DIST_NAME)/$(SRCDIR)
++ cp $(SRCDIR)/*.h $(DIST_NAME)/$(SRCDIR)
++ cp $(TESTDIR)/*.c $(DIST_NAME)/$(TESTDIR)
++ cp $(TESTDIR)/*.h $(DIST_NAME)/$(TESTDIR)
++ tar cf $(DIST_NAME).tar.xz $(DIST_NAME) --lzma
++ rm -rf $(DIST_NAME)
++
+ test: lib $(TEST_OBJS_PATHS)
+ $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm
+ LD_LIBRARY_PATH=. ./test
+@@ -30,3 +73,8 @@ tests/%.o: tests/%.c
+ clean:
+ @# also clean files generated on other OSes
+ rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe
++
++.PHONY: distclean
++distclean: clean
++ rm -rf $(DIST_NAME)
++ rm -f $(DIST_NAME).tar.xz $(DIST_NAME).zip
+diff --git a/Makefile.osx b/Makefile.osx
+index 68877fb..0baef8c 100644
+--- a/Makefile.osx
++++ b/Makefile.osx
+@@ -4,14 +4,56 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
++VERSION=0.2
++INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h
+
+ LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
+ TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS))
++DIST_NAME=libntru-$(VERSION)
++
++.PHONY: all
++all: lib
+
+ .PHONY: lib
+ lib: $(LIB_OBJS_PATHS)
+ $(CC) $(CFLAGS) -dylib -dynamiclib -o libntru.dylib $(LIB_OBJS_PATHS) $(LDFLAGS)
+
++.PHONY: install
++install: lib
++ test -d $(INST_PFX) || mkdir -p $(INST_PFX)
++ test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib
++ test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru
++ test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru
++ install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so
++ install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md
++ for header in $(INST_HEADERS); do \
++ install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \
++ done
++
++.PHONY: uninstall
++uninstall:
++ rm -f $(INST_PFX)/lib/libntru.so
++ rm -f $(INST_PFX)/share/doc/libntru/README.md
++ rmdir $(INST_PFX)/share/doc/libntru/
++ for header in $(INST_HEADERS); do \
++ rm $(INST_PFX)/include/libntru/$$header; \
++ done
++ rmdir $(INST_PFX)/include/libntru/
++
++.PHONY: dist
++dist:
++ rm -rf $(DIST_NAME)
++ mkdir $(DIST_NAME)
++ mkdir $(DIST_NAME)/$(SRCDIR)
++ mkdir $(DIST_NAME)/$(TESTDIR)
++ cp Makefile Makefile.win Makefile.osx README.md LICENSE PATENTS $(DIST_NAME)
++ cp $(SRCDIR)/*.c $(DIST_NAME)/$(SRCDIR)
++ cp $(SRCDIR)/*.h $(DIST_NAME)/$(SRCDIR)
++ cp $(TESTDIR)/*.c $(DIST_NAME)/$(TESTDIR)
++ cp $(TESTDIR)/*.h $(DIST_NAME)/$(TESTDIR)
++ tar cf $(DIST_NAME).tar.xz $(DIST_NAME) --lzma
++ rm -rf $(DIST_NAME)
++
+ test: lib $(TEST_OBJS_PATHS)
+ $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm
+ DYLD_LIBRARY_PATH=. ./test
+@@ -29,3 +71,8 @@ tests/%.o: tests/%.c
+ clean:
+ @# also clean files generated on other OSes
+ rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe
++
++.PHONY: distclean
++distclean: clean
++ rm -rf $(DIST_NAME)
++ rm -f $(DIST_NAME).tar.xz $(DIST_NAME).zip
+diff --git a/Makefile.win b/Makefile.win
+index 0eb18a5..315e08b 100644
+--- a/Makefile.win
++++ b/Makefile.win
+@@ -4,13 +4,64 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
++VERSION=0.2
++INST_PFX=%PROGRAMFILES%
++INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h
+
+ LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
+ TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS))
++DIST_NAME=libntru-$(VERSION)
+
++.PHONY: all
++all: lib
++
++.PHONY: lib
+ lib: $(LIB_OBJS_PATHS)
+ $(CC) $(CFLAGS) -shared -o libntru.dll $(LIB_OBJS_PATHS) -lws2_32 -ladvapi32
+
++.PHONY: install
++install: lib
++ if not exist "%PROGRAMFILES%\libntru" mkdir "%PROGRAMFILES%\libntru"
++ if not exist "%PROGRAMFILES%\libntru\include" mkdir "%PROGRAMFILES%\libntru\include"
++ copy libntru.dll "%PROGRAMFILES%\libntru"
++ copy README.md "%PROGRAMFILES%\libntru"
++ for %%h in ($(INST_HEADERS)) do \
++ copy $(SRCDIR)\%%h "%PROGRAMFILES%\libntru\include"
++
++uninstall:
++ if exist "%PROGRAMFILES%\libntru\libntru.dll" del "%PROGRAMFILES%\libntru\libntru.dll"
++ if exist "%PROGRAMFILES%\libntru\README.md" del "%PROGRAMFILES%\libntru\README.md"
++ for %%h in ($(INST_HEADERS)) do \
++ if exist "%PROGRAMFILES%\libntru\include\%%h" del "%PROGRAMFILES%\libntru\include\%%h"
++ if exist "%PROGRAMFILES%\libntru\include" rmdir "%PROGRAMFILES%\libntru\include"
++ if exist "%PROGRAMFILES%\libntru" rmdir "%PROGRAMFILES%\libntru"
++
++.PHONY: dist
++dist:
++ @if exist $(DIST_NAME)\$(SRCDIR)\*.c del $(DIST_NAME)\$(SRCDIR)\*.c
++ @if exist $(DIST_NAME)\$(SRCDIR)\*.h del $(DIST_NAME)\$(SRCDIR)\*.h
++ @if exist $(DIST_NAME)\$(SRCDIR) rmdir $(DIST_NAME)\$(SRCDIR)
++ @if exist $(DIST_NAME)\$(TESTDIR)\*.c del $(DIST_NAME)\$(TESTDIR)\*.c
++ @if exist $(DIST_NAME)\$(TESTDIR)\*.h del $(DIST_NAME)\$(TESTDIR)\*.h
++ @if exist $(DIST_NAME)\$(TESTDIR) rmdir $(DIST_NAME)\$(TESTDIR)
++ @if exist $(DIST_NAME)\*.* del /q $(DIST_NAME)\*.*
++ @if exist $(DIST_NAME) rmdir $(DIST_NAME)
++ mkdir $(DIST_NAME)
++ mkdir $(DIST_NAME)\$(SRCDIR)
++ mkdir $(DIST_NAME)\$(TESTDIR)
++ copy Makefile $(DIST_NAME)
++ copy Makefile.win $(DIST_NAME)
++ copy Makefile.osx $(DIST_NAME)
++ copy README.md $(DIST_NAME)
++ copy LICENSE $(DIST_NAME)
++ copy PATENTS $(DIST_NAME)
++ copy $(SRCDIR)\*.c $(DIST_NAME)\$(SRCDIR)
++ copy $(SRCDIR)\*.h $(DIST_NAME)\$(SRCDIR)
++ copy $(TESTDIR)\*.c $(DIST_NAME)\$(TESTDIR)
++ copy $(TESTDIR)\*.h $(DIST_NAME)\$(TESTDIR)
++ @rem zip is provided by MinGW
++ zip -rm $(DIST_NAME).zip $(DIST_NAME)
++
+ test: lib $(TEST_OBJS_PATHS)
+ $(CC) $(CFLAGS) -o test.exe $(TEST_OBJS_PATHS) -L. -lntru -lm
+ test.exe
+@@ -36,3 +87,16 @@ clean:
+ @if exist libntru.dylib del libntru.dylib
+ @if exist test del test
+ @if exist bench del bench
++
++.PHONY: distclean
++distclean: clean
++ @if exist $(DIST_NAME)\$(SRCDIR)\*.c del $(DIST_NAME)\$(SRCDIR)\*.c
++ @if exist $(DIST_NAME)\$(SRCDIR)\*.h del $(DIST_NAME)\$(SRCDIR)\*.h
++ @if exist $(DIST_NAME)\$(SRCDIR) rmdir $(DIST_NAME)\$(SRCDIR)
++ @if exist $(DIST_NAME)\$(TESTDIR)\*.c del $(DIST_NAME)\$(TESTDIR)\*.c
++ @if exist $(DIST_NAME)\$(TESTDIR)\*.h del $(DIST_NAME)\$(TESTDIR)\*.h
++ @if exist $(DIST_NAME)\$(TESTDIR) rmdir $(DIST_NAME)\$(TESTDIR)
++ @if exist $(DIST_NAME)\*.* del /q $(DIST_NAME)\*.*
++ @if exist $(DIST_NAME) rmdir $(DIST_NAME)
++ @if exist $(DIST_NAME).zip del $(DIST_NAME).zip
++ @if exist $(DIST_NAME).tar.xz del $(DIST_NAME).tar.xz
+diff --git a/src/ntru.h b/src/ntru.h
+index a8ff338..41f15e3 100644
+--- a/src/ntru.h
++++ b/src/ntru.h
+@@ -3,7 +3,6 @@
+
+ #include "types.h"
+ #include "key.h"
+-#include "poly.h"
+ #include "encparams.h"
+ #include "rand.h"
+ #include "err.h"
+--
+1.9.1
diff --git a/dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch b/dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch
new file mode 100644
index 000000000000..e9274c41c02f
--- /dev/null
+++ b/dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch
@@ -0,0 +1,92 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Wed Apr 16 14:48:00 UTC 2014
+Subject: respect system flags
+
+--- libntru-0.2/Makefile
++++ libntru-0.2/Makefile
+@@ -1,12 +1,16 @@
+ CC?=gcc
+-CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2
+-LDFLAGS=-lrt
++CFLAGS?=-g -O2
++CFLAGS+=-Wall -Wextra -Wno-unused-parameter
++LIBS+=-lrt
+ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
+ VERSION=0.2
+ INST_PFX=/usr
++INST_LIBDIR=$(INST_PFX)/lib
++INST_INCLUDE=$(INST_PFX)/include/libntru
++INST_DOCDIR=$(INST_PFX)/share/doc/libntru
+ INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h
+
+ LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS))
+@@ -18,29 +22,29 @@
+
+ .PHONY: lib
+ lib: $(LIB_OBJS_PATHS)
+- $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) $(LIBS)
+
+ .PHONY: install
+ install: lib
+- test -d $(INST_PFX) || mkdir -p $(INST_PFX)
+- test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib
+- test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru
+- test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru
+- install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so
+- install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md
+- for header in $(INST_HEADERS); do \
+- install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \
++ test -d "$(DESTDIR)$(INST_PFX)" || mkdir -p "$(DESTDIR)$(INST_PFX)"
++ test -d "$(DESTDIR)$(INST_LIBDIR)" || mkdir "$(DESTDIR)$(INST_LIBDIR)"
++ test -d "$(DESTDIR)$(INST_INCLUDE)" || mkdir -p "$(DESTDIR)$(INST_INCLUDE)"
++ test -d "$(DESTDIR)$(INST_DOCDIR)" || mkdir -p "$(DESTDIR)$(INST_DOCDIR)"
++ install -m 0755 libntru.so "$(DESTDIR)$(INST_LIBDIR)/libntru.so"
++ install -m 0644 README.md "$(DESTDIR)$(INST_DOCDIR)/README.md"
++ for header in $(INST_HEADERS) ; do \
++ install -m 0644 "$(SRCDIR)/$$header" "$(DESTDIR)$(INST_INCLUDE)/" ; \
+ done
+
+ .PHONY: uninstall
+ uninstall:
+- rm -f $(INST_PFX)/lib/libntru.so
+- rm -f $(INST_PFX)/share/doc/libntru/README.md
+- rmdir $(INST_PFX)/share/doc/libntru/
+- for header in $(INST_HEADERS); do \
+- rm $(INST_PFX)/include/libntru/$$header; \
++ rm -f "$(DESTDIR)$(INST_LIBDIR)/libntru.so"
++ rm -f "$(DESTDIR)$(INST_DOCDIR)/README.md"
++ rmdir "$(DESTDIR)$(INST_DOCDIR)/"
++ for header in $(INST_HEADERS) ; do \
++ rm "$(DESTDIR)$(INST_INCLUDE)/$$header" ; \
+ done
+- rmdir $(INST_PFX)/include/libntru/
++ rmdir "$(DESTDIR)$(INST_INCLUDE)/"
+
+ .PHONY: dist
+ dist:
+@@ -57,17 +61,17 @@
+ rm -rf $(DIST_NAME)
+
+ test: lib $(TEST_OBJS_PATHS)
+- $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm
++ $(CC) $(CFLAGS) $(CPPFLAGS) -o test $(TEST_OBJS_PATHS) $(LDFLAGS) -L. -lntru -lm
+ LD_LIBRARY_PATH=. ./test
+
+ bench: lib $(SRCDIR)/bench.o
+- $(CC) $(CFLAGS) -o bench $(SRCDIR)/bench.o -L. -lntru
++ $(CC) $(CFLAGS) $(CPPFLAGS) -o bench $(SRCDIR)/bench.o $(LDFLAGS) -L. -lntru
+
+ $(SRCDIR)/%.o: $(SRCDIR)/%.c
+- $(CC) $(CFLAGS) -c -fPIC $< -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c -fPIC $< -o $@
+
+ tests/%.o: tests/%.c
+- $(CC) $(CFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@
+
+ .PHONY: clean
+ clean:
diff --git a/dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch b/dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch
new file mode 100644
index 000000000000..843c39c779d4
--- /dev/null
+++ b/dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch
@@ -0,0 +1,24 @@
+From eada223e688d0777f852ca827a375121b375def3 Mon Sep 17 00:00:00 2001
+From: gga01 <gga01@users.noreply.github.com>
+Date: Wed, 16 Apr 2014 00:57:01 +0300
+Subject: [PATCH] Fix memory leak (issue #7)
+
+---
+ src/ntru.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ntru.c b/src/ntru.c
+index b7513cb..73f0449 100644
+--- a/src/ntru.c
++++ b/src/ntru.c
+@@ -360,7 +360,7 @@ uint8_t ntru_encrypt_det(uint8_t *msg, uint16_t msg_len, NtruEncPubKey *pub, Ntr
+ rand_state = NULL;
+ NtruRandContext rand_ctx = {seed, seed_len, &rand_state};
+ uint8_t result = ntru_encrypt_internal(msg, msg_len, pub, params, rng, &rand_ctx, enc);
+- if (rand_state == NULL)
++ if (rand_state != NULL)
+ free(rand_state);
+ return result;
+ }
+--
+1.9.1
diff --git a/dev-libs/libntru/files/libntru-0.3-Allow-building-and-installing-static-lib.patch b/dev-libs/libntru/files/libntru-0.3-Allow-building-and-installing-static-lib.patch
new file mode 100644
index 000000000000..36c4f693dcc6
--- /dev/null
+++ b/dev-libs/libntru/files/libntru-0.3-Allow-building-and-installing-static-lib.patch
@@ -0,0 +1,78 @@
+From 5cb48a5a1bf43c5d4811295aa3fb25744c4c254d Mon Sep 17 00:00:00 2001
+From: Julian Ospald <hasufell@hasufell.de>
+Date: Mon, 17 Nov 2014 23:25:31 +0100
+Subject: [PATCH 3/6] Allow building and installing static lib
+
+Refactored the install rules a bit, so that installing the static
+lib optionally becomes a bit more convenient.
+---
+ Makefile.linux | 36 ++++++++++++++++++++++++++++++------
+ 1 file changed, 30 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.linux b/Makefile.linux
+index dbc4957..218162c 100644
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -1,4 +1,5 @@
+ CC?=gcc
++AR?=ar
+ CFLAGS?=-g -O2
+ CFLAGS+=-Wall -Wextra -Wno-unused-parameter
+ LIBS+=-lrt
+@@ -24,24 +25,47 @@ all: lib
+
+ lib: libntru.so
+
++static-lib: libntru.a
++
+ libntru.so: $(LIB_OBJS_PATHS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) $(LIBS)
+
+-install: lib
+- test -d "$(DESTDIR)$(INST_PFX)" || mkdir -p "$(DESTDIR)$(INST_PFX)"
+- test -d "$(DESTDIR)$(INST_LIBDIR)" || mkdir "$(DESTDIR)$(INST_LIBDIR)"
+- test -d "$(DESTDIR)$(INST_INCLUDE)" || mkdir -p "$(DESTDIR)$(INST_INCLUDE)"
+- test -d "$(DESTDIR)$(INST_DOCDIR)" || mkdir -p "$(DESTDIR)$(INST_DOCDIR)"
++libntru.a: $(LIB_OBJS_PATHS)
++ $(AR) cru libntru.a $(LIB_OBJS_PATHS)
++
++install: install-lib install-doc install-headers
++
++install-lib: lib
++ test -d "$(DESTDIR)$(INST_LIBDIR)" || mkdir -p "$(DESTDIR)$(INST_LIBDIR)"
+ install -m 0755 libntru.so "$(DESTDIR)$(INST_LIBDIR)/libntru.so"
++
++install-static-lib: static-lib
++ test -d "$(DESTDIR)$(INST_LIBDIR)" || mkdir -p "$(DESTDIR)$(INST_LIBDIR)"
++ install -m 0755 libntru.a "$(DESTDIR)$(INST_LIBDIR)/libntru.a"
++
++install-doc:
++ test -d "$(DESTDIR)$(INST_DOCDIR)" || mkdir -p "$(DESTDIR)$(INST_DOCDIR)"
+ install -m 0644 README.md "$(DESTDIR)$(INST_DOCDIR)/README.md"
++
++install-headers:
++ test -d "$(DESTDIR)$(INST_INCLUDE)" || mkdir -p "$(DESTDIR)$(INST_INCLUDE)"
+ for header in $(INST_HEADERS) ; do \
+ install -m 0644 "$(SRCDIR)/$$header" "$(DESTDIR)$(INST_INCLUDE)/" ; \
+ done
+
+-uninstall:
++uninstall: uninstall-lib uninstall-doc uninstall-headers
++
++uninstall-lib:
+ rm -f "$(DESTDIR)$(INST_LIBDIR)/libntru.so"
++
++uninstall-static-lib:
++ rm -f "$(DESTDIR)$(INST_LIBDIR)/libntru.a"
++
++uninstall-doc:
+ rm -f "$(DESTDIR)$(INST_DOCDIR)/README.md"
+ rmdir "$(DESTDIR)$(INST_DOCDIR)/"
++
++uninstall-headers:
+ for header in $(INST_HEADERS) ; do \
+ rm "$(DESTDIR)$(INST_INCLUDE)/$$header" ; \
+ done
+--
+2.1.3
+
diff --git a/dev-libs/libntru/files/libntru-0.3-Make-the-lib-target-depend-on-the-libntru.so-target.patch b/dev-libs/libntru/files/libntru-0.3-Make-the-lib-target-depend-on-the-libntru.so-target.patch
new file mode 100644
index 000000000000..101d0472faac
--- /dev/null
+++ b/dev-libs/libntru/files/libntru-0.3-Make-the-lib-target-depend-on-the-libntru.so-target.patch
@@ -0,0 +1,33 @@
+From 38e454b12c707a0d6870fb5541fad64ece17f78d Mon Sep 17 00:00:00 2001
+From: Julian Ospald <hasufell@hasufell.de>
+Date: Mon, 17 Nov 2014 22:27:39 +0100
+Subject: [PATCH 1/4] Make the "lib" target depend on the "libntru.so" target
+
+Depending on the old "lib" target caused a rebuild of libntru.so on any
+such target (e.g. installation), because "lib" is in .PHONY
+and not an expected file name.
+
+Fixing this helps with distro policies which require to not do
+compilation processes during installation phase.
+---
+ Makefile.linux | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.linux b/Makefile.linux
+index b699998..dbc4957 100644
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -22,7 +22,9 @@ MAKEFILENAME=$(lastword $(MAKEFILE_LIST))
+
+ all: lib
+
+-lib: $(LIB_OBJS_PATHS)
++lib: libntru.so
++
++libntru.so: $(LIB_OBJS_PATHS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) $(LIBS)
+
+ install: lib
+--
+2.1.3
+
diff --git a/dev-libs/libntru/files/libntru-0.3-Update-VERSION-in-Makefiles.patch b/dev-libs/libntru/files/libntru-0.3-Update-VERSION-in-Makefiles.patch
new file mode 100644
index 000000000000..0c46be1c3552
--- /dev/null
+++ b/dev-libs/libntru/files/libntru-0.3-Update-VERSION-in-Makefiles.patch
@@ -0,0 +1,53 @@
+From e434656449d0797a2f6e14e33b6a0114371d0e16 Mon Sep 17 00:00:00 2001
+From: Julian Ospald <hasufell@hasufell.de>
+Date: Mon, 17 Nov 2014 22:58:29 +0100
+Subject: [PATCH 3/4] Update VERSION in Makefiles
+
+---
+ Makefile.linux | 2 +-
+ Makefile.osx | 2 +-
+ Makefile.win | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.linux b/Makefile.linux
+index fabf8d5..3248ba8 100644
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -7,7 +7,7 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
+-VERSION=0.2
++VERSION=0.3
+ INST_PFX=/usr
+ INST_LIBDIR=$(INST_PFX)/lib
+ INST_INCLUDE=$(INST_PFX)/include/libntru
+diff --git a/Makefile.osx b/Makefile.osx
+index ccbdf3e..a0f67d3 100644
+--- a/Makefile.osx
++++ b/Makefile.osx
+@@ -4,7 +4,7 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
+-VERSION=0.2
++VERSION=0.3
+ INST_PFX=/usr
+ INST_LIBDIR=$(INST_PFX)/lib
+ INST_INCLUDE=$(INST_PFX)/include/libntru
+diff --git a/Makefile.win b/Makefile.win
+index 7a93144..ffa7225 100644
+--- a/Makefile.win
++++ b/Makefile.win
+@@ -6,7 +6,7 @@ SRCDIR=src
+ TESTDIR=tests
+ LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o
+ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o
+-VERSION=0.2
++VERSION=0.3
+ INST_PFX=%PROGRAMFILES%
+ INST_LIBDIR=$(INST_PFX)\libntru
+ INST_INCLUDE=$(INST_PFX)\libntru\include
+--
+2.1.3
+
diff --git a/dev-libs/libntru/libntru-0.2.ebuild b/dev-libs/libntru/libntru-0.2.ebuild
new file mode 100644
index 000000000000..0fd96e42da7d
--- /dev/null
+++ b/dev-libs/libntru/libntru-0.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="C Implementation of NTRUEncrypt"
+HOMEPAGE="https://github.com/tbuktu/libntru"
+SRC_URI="https://github.com/tbuktu/libntru/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/01-${P}-fix-build-on-macosx.patch \
+ "${FILESDIR}"/02-${P}-add-warnings.patch \
+ "${FILESDIR}"/03-${P}-install-rules.patch \
+ "${FILESDIR}"/04-${P}-respect-flags.patch \
+ "${FILESDIR}"/05-${P}-fix-memory-leak.patch
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${ED}" \
+ INST_LIBDIR="/usr/$(get_libdir)" \
+ INST_DOCDIR="/usr/share/doc/${PF}" \
+ install
+}
diff --git a/dev-libs/libntru/libntru-0.3.ebuild b/dev-libs/libntru/libntru-0.3.ebuild
new file mode 100644
index 000000000000..2bc30d24219b
--- /dev/null
+++ b/dev-libs/libntru/libntru-0.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="C Implementation of NTRUEncrypt"
+HOMEPAGE="https://github.com/tbuktu/libntru"
+SRC_URI="https://github.com/tbuktu/libntru/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-Make-the-lib-target-depend-on-the-libntru.so-target.patch \
+ "${FILESDIR}"/${P}-Allow-building-and-installing-static-lib.patch \
+ "${FILESDIR}"/${P}-Update-VERSION-in-Makefiles.patch
+
+ multilib_copy_sources
+
+ _copy_test_dir() {
+ cp -pr "${BUILD_DIR}" "${BUILD_DIR}-test" || die
+ }
+ multilib_foreach_abi _copy_test_dir
+}
+
+multilib_src_compile() {
+ CFLAGS="${CFLAGS}" emake CC="$(tc-getCC)" $(usex static-libs "libntru.a" "")
+}
+
+src_test() {
+ _test() {
+ CFLAGS="${CFLAGS}" emake CC="$(tc-getCC)" test -j1 -C "${BUILD_DIR}-test"
+ }
+
+ multilib_foreach_abi _test
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${ED}" \
+ INST_LIBDIR="/usr/$(get_libdir)" \
+ INST_DOCDIR="/usr/share/doc/${PF}" \
+ install $(usex static-libs install-static-lib "")
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use examples ; then
+ docinto examples
+ dodoc src/hybrid.c
+ fi
+}
diff --git a/dev-libs/libntru/metadata.xml b/dev-libs/libntru/metadata.xml
new file mode 100644
index 000000000000..07826665ce19
--- /dev/null
+++ b/dev-libs/libntru/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+ <upstream>
+ <remote-id type='github'>tbuktu/libntru</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libofx/Manifest b/dev-libs/libofx/Manifest
new file mode 100644
index 000000000000..8939ecdc7a46
--- /dev/null
+++ b/dev-libs/libofx/Manifest
@@ -0,0 +1,2 @@
+DIST libofx-0.9.10.tar.gz 1433837 SHA256 54e26a4944ef2785087cfd8ed8f187ab9d397d9b92b5acc199dd7d5d095cf695 SHA512 061110702034dbbb9be3adaebe6236a4b0842169d8ee7671bad6c93960b380cbb33953bdf080c8b14f45930b0c817fcfe1bf71f15d9872dd2535a1415f5be895 WHIRLPOOL 2cf39474bde30086b51529d4fccae51c6b1728b413ddf45768283e1404d0b8bb0316a532c3a1436dfee22d4953df8ef42470bf4414cbd1aef7b9fb7c8661ce38
+DIST libofx-0.9.5.tar.gz 1526857 SHA256 a075c5634b94bad16f8c949eeb77625d31bedea3bb10a8da174b989ffab7e78e SHA512 f7c6e0d85ee1f01216678ec51939ffe09c4a4c5ccc97a5928be45bd2be27418a95004a8a46f17225366908cdd8bb43b19bf95295f0e6422802d3a935a63eb0a9 WHIRLPOOL 67f61361417636e297f45f7c9d3d4de9e88a20c9af4b1a6f811d4b6d6d671f045f3f485b193d24372e89fdbfbd944565bb3ec224578351c1d31cf9c109921d5f
diff --git a/dev-libs/libofx/files/libofx-0.9.5-gcc47.patch b/dev-libs/libofx/files/libofx-0.9.5-gcc47.patch
new file mode 100644
index 000000000000..2e6ee8b08d65
--- /dev/null
+++ b/dev-libs/libofx/files/libofx-0.9.5-gcc47.patch
@@ -0,0 +1,11 @@
+diff -ruN libofx-0.9.5.orig/ofxconnect/ofxpartner.cpp libofx-0.9.5/ofxconnect/ofxpartner.cpp
+--- libofx-0.9.5.orig/ofxconnect/ofxpartner.cpp 2011-03-31 00:30:50.000000000 +0200
++++ libofx-0.9.5/ofxconnect/ofxpartner.cpp 2012-06-30 21:57:35.747989782 +0200
+@@ -37,6 +37,7 @@
+ #include <vector>
+ #include <algorithm>
+ #include <string.h>
++#include <unistd.h>
+
+ using std::string;
+ using std::vector;
diff --git a/dev-libs/libofx/libofx-0.9.10.ebuild b/dev-libs/libofx/libofx-0.9.10.ebuild
new file mode 100644
index 000000000000..2fc03e9b549e
--- /dev/null
+++ b/dev-libs/libofx/libofx-0.9.10.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A library to support the Open Financial eXchange XML format"
+HOMEPAGE="http://libofx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+RDEPEND="
+ >=app-text/opensp-1.5
+ dev-cpp/libxmlpp:2.6
+ >=net-misc/curl-7.9.7
+ virtual/libiconv
+"
+DEPEND="${RDEPEND}
+ sys-apps/help2man
+ virtual/pkgconfig
+ test? ( app-crypt/gnupg )
+"
+
+src_prepare() {
+ autotools-utils_src_prepare
+
+ # Be sure DTD gets installed in correct path after redefining docdir in install
+ sed -i \
+ -e 's:$(DESTDIR)$(docdir):$(DESTDIR)$(LIBOFX_DTD_DIR):' \
+ dtd/Makefile.in || die
+
+ # configure arguments alone don't disable everything
+ sed -e "/^SUBDIRS/s/doc//" -i Makefile.in || die
+}
+
+src_install() {
+ autotools-utils_src_install docdir="/usr/share/doc/${PF}"
+
+ rm -f "${ED}"/usr/share/doc/${PF}/{COPYING,INSTALL}
+}
diff --git a/dev-libs/libofx/libofx-0.9.5.ebuild b/dev-libs/libofx/libofx-0.9.5.ebuild
new file mode 100644
index 000000000000..ec7f03d27b96
--- /dev/null
+++ b/dev-libs/libofx/libofx-0.9.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="A library to support the Open Financial eXchange XML format"
+HOMEPAGE="http://libofx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ~ppc64 x86"
+IUSE="doc static-libs test"
+
+RDEPEND=">=app-text/opensp-1.5
+ dev-cpp/libxmlpp:2.6
+ >=net-misc/curl-7.9.7"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/help2man )
+ test? ( app-crypt/gnupg )"
+
+PATCHES=( "${FILESDIR}/${P}-gcc47.patch" )
+
+src_prepare() {
+ base_src_prepare
+ # Be sure DTD gets installed in correct path after redefining docdir in install
+ sed -i \
+ -e 's:$(DESTDIR)$(docdir):$(DESTDIR)$(LIBOFX_DTD_DIR):' \
+ dtd/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --disable-doxygen
+}
+
+src_install() {
+ emake DESTDIR="${D}" docdir=/usr/share/doc/${PF} install
+
+ rm -f "${ED}"/usr/share/doc/${PF}/{COPYING,INSTALL}
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/libofx/metadata.xml b/dev-libs/libofx/metadata.xml
new file mode 100644
index 000000000000..6533c91bafd2
--- /dev/null
+++ b/dev-libs/libofx/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libofx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/liboil/Manifest b/dev-libs/liboil/Manifest
new file mode 100644
index 000000000000..6b0ca3f277d2
--- /dev/null
+++ b/dev-libs/liboil/Manifest
@@ -0,0 +1 @@
+DIST liboil-0.3.17.tar.gz 912563 SHA256 105f02079b0b50034c759db34b473ecb5704ffa20a5486b60a8b7698128bfc69 SHA512 26f60d37af8aae435ff17f2aa852a4e52cebd96ef7be04cb4dc14c61bc42160e333e317e5b33f05f6d4b6c819b15c4ecd1d4c03018515252daea26dd4ed60145 WHIRLPOOL ae26cf5b4f5f0b87104c2d5e2dc81d22c9ea4c4fecf4606e03d8b66ad44d5c9ae2330e4d08a9691f205d03c84c249f2374381a4b9d93c345be486cb6d5efa9fe
diff --git a/dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch b/dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch
new file mode 100644
index 000000000000..d86dd79c3bcb
--- /dev/null
+++ b/dev-libs/liboil/files/liboil-0.3.17-amd64-cpuid.patch
@@ -0,0 +1,38 @@
+From 705916007fba0a845229a02dc6474cb523eff150 Mon Sep 17 00:00:00 2001
+From: David Schleef <ds@schleef.org>
+Date: Tue, 20 Jul 2010 21:05:26 +0000
+Subject: x86: Fix cpuid function on x86-64
+
+Fixes: #28956.
+---
+diff --git a/liboil/liboilcpu-x86.c b/liboil/liboilcpu-x86.c
+index e7a1978..ef4d3f2 100644
+--- a/liboil/liboilcpu-x86.c
++++ b/liboil/liboilcpu-x86.c
+@@ -162,13 +162,10 @@ get_cpuid (uint32_t op, uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d)
+ static void
+ get_cpuid (uint32_t op, uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d)
+ {
++ *a = op;
+ __asm__ (
+- " pushq %%rbx\n"
+ " cpuid\n"
+- " mov %%ebx, %%esi\n"
+- " popq %%rbx\n"
+- : "=a" (*a), "=S" (*b), "=c" (*c), "=d" (*d)
+- : "0" (op));
++ : "+a" (*a), "=b" (*b), "=c" (*c), "=d" (*d));
+ }
+ #endif
+
+@@ -185,7 +182,7 @@ oil_cpu_detect_cpuid (void)
+ {
+ uint32_t eax, ebx, ecx, edx;
+ uint32_t level;
+- char vendor[13] = { 0 };
++ char vendor[13+4] = { 0 };
+ int ret;
+
+ oil_fault_check_enable ();
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/dev-libs/liboil/files/liboil-0.3.17-x32.patch b/dev-libs/liboil/files/liboil-0.3.17-x32.patch
new file mode 100644
index 000000000000..416c78757de4
--- /dev/null
+++ b/dev-libs/liboil/files/liboil-0.3.17-x32.patch
@@ -0,0 +1,224 @@
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f3c0a02b920efa5747474b4c65aba12a928e56de
+
+Upstream-Status: Pending
+
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2011/12/01
+
+
+Index: liboil-0.3.17/liboil/amd64/wavelet.c
+===================================================================
+--- liboil-0.3.17.orig/liboil/amd64/wavelet.c
++++ liboil-0.3.17/liboil/amd64/wavelet.c
+@@ -21,14 +21,14 @@ deinterleave2_asm (int16_t *d1, int16_t
+ asm volatile ("\n"
+ " sub $2, %%rcx\n"
+ "1:\n"
+- " movw (%1,%%rcx,4), %%ax\n"
+- " movw %%ax, (%0,%%rcx,2)\n"
+- " movw 2(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, (%2,%%rcx,2)\n"
+- " movw 4(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, 2(%0,%%rcx,2)\n"
+- " movw 6(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, 2(%2,%%rcx,2)\n"
++ " movw (%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, (%q0,%%rcx,2)\n"
++ " movw 2(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, (%q2,%%rcx,2)\n"
++ " movw 4(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, 2(%q0,%%rcx,2)\n"
++ " movw 6(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, 2(%q2,%%rcx,2)\n"
+ " sub $2, %%rcx\n"
+ " jge 1b\n"
+ : "+r" (d1), "+r" (s_2xn), "+r" (d2), "+c" (n)
+@@ -53,20 +53,20 @@ deinterleave2_mmx (int16_t *d1, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm0\n"
+- " movq 8(%1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm0\n"
++ " movq 8(%q1,%%rcx,4), %%mm1\n"
+ " pslld $16, %%mm0\n"
+ " pslld $16, %%mm1\n"
+ " psrad $16, %%mm0\n"
+ " psrad $16, %%mm1\n"
+ " packssdw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
+- " movq (%1,%%rcx,4), %%mm0\n"
+- " movq 8(%1,%%rcx,4), %%mm1\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
++ " movq (%q1,%%rcx,4), %%mm0\n"
++ " movq 8(%q1,%%rcx,4), %%mm1\n"
+ " psrad $16, %%mm0\n"
+ " psrad $16, %%mm1\n"
+ " packssdw %%mm1, %%mm0\n"
+- " movq %%mm0, (%2,%%rcx,2)\n"
++ " movq %%mm0, (%q2,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -93,10 +93,10 @@ deinterleave2_mmx_2 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " pshufw $0xd8, (%1,%%rcx,4), %%mm0\n"
+- " movd %%mm0, (%0,%%rcx,2)\n"
+- " pshufw $0x8d, (%1,%%rcx,4), %%mm0\n"
+- " movd %%mm0, (%2,%%rcx,2)\n"
++ " pshufw $0xd8, (%q1,%%rcx,4), %%mm0\n"
++ " movd %%mm0, (%q0,%%rcx,2)\n"
++ " pshufw $0x8d, (%q1,%%rcx,4), %%mm0\n"
++ " movd %%mm0, (%q2,%%rcx,2)\n"
+ " add $2, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -123,16 +123,16 @@ deinterleave2_mmx_3 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm1\n"
+- " movq (%1,%%rcx,4), %%mm2\n"
+- " movq 8(%1,%%rcx,4), %%mm0\n"
++ " movq (%q1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm2\n"
++ " movq 8(%q1,%%rcx,4), %%mm0\n"
+ " punpcklwd %%mm0, %%mm1\n"
+ " punpckhwd %%mm0, %%mm2\n"
+ " movq %%mm1, %%mm0\n"
+ " punpcklwd %%mm2, %%mm0\n"
+ " punpckhwd %%mm2, %%mm1\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
+- " movq %%mm1, (%2,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
++ " movq %%mm1, (%q2,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -159,26 +159,26 @@ deinterleave2_mmx_4 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm1\n"
+ " movq %%mm1, %%mm2\n"
+- " movq 8(%1,%%rcx,4), %%mm0\n"
+- " movq 16(%1,%%rcx,4), %%mm5\n"
++ " movq 8(%q1,%%rcx,4), %%mm0\n"
++ " movq 16(%q1,%%rcx,4), %%mm5\n"
+ " punpcklwd %%mm0, %%mm1\n"
+ " movq %%mm5, %%mm6\n"
+ " punpckhwd %%mm0, %%mm2\n"
+- " movq 24(%1,%%rcx,4), %%mm4\n"
++ " movq 24(%q1,%%rcx,4), %%mm4\n"
+ " movq %%mm1, %%mm0\n"
+ " punpcklwd %%mm4, %%mm5\n"
+ " punpcklwd %%mm2, %%mm0\n"
+ " punpckhwd %%mm4, %%mm6\n"
+ " punpckhwd %%mm2, %%mm1\n"
+ " movq %%mm5, %%mm4\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " punpcklwd %%mm6, %%mm4\n"
+- " movq %%mm1, (%2,%%rcx,2)\n"
++ " movq %%mm1, (%q2,%%rcx,2)\n"
+ " punpckhwd %%mm6, %%mm5\n"
+- " movq %%mm4, 8(%0,%%rcx,2)\n"
+- " movq %%mm5, 8(%2,%%rcx,2)\n"
++ " movq %%mm4, 8(%q0,%%rcx,2)\n"
++ " movq %%mm5, 8(%q2,%%rcx,2)\n"
+ " add $8, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -252,13 +252,13 @@ interleave2_mmx (int16_t *d_2xn, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
+ " movq %%mm0, %%mm2\n"
+ " punpckhwd %%mm1, %%mm0\n"
+ " punpcklwd %%mm1, %%mm2\n"
+- " movq %%mm2, (%0,%%rcx,4)\n"
+- " movq %%mm0, 8(%0,%%rcx,4)\n"
++ " movq %%mm2, (%q0,%%rcx,4)\n"
++ " movq %%mm0, 8(%q0,%%rcx,4)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -285,12 +285,12 @@ lift_add_shift1_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $1, %%mm1\n"
+- " paddw (%1,%%rcx,2), %%mm1\n"
+- " movq %%mm1, (%0,%%rcx,2)\n"
++ " paddw (%q1,%%rcx,2), %%mm1\n"
++ " movq %%mm1, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -317,13 +317,13 @@ lift_sub_shift1_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $1, %%mm1\n"
+ " psubw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -350,12 +350,12 @@ lift_add_shift2_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $2, %%mm1\n"
+- " paddw (%1,%%rcx,2), %%mm1\n"
+- " movq %%mm1, (%0,%%rcx,2)\n"
++ " paddw (%q1,%%rcx,2), %%mm1\n"
++ " movq %%mm1, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -382,13 +382,13 @@ lift_sub_shift2_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $2, %%mm1\n"
+ " psubw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
diff --git a/dev-libs/liboil/liboil-0.3.17-r1.ebuild b/dev-libs/liboil/liboil-0.3.17-r1.ebuild
new file mode 100644
index 000000000000..a32ebfd82b41
--- /dev/null
+++ b/dev-libs/liboil/liboil-0.3.17-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="Library of simple functions that are optimized for various CPUs"
+HOMEPAGE="http://liboil.freedesktop.org/"
+SRC_URI="http://liboil.freedesktop.org/download/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0.3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+examples static-libs test"
+
+RDEPEND="examples? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig"
+
+src_prepare() {
+ if ! use examples; then
+ sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ if ! use test; then
+ sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ epatch "${FILESDIR}/${P}-amd64-cpuid.patch"
+ has x32 $(get_all_abis) && epatch "${FILESDIR}"/${PN}-0.3.17-x32.patch
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -O?
+ append-flags -O2
+
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ DOCS="AUTHORS BUG-REPORTING HACKING NEWS README"
+ default
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ if ! use examples; then
+ ewarn "You have disabled examples USE flag. Beware that upstream might"
+ ewarn "want the output of some utilities that are only built with"
+ ewarn "USE='examples' if you report bugs to them."
+ fi
+}
diff --git a/dev-libs/liboil/liboil-0.3.17-r2.ebuild b/dev-libs/liboil/liboil-0.3.17-r2.ebuild
new file mode 100644
index 000000000000..a56cf8e92aa3
--- /dev/null
+++ b/dev-libs/liboil/liboil-0.3.17-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib autotools-multilib
+
+DESCRIPTION="Library of simple functions that are optimized for various CPUs"
+HOMEPAGE="http://liboil.freedesktop.org/"
+SRC_URI="http://liboil.freedesktop.org/download/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0.3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+examples static-libs test"
+
+RDEPEND="examples? ( dev-libs/glib:2 )
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r9
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig"
+DOCS=( AUTHORS BUG-REPORTING HACKING NEWS README )
+
+src_prepare() {
+ if ! use examples; then
+ sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ if ! use test; then
+ sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ epatch "${FILESDIR}/${P}-amd64-cpuid.patch"
+ has x32 $(get_all_abis) && epatch "${FILESDIR}"/${PN}-0.3.17-x32.patch
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -O?
+ append-flags -O2
+
+ autotools-multilib_src_configure
+}
+
+pkg_postinst() {
+ if ! use examples; then
+ ewarn "You have disabled examples USE flag. Beware that upstream might"
+ ewarn "want the output of some utilities that are only built with"
+ ewarn "USE='examples' if you report bugs to them."
+ fi
+}
diff --git a/dev-libs/liboil/liboil-0.3.17.ebuild b/dev-libs/liboil/liboil-0.3.17.ebuild
new file mode 100644
index 000000000000..9cee2b8d8bb5
--- /dev/null
+++ b/dev-libs/liboil/liboil-0.3.17.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="Library of simple functions that are optimized for various CPUs"
+HOMEPAGE="http://liboil.freedesktop.org/"
+SRC_URI="http://liboil.freedesktop.org/download/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0.3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd"
+IUSE="doc +examples test"
+
+RDEPEND="examples? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1 )"
+
+src_prepare() {
+ if ! use examples; then
+ sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ if ! use test; then
+ sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ has x32 $(get_all_abis) && epatch "${FILESDIR}"/${PN}-0.3.17-x32.patch
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -O?
+ append-flags -O2
+
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable doc gtk-doc) \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS BUG-REPORTING HACKING NEWS README || die
+}
+
+pkg_postinst() {
+ if ! use examples; then
+ ewarn "You have disabled examples USE flag. Beware that upstream might"
+ ewarn "want the output of some utilities that are only built with"
+ ewarn "USE='examples' if you report bugs to them."
+ fi
+}
diff --git a/dev-libs/liboil/metadata.xml b/dev-libs/liboil/metadata.xml
new file mode 100644
index 000000000000..c03b663ea9ff
--- /dev/null
+++ b/dev-libs/liboil/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liboobs/Manifest b/dev-libs/liboobs/Manifest
new file mode 100644
index 000000000000..77b754faa81d
--- /dev/null
+++ b/dev-libs/liboobs/Manifest
@@ -0,0 +1 @@
+DIST liboobs-3.0.0.tar.bz2 344118 SHA256 1e7a327df7dcfa30e0cd3e0d2ffcd9a2c91c7870291dd30434b5da907945c00a SHA512 67191294059fc6669bcad0d7e07669b1d9f1aa59e8a56ba8697051b901829bc8ef0ac9efe654160ad722884c9a0a80214e4bc989a8a77269bef0999b3fbaad9a WHIRLPOOL 9801d6b4d509e373df1af9f25ac3955cd2acc1e48e6fc01b9d48c4afbbce2616799e7bddb0f500a86cd8fe4e2934bc53c43dbc9b9fdeda8a5ce7e958c254d6e1
diff --git a/dev-libs/liboobs/liboobs-3.0.0.ebuild b/dev-libs/liboobs/liboobs-3.0.0.ebuild
new file mode 100644
index 000000000000..737b06731c84
--- /dev/null
+++ b/dev-libs/liboobs/liboobs-3.0.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit gnome2
+
+DESCRIPTION="Liboobs is a wrapping library to the System Tools Backends"
+HOMEPAGE="http://library.gnome.org/devel/liboobs/stable/"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~arm64 ia64 ppc sparc x86"
+IUSE=""
+
+# FIXME: check if policykit should be checked in configure ?
+RDEPEND="
+ >=dev-libs/glib-2.14:2
+ >=dev-libs/dbus-glib-0.70
+ >=app-admin/system-tools-backends-2.10.1
+"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig
+"
+
+src_configure() {
+ gnome2_src_configure \
+ --without-hal \
+ --disable-static
+}
diff --git a/dev-libs/liboobs/metadata.xml b/dev-libs/liboobs/metadata.xml
new file mode 100644
index 000000000000..0dbc49da363a
--- /dev/null
+++ b/dev-libs/liboobs/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <maintainer>
+ <email>eva@gentoo.org</email>
+ <name>Gilles Dartiguelongue</name>
+ </maintainer>
+ <longdescription lang="en">
+ Liboobs is a wrapping library to the System Tools Backends, it will
+ provide easy to access GObjects to system configuration details, like
+ users, groups and network interfaces, it will handle sessions with the
+ backend and data consistency too
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/liboop/Manifest b/dev-libs/liboop/Manifest
new file mode 100644
index 000000000000..32028114c5d4
--- /dev/null
+++ b/dev-libs/liboop/Manifest
@@ -0,0 +1 @@
+DIST liboop-1.0.tar.bz2 215477 SHA256 4a973d28466fde0b689099192f9bcd081b129d90b3c5a9815e5ade73052cf8d2 SHA512 157385e61af7a5fb055d775f773dc0c455703f86dd3a100b56421b231e8bd78ab9af4712fcfcd07e9344ac2ac4f3cde28e0d966be72061b3b7d50b456ff7818f WHIRLPOOL 791ea83a2e4654c567df768655868563816c57712904ebea054ebd0dc0274e56c5fef3be60b2d3d700691a83b5d18870386502a143d0a15017b3de07d58f19b2
diff --git a/dev-libs/liboop/liboop-1.0-r1.ebuild b/dev-libs/liboop/liboop-1.0-r1.ebuild
new file mode 100644
index 000000000000..d3b4562f9cbc
--- /dev/null
+++ b/dev-libs/liboop/liboop-1.0-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="low-level event loop management library for POSIX-based operating systems"
+HOMEPAGE="http://liboop.ofb.net/"
+SRC_URI="http://download.ofb.net/liboop/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="adns gnome tcl readline"
+
+DEPEND="
+ adns? ( net-libs/adns )
+ gnome? ( dev-libs/glib:2 )
+ tcl? ( dev-lang/tcl:0 )
+ readline? ( sys-libs/readline:0 )"
+
+src_configure() {
+ export ac_cv_path_PROG_LDCONFIG=true
+ econf \
+ $(use_with adns) \
+ $(use_with gnome) \
+ $(use_with tcl tcltk) \
+ $(use_with readline) \
+ --without-libwww \
+ --disable-static
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/liboop/metadata.xml b/dev-libs/liboop/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/liboop/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liborcus/Manifest b/dev-libs/liborcus/Manifest
new file mode 100644
index 000000000000..f7f519be4acd
--- /dev/null
+++ b/dev-libs/liborcus/Manifest
@@ -0,0 +1,3 @@
+DIST liborcus-0.7.0.tar.bz2 1665988 SHA256 7773a8f5f0b810e0f146dbcf3dbb42e89dd8af0868235e01d9f0cdefde41a8a9 SHA512 63aad5154e25d7d7bfd10f07e614e4c1ed2691a31c61c2b1e7ec029fa4d9168eba5b4303f5164ab29ef92843ce8f8afa9682772515c8b5e8ae65f4561b331db8 WHIRLPOOL b555b005b41fb41571ac7dbc63e32541decd0b79d61435a6730de9438761afe363d063905b671e1b724c02f2846e65e2af7fffca40282d08d35e1c4ff787fc63
+DIST liborcus-0.7.1.tar.xz 1472804 SHA256 04846b64262210a0d4e18d72779c901633e45dc9cca2108235b38d4715266a43 SHA512 30461311b084f3c91ef8cc504ca7adfd212f95d49c0a320958ca203606901ddf84e37d5c95073437bad21af4c6ce71fa606dd7cdb7cc7bd58b2699d8863a318c WHIRLPOOL af6f4ff639851b94298f847437c25962412f37617f82c143b1bf71aa4f27b26003ffb2dad61fdbe9718f9b42a0f11c1dda71825da8b2ee8bf9e9fd727f309134
+DIST liborcus-0.9.2.tar.xz 1558072 SHA256 dd49f9f1b8ff8a648434dd5c8b4fe1081d1118d61d0a71d4effee8f32553199c SHA512 1dd847012cf78df962c28408e0b56412a89e1d978d532a17fa92352f6788bbc1a0fe806c2d886ff148a8ee2db54620ce039b1809f347a976dca0078f248fd8ea WHIRLPOOL fe74951704b4cfbdfeeb894be459c4f7046fc23f813c50e43816943d064cbfc4a4f7feebf6a6737cf94d50826ac23796031b7626b89264ee21f42356ffbb44e8
diff --git a/dev-libs/liborcus/files/liborcus-0.5.1-linking.patch b/dev-libs/liborcus/files/liborcus-0.5.1-linking.patch
new file mode 100644
index 000000000000..f9cb64d9b7a8
--- /dev/null
+++ b/dev-libs/liborcus/files/liborcus-0.5.1-linking.patch
@@ -0,0 +1,13 @@
+diff -urN liborcus-0.5.1/src/parser/Makefile.am liborcus-0.5.1.new/src/parser/Makefile.am
+--- liborcus-0.5.1/src/parser/Makefile.am 2013-04-12 16:25:03.000000000 +0200
++++ liborcus-0.5.1.new/src/parser/Makefile.am 2013-04-23 19:45:47.794480191 +0200
+@@ -20,7 +20,8 @@
+
+ liborcus_parser_@ORCUS_API_VERSION@_la_LDFLAGS = -no-undefined
+ liborcus_parser_@ORCUS_API_VERSION@_la_LIBADD = \
+- $(ZLIB_LIBS)
++ $(BOOST_SYSTEM_LIB) \
++ $(ZLIB_LIBS)
+
+ EXTRA_PROGRAMS = \
+ parser-test-string-pool \
diff --git a/dev-libs/liborcus/files/liborcus-0.5.1-mdds.patch b/dev-libs/liborcus/files/liborcus-0.5.1-mdds.patch
new file mode 100644
index 000000000000..740376b36be1
--- /dev/null
+++ b/dev-libs/liborcus/files/liborcus-0.5.1-mdds.patch
@@ -0,0 +1,12 @@
+diff -urN liborcus-0.5.1.old/src/spreadsheet/sheet.cpp liborcus-0.5.1/src/spreadsheet/sheet.cpp
+--- liborcus-0.5.1.old/src/spreadsheet/sheet.cpp 2013-05-27 19:07:41.712302036 +0200
++++ liborcus-0.5.1/src/spreadsheet/sheet.cpp 2013-05-27 19:08:51.432302028 +0200
+@@ -734,7 +734,7 @@
+ con.build_tree();
+
+ size_t index;
+- if (!con.search_tree(col, index))
++ if (!con.search_tree(col, index).second)
+ return 0;
+
+ return index;
diff --git a/dev-libs/liborcus/files/liborcus-0.5.1-oldnamespace.patch b/dev-libs/liborcus/files/liborcus-0.5.1-oldnamespace.patch
new file mode 100644
index 000000000000..c8a669ecaf25
--- /dev/null
+++ b/dev-libs/liborcus/files/liborcus-0.5.1-oldnamespace.patch
@@ -0,0 +1,11 @@
+diff -urN liborcus-0.5.1.old/src/orcus_xml_main.cpp liborcus-0.5.1/src/orcus_xml_main.cpp
+--- liborcus-0.5.1.old/src/orcus_xml_main.cpp 2013-05-27 19:07:41.713302036 +0200
++++ liborcus-0.5.1/src/orcus_xml_main.cpp 2013-05-27 20:01:44.007301649 +0200
+@@ -36,6 +36,7 @@
+
+ #include <cstdlib>
+ #include <cstring>
++#include <iostream>
+ #include <fstream>
+
+ using namespace orcus;
diff --git a/dev-libs/liborcus/files/liborcus-0.7.0-boost-1.56.patch b/dev-libs/liborcus/files/liborcus-0.7.0-boost-1.56.patch
new file mode 100644
index 000000000000..f72d66be11af
--- /dev/null
+++ b/dev-libs/liborcus/files/liborcus-0.7.0-boost-1.56.patch
@@ -0,0 +1,25 @@
+From c01874c7770f4f56c031d7463156e03f2945e015 Mon Sep 17 00:00:00 2001
+From: Dmitry Roshchin <dmitry@roshchin.org>
+Date: Mon, 27 Oct 2014 16:19:32 +0300
+Subject: [PATCH] Fix build with boost 1.56
+
+---
+ src/parser/string_pool_test.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/parser/string_pool_test.cpp b/src/parser/string_pool_test.cpp
+index ad7d7c8..0d32c62 100644
+--- a/src/parser/string_pool_test.cpp
++++ b/src/parser/string_pool_test.cpp
+@@ -5,6 +5,8 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
++#include <iostream>
++
+ #include "orcus/string_pool.hpp"
+ #include "orcus/pstring.hpp"
+
+--
+1.7.1
+
diff --git a/dev-libs/liborcus/liborcus-0.7.0.ebuild b/dev-libs/liborcus/liborcus-0.7.0.ebuild
new file mode 100644
index 000000000000..5e300e88270a
--- /dev/null
+++ b/dev-libs/liborcus/liborcus-0.7.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://gitorious.org/orcus/orcus.git"
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-2 autotools"
+inherit eutils ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="Standalone file import filter library for spreadsheet documents"
+HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/orcus/src/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="amd64 ~arm ~ppc x86"
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/boost-1.51.0:=
+ =dev-libs/libixion-0.7*
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.8.1
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-0.7.0-boost-1.56.patch" # bug 527242
+
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-werror \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/liborcus/liborcus-0.7.1.ebuild b/dev-libs/liborcus/liborcus-0.7.1.ebuild
new file mode 100644
index 000000000000..7c68d4c97fbe
--- /dev/null
+++ b/dev-libs/liborcus/liborcus-0.7.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://gitlab.com/orcus/orcus.git"
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-2 autotools"
+inherit eutils ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="Standalone file import filter library for spreadsheet documents"
+HOMEPAGE="https://gitlab.com/orcus/orcus"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/orcus/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="amd64 ~arm ~ppc x86"
+
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/boost-1.51.0:=
+ >=dev-libs/libixion-0.9:=
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.8.1
+"
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-werror \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/liborcus/liborcus-0.9.2.ebuild b/dev-libs/liborcus/liborcus-0.9.2.ebuild
new file mode 100644
index 000000000000..cfc3394db20c
--- /dev/null
+++ b/dev-libs/liborcus/liborcus-0.9.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
+inherit eutils ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="Standalone file import filter library for spreadsheet documents"
+HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/orcus/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/0.10"
+
+#[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/boost-1.51.0:=
+ =dev-libs/libixion-0.9*:=
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.11
+"
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-werror \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/liborcus/liborcus-9999.ebuild b/dev-libs/liborcus/liborcus-9999.ebuild
new file mode 100644
index 000000000000..e175a1e15171
--- /dev/null
+++ b/dev-libs/liborcus/liborcus-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
+
+[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
+inherit eutils ${GITECLASS}
+unset GITECLASS
+
+DESCRIPTION="Standalone file import filter library for spreadsheet documents"
+HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
+[[ ${PV} == 9999 ]] || SRC_URI="http://kohei.us/files/orcus/src/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/0.10"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/boost-1.51.0:=
+ =dev-libs/libixion-0.9*:=
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}
+ >=dev-util/mdds-0.11
+"
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-werror \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/liborcus/metadata.xml b/dev-libs/liborcus/metadata.xml
new file mode 100644
index 000000000000..5d46203011d6
--- /dev/null
+++ b/dev-libs/liborcus/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+</pkgmetadata>
diff --git a/dev-libs/libotf/Manifest b/dev-libs/libotf/Manifest
new file mode 100644
index 000000000000..c3567814332b
--- /dev/null
+++ b/dev-libs/libotf/Manifest
@@ -0,0 +1 @@
+DIST libotf-0.9.13.tar.gz 388832 SHA256 7bc466ba50425f95b52de12b4ad35320acefcef13ce67bf33edc14abdcfe6908 SHA512 86ddf071df371ee44910afc02432352356bfa1c2a55b44274c95fc4e7ec4fca982a7fcde35aaa63a8cb332e98388a9faf9a94fbf0f39e85668630f77d841ef31 WHIRLPOOL efdfb7b90b3710a81a070b2b07c2af6b622cbd093d66ddf3beeeff1a4a7c26d5ad1372cd8a65b13913e5d2531aafb1b54becf3cb3db06a7437f1879a945a455a
diff --git a/dev-libs/libotf/files/libotf-0.9.13-build.patch b/dev-libs/libotf/files/libotf-0.9.13-build.patch
new file mode 100644
index 000000000000..519722f43371
--- /dev/null
+++ b/dev-libs/libotf/files/libotf-0.9.13-build.patch
@@ -0,0 +1,22 @@
+--- example/Makefile.am
++++ example/Makefile.am
+@@ -37,8 +37,7 @@
+ otfdump_LDADD = ${CommonLDADD}
+
+ otfview_SOURCE = otfview.c
+-otfview_LDADD = ${CommonLDADD}
+-otfview_LDFLAGS = ${X_LIBS} ${X_PRE_LIBS} @X11_XT_XAW_XMU@ ${X_EXTRA_LIBS}
++otfview_LDADD = ${CommonLDADD} ${X_LIBS} ${X_PRE_LIBS} @X11_XT_XAW_XMU@ ${X_EXTRA_LIBS}
+
+ otftobdf_SOURCE = otftobdf.c
+ otftobdf_LDADD = ${CommonLDADD}
+--- libotf.pc.in
++++ libotf.pc.in
+@@ -7,5 +7,6 @@
+ Description: OpenType font library
+ Version: @PACKAGE_VERSION@
+ Requires: freetype2
+-Libs: @FREETYPE_LD_FLAGS@ -L${libdir} -lotf
++Libs: -L${libdir} -lotf
++Libs.private: @FREETYPE_LD_FLAGS@
+ Cflags: @FREETYPE_INC@ -I${includedir}
diff --git a/dev-libs/libotf/libotf-0.9.13.ebuild b/dev-libs/libotf/libotf-0.9.13.ebuild
new file mode 100644
index 000000000000..43afa4e71007
--- /dev/null
+++ b/dev-libs/libotf/libotf-0.9.13.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Library for handling OpenType fonts (OTF)"
+HOMEPAGE="http://www.nongnu.org/m17n/"
+SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs X"
+
+RDEPEND=">=media-libs/freetype-2.4.9
+ X? (
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXt
+ )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-libs/libICE
+ x11-libs/libXmu
+ x11-proto/xproto
+ )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-build.patch
+ eautoreconf
+}
+
+src_configure() {
+ export ac_cv_header_X11_Xaw_Command_h=$(usex X)
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libotf/metadata.xml b/dev-libs/libotf/metadata.xml
new file mode 100644
index 000000000000..cdee2535d93e
--- /dev/null
+++ b/dev-libs/libotf/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+<herd>fonts</herd>
+</pkgmetadata>
diff --git a/dev-libs/libowfat/Manifest b/dev-libs/libowfat/Manifest
new file mode 100644
index 000000000000..ce62deddd019
--- /dev/null
+++ b/dev-libs/libowfat/Manifest
@@ -0,0 +1 @@
+DIST libowfat-0.29.tar.bz2 139489 SHA256 4badbdeed6bef4337f1edd6b86fb7154c5592509c272dcdc09c693161cbc6427 SHA512 35b3be01f288a24ebf01e1f860bc2bba7431db890be1b117f9a7f0702532610d283f6e569b1a1d1e625a4fec3394d2c6ed5c2bf512a11c38ecf89cf89ec72136 WHIRLPOOL cc23d2c0a643b6a65b5d07a555bb1bd32d5f5f572e1fe414725e28e51614c53f538e4c7a7a24022c10784ae8097714549624b5f548700970c8aa34ad3b926dfe
diff --git a/dev-libs/libowfat/files/libowfat-0.28-GNUmakefile.patch b/dev-libs/libowfat/files/libowfat-0.28-GNUmakefile.patch
new file mode 100644
index 000000000000..03b8981876d2
--- /dev/null
+++ b/dev-libs/libowfat/files/libowfat-0.28-GNUmakefile.patch
@@ -0,0 +1,10 @@
+--- GNUmakefile.bak 2011-10-22 22:08:53.443669478 -0700
++++ GNUmakefile 2011-10-22 22:09:27.535002311 -0700
+@@ -277,6 +277,7 @@
+ socket_accept4.o socket_accept6.o socket_connected.o socket_local4.o \
+ socket_local6.o socket_recv4.o socket_recv6.o socket_remote4.o \
+ socket_remote6.o: havesl.h
++socket_remote4.o: havescope.h
+
+ dns_nd6.o fmt_xlong.o scan_xlong.o fmt_ip6_flat.o $(TEXTCODE_OBJS): haveinline.h
+
diff --git a/dev-libs/libowfat/libowfat-0.29.ebuild b/dev-libs/libowfat/libowfat-0.29.ebuild
new file mode 100644
index 000000000000..dcaef4b07e25
--- /dev/null
+++ b/dev-libs/libowfat/libowfat-0.29.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit flag-o-matic toolchain-funcs eutils
+
+DESCRIPTION="reimplement libdjb - excellent libraries from Dan Bernstein"
+SRC_URI="http://dl.fefe.de/${P}.tar.bz2"
+HOMEPAGE="http://www.fefe.de/libowfat/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 sparc x86"
+IUSE="diet"
+
+RDEPEND="diet? ( >=dev-libs/dietlibc-0.33_pre20090721 )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4"
+
+pkg_setup() {
+ # Required for mult/umult64.c to be usable
+ append-flags -fomit-frame-pointer
+}
+
+src_prepare() {
+ sed -e "s:^CFLAGS.*:CFLAGS=-I. ${CFLAGS}:" \
+ -e "s:^DIET.*:DIET?=/usr/bin/diet -Os:" \
+ -e "s:^prefix.*:prefix=/usr:" \
+ -e "s:^INCLUDEDIR.*:INCLUDEDIR=\${prefix}/include/libowfat:" \
+ -i GNUmakefile || die "sed failed"
+ epatch "${FILESDIR}/libowfat-0.28-GNUmakefile.patch"
+}
+
+src_compile() {
+ emake -j1 \
+ CC=$(tc-getCC) \
+ $( use diet || echo 'DIET=' )
+}
+
+src_install () {
+ emake -j1 \
+ LIBDIR="${D}/usr/lib" \
+ MAN3DIR="${D}/usr/share/man/man3" \
+ INCLUDEDIR="${D}/usr/include/libowfat" \
+ install || die "emake install failed"
+
+ cd "${D}"/usr/share/man
+ mv man3/buffer.3 man3/owfat-buffer.3
+}
diff --git a/dev-libs/libowfat/metadata.xml b/dev-libs/libowfat/metadata.xml
new file mode 100644
index 000000000000..d6487d17b847
--- /dev/null
+++ b/dev-libs/libowfat/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+</maintainer>
+<longdescription>reimplement libdjb - excellent libraries from Dan Bernstein</longdescription>
+<use><flag name="diet">Compile against <pkg>dev-libs/dietlibc</pkg></flag></use>
+</pkgmetadata>
diff --git a/dev-libs/libp11/Manifest b/dev-libs/libp11/Manifest
new file mode 100644
index 000000000000..be0fb11751da
--- /dev/null
+++ b/dev-libs/libp11/Manifest
@@ -0,0 +1 @@
+DIST libp11-0.2.8.tar.gz 377508 SHA256 a4121015503ade98074b5e2a2517fc8a139f8b28aed10021db2bb77283f40691 SHA512 917c6623942c83e7657c9b9c4ce0482ffc4539fc29edec9ace412dcece640be3785bf82e09e344c0866b55619ea011ab829ef3d4f8205f2019121d837b1d6c17 WHIRLPOOL fe4f8c6ce952e8a0985bf90af1413c0ba2c2ac84309b1cad55c12f65aa77655e4b9154e1af53d55ba968f9c88a960efd44a4033bcbaa309958f35327eeeac0d9
diff --git a/dev-libs/libp11/files/libp11-0.2.8-no-ltdl.patch b/dev-libs/libp11/files/libp11-0.2.8-no-ltdl.patch
new file mode 100644
index 000000000000..f3997ba65ba1
--- /dev/null
+++ b/dev-libs/libp11/files/libp11-0.2.8-no-ltdl.patch
@@ -0,0 +1,196 @@
+patch from upstream
+
+From 1c872a3e9c4cbf3cbd485168a7e98b589bbad57a Mon Sep 17 00:00:00 2001
+From: alonbl <alonbl@6d86ddd8-19ff-0310-a323-aa2ba648d307>
+Date: Wed, 14 Dec 2011 10:46:45 +0000
+Subject: [PATCH] Remove ltdl usage
+
+Use native POSIX/Windows
+
+
+git-svn-id: http://www.opensc-project.org/svn/libp11/trunk@202 6d86ddd8-19ff-0310-a323-aa2ba648d307
+---
+ configure.ac | 23 +++++------------------
+ src/Makefile.am | 4 ++--
+ src/Makefile.mak | 7 ++-----
+ src/libpkcs11.c | 52 +++++++++++++++++++++++++++++++++++++++-------------
+ 4 files changed, 48 insertions(+), 38 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 679b8da..9fa96bf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -180,25 +180,14 @@ if test "${svn_checkout}" = "yes"; then
+ fi
+ fi
+
+-AC_ARG_VAR([LTLIB_CFLAGS], [C compiler flags for libltdl])
+-AC_ARG_VAR([LTLIB_LIBS], [linker flags for libltdl])
+-if test -z "${LTLIB_LIBS}"; then
++if test "${WIN32}" != "yes"; then
+ AC_CHECK_LIB(
+- [ltdl],
+- [lt_dlopen],
+- [LTLIB_LIBS="-lltdl"],
+- [AC_MSG_ERROR([ltdl not found, please install libltdl and/or libtool])]
++ [dl],
++ [dlopen],
++ ,
++ [AC_MSG_ERROR([libdl required])]
+ )
+-
+ fi
+-saved_CFLAGS="${CFLAGS}"
+-CFLAGS="${CFLAGS} ${LTLIB_CFLAGS}"
+-AC_CHECK_HEADER(
+- [ltdl.h],
+- ,
+- [AC_MSG_ERROR([ltdl.h not found, please install libltdl and/or libtool])]
+-)
+-CFLAGS="${saved_CFLAGS}"
+
+ PKG_CHECK_MODULES(
+ [OPENSSL],
+@@ -273,8 +262,6 @@ Compiler flags: ${CFLAGS}
+ Linker flags: ${LDFLAGS}
+ Libraries: ${LIBS}
+
+-LTLIB_CFLAGS: ${LTLIB_CFLAGS}
+-LTLIB_LIBS: ${LTLIB_LIBS}
+ OPENSSL_CFLAGS: ${OPENSSL_CFLAGS}
+ OPENSSL_LIBS: ${OPENSSL_LIBS}
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c66a8cd..0910f44 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -16,8 +16,8 @@ libp11_la_SOURCES += versioninfo.rc
+ else
+ dist_noinst_DATA = versioninfo.rc
+ endif
+-libp11_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) $(LTLIB_CFLAGS)
+-libp11_la_LIBADD = $(OPENSSL_LIBS) $(LTLIB_LIBS)
++libp11_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS)
++libp11_la_LIBADD = $(OPENSSL_LIBS)
+ libp11_la_LDFLAGS = $(AM_LDFLAGS) \
+ -version-info @LIBP11_LT_CURRENT@:@LIBP11_LT_REVISION@:@LIBP11_LT_AGE@ \
+ -export-symbols "$(srcdir)/libp11.exports" \
+diff --git a/src/Makefile.mak b/src/Makefile.mak
+index 73b5428..fa0809c 100644
+--- a/src/Makefile.mak
++++ b/src/Makefile.mak
+@@ -1,10 +1,7 @@
+-LIBLTDL_INC = # E.g. /IC:\libtool-1.5.8-lib\include
+-LIBLTDL_LIB = # E.g. C:\libtool-1.5.8-lib\lib\libltdl.lib
+-
+ OPENSSL_INC = /IC:\openssl\include
+ OPENSSL_LIB = C:\openssl\out32dll\libeay32.lib
+
+-COPTS = /Zi /MD /nologo /I..\ /I. $(OPENSSL_INC) $(LIBLTDL_INC) /D_WIN32_WINNT=0x0400 /DWIN32 /DWIN32_LEAN_AND_MEAN
++COPTS = /Zi /MD /nologo /I..\ /I. $(OPENSSL_INC) /D_WIN32_WINNT=0x0400 /DWIN32 /DWIN32_LEAN_AND_MEAN
+ LINKFLAGS = /DEBUG /NOLOGO /INCREMENTAL:NO /MACHINE:IX86
+
+ TARGET = libp11.dll
+@@ -28,6 +25,6 @@ $(TARGET): $(OBJECTS) versioninfo.res
+ echo EXPORTS >> $*.def
+ type $*.exports >> $*.def
+ link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) \
+- $(OBJECTS) $(OPENSSL_LIB) $(LIBLTDL_LIB) versioninfo.res
++ $(OBJECTS) $(OPENSSL_LIB) versioninfo.res
+ if EXIST $*.dll.manifest mt -manifest $*.dll.manifest -outputresource:$*.dll;2
+
+diff --git a/src/libpkcs11.c b/src/libpkcs11.c
+index a146361..93584d9 100644
+--- a/src/libpkcs11.c
++++ b/src/libpkcs11.c
+@@ -27,14 +27,18 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+-#include <ltdl.h>
++#ifdef WIN32
++#include <windows.h>
++#else
++#include <dlfcn.h>
++#endif
+ #include "libp11-int.h"
+
+ #define MAGIC 0xd00bed00
+
+ struct sc_pkcs11_module {
+ unsigned int _magic;
+- lt_dlhandle handle;
++ void *handle;
+ };
+ typedef struct sc_pkcs11_module sc_pkcs11_module_t;
+
+@@ -52,19 +56,40 @@ C_LoadModule(const char *mspec, CK_FUNCTION_LIST_PTR_PTR funcs)
+ if (mspec == NULL)
+ return NULL;
+
+- if (lt_dlinit() != 0)
+- return NULL;
+-
+ mod = (sc_pkcs11_module_t *) calloc(1, sizeof(*mod));
+ mod->_magic = MAGIC;
+
+- mod->handle = lt_dlopen(mspec);
++#ifdef WIN32
++ mod->handle = LoadLibraryA(mspec);
++#else
++ mod->handle = dlopen(mspec, RTLD_NOW);
++#endif
++
+ if (mod->handle == NULL)
+ goto failed;
+
+- /* Get the list of function pointers */
+- c_get_function_list = (CK_RV (*)(CK_FUNCTION_LIST_PTR_PTR))
+- lt_dlsym(mod->handle, "C_GetFunctionList");
++#ifdef WIN32
++ c_get_function_list = (CK_C_GetFunctionList)GetProcAddress (
++ mod->handle,
++ "C_GetFunctionList"
++ );
++#else
++ {
++ /*
++ * Make compiler happy!
++ */
++ void *p = dlsym(
++ mod->handle,
++ "C_GetFunctionList"
++ );
++ memmove(
++ &c_get_function_list,
++ &p,
++ sizeof(void *)
++ );
++ }
++#endif
++
+ if (!c_get_function_list)
+ goto failed;
+ rv = c_get_function_list(funcs);
+@@ -89,13 +114,14 @@ C_UnloadModule(void *module)
+ if (!mod || mod->_magic != MAGIC)
+ return CKR_ARGUMENTS_BAD;
+
+- if (lt_dlclose(mod->handle) < 0)
+- return CKR_FUNCTION_FAILED;
++#ifdef WIN32
++ FreeLibrary(mod->handle);
++#else
++ dlclose(mod->handle);
++#endif
+
+ memset(mod, 0, sizeof(*mod));
+ free(mod);
+
+- lt_dlexit();
+-
+ return CKR_OK;
+ }
+--
+1.7.6.1
+
diff --git a/dev-libs/libp11/files/libp11-0.2.8-variable-buffer-size.patch b/dev-libs/libp11/files/libp11-0.2.8-variable-buffer-size.patch
new file mode 100644
index 000000000000..8cee3fb3f058
--- /dev/null
+++ b/dev-libs/libp11/files/libp11-0.2.8-variable-buffer-size.patch
@@ -0,0 +1,114 @@
+3 year old upstream proposal https://www.opensc-project.org/opensc/ticket/350
+
+The fixed buffers allocated in pkcs11_init_cert are too small to hold the
+output data for some certificates. It causes a "Buffer too small" error
+to be returned from pkcs11_getattr_var.
+
+Fix from Chromium OS:
+Use heap instead of stack for variable length data when reading
+certificate attributes.
+
+Patch by Paul Stewart <pstew@chromium.org>
+
+--- a/src/libp11-int.h
++++ b/src/libp11-int.h
+@@ -136,6 +136,8 @@
+ unsigned int, void *, size_t *);
+ extern int pkcs11_getattr_bn(PKCS11_TOKEN *, CK_OBJECT_HANDLE,
+ unsigned int, BIGNUM **);
++extern void *pkcs11_getattr_alloc(PKCS11_TOKEN *, CK_OBJECT_HANDLE,
++ unsigned int, size_t *);
+
+ #define key_getattr(key, t, p, s) \
+ pkcs11_getattr(KEY2TOKEN((key)), PRIVKEY((key))->object, (t), (p), (s))
+--- a/src/p11_attr.c
++++ b/src/p11_attr.c
+@@ -98,6 +98,32 @@
+ return *bn ? 0 : -1;
+ }
+
++void *
++pkcs11_getattr_alloc(PKCS11_TOKEN * token, CK_OBJECT_HANDLE object,
++ unsigned int type, size_t *size_out)
++{
++ size_t size = 0;
++ void *data = NULL;
++
++ if (pkcs11_getattr_var(token, object, type, NULL, &size))
++ return NULL;
++
++ data = malloc(size);
++ if (data == NULL)
++ return NULL;
++
++ memset(data, 0, size);
++ if (pkcs11_getattr_var(token, object, type, data, &size)) {
++ free(data);
++ return NULL;
++ }
++
++ if (size_out != NULL)
++ *size_out = size;
++
++ return data;
++}
++
+ /*
+ * Add attributes to template
+ */
+--- a/src/p11_cert.c
++++ b/src/p11_cert.c
+@@ -136,10 +136,9 @@
+ PKCS11_TOKEN_private *tpriv;
+ PKCS11_CERT_private *kpriv;
+ PKCS11_CERT *cert, *tmp;
+- char label[256], data[2048];
+- unsigned char id[256];
+ CK_CERTIFICATE_TYPE cert_type;
+ size_t size;
++ void *data;
+
+ size = sizeof(cert_type);
+ if (pkcs11_getattr_var(token, obj, CKA_CERTIFICATE_TYPE, &cert_type, &size))
+@@ -165,18 +164,32 @@
+ kpriv->object = obj;
+ kpriv->parent = token;
+
+- if (!pkcs11_getattr_s(token, obj, CKA_LABEL, label, sizeof(label)))
+- cert->label = BUF_strdup(label);
+- size = sizeof(data);
+- if (!pkcs11_getattr_var(token, obj, CKA_VALUE, data, &size)) {
+- const unsigned char *p = (unsigned char *) data;
++ data = pkcs11_getattr_alloc(token, obj, CKA_LABEL, &size);
++ if (data != NULL) {
++ char *label = data;
++ /* Fix any null-termination issues with the label */
++ if (label[size - 1] != '\0') {
++ label = realloc(label, size + 1);
++ if (label == NULL) {
++ free(data);
++ return -1;
++ }
++ label[size] = '\0';
++ }
++ cert->label = label;
++ }
+
++ data = pkcs11_getattr_alloc(token, obj, CKA_VALUE, &size);
++ if (data != NULL) {
++ const unsigned char *p = data;
+ cert->x509 = d2i_X509(NULL, &p, size);
++ free(data);
+ }
+- cert->id_len = sizeof(id);
+- if (!pkcs11_getattr_var(token, obj, CKA_ID, id, &cert->id_len)) {
+- cert->id = (unsigned char *) malloc(cert->id_len);
+- memcpy(cert->id, id, cert->id_len);
++ data = pkcs11_getattr_alloc(token, obj, CKA_ID, &cert->id_len);
++ if (data != NULL) {
++ cert->id = data;
++ } else {
++ cert->id_len = 0;
+ }
+
+ /* Initialize internal information */
diff --git a/dev-libs/libp11/libp11-0.2.8-r3.ebuild b/dev-libs/libp11/libp11-0.2.8-r3.ebuild
new file mode 100644
index 000000000000..69765ed31517
--- /dev/null
+++ b/dev-libs/libp11/libp11-0.2.8-r3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils autotools
+
+DESCRIPTION="A library implementing a layer on top of PKCS#11 API to make using PKCS#11 implementations easier"
+HOMEPAGE="https://github.com/opensc/libp11/wiki"
+SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="doc"
+
+RDEPEND="dev-libs/openssl:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-ltdl.patch
+ epatch "${FILESDIR}"/${P}-variable-buffer-size.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir="/usr/share/doc/${PF}/html" \
+ --enable-shared --disable-static \
+ --enable-doc \
+ $(use_enable doc api-doc)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libp11/metadata.xml b/dev-libs/libp11/metadata.xml
new file mode 100644
index 000000000000..4330eeef4bae
--- /dev/null
+++ b/dev-libs/libp11/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <longdescription>
+ Library implementing a small layer on top of PKCS#11 API to make
+ using PKCS#11 implementations easier.
+ </longdescription>
+ <use>
+ <flag name="doc">
+ Generate and install API documentation for the package.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">opensc/libp11</remote-id>
+ <remote-id type="sourceforge">opensc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libparserutils/Manifest b/dev-libs/libparserutils/Manifest
new file mode 100644
index 000000000000..9c43247362e0
--- /dev/null
+++ b/dev-libs/libparserutils/Manifest
@@ -0,0 +1,6 @@
+DIST libparserutils-0.1.2-src.tar.gz 74663 SHA256 0a21efd3882c19965f57161c4ecda85a363a71dbe090030dfa69f9aecd2160aa SHA512 e94fbbacd39fc58485e8d7812043bab2780cd828f19d2e7f1173144e2aa24d748ac598a69982f3e224d0920b868f53507d5c261ce14b111c5b7d1ee5fc51b7e1 WHIRLPOOL f53b0b518440d744191db69276a81fb63ad150d01df64921372b2f609c3d7111f87cb879593c19d708d2dea343a548956eb1416ba51360fcf06afef691d173df
+DIST libparserutils-0.2.0-src.tar.gz 74431 SHA256 55c50abbffaaebe17acba43008ee2c4085401ce618e505fafa7c75baaa813da7 SHA512 82b3049691af96682ce09723cde3d5b3f0ae85c37897fa9e79841a2e0ab910f614fdb895814dd45c384bc3ef5f063f91ba55e31d9733b0b21431d8ccc04e43e7 WHIRLPOOL 73ae201bb99136b26c9b16b71f9d51e6684407a30ffce1c8f8d9163581a8220c253518a8c9f406e7d6ded4ea7d7cfad869c61a768baf14738160bd0a5e196ca0
+DIST libparserutils-0.2.1-src.tar.gz 74426 SHA256 30589e6b3adf0c14b5a78de1fba3b9b84cbd74e95e22d45827fa3e09b563f735 SHA512 42ca23565d54eaaff87db43e23dc84da155bb958e1026e226c7bb52db1e147bedb5d813d5f06ebfe254e48a8e95309235e1d98bd5a040e2c3eca231d983de250 WHIRLPOOL 941d79f25c72afc34e13c7296ea30fb9fb74c8730bd07ca90138c0c4949dc1ddbf8e3d071f31aaed60f7a0e9ce297dfeca136008705052cd1a776eec865cade5
+DIST netsurf-buildsystem-1.0.tar.gz 37026 SHA256 4495e8e12faf0ace668ab80401064ce7f65a195efe63c924c066a109649ff146 SHA512 763e10766ab16be375c40a226e36a95df5740ac62b5bbc4eb6d52693b83284d2e71d9a3d797f55c28853a5d2565182759ffa9bfb3d736daf21b347f418661c47 WHIRLPOOL a65d53424a34a796a1f85ed5d4a9ca9bf58eaba7246e5ea20bc7da09e0e8ab60e156ce47da521660d5567c6358fda0da744e56ccf52cda6e0db92b19a6055d38
+DIST netsurf-buildsystem-1.2.tar.gz 38914 SHA256 3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61 SHA512 963e8a5033e8ef70595507f24fea3d9697eefb50ad7f92a6d3c913501c7026f12ec6d48f92b75e352b32f212f6216b8d8455aff25fa8d8d0fc12a3b19a875a1c WHIRLPOOL e56a520ae284089d0f36f06a6891ebb5b208ca847c74340c18581340e457c20ae9365999dc13284f438b965dcd7e85f04b93d1c1f22cadf6f7c1e2cef81d528c
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libparserutils/files/libparserutils-0.1.1-unused.patch b/dev-libs/libparserutils/files/libparserutils-0.1.1-unused.patch
new file mode 100644
index 000000000000..6b9036d6f343
--- /dev/null
+++ b/dev-libs/libparserutils/files/libparserutils-0.1.1-unused.patch
@@ -0,0 +1,20 @@
+--- libparserutils-0.1.1/test/inputstream.c
++++ libparserutils-0.1.1/test/inputstream.c
+@@ -25,7 +25,7 @@
+ {
+ parserutils_inputstream *stream;
+ FILE *fp;
+- size_t len, origlen;
++ size_t len;
+ #define CHUNK_SIZE (4096)
+ uint8_t buf[CHUNK_SIZE];
+ const uint8_t *c;
+@@ -46,7 +46,7 @@
+ }
+
+ fseek(fp, 0, SEEK_END);
+- origlen = len = ftell(fp);
++ len = ftell(fp);
+ fseek(fp, 0, SEEK_SET);
+
+ while (len >= CHUNK_SIZE) {
diff --git a/dev-libs/libparserutils/files/libparserutils-0.2.0-glibc-2.20.patch b/dev-libs/libparserutils/files/libparserutils-0.2.0-glibc-2.20.patch
new file mode 100644
index 000000000000..a8ff98f67077
--- /dev/null
+++ b/dev-libs/libparserutils/files/libparserutils-0.2.0-glibc-2.20.patch
@@ -0,0 +1,16 @@
+--- libparserutils-0.2.0/Makefile
++++ libparserutils-0.2.0/Makefile
+@@ -15,12 +15,8 @@
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs -pedantic
+-# BeOS/Haiku standard library headers create warnings.
+-ifneq ($(TARGET),beos)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+-endif
+
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libparserutils/files/libparserutils-0.2.1-glibc-2.20.patch b/dev-libs/libparserutils/files/libparserutils-0.2.1-glibc-2.20.patch
new file mode 100644
index 000000000000..c0d835e00ecb
--- /dev/null
+++ b/dev-libs/libparserutils/files/libparserutils-0.2.1-glibc-2.20.patch
@@ -0,0 +1,15 @@
+--- libparserutils-0.2.1/Makefile
++++ libparserutils-0.2.1/Makefile
+@@ -16,11 +16,8 @@
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs -pedantic
+ # BeOS/Haiku standard library headers create warnings.
+-ifneq ($(BUILD),i586-pc-haiku)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+-endif
+
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libparserutils/libparserutils-0.1.2.ebuild b/dev-libs/libparserutils/libparserutils-0.1.2.ebuild
new file mode 100644
index 000000000000..07f4e6cd2c92
--- /dev/null
+++ b/dev-libs/libparserutils/libparserutils-0.1.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic netsurf
+
+DESCRIPTION="library for building efficient parsers, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="iconv test"
+
+DEPEND="test? ( dev-lang/perl )"
+
+DOCS=( README docs/Todo )
+
+src_configure() {
+ netsurf_src_configure
+
+ append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
+}
diff --git a/dev-libs/libparserutils/libparserutils-0.2.0-r1.ebuild b/dev-libs/libparserutils/libparserutils-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..9ac7fc7d2538
--- /dev/null
+++ b/dev-libs/libparserutils/libparserutils-0.2.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit flag-o-matic netsurf
+
+DESCRIPTION="library for building efficient parsers, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="iconv test"
+
+DEPEND="test? ( dev-lang/perl )"
+
+DOCS=( README docs/Todo )
+
+PATCHES=( "${FILESDIR}"/${P}-glibc-2.20.patch )
+
+src_configure() {
+ netsurf_src_configure
+
+ append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
+}
diff --git a/dev-libs/libparserutils/libparserutils-0.2.1-r1.ebuild b/dev-libs/libparserutils/libparserutils-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..048b660214b8
--- /dev/null
+++ b/dev-libs/libparserutils/libparserutils-0.2.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit flag-o-matic netsurf
+
+DESCRIPTION="library for building efficient parsers, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="iconv test"
+
+DEPEND="test? ( dev-lang/perl )"
+
+DOCS=( README docs/Todo )
+
+PATCHES=( "${FILESDIR}"/${P}-glibc-2.20.patch )
+
+src_configure() {
+ netsurf_src_configure
+
+ append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
+}
diff --git a/dev-libs/libparserutils/metadata.xml b/dev-libs/libparserutils/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/libparserutils/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
new file mode 100644
index 000000000000..a4bcd7b39cfb
--- /dev/null
+++ b/dev-libs/libpcre/Manifest
@@ -0,0 +1,4 @@
+DIST pcre-7.9.tar.bz2 861580 SHA256 40a13a9759f1de5b16bc2f0d47b6aa5f0ec010325646922f54b013c040dcd740 SHA512 b4c47a9b196750d4bead9e3904702fc793d282a22af1b34e24081077b4c167ec787cf7dec9a565fa9df4dafb5927b7accdd49568f5c2f8733842cbbec5d4d25c WHIRLPOOL 412cf0a128861cbb991a0424e9f4ba551093b7853465776e17465f9c2b4222002a8b26d7a234b91a49e055a04ae840ad5d6c1613615c98db3d44413a723a6152
+DIST pcre-8.35.tar.bz2 1522220 SHA256 a961c1c78befef263cc130756eeca7b674b4e73a81533293df44e4265236865b SHA512 e94c652b40de60b391e28afbddc67b5a034650f6f62027e52f2d7aef53caf5f0da9f2d4f6872d1558f965dd9d4d696e5e23d2a50f20a4fbc9f0a707fb6f55fae WHIRLPOOL 677dd9673299438c4d76c68947124069b9c2b88ac837e59d00fc4e92113498357041f173ec4ae1cd61e760debad0a2392710f986794796678e596b9a22ba62a2
+DIST pcre-8.36.tar.bz2 1533818 SHA256 ef833457de0c40e82f573e34528f43a751ff20257ad0e86d272ed5637eb845bb SHA512 acd2bc6911be7b518ad4aca3c3ccbe98bdbeabf0e77d6b04009838c7825b563a001377f8c3a6a8a0583ec32ee9fefe05e3c1a69f272fe5084469a6b6c2148fbf WHIRLPOOL 4c144e3c468a76d8bac3d8a0d4642f7b2e2bd03f84ca915d51a81af7128d7d9c6ed7272bf25e2b9c5eb435037b77ffc41b871bd7257efde0a14a20f5fb4b8432
+DIST pcre-8.37.tar.bz2 1557603 SHA256 51679ea8006ce31379fb0860e46dd86665d864b5020fc9cd19e71260eef4789d SHA512 19344c9add2ebbd26c528505d07d3b028d79bc3e6103d51453a449cebd76bc76f5bc7ddd9ef0de41f98c50be74a2d9a65db539ed60f1add1086d99bde8a81466 WHIRLPOOL 43f723a9107fd6d78a88d4682502d79d5b9b0df90a579667a80b9862611a1c7bee25a1d5a1f9facec7c077f89605d7d96e3843d4aa5b94113b49b06a974331e5
diff --git a/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch b/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch
new file mode 100644
index 000000000000..3015d78b86f8
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch
@@ -0,0 +1,48 @@
+diff -NrU5 pcre-7.9.orig/configure.ac pcre-7.9/configure.ac
+--- pcre-7.9.orig/configure.ac 2009-04-11 16:09:54.000000000 +0200
++++ pcre-7.9/configure.ac 2009-04-18 22:40:50.000000000 +0200
+@@ -598,10 +598,11 @@
+
+ # Produce these files, in addition to config.h.
+ AC_CONFIG_FILES(
+ Makefile
+ libpcre.pc
++ libpcreposix.pc
+ libpcrecpp.pc
+ pcre-config
+ pcre.h
+ pcre_stringpiece.h
+ pcrecpparg.h
+diff -NrU5 pcre-7.9.orig/libpcreposix.pc.in pcre-7.9/libpcreposix.pc.in
+--- pcre-7.9.orig/libpcreposix.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ pcre-7.9/libpcreposix.pc.in 2009-04-18 22:38:02.000000000 +0200
+@@ -0,0 +1,13 @@
++# Package Information for pkg-config
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: libpcreposix
++Description: PCREPosix - Posix compatible regular expressions C library
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lpcreposix
++Cflags: -I${includedir}
++Requires.private: libpcre
+diff -NrU5 pcre-7.9.orig/Makefile.am pcre-7.9/Makefile.am
+--- pcre-7.9.orig/Makefile.am 2009-02-27 17:02:49.000000000 +0100
++++ pcre-7.9/Makefile.am 2009-04-18 22:40:00.000000000 +0200
+@@ -325,11 +325,11 @@
+ $(CC) -shared -o pcre.dll -Wl,"--strip-all" -Wl,"--export-all-symbols" $(DLL_OBJS)
+
+
+ # We have .pc files for pkg-config users.
+ pkgconfigdir = $(libdir)/pkgconfig
+-pkgconfig_DATA = libpcre.pc
++pkgconfig_DATA = libpcre.pc libpcreposix.pc
+ if WITH_PCRE_CPP
+ pkgconfig_DATA += libpcrecpp.pc
+ endif
+
+ dist_man_MANS = \
diff --git a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch
new file mode 100644
index 000000000000..8199b0838d8f
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch
@@ -0,0 +1,91 @@
+https://bugs.exim.org/show_bug.cgi?id=1636
+https://bugs.gentoo.org/551240
+https://bugzilla.redhat.com/1236659
+
+From 68ff1beb43bb3d4d8838f3285c97023d1e50513a Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Fri, 15 May 2015 17:17:03 +0000
+Subject: [PATCH] Fix buffer overflow for named recursive back reference when
+ the name is duplicated.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream commit ported to pcre-8.37:
+
+commit 4b79af6b4cbeb5326ae5e4d83f3e935e00286c19
+Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Fri May 15 17:17:03 2015 +0000
+
+ Fix buffer overflow for named recursive back reference when the name is
+ duplicated.
+
+ git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1558 2f5784b3-3f2a-0410-8824-cb99058d5e15
+
+This fixes CVE-2015-3210.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ pcre_compile.c | 16 ++++++++++++++--
+ testdata/testinput2 | 2 ++
+ testdata/testoutput2 | 2 ++
+ 3 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/pcre_compile.c b/pcre_compile.c
+index 0efad26..6f06912 100644
+--- a/pcre_compile.c
++++ b/pcre_compile.c
+@@ -7173,14 +7173,26 @@ for (;; ptr++)
+ number. If the name is not found, set the value to 0 for a forward
+ reference. */
+
++ recno = 0;
+ ng = cd->named_groups;
+ for (i = 0; i < cd->names_found; i++, ng++)
+ {
+ if (namelen == ng->length &&
+ STRNCMP_UC_UC(name, ng->name, namelen) == 0)
+- break;
++ {
++ open_capitem *oc;
++ recno = ng->number;
++ if (is_recurse) break;
++ for (oc = cd->open_caps; oc != NULL; oc = oc->next)
++ {
++ if (oc->number == recno)
++ {
++ oc->flag = TRUE;
++ break;
++ }
++ }
++ }
+ }
+- recno = (i < cd->names_found)? ng->number : 0;
+
+ /* Count named back references. */
+
+diff --git a/testdata/testinput2 b/testdata/testinput2
+index 58fe53b..83bb471 100644
+--- a/testdata/testinput2
++++ b/testdata/testinput2
+@@ -4152,4 +4152,6 @@ backtracking verbs. --/
+
+ /((?2){73}(?2))((?1))/
+
++"(?J)(?'d'(?'d'\g{d}))"
++
+ /-- End of testinput2 --/
+diff --git a/testdata/testoutput2 b/testdata/testoutput2
+index b718df0..7dff52a 100644
+--- a/testdata/testoutput2
++++ b/testdata/testoutput2
+@@ -14423,4 +14423,6 @@ Failed: lookbehind assertion is not fixed length at offset 17
+
+ /((?2){73}(?2))((?1))/
+
++"(?J)(?'d'(?'d'\g{d}))"
++
+ /-- End of testinput2 --/
+--
+2.4.3
+
diff --git a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch
new file mode 100644
index 000000000000..a97ea392fab4
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch
@@ -0,0 +1,72 @@
+https://bugs.exim.org/show_bug.cgi?id=1651
+https://bugs.gentoo.org/553300
+https://bugzilla.redhat.com/1237224
+
+From 354e1f8e921dcb9cf2f3a5eac93cd826d01a7d8a Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Tue, 23 Jun 2015 16:34:53 +0000
+Subject: [PATCH] Fix buffer overflow for forward reference within backward
+ assertion with excess closing parenthesis. Bugzilla 1651.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is upstream commit ported to 8.37:
+
+commit 764692f9aea9eab50fdba6cb537441d8b34c6c37
+Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Tue Jun 23 16:34:53 2015 +0000
+
+ Fix buffer overflow for forward reference within backward assertion with excess
+ closing parenthesis. Bugzilla 1651.
+
+ git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1571 2f5784b3-3f2a-0410-8824-cb99058d5e15
+
+It fixes CVE-2015-5073.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ pcre_compile.c | 2 +-
+ testdata/testinput2 | 2 ++
+ testdata/testoutput2 | 3 +++
+ 3 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/pcre_compile.c b/pcre_compile.c
+index 6f06912..b66b1f6 100644
+--- a/pcre_compile.c
++++ b/pcre_compile.c
+@@ -9392,7 +9392,7 @@ OP_RECURSE that are not fixed length get a diagnosic with a useful offset. The
+ exceptional ones forgo this. We scan the pattern to check that they are fixed
+ length, and set their lengths. */
+
+-if (cd->check_lookbehind)
++if (errorcode == 0 && cd->check_lookbehind)
+ {
+ pcre_uchar *cc = (pcre_uchar *)codestart;
+
+diff --git a/testdata/testinput2 b/testdata/testinput2
+index 83bb471..5cc9ce6 100644
+--- a/testdata/testinput2
++++ b/testdata/testinput2
+@@ -4154,4 +4154,6 @@ backtracking verbs. --/
+
+ "(?J)(?'d'(?'d'\g{d}))"
+
++/(?=di(?<=(?1))|(?=(.))))/
++
+ /-- End of testinput2 --/
+diff --git a/testdata/testoutput2 b/testdata/testoutput2
+index 7dff52a..4decb8d 100644
+--- a/testdata/testoutput2
++++ b/testdata/testoutput2
+@@ -14425,4 +14425,7 @@ Failed: lookbehind assertion is not fixed length at offset 17
+
+ "(?J)(?'d'(?'d'\g{d}))"
+
++/(?=di(?<=(?1))|(?=(.))))/
++Failed: unmatched parentheses at offset 23
++
+ /-- End of testinput2 --/
+--
+2.4.3
+
diff --git a/dev-libs/libpcre/libpcre-7.9-r1.ebuild b/dev-libs/libpcre/libpcre-7.9-r1.ebuild
new file mode 100644
index 000000000000..0217102fbd1d
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-7.9-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit libtool eutils toolchain-funcs autotools multilib
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+if [[ ${PV} == ${PV/_rc} ]]
+then
+ MY_P="pcre-${PV}"
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ MY_P="pcre-${PV/_rc/-RC}"
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="bzip2 +cxx doc unicode zlib static-libs"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ sed -i -e "s:libdir=@libdir@:libdir=/$(get_libdir):" libpcre.pc.in || die "Fixing libpcre pkgconfig files failed"
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die "Fixing libpcrecpp pkgconfig files failed"
+ echo "Requires: libpcre = @PACKAGE_VERSION@" >> libpcrecpp.pc.in
+ epatch "${FILESDIR}"/libpcre-7.9-pkg-config.patch
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ econf --with-match-limit-recursion=8192 \
+ $(use_enable unicode utf8) $(use_enable unicode unicode-properties) \
+ $(use_enable cxx cpp) \
+ $(use_enable zlib pcregrep-libz) \
+ $(use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable static-libs static) \
+ --enable-shared \
+ --htmldir=/usr/share/doc/${PF}/html \
+ --docdir=/usr/share/doc/${PF} \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ gen_usr_ldscript -a pcre
+
+ dodoc doc/*.txt AUTHORS
+ use doc && dohtml doc/html/*
+ find "${D}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
+}
diff --git a/dev-libs/libpcre/libpcre-8.35.ebuild b/dev-libs/libpcre/libpcre-8.35.ebuild
new file mode 100644
index 000000000000..6c7bc8a55aa5
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.35.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ local pc
+ for pc in *.pc.in ; do
+ echo "Libs.private: @PTHREAD_CFLAGS@" >> ${pc} #454478
+ done
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable cxx cpp) \
+ $(use_enable jit) $(use_enable jit pcregrep-jit) \
+ $(use_enable pcre16) \
+ $(use_enable pcre32) \
+ $(multilib_native_use_enable libedit pcretest-libedit) \
+ $(multilib_native_use_enable readline pcretest-libreadline) \
+ $(use_enable static-libs static) \
+ $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
+ $(multilib_native_use_enable zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.36.ebuild b/dev-libs/libpcre/libpcre-8.36.ebuild
new file mode 100644
index 000000000000..42f41ec75cfe
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.36.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ local pc
+ for pc in *.pc.in ; do
+ echo "Libs.private: @PTHREAD_CFLAGS@" >> ${pc} #454478
+ done
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable cxx cpp) \
+ $(use_enable jit) $(use_enable jit pcregrep-jit) \
+ $(use_enable pcre16) \
+ $(use_enable pcre32) \
+ $(multilib_native_use_enable libedit pcretest-libedit) \
+ $(multilib_native_use_enable readline pcretest-libreadline) \
+ $(use_enable static-libs static) \
+ $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
+ $(multilib_native_use_enable zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.37-r1.ebuild b/dev-libs/libpcre/libpcre-8.37-r1.ebuild
new file mode 100644
index 000000000000..f1689c796fb9
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.37-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable cxx cpp) \
+ $(use_enable jit) $(use_enable jit pcregrep-jit) \
+ $(use_enable pcre16) \
+ $(use_enable pcre32) \
+ $(multilib_native_use_enable libedit pcretest-libedit) \
+ $(multilib_native_use_enable readline pcretest-libreadline) \
+ $(use_enable static-libs static) \
+ $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
+ $(multilib_native_use_enable zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.37-r2.ebuild b/dev-libs/libpcre/libpcre-8.37-r2.ebuild
new file mode 100644
index 000000000000..3037707549c4
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.37-r2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CVE-2015-3210.patch #551240
+ epatch "${FILESDIR}"/${P}-CVE-2015-5073.patch #553300
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable cxx cpp) \
+ $(use_enable jit) $(use_enable jit pcregrep-jit) \
+ $(use_enable pcre16) \
+ $(use_enable pcre32) \
+ $(multilib_native_use_enable libedit pcretest-libedit) \
+ $(multilib_native_use_enable readline pcretest-libreadline) \
+ $(use_enable static-libs static) \
+ $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
+ $(multilib_native_use_enable zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.37.ebuild b/dev-libs/libpcre/libpcre-8.37.ebuild
new file mode 100644
index 000000000000..1d284f51964b
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.37.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ local pc
+ for pc in *.pc.in ; do
+ echo "Libs.private: @PTHREAD_CFLAGS@" >> ${pc} #454478
+ done
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
+ $(use_enable cxx cpp) \
+ $(use_enable jit) $(use_enable jit pcregrep-jit) \
+ $(use_enable pcre16) \
+ $(use_enable pcre32) \
+ $(multilib_native_use_enable libedit pcretest-libedit) \
+ $(multilib_native_use_enable readline pcretest-libreadline) \
+ $(use_enable static-libs static) \
+ $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
+ $(multilib_native_use_enable zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/metadata.xml b/dev-libs/libpcre/metadata.xml
new file mode 100644
index 000000000000..083d23b785d1
--- /dev/null
+++ b/dev-libs/libpcre/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+ <use>
+ <flag name="bzip2">
+ Add support for pcregrep command to search within
+ bzip2-compressed files, through <pkg>sys-libs/zlib</pkg>.
+ </flag>
+ <flag name="pcre16">
+ Build 16 bit PCRE library.
+ </flag>
+ <flag name="pcre32">
+ Build 32 bit PCRE library.
+ </flag>
+ <flag name="readline">
+ Add support for command line editing to pcretest, through
+ <pkg>sys-libs/readline</pkg>.
+ </flag>
+ <flag name="recursion-limit">
+ Limit match recursion to 8192; if disabled, the default limit is
+ used, which is the same as the match limit.
+ </flag>
+ <flag name="zlib">
+ Add support for pcregrep command to search within
+ gzip-compressed files, through <pkg>app-arch/gzip</pkg>.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
+ <remote-id type="sourceforge">pcre</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpeas/Manifest b/dev-libs/libpeas/Manifest
new file mode 100644
index 000000000000..22cd91d234ca
--- /dev/null
+++ b/dev-libs/libpeas/Manifest
@@ -0,0 +1,2 @@
+DIST libpeas-1.12.1.tar.xz 522616 SHA256 e610be31c9d382580fb5d8686f8311149f27413f55af6abf5c033178b99452d6 SHA512 3b3f973066d8237da666b60fd8b34c93159c98742b255dd0205d2cfeb474635e823b60412f833564ce6116101c2c2b263fed7a59f1fc624d0a727c9e2897b58c WHIRLPOOL adbaff8093c8d5b0f1c174be2d2011512aa98da471302910a7a52f5b70a39333f514e68b71803f5c74022146a0b6dfb657c9cc960fa755c98f453216e4ef2d25
+DIST libpeas-1.14.0.tar.xz 546092 SHA256 5e4b3a8968b71497ab26a7a528c414c4c640c5724328fa3507854f04788e2d76 SHA512 64559d317833c53d8c64cb627ccc2efff8df1469192bf71504aee8558c76562e987d9c7618c192e621422710d524b91a6496a1255a441242067fc71c9283bddf WHIRLPOOL dd2072446fbf2b36443e60745b53aab8d4eac8cb6c624108b722faa27eea29422f99d0cb0253f626a051d0754778ee48d9596e539f2e97916ddfa75ed7435cc2
diff --git a/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch b/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch
new file mode 100644
index 000000000000..c46cbee242e5
--- /dev/null
+++ b/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch
@@ -0,0 +1,18 @@
+Gentoo currently uses unversioned lua:0 - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
+
+diff --git a/configure.ac b/configure.ac
+index 810a288..51ca607 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -305,9 +305,9 @@ else
+ fi
+
+ if test "x$found_lua51" != "xyes"; then
+- PKG_CHECK_EXISTS([lua5.1 >= $LUA51_REQUIRED], [
++ PKG_CHECK_EXISTS([lua >= $LUA51_REQUIRED], [
+ found_lua51=yes
+- with_lua51=lua5.1
++ with_lua51=lua
+ ], [
+ found_lua51=no
+ ])
diff --git a/dev-libs/libpeas/libpeas-1.12.1-r1.ebuild b/dev-libs/libpeas/libpeas-1.12.1-r1.ebuild
new file mode 100644
index 000000000000..45226cc14bb6
--- /dev/null
+++ b/dev-libs/libpeas/libpeas-1.12.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit gnome2 multilib python-r1 virtualx
+
+DESCRIPTION="A GObject plugins library"
+HOMEPAGE="http://developer.gnome.org/libpeas/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+gtk glade +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ?? ( $(python_gen_useflags 'python3*') ) )"
+
+RDEPEND="
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/gobject-introspection-1.39
+ glade? ( >=dev-util/glade-3.9.1:3.10 )
+ gtk? ( >=x11-libs/gtk+-3:3[introspection] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.0.0:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # --disable-seed because it's dead, bug #541890
+ local myconf=(
+ $(use_enable glade glade-catalog)
+ $(use_enable gtk)
+ --disable-deprecation
+ --disable-seed
+ --disable-static
+
+ # possibly overriden below
+ --disable-python{2,3}
+ )
+ # Wtf, --disable-gcov, --enable-gcov=no, --enable-gcov, all enable gcov
+ # What do we do about gdb, valgrind, gcov, etc?
+
+ python_configure() {
+ local v
+ python_is_python3 && v=3 || v=2
+ myconf+=(
+ "--enable-python${v}"
+ # it is just 'PYTHON' for py3 in the build system
+ "PYTHON${v#3}=${PYTHON}"
+ "PYTHON${v}_CONFIG=${PYTHON}-config"
+ )
+ }
+ use python && python_foreach_impl python_configure
+
+ gnome2_src_configure "${myconf[@]}"
+}
+
+src_test() {
+ # FIXME: Tests fail because of some bug involving Xvfb and Gtk.IconTheme
+ # DO NOT REPORT UPSTREAM, this is not a libpeas bug.
+ # To reproduce:
+ # >>> from gi.repository import Gtk
+ # >>> Gtk.IconTheme.get_default().has_icon("gtk-about")
+ # This should return True, it returns False for Xvfb
+ Xemake check
+}
diff --git a/dev-libs/libpeas/libpeas-1.14.0-r1.ebuild b/dev-libs/libpeas/libpeas-1.14.0-r1.ebuild
new file mode 100644
index 000000000000..ff5df9647742
--- /dev/null
+++ b/dev-libs/libpeas/libpeas-1.14.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit autotools eutils gnome2 multilib python-r1 virtualx
+
+DESCRIPTION="A GObject plugins library"
+HOMEPAGE="http://developer.gnome.org/libpeas/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+gtk glade jit lua +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ?? ( $(python_gen_useflags 'python3*') ) )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.39
+ glade? ( >=dev-util/glade-3.9.1:3.10 )
+ gtk? ( >=x11-libs/gtk+-3:3[introspection] )
+ lua? (
+ >=dev-lua/lgi-0.9.0
+ jit? ( >=dev-lang/luajit-2:2 )
+ !jit? ( =dev-lang/lua-5.1*:0 ) )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+
+ dev-libs/gobject-introspection-common
+ gnome-base/gnome-common
+"
+# eautoreconf needs gobject-introspection-common, gnome-common
+
+src_prepare() {
+ # Gentoo uses unversioned lua - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
+ epatch "${FILESDIR}"/${PN}-1.14.0-lua.pc.patch
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # Wtf, --disable-gcov, --enable-gcov=no, --enable-gcov, all enable gcov
+ # What do we do about gdb, valgrind, gcov, etc?
+ local myconf=(
+ $(use_enable glade glade-catalog)
+ $(use_enable gtk)
+ --disable-static
+
+ # possibly overriden below
+ --disable-python{2,3}
+ --disable-lua5.1
+ --disable-luajit
+ )
+
+ if use lua ; then
+ if use jit ; then
+ myconf+=( --enable-lua5.1 --enable-luajit )
+ else
+ myconf+=( --enable-lua5.1 )
+ fi
+ fi
+
+ python_configure() {
+ local v
+ python_is_python3 && v=3 || v=2
+ myconf+=(
+ "--enable-python${v}"
+ # it is just 'PYTHON' for py3 in the build system
+ "PYTHON${v#3}=${PYTHON}"
+ "PYTHON${v}_CONFIG=${PYTHON}-config"
+ )
+ }
+ use python && python_foreach_impl python_configure
+
+ gnome2_src_configure "${myconf[@]}"
+}
+
+src_test() {
+ # FIXME: Tests fail because of some bug involving Xvfb and Gtk.IconTheme
+ # DO NOT REPORT UPSTREAM, this is not a libpeas bug.
+ # To reproduce:
+ # >>> from gi.repository import Gtk
+ # >>> Gtk.IconTheme.get_default().has_icon("gtk-about")
+ # This should return True, it returns False for Xvfb
+ Xemake check
+}
diff --git a/dev-libs/libpeas/libpeas-1.14.0.ebuild b/dev-libs/libpeas/libpeas-1.14.0.ebuild
new file mode 100644
index 000000000000..3a4fd5c2e80b
--- /dev/null
+++ b/dev-libs/libpeas/libpeas-1.14.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit gnome2 multilib python-r1 virtualx
+
+DESCRIPTION="A GObject plugins library"
+HOMEPAGE="http://developer.gnome.org/libpeas/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+gtk glade jit lua +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ?? ( $(python_gen_useflags 'python3*') ) )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.39
+ glade? ( >=dev-util/glade-3.9.1:3.10 )
+ gtk? ( >=x11-libs/gtk+-3:3[introspection] )
+ lua? (
+ dev-lua/lgi
+ jit? ( >=dev-lang/luajit-2:2 )
+ !jit? ( >=dev-lang/lua-5.1:0 ) )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.11
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Wtf, --disable-gcov, --enable-gcov=no, --enable-gcov, all enable gcov
+ # What do we do about gdb, valgrind, gcov, etc?
+ local myconf=(
+ $(use_enable glade glade-catalog)
+ $(use_enable gtk)
+ --disable-static
+
+ # possibly overriden below
+ --disable-python{2,3}
+ --disable-lua5.1
+ --disable-luajit
+ )
+
+ if use lua ; then
+ if use jit ; then
+ myconf+=( --enable-luajit )
+ else
+ myconf+=( --enable-lua5.1 )
+ fi
+ fi
+
+ python_configure() {
+ local v
+ python_is_python3 && v=3 || v=2
+ myconf+=(
+ "--enable-python${v}"
+ # it is just 'PYTHON' for py3 in the build system
+ "PYTHON${v#3}=${PYTHON}"
+ "PYTHON${v}_CONFIG=${PYTHON}-config"
+ )
+ }
+ use python && python_foreach_impl python_configure
+
+ gnome2_src_configure "${myconf[@]}"
+}
+
+src_test() {
+ # FIXME: Tests fail because of some bug involving Xvfb and Gtk.IconTheme
+ # DO NOT REPORT UPSTREAM, this is not a libpeas bug.
+ # To reproduce:
+ # >>> from gi.repository import Gtk
+ # >>> Gtk.IconTheme.get_default().has_icon("gtk-about")
+ # This should return True, it returns False for Xvfb
+ Xemake check
+}
diff --git a/dev-libs/libpeas/metadata.xml b/dev-libs/libpeas/metadata.xml
new file mode 100644
index 000000000000..1ee0353a4bc6
--- /dev/null
+++ b/dev-libs/libpeas/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="glade">Install the glade catalog</flag>
+ <flag name="python">Build support for loading <pkg>dev-lang/python</pkg>
+ plugins</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libpfm/Manifest b/dev-libs/libpfm/Manifest
new file mode 100644
index 000000000000..03a78ae80a13
--- /dev/null
+++ b/dev-libs/libpfm/Manifest
@@ -0,0 +1,2 @@
+DIST libpfm-4.4.0.tar.gz 649910 SHA256 8351ff4bbab4e4cbf6f17f76dd18698ef3a7dff766ea0cfa1a6d60bce36f7c9c SHA512 e7f9b50d0c71c08697283d043231234b39695fda6796ad1e2c48fdd67e2936a3cf5d864b5e1b9c68a34f1d726f2b273eb1267adec3060085f3a51e9886f5704a WHIRLPOOL 9f1f1cbb2e56a3269b9f88c81273e69976d95e6557e1f1e08ade249cacbb6368e422e77c38d19603e28892683c37270e176f8854bfdfb6646b935c3e024d332f
+DIST libpfm-4.6.0.tar.gz 767447 SHA256 5ab1e5b0472550f9037a8800834f6bc3b927690070f69fac0b67284b4b05fd5f SHA512 73bd11bd0c11c0ec2fa71935c967f36431a00b548b8b47575e00e8cc3e1f8ef3fc2d449d493f51a198eaba5b1629cdf79330cbe2a8ca8867e15fddbfdbf571dc WHIRLPOOL e6d9747ef22f82b47e5a63da73e178869eddda36fdbc0094de957297ef2a646085a1b2527e8592ae719b18ecc2de903fa451a1acd2dcaf57be4e1f3e7e4848cf
diff --git a/dev-libs/libpfm/libpfm-4.4.0.ebuild b/dev-libs/libpfm/libpfm-4.4.0.ebuild
new file mode 100644
index 000000000000..6bf712b0f39a
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Hardware-based performance monitoring interface for Linux"
+HOMEPAGE="http://perfmon2.sourceforge.net"
+SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -e "s:SLDFLAGS=:SLDFLAGS=\$(LDFLAGS) :g" \
+ -i lib/Makefile || die
+ sed -e "s:LIBDIR=\$(PREFIX)/lib:LIBDIR=\$(PREFIX)/$(get_libdir):g" \
+ -i config.mk || die
+}
+
+src_compile() {
+ emake CC=$(tc-getCC)
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONFIG=true PREFIX="${EPREFIX}/usr" install
+ use static-libs || find "${ED}" -name '*.a' -exec rm -f '{}' +
+ dodoc README
+}
diff --git a/dev-libs/libpfm/libpfm-4.6.0.ebuild b/dev-libs/libpfm/libpfm-4.6.0.ebuild
new file mode 100644
index 000000000000..16665b6d4451
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.6.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Hardware-based performance monitoring interface for Linux"
+HOMEPAGE="http://perfmon2.sourceforge.net"
+SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -e "s:SLDFLAGS=:SLDFLAGS=\$(LDFLAGS) :g" \
+ -i lib/Makefile || die
+ sed -e "s:LIBDIR=\$(PREFIX)/lib:LIBDIR=\$(PREFIX)/$(get_libdir):g" \
+ -i config.mk || die
+}
+
+src_compile() {
+ emake CC=$(tc-getCC)
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONFIG=true PREFIX="${EPREFIX}/usr" install
+ use static-libs || find "${ED}" -name '*.a' -exec rm -f '{}' +
+ dodoc README
+}
diff --git a/dev-libs/libpfm/metadata.xml b/dev-libs/libpfm/metadata.xml
new file mode 100644
index 000000000000..783a54d7dad1
--- /dev/null
+++ b/dev-libs/libpfm/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">perfmon2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpipeline/Manifest b/dev-libs/libpipeline/Manifest
new file mode 100644
index 000000000000..70cc23a60d32
--- /dev/null
+++ b/dev-libs/libpipeline/Manifest
@@ -0,0 +1,5 @@
+DIST libpipeline-1.2.4.tar.gz 764100 SHA256 091ad4ea5c66e91d78e436e0e7673b46b3c5c5f333a14a1298db4bc7bab87b35 SHA512 56d8331f7a7db47fc87f6958a701256b10cdf2444fe1f001945b6ad6b74ffd6e6884db50e3d64d43b7bd8019288393238b03f13cb44aaee8b070d0bf7d874a6b WHIRLPOOL eeda2521059f7e79625eadf17598c4a418da5f8ebcc1b757616cb11724cf2b77ee8ff6a8dbd87fb646d237272bd5edaf7cdc77c72e97741852323b37920818e2
+DIST libpipeline-1.2.5.tar.gz 779072 SHA256 2de10806d9b7dda54f4098d2c12e36e960b954d1325c0885ac01c3c7ee908d5b SHA512 fd6ec96bd78f921a43e6b8fbb0e8ffd4a2bba35fe87a95dbd98e8b83d04fe2fbe34c4b4a008ca027b683d071f0730f8057d3b9aa2d946f2f7808486f16d97b01 WHIRLPOOL 4a600569d651d41abc4c15984edd11198d85bc67d61431aa87dd1d0e9311de2b4f86cc2f1186b359ed2f34b2e7e95261ed2033f24100697c088ead9508d4120a
+DIST libpipeline-1.3.0.tar.gz 786909 SHA256 f1fcd13e4bb39fec013c2f02bc3c686580f34eda432c31d0b662cf2359a3a689 SHA512 32bfc4a6ee62edc4fe75f5a31e4c295ede39f8840b0de9954d9213d8c0d39b701cd8af76a36c2d3fcd1479207c7f077cb64692d2f31fadf413a2adb8ffadd965 WHIRLPOOL 8eac41095756858749667a7f04cbb07a7737918fb9fac8dc9ce3099aa3d0d602a678c39f18e4de02136233a34ba02bae40d00eba70e1782fed238f6aedaa4d60
+DIST libpipeline-1.3.1.tar.gz 787711 SHA256 5cad1b446f135ec3800d32c8c951a1114f4c438609a4c52b262c30301bc8e692 SHA512 0f903f9a268eea7c6d1ddef1210a729d32b423abdbf1e150aaf6705a272dfbcde482302cb06366ce317674bc681c7e3305cd35a83eb3f0451d1c5595f5c6ac5a WHIRLPOOL eb3fc4a337e09552f3e58a06bcbd9ed30d6b95a60b6cadc293e7aceb77a99e488c8c77a757dd93968a48b4fc72d024227fbe176d8ac7a386172bc50b51e54ef2
+DIST libpipeline-1.4.0.tar.gz 805155 SHA256 79c759e7fbf17b560a72edce3ff9bb308d7720306c2650e4fae541daabb89bb6 SHA512 0dce585f9d7aea91889804fd7a65a549b41730add0f6156bf8d0409762fed9c29e8843426e8136c9e0a0348734acaabb48ceede1e3e4d9071d4d787d0b8d46f3 WHIRLPOOL 2ba46823c6eacbe7b4a15d135448b2c59c65c431f438d22f1709bea85d819f4358fd685fab00d0e24cf281e92476b8c48aee61e7b406dcd8e142b2e4fa50bf86
diff --git a/dev-libs/libpipeline/files/libpipeline-1.2.1-no-gets.patch b/dev-libs/libpipeline/files/libpipeline-1.2.1-no-gets.patch
new file mode 100644
index 000000000000..d7849fd4176c
--- /dev/null
+++ b/dev-libs/libpipeline/files/libpipeline-1.2.1-no-gets.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/427254
+
+hack until libpipeline pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/gnulib/lib/stdio.in.h
++++ b/gnulib/lib/stdio.in.h
+@@ -125,7 +125,6 @@
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
+
diff --git a/dev-libs/libpipeline/libpipeline-1.2.4.ebuild b/dev-libs/libpipeline/libpipeline-1.2.4.ebuild
new file mode 100644
index 000000000000..a72d9f24bbe6
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.2.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="a pipeline manipulation library"
+HOMEPAGE="http://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="virtual/pkgconfig
+ test? ( dev-libs/check )"
diff --git a/dev-libs/libpipeline/libpipeline-1.2.5.ebuild b/dev-libs/libpipeline/libpipeline-1.2.5.ebuild
new file mode 100644
index 000000000000..a72d9f24bbe6
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.2.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="a pipeline manipulation library"
+HOMEPAGE="http://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="virtual/pkgconfig
+ test? ( dev-libs/check )"
diff --git a/dev-libs/libpipeline/libpipeline-1.3.0.ebuild b/dev-libs/libpipeline/libpipeline-1.3.0.ebuild
new file mode 100644
index 000000000000..a7ff688f3b3a
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.3.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="a pipeline manipulation library"
+HOMEPAGE="http://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="virtual/pkgconfig
+ test? ( dev-libs/check )"
diff --git a/dev-libs/libpipeline/libpipeline-1.3.1.ebuild b/dev-libs/libpipeline/libpipeline-1.3.1.ebuild
new file mode 100644
index 000000000000..a7ff688f3b3a
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.3.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="a pipeline manipulation library"
+HOMEPAGE="http://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="virtual/pkgconfig
+ test? ( dev-libs/check )"
diff --git a/dev-libs/libpipeline/libpipeline-1.4.0.ebuild b/dev-libs/libpipeline/libpipeline-1.4.0.ebuild
new file mode 100644
index 000000000000..088dc979e4eb
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.4.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils
+
+DESCRIPTION="a pipeline manipulation library"
+HOMEPAGE="http://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="virtual/pkgconfig
+ test? ( dev-libs/check )"
diff --git a/dev-libs/libpipeline/metadata.xml b/dev-libs/libpipeline/metadata.xml
new file mode 100644
index 000000000000..96a2d586367d
--- /dev/null
+++ b/dev-libs/libpipeline/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>
diff --git a/dev-libs/libpo6/Manifest b/dev-libs/libpo6/Manifest
new file mode 100644
index 000000000000..606c57ddb4a6
--- /dev/null
+++ b/dev-libs/libpo6/Manifest
@@ -0,0 +1,3 @@
+DIST libpo6-0.6.0.tar.gz 117418 SHA256 6f494d54c0f033b61e1d5de847e6145043291e4e6c7ba0707801dc7158fcde8d SHA512 b944c496339bfcd92945c87dc2500e404beebdbea51d986333043564f88edc75b6d38f8fd2fdaadb0d51b88b0b1ebfd1d27728bce3764b6821bbc71c9fbdf8ab WHIRLPOOL 216ff4a7dd42f4b4b5429a92d6d0f77820c10f138c3744fd6e12badcb4330c95ff07862d32d6ae37440ec0f10342258c9f148ab541442f7d952ad11c177242ee
+DIST libpo6-0.7.0.tar.gz 118321 SHA256 50896d17021d785b9cc6092bd2214db1d0d7c9997f523ea11447e516e35aa484 SHA512 622469adf38a22e8f7e1e6c5ce4507a073654169897a877f5319e2237764afd5ed3528bc8ab201fc4448e1d7b718e39ac527bcb4098b2cb458ef6ad778ad78e9 WHIRLPOOL 2e1b30b994b7e356d9be21e7dd7266b4704540d4625e49785ae1c890648e1fe0b57e5b00233e89130487b8e7227ba87eaa765109edd3130741e7c17ea8a8a8c0
+DIST libpo6-0.8.0.tar.gz 364709 SHA256 5aedaf96326fe76f6b71bcc7713a741fcdeb694a8c818ca240c74b61de4e4b0d SHA512 0fed5af37f47245ecdd84dd4dcc5d24dd84dacbd93cf1eb9b4b2e86fba6d26e7f459a9a274b0c42397fc5e22d48cb603ee2b809979cf48675710ba9221d8a3bf WHIRLPOOL b79b765a9435b292701ea52ba92b39c4994b4a15c6865fdaa0628ff995da70a0d2554914c5030ddbf6c0af152d080387ef5d6ed3b23a309ceb6ce6096cd3a098
diff --git a/dev-libs/libpo6/libpo6-0.6.0.ebuild b/dev-libs/libpo6/libpo6-0.6.0.ebuild
new file mode 100644
index 000000000000..706cbd5affe8
--- /dev/null
+++ b/dev-libs/libpo6/libpo6-0.6.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex libpo6 support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libpo6/libpo6-0.7.0.ebuild b/dev-libs/libpo6/libpo6-0.7.0.ebuild
new file mode 100644
index 000000000000..706cbd5affe8
--- /dev/null
+++ b/dev-libs/libpo6/libpo6-0.7.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex libpo6 support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libpo6/libpo6-0.8.0.ebuild b/dev-libs/libpo6/libpo6-0.8.0.ebuild
new file mode 100644
index 000000000000..706cbd5affe8
--- /dev/null
+++ b/dev-libs/libpo6/libpo6-0.8.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex libpo6 support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libpo6/metadata.xml b/dev-libs/libpo6/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/libpo6/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libpqxx/Manifest b/dev-libs/libpqxx/Manifest
new file mode 100644
index 000000000000..d4644e6b6a24
--- /dev/null
+++ b/dev-libs/libpqxx/Manifest
@@ -0,0 +1 @@
+DIST libpqxx-4.0.1.tar.gz 1582532 SHA256 097ceda2797761ce517faa5bee186c883df1c407cb2aada613a16773afeedc38 SHA512 00204985097ef8bb0a3376d6ba541dbb471d7c52d7135f6244a9f4acbf6c8e5254d6f813e4411421e49bb56f4a520fc6ac67e300141d724396ce0ac11bd3a95e WHIRLPOOL d377863f9200e7ed235f8a2cf132b554efa4223d5f542eea23d743ffe391a13d44da767ee2f70146558e5b393ba334656c09007241c1aadde750c00c16e25c12
diff --git a/dev-libs/libpqxx/libpqxx-4.0.1.ebuild b/dev-libs/libpqxx/libpqxx-4.0.1.ebuild
new file mode 100644
index 000000000000..a3982cd7a4ad
--- /dev/null
+++ b/dev-libs/libpqxx/libpqxx-4.0.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1
+
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+
+DESCRIPTION="C++ client API for PostgreSQL. The standard front-end for writing C++ programs that use PostgreSQL"
+SRC_URI="http://pqxx.org/download/software/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pqxx.org/development/libpqxx/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc static-libs"
+
+RDEPEND="dev-db/postgresql"
+DEPEND="${PYTHON_DEPS}
+ ${RDEPEND}
+"
+
+src_prepare() {
+ sed -e 's/python/python2/' \
+ -i tools/{splitconfig,template2mak.py} \
+ || die "Couldn't fix Python shebangs"
+}
+
+src_configure() {
+ if use static-libs ; then
+ econf --enable-static
+ else
+ econf --enable-shared
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog NEWS README*
+ use doc && dohtml -r doc/html/*
+}
+
+src_test() {
+ einfo "The tests need a running PostgreSQL server and an existing database."
+ einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
+ einfo "set PGPORT and PGHOST. Define them at the command line or in:"
+ einfo " ${EROOT%/}/etc/libpqxx_test_env"
+
+ if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
+ if [[ -f ${EROOT%/}/etc/libpqxx_test_env ]] ; then
+ source "${EROOT%/}/etc/libpqxx_test_env"
+ [[ -n $PGDATABASE ]] && export PGDATABASE
+ [[ -n $PGHOST ]] && export PGHOST
+ [[ -n $PGPORT ]] && export PGPORT
+ [[ -n $PGUSER ]] && export PGUSER
+ fi
+ fi
+
+ if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
+ local server_version
+ server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ # Currently works with highest server version in tree
+ #server_version=$(echo ${server_version} | cut -d " " -f 2 | cut -d "." -f -2 | tr -d .)
+ #if [[ $server_version < 92 ]] ; then
+ cd "${S}/test"
+ emake check
+ #else
+ # eerror "Server version must be 8.4.x or below."
+ # die "Server version isn't 8.4.x or below"
+ #fi
+ else
+ eerror "Is the server running?"
+ eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
+ eerror " Role: ${PGUSER}"
+ eerror " Database: ${PGDATABASE}"
+ die "Couldn't connect to server."
+ fi
+ else
+ eerror "PGDATABASE and PGUSER must be set to perform tests."
+ eerror "Skipping tests."
+ fi
+}
diff --git a/dev-libs/libpqxx/metadata.xml b/dev-libs/libpqxx/metadata.xml
new file mode 100644
index 000000000000..dc20b00f6741
--- /dev/null
+++ b/dev-libs/libpqxx/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>postgresql</herd>
+ <longdescription>
+ libpqxx is the official C++ client API for PostgreSQL. If you are
+ writing software in C++ that needs to access databases managed by
+ Postgres — on just about any platform — then libpqxx is the
+ library you use. Supersedes the now defunct libpq++ (AKA, libpqpp)
+ API.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libproccpuinfo/Manifest b/dev-libs/libproccpuinfo/Manifest
new file mode 100644
index 000000000000..774bbefb64f7
--- /dev/null
+++ b/dev-libs/libproccpuinfo/Manifest
@@ -0,0 +1 @@
+DIST libproccpuinfo-0.0.8.tar.bz2 54475 SHA256 c375024e6abfc21618b8f994b4f5e5d29d2c7a8aad3a5a5b4278ae42c5438cca SHA512 24c52551025d1ca349109e594861c74a5834ea4dc5c450bf6c03c3c73a4dbef176de4ffdd5cc2e8d4279ac14ebdf7045d31292a54730d52d81c1d7bece89f4ab WHIRLPOOL 76cadb31cdfe517962e637505eb176cd79a2c899b1cfabcb89d2df0305d4e6c84e0f76733f95dda3a2a9ffbea5bcbf9b025755de3224a68e81f828fc88d11a01
diff --git a/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8.ebuild b/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8.ebuild
new file mode 100644
index 000000000000..76a05283c510
--- /dev/null
+++ b/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils
+
+DESCRIPTION="Architecture independent C API for reading /proc/cpuinfo"
+HOMEPAGE="https://savannah.nongnu.org/projects/proccpuinfo/"
+SRC_URI="http://download.savannah.nongnu.org/releases/proccpuinfo/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~mips x86"
+IUSE=""
+
+DEPEND=">=sys-devel/flex-2.5.33"
+RDEPEND=""
+
+DOCS="AUTHORS ChangeLog HACKING README THANKS TODO"
+
+CMAKE_IN_SOURCE_BUILD="yes"
+
+src_prepare() {
+ sed -i \
+ -e "s#DESTINATION lib#DESTINATION $(get_libdir)#" \
+ CMakeLists.txt || die
+}
diff --git a/dev-libs/libproccpuinfo/metadata.xml b/dev-libs/libproccpuinfo/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/libproccpuinfo/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libpthread-stubs/Manifest b/dev-libs/libpthread-stubs/Manifest
new file mode 100644
index 000000000000..0f65b75300d9
--- /dev/null
+++ b/dev-libs/libpthread-stubs/Manifest
@@ -0,0 +1,2 @@
+DIST libpthread-stubs-0.1.tar.bz2 194060 SHA256 004dae11e11598584939d66d26a5ab9b48d08a00ca2d00ae8d38ee3ac7a15d65 SHA512 594fd3cac9169aaf2200328e345cff7b846f7b81bc2ccf55e405e6aa8861b8dc09f31db28540cbed46faf85efc7cc20583cbe188ab387521e83f93a5b2df920e WHIRLPOOL c71619a15fa5c20793883ccc03e6c7f4601ece5ab269f49e5f684472c996f3365bff95a5c66c368ccda9196c9d068b9a6a339e7575e59bbebff7bd4c4bc22f49
+DIST libpthread-stubs-0.3.tar.bz2 203468 SHA256 35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299 SHA512 c7cf63fa82ce9e8c37c6dc3b8cc30f8883655f95683c4466c54b617b086dd26a43bfa36363e47dc5730af6d59ac70443d211eb01b07d276edd144030a3580b15 WHIRLPOOL 7bd4b77059b945525481870aa3929e18c7ec0bc04c4f342bc5e3b7ce9ae0d5b2d447dca6391da73014e0215dfe214141b391819243afceaba78a6454e8446ff6
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.1.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.1.ebuild
new file mode 100644
index 000000000000..1a3b77a1989f
--- /dev/null
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+EAPI=3
+inherit xorg-2
+
+DESCRIPTION="Pthread functions stubs for platforms missing them"
+SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
+
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.3-r1.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.3-r1.ebuild
new file mode 100644
index 000000000000..6998da267bcc
--- /dev/null
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.3-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+XORG_MULTILIB=yes
+inherit xorg-2
+
+DESCRIPTION="Pthread functions stubs for platforms missing them"
+SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.3.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.3.ebuild
new file mode 100644
index 000000000000..afddcab80729
--- /dev/null
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.3.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit xorg-2
+
+DESCRIPTION="Pthread functions stubs for platforms missing them"
+SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-libs/libpthread-stubs/metadata.xml b/dev-libs/libpthread-stubs/metadata.xml
new file mode 100644
index 000000000000..01c4c004e735
--- /dev/null
+++ b/dev-libs/libpthread-stubs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/dev-libs/libpwquality/Manifest b/dev-libs/libpwquality/Manifest
new file mode 100644
index 000000000000..901bc53f53ea
--- /dev/null
+++ b/dev-libs/libpwquality/Manifest
@@ -0,0 +1,2 @@
+DIST libpwquality-1.2.3.tar.bz2 367794 SHA256 b11c79ce7b03cdf878fccb653e67bd430155cc6fd224efbbb3e78842f752516a SHA512 1591f40feee4ad95d666887fbd04fc675ff2630a2cd080a7ef616f59af543751ef34910a085d880e8d75051ebeee747847b8015e66a7c315b955df62f926ccd2 WHIRLPOOL 9aff4c547758a2bc2d918f2411371f3b35231c6846d77b497275176842f8f48df3b66f419ddaee88e1fccc2e1a6b947e5b1e72215db74dbc978089d7c0afdf5b
+DIST libpwquality-1.2.4.tar.bz2 394060 SHA256 9ad67be364a66dc8b334a473c77d9f531137ee0e9d85d81f567f410a375857c7 SHA512 63ead296320e8eadc1a3341c28b015f9dbbf30e610e9226a11018d81aeb412d0e211753ebdb45f959c35cedfc6ed580bba9e6b0f8822c3b5f38062428f637049 WHIRLPOOL 94166db5bba425fb19a9a27fe27eb082716e887b90fa2d2bd64e56f4d9202c6cc1f7f16779185a5c44ce3145f8a8df92ecca9b6628ae63daba99aca4d5a9c1a9
diff --git a/dev-libs/libpwquality/libpwquality-1.2.3.ebuild b/dev-libs/libpwquality/libpwquality-1.2.3.ebuild
new file mode 100644
index 000000000000..8b619a0a0993
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.2.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils multilib pam python-r1 toolchain-funcs
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://fedorahosted.org/libpwquality/"
+SRC_URI="https://fedorahosted.org/releases/l/i/${PN}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ppc ppc64 ~s390 ~sh ~sparc x86"
+IUSE="pam python static-libs"
+
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=
+ pam? ( virtual/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.15
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # ensure pkgconfig files go in /usr
+ sed -e 's:\(pkgconfigdir *=\).*:\1 '${EPREFIX}/usr/$(get_libdir)'/pkgconfig:' \
+ -i src/Makefile.{am,in} || die "sed failed"
+ use python && python_copy_sources
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ configuring() {
+ local sitedir
+ econf \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ $(use_enable pam) \
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+ $(use_enable python python-bindings) \
+ $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
+ $(use_enable static-libs static)
+ }
+ if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+ if_use_python_python_foreach_impl default
+}
+
+src_test() {
+ if_use_python_python_foreach_impl default
+}
+
+src_install() {
+ if_use_python_python_foreach_impl default
+ if use static-libs; then
+ # Do not install static libs in /lib
+ mkdir -p "${ED}usr/$(get_libdir)"
+ mv "${ED}$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
+ gen_usr_ldscript libpwquality.so
+ fi
+ prune_libtool_files --modules
+}
+
+if_use_python_python_foreach_impl() {
+ if use python; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
diff --git a/dev-libs/libpwquality/libpwquality-1.2.4.ebuild b/dev-libs/libpwquality/libpwquality-1.2.4.ebuild
new file mode 100644
index 000000000000..e2597b0216c7
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.2.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib pam python-r1 toolchain-funcs
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://fedorahosted.org/libpwquality/"
+SRC_URI="https://fedorahosted.org/releases/l/i/${PN}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="pam python static-libs"
+
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=
+ pam? ( virtual/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # ensure pkgconfig files go in /usr
+ sed -e 's:\(pkgconfigdir *=\).*:\1 '${EPREFIX}/usr/$(get_libdir)'/pkgconfig:' \
+ -i src/Makefile.{am,in} || die "sed failed"
+ use python && python_copy_sources
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ configuring() {
+ local sitedir
+ econf \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ $(use_enable pam) \
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+ $(use_enable python python-bindings) \
+ $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
+ $(use_enable static-libs static)
+ }
+ if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+ if_use_python_python_foreach_impl default
+}
+
+src_test() {
+ if_use_python_python_foreach_impl default
+}
+
+src_install() {
+ if_use_python_python_foreach_impl default
+ if use static-libs; then
+ # Do not install static libs in /lib
+ mkdir -p "${ED}usr/$(get_libdir)"
+ mv "${ED}$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
+ gen_usr_ldscript libpwquality.so
+ fi
+ prune_libtool_files --modules
+}
+
+if_use_python_python_foreach_impl() {
+ if use python; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
diff --git a/dev-libs/libpwquality/metadata.xml b/dev-libs/libpwquality/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/libpwquality/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libqtxdg/Manifest b/dev-libs/libqtxdg/Manifest
new file mode 100644
index 000000000000..590b8870a36a
--- /dev/null
+++ b/dev-libs/libqtxdg/Manifest
@@ -0,0 +1,3 @@
+DIST libqtxdg-0.5.3.tar.xz 52948 SHA256 ce45c0de4f1f5c4587178cc8a1d12561b3d101461c71ce3715ed9d5d6a6ad6f4 SHA512 02211e7fd8fc5db014e642c8222a5bade95eef5da8f60c39567cac5f4da385c7b99b454d68a6c88e211981dd98bcb1d17d53c105dcf3e7b89b17b171af904ec2 WHIRLPOOL 1f4f2bc8e6731c0fbc31dcb0f8264f7aafe329f022a74f4bf43828c8016b8af02077d9dcfd1ee0a574d7441db4ba7676dfd0f431d727059b59ccefd5fbe9b216
+DIST libqtxdg-1.1.0.tar.xz 54268 SHA256 5c90989fcd13387cc8a7905a03e0b65f76aa28545cb9733625e1d88fd6ff4002 SHA512 67e47547d5719fa5a2c4f4b6d6f8c0bc285503ed611f1a3e8b1b5e2cf46f18e98d8b1394c1f68d16cbb0b5ec8721934f50401fb36bfae41bef574c4716b9937a WHIRLPOOL 24f4d35d85eabb0ebf53dcf60fee67fbbe72aca54060039d7f2e2418ab77b7f38a9822ed6c4f512bd4d9c5c66a9db5dee30b173e72d9b5bbc998c13496811839
+DIST libqtxdg-1.2.0.tar.xz 55704 SHA256 88c9b01b56fea205226b53642833963e4f27471de3b90e93e9b650ca28d098d9 SHA512 f3d6cacc21aec970fcba7de963d4703ec4ed057b0cacacb2458d30260be4ecfaf463e761033eca8c60254dcc83e593e0d722ad6097d837e46434297be0d68398 WHIRLPOOL 01ed25db765faa79973114683808a7c4fa65a05cba32f1221afea0328c77d17589f84af93f4829f95665ecdf55828676c0cab77fb5d0a97eb223338464bf9e26
diff --git a/dev-libs/libqtxdg/libqtxdg-0.5.3.ebuild b/dev-libs/libqtxdg/libqtxdg-0.5.3.ebuild
new file mode 100644
index 000000000000..ca79b77b6709
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-0.5.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils
+
+DESCRIPTION="A Qt implementation of XDG standards"
+HOMEPAGE="http://lxqt.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.lxde.org/git/lxde/${PN}.git"
+else
+ SRC_URI="http://lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="test"
+
+CDEPEND="sys-apps/file
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+DEPEND="${CDEPEND}
+ test? ( dev-qt/qttest:4 )"
+RDEPEND="${CDEPEND}
+ x11-misc/xdg-utils"
+
+S=${WORKDIR}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use test BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libqtxdg/libqtxdg-1.1.0.ebuild b/dev-libs/libqtxdg/libqtxdg-1.1.0.ebuild
new file mode 100644
index 000000000000..ec0b34b30d5a
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-1.1.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils
+
+DESCRIPTION="A Qt implementation of XDG standards"
+HOMEPAGE="http://lxqt.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.lxde.org/git/lxde/${PN}.git"
+else
+ SRC_URI="http://downloads.lxqt.org/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="test"
+
+CDEPEND="
+ sys-apps/file
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+"
+DEPEND="${CDEPEND}
+ test? ( dev-qt/qttest:5 )
+"
+RDEPEND="${CDEPEND}
+ x11-misc/xdg-utils
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_QT5=ON
+ $(cmake-utils_use test BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libqtxdg/libqtxdg-1.2.0.ebuild b/dev-libs/libqtxdg/libqtxdg-1.2.0.ebuild
new file mode 100644
index 000000000000..a5ab28b27aa6
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-1.2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils
+
+DESCRIPTION="A Qt implementation of XDG standards"
+HOMEPAGE="http://lxqt.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.lxde.org/git/lxde/${PN}.git"
+else
+ SRC_URI="http://downloads.lxqt.org/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="test"
+
+CDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ test? ( dev-qt/qttest:5 )
+"
+RDEPEND="${CDEPEND}
+ x11-misc/xdg-utils
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_QT4=OFF
+ $(cmake-utils_use_build test TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libqtxdg/metadata.xml b/dev-libs/libqtxdg/metadata.xml
new file mode 100644
index 000000000000..2b2f83827853
--- /dev/null
+++ b/dev-libs/libqtxdg/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>lxqt</herd>
+ <herd>qt</herd>
+</pkgmetadata>
diff --git a/dev-libs/libqzeitgeist/Manifest b/dev-libs/libqzeitgeist/Manifest
new file mode 100644
index 000000000000..a1bf40e4d4b6
--- /dev/null
+++ b/dev-libs/libqzeitgeist/Manifest
@@ -0,0 +1 @@
+DIST libqzeitgeist-0.8.0.tar.bz2 29459 SHA256 0a8aa980d64549cce93691705807681fd7e3e079a48aee68fc4b2653f17d61ad SHA512 55e7c3a84dba8e94bb7ef7cc22a8be845e140630878f01add94ec31b0c1d13323dbdcfecddad035dffd8d9b178e0b267395ea227cea94585154d641f8d234f80 WHIRLPOOL e0b87fd54ded54759782468ba95bea5bbde3bd060592165538f221022e1cc014d669b85dd1371c599f35f997e2071af65358da02ffbd051e8fe4fe915a6f2110
diff --git a/dev-libs/libqzeitgeist/libqzeitgeist-0.8.0.ebuild b/dev-libs/libqzeitgeist/libqzeitgeist-0.8.0.ebuild
new file mode 100644
index 000000000000..4c86be155509
--- /dev/null
+++ b/dev-libs/libqzeitgeist/libqzeitgeist-0.8.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+KDE_REQUIRED="never"
+inherit python-any-r1 kde4-base
+
+DESCRIPTION="Qt interface to the Zeitgeist event tracking system"
+HOMEPAGE="https://projects.kde.org/projects/kdesupport/libqzeitgeist"
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="4"
+IUSE="debug"
+
+RDEPEND="
+ dev-libs/libzeitgeist
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtdeclarative:4
+"
+DEPEND="${RDEPEND}
+ $(python_gen_any_dep 'gnome-extra/zeitgeist[${PYTHON_USEDEP}]')
+ gnome-extra/zeitgeist
+"
+
+python_check_deps() {
+ has_version "gnome-extra/zeitgeist[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ kde4-base_pkg_setup
+}
+
+src_prepare() {
+ sed -e "/^find_package(Qt4/s/QtTest//" -i CMakeLists.txt || die
+
+ kde4-base_src_prepare
+}
diff --git a/dev-libs/libqzeitgeist/metadata.xml b/dev-libs/libqzeitgeist/metadata.xml
new file mode 100644
index 000000000000..a23f444b67d6
--- /dev/null
+++ b/dev-libs/libqzeitgeist/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+</pkgmetadata>
diff --git a/dev-libs/librelp/Manifest b/dev-libs/librelp/Manifest
new file mode 100644
index 000000000000..64c28ef1446d
--- /dev/null
+++ b/dev-libs/librelp/Manifest
@@ -0,0 +1 @@
+DIST librelp-1.2.7.tar.gz 410896 SHA256 3a434a1c71772706104cfb1c93ba8e6809d257851d60de29ac2142c60c68d7d1 SHA512 f8a71ad037cb5eaeb807b1bcb942893e2d10bcd57b18764bb13700c8e114d59de37b1b36560288abac18a07b6cb2920b46feaef4ae629aa0b3478ed16723542a WHIRLPOOL 784f291d0318b29be33bcd4bdd41e04c2e0fc8f292c6cb7f5985743559aa65f3c10932680f943e065ebf34e3f62c75bf2ed5500aebe0b7ab2fa7e64ced37cc44
diff --git a/dev-libs/librelp/files/librelp-1.2.7-prevent-segfault-with-keepalive.patch b/dev-libs/librelp/files/librelp-1.2.7-prevent-segfault-with-keepalive.patch
new file mode 100644
index 000000000000..2f9803d0d8a8
--- /dev/null
+++ b/dev-libs/librelp/files/librelp-1.2.7-prevent-segfault-with-keepalive.patch
@@ -0,0 +1,32 @@
+From 0ca7f807958e8365b2fd2f3fd833814c83594bdc Mon Sep 17 00:00:00 2001
+From: Tomas Heinrich <theinric@redhat.com>
+Date: Sun, 1 Jun 2014 16:44:59 +0200
+Subject: [PATCH] Reorder code, prevent access of uninitialized data
+
+---
+ src/tcp.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/tcp.c b/src/tcp.c
+index 1e0fd11..e21db51 100644
+--- a/src/tcp.c
++++ b/src/tcp.c
+@@ -713,12 +713,12 @@ relpTcpAcceptConnReq(relpTcp_t **ppThis, int sock, relpSrv_t *pSrv)
+ ABORT_FINALIZE(RELP_RET_ACCEPT_ERR);
+ }
+
+- if(pSrv->bKeepAlive)
+- EnableKeepAlive(pThis, pSrv, iNewSock);
+-
+ /* construct our object so that we can use it... */
+ CHKRet(relpTcpConstruct(&pThis, pEngine, RELP_SRV_CONN, pSrv));
+
++ if(pSrv->bKeepAlive)
++ EnableKeepAlive(pThis, pSrv, iNewSock);
++
+ /* TODO: obtain hostname, normalize (callback?), save it */
+ CHKRet(relpTcpSetRemHost(pThis, (struct sockaddr*) &addr));
+ pThis->pEngine->dbgprint("remote host is '%s', ip '%s'\n", pThis->pRemHostName, pThis->pRemHostIP);
+--
+1.9.3
+
diff --git a/dev-libs/librelp/librelp-1.2.7-r1.ebuild b/dev-libs/librelp/librelp-1.2.7-r1.ebuild
new file mode 100644
index 000000000000..d723733143aa
--- /dev/null
+++ b/dev-libs/librelp/librelp-1.2.7-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="An easy to use library for the RELP protocol"
+HOMEPAGE="http://www.librelp.com/"
+SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3 doc? ( FDL-1.3 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~sparc x86"
+IUSE="debug doc +ssl static-libs"
+
+RDEPEND="
+ ssl? ( >=net-libs/gnutls-2.12.23-r1 )
+"
+
+DEPEND="
+ >=net-libs/gnutls-2.12.23-r1
+ virtual/pkgconfig
+"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/${P}-prevent-segfault-with-keepalive.patch" )
+
+src_configure() {
+ # gnutls-headers are always required (in src/tcp.h) despite the flag, bug #513754
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable ssl tls)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/relp.html )
+ autotools-utils_src_install
+}
diff --git a/dev-libs/librelp/metadata.xml b/dev-libs/librelp/metadata.xml
new file mode 100644
index 000000000000..31c8b99f54a1
--- /dev/null
+++ b/dev-libs/librelp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/librep/Manifest b/dev-libs/librep/Manifest
new file mode 100644
index 000000000000..fcafb6f6bccb
--- /dev/null
+++ b/dev-libs/librep/Manifest
@@ -0,0 +1,2 @@
+DIST librep-0.92.2.1.tar.xz 608988 SHA256 47bb628a377e2c7cb6e22f3e691a88d88af83570ca99b0d7300a5fbcb46b6663 SHA512 7535fbf3af3b6775dfe740623abd09ff48a38641c3be52bbe84ef0b14d37455aa73f3a9941b3a814b04f203664c0e18f1add2111ac968fbf1f59fa4253f6a974 WHIRLPOOL ff59301e924b176e6944a79c1be5635d7d8845a89a06c811cdc891f9edcc4179f555ebbd8092ff0e2194763ab2f554fa224b41b5ec2515468fcfb211b887f747
+DIST librep-0.92.3.tar.xz 607128 SHA256 45c98a5bbdfde4f1d98e3839b319d9ae15857d2d1ae8e3838d9a18d53f3e8b85 SHA512 d65b7a418a2782307c7afa74bba1cc9b690c0fe37938151e7ead3da08cba52d2f5bd2803de22f426b75a353f50287a5ce727c98fc23abbabf9e54b3389f04103 WHIRLPOOL 1ae547f4d795377d77f0fedc67cf3cffc2daf49295798aad088152cdef454c74226e9e9e7f703b0506cd4e1c6cd2b2f321ab8f4cd81f691e1d2d11612cf2c132
diff --git a/dev-libs/librep/files/50librep-gentoo.el b/dev-libs/librep/files/50librep-gentoo.el
new file mode 100644
index 000000000000..59025bbb9d0e
--- /dev/null
+++ b/dev-libs/librep/files/50librep-gentoo.el
@@ -0,0 +1,6 @@
+
+;;; librep site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'rep-debugger "rep-debugger"
+ "Run the rep debugger on program FILE in buffer *gud-FILE*." t)
diff --git a/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch b/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch
new file mode 100644
index 000000000000..6f7b2f1228c7
--- /dev/null
+++ b/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch
@@ -0,0 +1,19 @@
+--- Makefile.in.old 2011-07-25 14:08:18.000000000 +0200
++++ Makefile.in 2011-07-25 14:09:05.000000000 +0200
+@@ -53,15 +53,13 @@
+ $(INSTALL_SCRIPT) libtool $(DESTDIR)$(repcommonexecdir)
+ $(INSTALL_DATA) rules.mk $(DESTDIR)$(repcommonexecdir)
+ $(INSTALL_SCRIPT) install-aliases $(DESTDIR)$(repcommonexecdir)
+- $(INSTALL_DATA) rep-debugger.el $(DESTDIR)$(emacssitelispdir)
+ mkdir -p $(DESTDIR)$(libdir)/pkgconfig
+ $(INSTALL_DATA) $(top_srcdir)/librep.pc $(DESTDIR)$(libdir)/pkgconfig/
+
+ installdirs : mkinstalldirs
+ $(SHELL) $< $(DESTDIR)$(repdir) \
+ $(DESTDIR)$(bindir) $(DESTDIR)$(aclocaldir) \
+- $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir) \
+- $(DESTDIR)$(emacssitelispdir)
++ $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir)
+
+ uninstall :
+ -for dir in $(INSTALL_SUBDIRS); do \
diff --git a/dev-libs/librep/librep-0.92.2.1.ebuild b/dev-libs/librep/librep-0.92.2.1.ebuild
new file mode 100644
index 000000000000..9d934dedbac9
--- /dev/null
+++ b/dev-libs/librep/librep-0.92.2.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib elisp-common
+
+DESCRIPTION="Shared library implementing a Lisp dialect"
+HOMEPAGE="http://librep.sourceforge.net/"
+SRC_URI="http://download.tuxfamily.org/librep/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="emacs readline"
+
+RDEPEND=">=sys-libs/gdbm-1.8.0
+ emacs? ( virtual/emacs )
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ sys-apps/texinfo
+ app-arch/xz-utils"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.92.0-disable-elisp.patch
+}
+
+src_configure() {
+ econf \
+ --libexecdir=/usr/$(get_libdir) \
+ --without-gmp \
+ --without-ffi \
+ --disable-static \
+ $(use_with readline)
+}
+
+src_compile() {
+ emake
+
+ if use emacs; then
+ elisp-compile rep-debugger.el || die "elisp-compile failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
+
+ dodoc ChangeLog MAINTAINERS NEWS README TODO
+ docinto doc
+ dodoc doc/*
+
+ if use emacs; then
+ elisp-install ${PN} rep-debugger.{el,elc} || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" \
+ || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/librep/librep-0.92.3.ebuild b/dev-libs/librep/librep-0.92.3.ebuild
new file mode 100644
index 000000000000..89cb90206eed
--- /dev/null
+++ b/dev-libs/librep/librep-0.92.3.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib elisp-common
+
+DESCRIPTION="Shared library implementing a Lisp dialect"
+HOMEPAGE="http://librep.sourceforge.net/"
+SRC_URI="http://download.tuxfamily.org/librep/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="emacs readline"
+
+RDEPEND="
+ >=sys-libs/gdbm-1.8.0
+ emacs? ( virtual/emacs )
+ readline? ( sys-libs/readline )
+"
+DEPEND="${RDEPEND}
+ sys-apps/texinfo
+ app-arch/xz-utils
+"
+
+src_prepare() {
+ DOCS="ChangeLog MAINTAINERS NEWS README TODO"
+ epatch "${FILESDIR}"/${PN}-0.92.0-disable-elisp.patch
+}
+
+src_configure() {
+ econf \
+ --libexecdir=/usr/$(get_libdir) \
+ --without-gmp \
+ --without-ffi \
+ --disable-static \
+ $(use_with readline)
+}
+
+src_compile() {
+ default
+
+ if use emacs; then
+ elisp-compile rep-debugger.el || die "elisp-compile failed"
+ fi
+}
+
+src_install() {
+ default
+ prune_libtool_files --modules
+
+ docinto doc
+ dodoc doc/*
+
+ if use emacs; then
+ elisp-install ${PN} rep-debugger.{el,elc} || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" \
+ || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/librep/metadata.xml b/dev-libs/librep/metadata.xml
new file mode 100644
index 000000000000..4538a68724a6
--- /dev/null
+++ b/dev-libs/librep/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libreport/Manifest b/dev-libs/libreport/Manifest
new file mode 100644
index 000000000000..46d6147c7453
--- /dev/null
+++ b/dev-libs/libreport/Manifest
@@ -0,0 +1 @@
+DIST libreport-2.0.13.tar.gz 1190147 SHA256 4a0609abe80b9432ae81c5a512680a7035b547cd1fef29c63c730d92c1be8b05 SHA512 cfe963db8091b245f8ceb7d8501466f4f9464c28d298faeafc9f6e57deafdfdc6501d468bf5ffd83703adb67bc1e05e06c56b5c0e0028bb2e0134788ddbb2181 WHIRLPOOL 647da27bf88cf77dbb25ace9f446dfe9a875370c27fef05999843dcee1f653ba07af44d4e5a36107dbf69f0241f1f66d3a6a58ae7897faca7b049d2b1aa00301
diff --git a/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch b/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch
new file mode 100644
index 000000000000..4baaedd4d8eb
--- /dev/null
+++ b/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch
@@ -0,0 +1,80 @@
+From cb7d7fe5b2daf4dac3b8a1616461a0c840e18b73 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 22 Sep 2012 03:06:03 -0400
+Subject: [PATCH] Fix automake-1.12 autoreconf issues.
+
+Need -Wno-portablity for '%'-style pattern rules in doc/Makefile.am
+
+Need AM_PROG_CC_C_O for src/cli/cli.c
+
+gettext-0.18.1.1's AM_GNU_GETTEXT requires AM_PROG_MKDIR_P, causing
+problems for automake-1.12.
+---
+ configure.ac | 8 +++-----
+ src/lib/Makefile.am | 2 +-
+ src/plugins/Makefile.am | 2 +-
+ 3 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dd50bcf..3955689 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_INIT([libreport],
+ [crash-catcher@fedorahosted.org])
+
+ AC_CONFIG_MACRO_DIR([m4])
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
++AM_INIT_AUTOMAKE([-Wall -Wno-portability -Werror foreign])
+ # Support silent build rules. Disable by either passing --disable-silent-rules
+ # to ./configure or passing V=1 to make
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
+@@ -11,8 +11,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
+ AM_SILENT_RULES([yes])
+
+ AC_DISABLE_STATIC
++AM_PROG_AR
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
++AM_PROG_CC_C_O
+ AC_PROG_LN_S
+
+ AC_SYS_LARGEFILE
+@@ -33,9 +34,6 @@ GETTEXT_PACKAGE=libreport
+ AC_SUBST(GETTEXT_PACKAGE)
+ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
+
+-AM_GNU_GETTEXT([external])
+-AM_GNU_GETTEXT_VERSION([0.17])
+-
+ IT_PROG_INTLTOOL([0.35.0])
+
+ dnl ****** END ****************************************
+diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
+index 5befe7d..2c51931 100644
+--- a/src/lib/Makefile.am
++++ b/src/lib/Makefile.am
+@@ -121,7 +121,7 @@ libreport_web_la_LIBADD = \
+ libreport.la
+
+ $(DESTDIR)/$(DEBUG_DUMPS_DIR):
+- $(mkdir_p) '$@'
++ $(MKDIR_P) '$@'
+ # no need to chmod it here
+ #chmod 1777 '$@'
+ install-data-local: $(DESTDIR)/$(DEBUG_DUMPS_DIR)
+diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
+index 3f9dfd7..795d198 100644
+--- a/src/plugins/Makefile.am
++++ b/src/plugins/Makefile.am
+@@ -40,7 +40,7 @@ EXTRA_DIST = \
+ report_Uploader.xml.in
+
+ $(DESTDIR)/$(DEBUG_INFO_DIR):
+- $(mkdir_p) '$@'
++ $(MKDIR_P) '$@'
+
+ reporter_upload_SOURCES = \
+ reporter-upload.c
+--
+1.7.12
+
diff --git a/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch b/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch
new file mode 100644
index 000000000000..89c6a17354a3
--- /dev/null
+++ b/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch
@@ -0,0 +1,295 @@
+From 624d523361dcf8c10742cbcb1a017e21675002ff Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 22 Sep 2012 02:17:08 -0400
+Subject: [PATCH] Replace Fedora defaults with Gentoo ones, and disable code
+ not relevant for Gentoo
+
+Disable bugzilla and ureport plugins (they require Gentoo infrastructure
+changes). Fix libreport-web.pc to not rely on xmlrpc.pc, which Gentoo
+does not have.
+
+Disble mailx post-create by default to avoid "abrtd: 'post-create' ...
+exited with 141" errors.
+---
+ doc/Makefile.am | 2 -
+ doc/reporter-bugzilla.txt | 2 +-
+ libreport-web.pc.in | 6 +--
+ src/lib/dump_dir.c | 2 +-
+ src/plugins/Makefile.am | 83 ++------------------------------------
+ src/plugins/bugzilla.conf | 2 +-
+ src/plugins/mailx_event.conf | 2 +-
+ src/plugins/report_Bugzilla.conf | 2 +-
+ src/plugins/report_Bugzilla.xml.in | 4 +-
+ src/plugins/reporter-bugzilla.c | 2 +-
+ src/report-python/__init__.py | 4 +-
+ 11 files changed, 16 insertions(+), 95 deletions(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 542fe4c..863b6d1 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -9,11 +9,9 @@ XMLTO_SILENT_0 = @echo " XMLTO " $@;
+
+ MAN1_TXT =
+ MAN1_TXT += report-cli.txt
+-MAN1_TXT += reporter-bugzilla.txt
+ MAN1_TXT += reporter-kerneloops.txt
+ MAN1_TXT += reporter-mailx.txt
+ MAN1_TXT += reporter-print.txt
+-MAN1_TXT += reporter-rhtsupport.txt
+ MAN1_TXT += reporter-upload.txt
+ MAN1_TXT += report.txt
+
+diff --git a/doc/reporter-bugzilla.txt b/doc/reporter-bugzilla.txt
+index 3cedf73..734d598 100644
+--- a/doc/reporter-bugzilla.txt
++++ b/doc/reporter-bugzilla.txt
+@@ -44,7 +44,7 @@ Configuration file lines should have 'PARAM = VALUE' format. The parameters are:
+ Password to Bugzilla account.
+
+ 'BugzillaURL'::
+- Bugzilla HTTP(S) address. (default: https://bugzilla.redhat.com)
++ Bugzilla HTTP(S) address. (default: https://bugs.gentoo.org/)
+
+ 'SSLVerify'::
+ Use yes/true/on/1 to verify server's SSL certificate. (default: yes)
+diff --git a/libreport-web.pc.in b/libreport-web.pc.in
+index c9af1d2..14505f8 100644
+--- a/libreport-web.pc.in
++++ b/libreport-web.pc.in
+@@ -6,7 +6,7 @@ includedir=@includedir@
+ Name: libreport
+ Description: Library providing network API for libreport
+ Version: @VERSION@
+-Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 xmlrpc xmlrpc_client json btparser libreport
+-Libs: -L${libdir} -lreport-web
+-Cflags:
++Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 json btparser libreport
++Libs: -L${libdir} @XMLRPC_LIBS@ @XMLRPC_CLIENT_LIBS@ -lreport-web
++Cflags: @XMLRPC_CFLAGS@ @XMLRPC_CLIENT_CFLAGS@
+
+diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c
+index 0fc7da7..41e4f55 100644
+--- a/src/lib/dump_dir.c
++++ b/src/lib/dump_dir.c
+@@ -556,7 +556,7 @@ void dd_create_basic_files(struct dump_dir *dd, uid_t uid, const char *chroot_di
+ release = load_text_file("/etc/system-release",
+ DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
+ if (!release)
+- release = load_text_file("/etc/redhat-release", /*flags:*/ 0);
++ release = load_text_file("/etc/gentoo-release", /*flags:*/ 0);
+ dd_save_text(dd, FILENAME_OS_RELEASE, release);
+ if (chroot_dir)
+ {
+diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
+index 967596f..3f9dfd7 100644
+--- a/src/plugins/Makefile.am
++++ b/src/plugins/Makefile.am
+@@ -1,36 +1,27 @@
+ pluginslibdir = $(PLUGINS_LIB_DIR)
+
+ bin_PROGRAMS = \
+- reporter-bugzilla \
+- reporter-rhtsupport \
+ reporter-kerneloops \
+ reporter-upload \
+ reporter-mailx \
+ reporter-print \
+- report \
+- reporter-ureport
++ report
+
+ pluginsconfdir = $(PLUGINS_CONF_DIR)
+
+ reportpluginsconfdir = $(REPORT_PLUGINS_CONF_DIR)
+
+ dist_reportpluginsconf_DATA = \
+- bugzilla.conf \
+- rhtsupport.conf \
+ mailx.conf
+
+ eventsdir = $(EVENTS_DIR)
+
+ dist_events_DATA = \
+- report_Bugzilla.xml \
+- report_Bugzilla.conf \
+ report_Logger.conf \
+ report_Logger.xml \
+ report_Mailx.xml \
+- report_RHTSupport.xml \
+ report_Kerneloops.xml \
+- report_Uploader.xml \
+- report_uReport.xml
++ report_Uploader.xml
+
+ @INTLTOOL_XML_RULE@
+
+@@ -39,74 +30,18 @@ eventsconfdir = $(EVENTS_CONF_DIR)
+ dist_eventsconf_DATA = \
+ mailx_event.conf \
+ print_event.conf \
+- bugzilla_event.conf \
+- rhtsupport_event.conf \
+ uploader_event.conf
+
+ EXTRA_DIST = \
+- report_Bugzilla.xml.in \
+- report_Bugzilla.conf \
+ report_Logger.conf \
+ report_Logger.xml.in \
+ report_Mailx.xml.in \
+- report_RHTSupport.xml.in \
+ report_Kerneloops.xml.in \
+- report_Uploader.xml.in \
+- report_uReport.xml.in
++ report_Uploader.xml.in
+
+ $(DESTDIR)/$(DEBUG_INFO_DIR):
+ $(mkdir_p) '$@'
+
+-reporter_bugzilla_SOURCES = \
+- reporter-bugzilla.c rhbz.c rhbz.h
+-reporter_bugzilla_CPPFLAGS = \
+- -I$(srcdir)/../include \
+- -I$(srcdir)/../lib \
+- -DBIN_DIR=\"$(bindir)\" \
+- -DCONF_DIR=\"$(CONF_DIR)\" \
+- -DLOCALSTATEDIR='"$(localstatedir)"' \
+- -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
+- -DDEBUG_INFO_DIR=\"$(DEBUG_INFO_DIR)\" \
+- -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
+- -DPLUGINS_CONF_DIR=\"$(REPORT_PLUGINS_CONF_DIR)\" \
+- $(GLIB_CFLAGS) \
+- $(LIBREPORT_CFLAGS) \
+- $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) \
+- -D_GNU_SOURCE
+-reporter_bugzilla_LDADD = \
+- $(GLIB_LIBS) \
+- $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) \
+- ../lib/libreport-web.la \
+- ../lib/libreport.la
+-
+-reporter_rhtsupport_SOURCES = \
+- abrt_rh_support.h abrt_rh_support.c \
+- reporter-rhtsupport.h \
+- reporter-rhtsupport-parse.c \
+- reporter-rhtsupport.c
+-reporter_rhtsupport_CPPFLAGS = \
+- -I$(srcdir)/../include \
+- -I$(srcdir)/../lib \
+- -DBIN_DIR=\"$(bindir)\" \
+- -DCONF_DIR=\"$(CONF_DIR)\" \
+- -DLOCALSTATEDIR='"$(localstatedir)"' \
+- -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
+- -DDEBUG_INFO_DIR=\"$(DEBUG_INFO_DIR)\" \
+- -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
+- -DPLUGINS_CONF_DIR=\"$(REPORT_PLUGINS_CONF_DIR)\" \
+- $(GLIB_CFLAGS) \
+- $(LIBREPORT_CFLAGS) \
+- $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) \
+- $(LIBXML_CFLAGS) \
+- -D_GNU_SOURCE
+-reporter_rhtsupport_LDFLAGS = -ltar
+-reporter_rhtsupport_LDADD = \
+- $(GLIB_LIBS) \
+- $(LIBXML_LIBS) \
+- $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) \
+- ../lib/libreport-web.la \
+- ../lib/libreport.la
+-
+ reporter_upload_SOURCES = \
+ reporter-upload.c
+ reporter_upload_CPPFLAGS = \
+@@ -200,16 +135,4 @@ report_CPPFLAGS = \
+ report_LDADD = \
+ ../lib/libreport.la
+
+-reporter_ureport_SOURCES = \
+- ureport.c
+-reporter_ureport_CPPFLAGS = \
+- -I$(srcdir)/../include \
+- -I$(srcdir)/../lib \
+- $(GLIB_CFLAGS) \
+- $(LIBREPORT_CFLAGS) \
+- -D_GNU_SOURCE
+-reporter_ureport_LDADD = \
+- ../lib/libreport.la \
+- ../lib/libreport-web.la
+-
+ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+diff --git a/src/plugins/bugzilla.conf b/src/plugins/bugzilla.conf
+index 18eba5a..f5afe6f 100644
+--- a/src/plugins/bugzilla.conf
++++ b/src/plugins/bugzilla.conf
+@@ -1,5 +1,5 @@
+ # Bugzilla URL
+-BugzillaURL = https://bugzilla.redhat.com/
++BugzillaURL = https://bugs.gentoo.org/
+ # yes means that ssl certificates will be checked
+ SSLVerify = yes
+ # your login has to exist, if you don have any, please create one
+diff --git a/src/plugins/mailx_event.conf b/src/plugins/mailx_event.conf
+index a8c5d11..1c07a73 100644
+--- a/src/plugins/mailx_event.conf
++++ b/src/plugins/mailx_event.conf
+@@ -1,3 +1,3 @@
+-EVENT=post-create reporter-mailx --notify-only -c /etc/libreport/plugins/mailx.conf
++# EVENT=post-create reporter-mailx --notify-only -c /etc/libreport/plugins/mailx.conf
+
+ EVENT=report_Mailx reporter-mailx
+diff --git a/src/plugins/report_Bugzilla.conf b/src/plugins/report_Bugzilla.conf
+index f1a77f5..bb2e651 100644
+--- a/src/plugins/report_Bugzilla.conf
++++ b/src/plugins/report_Bugzilla.conf
+@@ -1,4 +1,4 @@
+-Bugzilla_BugzillaURL = https://bugzilla.redhat.com
++Bugzilla_BugzillaURL = https://bugs.gentoo.org/
+ Bugzilla_Login =
+ Bugzilla_Password =
+ Bugzilla_SSLVerify = yes
+diff --git a/src/plugins/report_Bugzilla.xml.in b/src/plugins/report_Bugzilla.xml.in
+index 8151d32..acaf7fb 100644
+--- a/src/plugins/report_Bugzilla.xml.in
++++ b/src/plugins/report_Bugzilla.xml.in
+@@ -16,8 +16,8 @@
+ <_label>Bugzilla URL</_label>
+ <allow-empty>no</allow-empty>
+ <_description>Address of Bugzilla server</_description>
+- <default-value>https://bugzilla.redhat.com</default-value>
+- <_note-html>You can create bugzilla.redhat.com account &lt;a href="https://bugzilla.redhat.com/createaccount.cgi"&gt;here&lt;/a&gt;</_note-html>
++ <default-value>https://bugs.gentoo.org/</default-value>
++ <_note-html>You can create bugs.gentoo.org account &lt;a href="https://bugs.gentoo.org/createaccount.cgi"&gt;here&lt;/a&gt;</_note-html>
+ </option>
+ <option type="text" name="Bugzilla_Login">
+ <_label>User name</_label>
+diff --git a/src/plugins/reporter-bugzilla.c b/src/plugins/reporter-bugzilla.c
+index a3e8855..17a686d 100644
+--- a/src/plugins/reporter-bugzilla.c
++++ b/src/plugins/reporter-bugzilla.c
+@@ -34,7 +34,7 @@ static void set_settings(struct bugzilla_struct *b, map_string_h *settings)
+ environ = getenv("Bugzilla_BugzillaURL");
+ b->b_bugzilla_url = environ ? environ : get_map_string_item_or_empty(settings, "BugzillaURL");
+ if (!b->b_bugzilla_url[0])
+- b->b_bugzilla_url = "https://bugzilla.redhat.com";
++ b->b_bugzilla_url = "https://bugs.gentoo.org/";
+ b->b_bugzilla_xmlrpc = xasprintf("%s"XML_RPC_SUFFIX, b->b_bugzilla_url);
+
+ environ = getenv("Bugzilla_SSLVerify");
+diff --git a/src/report-python/__init__.py b/src/report-python/__init__.py
+index 9c5e6b3..7188392 100644
+--- a/src/report-python/__init__.py
++++ b/src/report-python/__init__.py
+@@ -21,8 +21,8 @@ from report.io import TextIO, GTKIO, NewtIO
+
+ import os
+
+-SYSTEM_RELEASE_PATHS = ["/etc/system-release","/etc/redhat-release"]
+-SYSTEM_RELEASE_DEPS = ["system-release", "redhat-release"]
++SYSTEM_RELEASE_PATHS = ["/etc/system-release","/etc/gentoo-release"]
++SYSTEM_RELEASE_DEPS = ["system-release", "gentoo-release"]
+
+ _hardcoded_default_product = ""
+ _hardcoded_default_version = ""
+--
+1.7.12
+
diff --git a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch
new file mode 100644
index 000000000000..bd764c82cc87
--- /dev/null
+++ b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch
@@ -0,0 +1,51 @@
+From 438344fe7ce2edbd23f4df2dfd8e7b6be0a2d7c2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 11 Sep 2013 11:10:32 +0200
+Subject: [PATCH] Use proper json-c requirement in libreport-web.pc.
+
+Depending on whether json-c was found as 'json' or 'json-c', require the
+same package in the generated .pc file.
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.0.13]
+---
+ configure.ac | 9 +++++++--
+ libreport-web.pc.in | 2 +-
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1e32c64..ace4cde 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -102,9 +102,14 @@ PKG_CHECK_MODULES([DBUS], [dbus-1])
+ PKG_CHECK_MODULES([LIBXML], [libxml-2.0])
+ PKG_CHECK_MODULES([NSS], [nss])
+ PKG_CHECK_MODULES([CURL], [libcurl])
+-PKG_CHECK_MODULES([JSON_C], [json],,[
+- PKG_CHECK_MODULES([JSON_C], [json-c])
++PKG_CHECK_MODULES([JSON_C], [json], [
++ JSON_C_PACKAGE=json
++], [
++ PKG_CHECK_MODULES([JSON_C], [json-c], [
++ JSON_C_PACKAGE=json-c
++ ])
+ ])
++AC_SUBST([JSON_C_PACKAGE])
+ PKG_CHECK_MODULES([BTPARSER], [btparser])
+ PKG_CHECK_MODULES([NEWT], [libnewt])
+ PKG_CHECK_MODULES([PROXY], [libproxy-1.0], [
+diff --git a/libreport-web.pc.in b/libreport-web.pc.in
+index 14505f8..2a7c926 100644
+--- a/libreport-web.pc.in
++++ b/libreport-web.pc.in
+@@ -6,7 +6,7 @@ includedir=@includedir@
+ Name: libreport
+ Description: Library providing network API for libreport
+ Version: @VERSION@
+-Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 json btparser libreport
++Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 @JSON_C_PACKAGE@ btparser libreport
+ Libs: -L${libdir} @XMLRPC_LIBS@ @XMLRPC_CLIENT_LIBS@ -lreport-web
+ Cflags: @XMLRPC_CFLAGS@ @XMLRPC_CLIENT_CFLAGS@
+
+--
+1.8.3.2
+
diff --git a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch
new file mode 100644
index 000000000000..e5191e8e313d
--- /dev/null
+++ b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch
@@ -0,0 +1,35 @@
+From 4a874dde53cf6acca7db2e7be3c10106fb50ec62 Mon Sep 17 00:00:00 2001
+From: Markos Chandras <hwoarang@gentoo.org>
+Date: Sun, 28 Apr 2013 12:27:57 +0100
+Subject: [PATCH] configure.ac: Fix json-c detection for json-c >= 0.11
+
+json-c-0.11 renamed the pkgconfig file to json-c
+https://github.com/json-c/json-c/blob/master/ChangeLog
+The configure.ac file was fixed to look for json-c if json
+is not available.
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.0.13]
+
+Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index dd50bcf..0ca5e67 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -104,7 +104,9 @@ PKG_CHECK_MODULES([DBUS], [dbus-1])
+ PKG_CHECK_MODULES([LIBXML], [libxml-2.0])
+ PKG_CHECK_MODULES([NSS], [nss])
+ PKG_CHECK_MODULES([CURL], [libcurl])
+-PKG_CHECK_MODULES([JSON_C], [json])
++PKG_CHECK_MODULES([JSON_C], [json],,[
++ PKG_CHECK_MODULES([JSON_C], [json-c])
++])
+ PKG_CHECK_MODULES([BTPARSER], [btparser])
+ PKG_CHECK_MODULES([NEWT], [libnewt])
+ PKG_CHECK_MODULES([PROXY], [libproxy-1.0], [
+--
+1.8.2.1
+
diff --git a/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch b/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch
new file mode 100644
index 000000000000..4f43ec90591c
--- /dev/null
+++ b/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch
@@ -0,0 +1,19 @@
+From 88e39835f1f94eff58e6d0cc0bee20ceae10bdd2 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Wed, 16 Nov 2011 02:07:24 -0500
+Subject: [PATCH] fix uploader_event syntax
+
+---
+ src/plugins/uploader_event.conf | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/plugins/uploader_event.conf b/src/plugins/uploader_event.conf
+index 2406008..bd13c5e 100644
+--- a/src/plugins/uploader_event.conf
++++ b/src/plugins/uploader_event.conf
+@@ -1 +1 @@
+-EVENT=report_Uploader analyzer=libreport reporter-upload
++EVENT=report_Uploader reporter-upload
+--
+1.7.8.rc1
+
diff --git a/dev-libs/libreport/libreport-2.0.13-r1.ebuild b/dev-libs/libreport/libreport-2.0.13-r1.ebuild
new file mode 100644
index 000000000000..02d53da4f44b
--- /dev/null
+++ b/dev-libs/libreport/libreport-2.0.13-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils python-r1 user
+
+DESCRIPTION="Generic library for reporting software bugs"
+HOMEPAGE="https://fedorahosted.org/abrt/"
+SRC_URI="https://fedorahosted.org/released/abrt/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/btparser-0.18:=
+ >=dev-libs/glib-2.21:2
+ dev-libs/json-c:=
+ dev-libs/libtar
+ dev-libs/libxml2:2
+ dev-libs/newt:=
+ dev-libs/nss:=
+ dev-libs/xmlrpc-c:=[curl]
+ net-libs/libproxy:=
+ net-misc/curl:=[ssl]
+ sys-apps/dbus
+ >=x11-libs/gtk+-3.3.12:3
+ x11-misc/xdg-utils
+ ${PYTHON_DEPS}
+"
+RDEPEND="${COMMON_DEPEND}
+ || ( gnome-base/gnome-keyring >=kde-apps/kwalletd-4.8 )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ >=dev-util/intltool-0.3.50
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+# Tests require python-meh, which is highly redhat-specific.
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup abrt
+ enewuser abrt -1 -1 -1 abrt
+}
+
+src_prepare() {
+ # Replace redhat- and fedora-specific defaults with gentoo ones, and disable
+ # code that requires gentoo infra support.
+ epatch "${FILESDIR}/${PN}-2.0.13-gentoo.patch"
+
+ # Modify uploader_event so that the gui recognizes it
+ epatch "${FILESDIR}/${PN}-2.0.7-uploader_event-syntax.patch"
+
+ # automake-1.12
+ epatch "${FILESDIR}/${PN}-2.0.13-automake-1.12.patch"
+
+ # json-c-0.11, https://github.com/abrt/libreport/pull/{159,174}
+ epatch "${FILESDIR}/${PN}-2.0.13-json-c-0.11"{,-pc}.patch
+
+ mkdir -p m4
+ eautoreconf
+
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir econf \
+ --disable-bodhi \
+ --localstatedir="${EPREFIX}/var" \
+ $(usex debug --enable-debug "")
+ # --disable-debug enables debug!
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+
+ # Need to set correct ownership for use by app-admin/abrt
+ diropts -o abrt -g abrt
+ keepdir /var/spool/abrt
+
+ prune_libtool_files --modules
+}
diff --git a/dev-libs/libreport/metadata.xml b/dev-libs/libreport/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/libreport/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/librevenge/Manifest b/dev-libs/librevenge/Manifest
new file mode 100644
index 000000000000..5bfa6d69f6cc
--- /dev/null
+++ b/dev-libs/librevenge/Manifest
@@ -0,0 +1,2 @@
+DIST librevenge-0.0.1.tar.xz 390796 SHA256 0cb22773dd1b268f71b291fba0e27127853e8e55ac6ec0fcf5370487d7eeee7d SHA512 65cc0e089a24e291700cca4a3f4d390d4646a1d6d847c060c068d53b525b7c69f0d870d2cafaf4d2f52cc102608e5a26c8883a455d031841e03cfbd32051e422 WHIRLPOOL d0645652b4f7834e5f14ccc24ba567d1fcf036183185c5b00e64615fce303ac5f9137b729ebf62615390ad8a482205b545158b4cdb9ffdedc8b429d57ded5a78
+DIST librevenge-0.0.2.tar.xz 396628 SHA256 f6f280c4345546aad16aeafd5cf2e4a4ac31a81606171755465bba0d96efcf0f SHA512 28e53aefdfe8585ef148781e53379a986b5becb459a27dffe8546341e7ada6a3323bc27ab3170227a532e796869b634ad0443324af72b16835a4287a64994637 WHIRLPOOL 648006d5024370e31e8b1bc2db4a7182572aa1ff5c4473754c02cbd33f30c51361fd4b6e6cd450aa40d08372eddd136c140cc7cac53e29188593b146fb55f121
diff --git a/dev-libs/librevenge/librevenge-0.0.1.ebuild b/dev-libs/librevenge/librevenge-0.0.1.ebuild
new file mode 100644
index 000000000000..829840f115ea
--- /dev/null
+++ b/dev-libs/librevenge/librevenge-0.0.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A helper library for REVerse ENGineered formats filters"
+HOMEPAGE="http://sf.net/p/libwpd/librevenge"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.code.sf.net/p/libwpd/librevenge"
+ inherit git-r3 autotools
+ KEYWORDS=""
+else
+ SRC_URI="http://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~x86 ~x86-fbsd"
+fi
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
+"
+
+src_prepare() {
+ [[ ${PV} = 9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-static \
+ --disable-werror \
+ $(use_with doc docs) \
+ $(use_enable test tests) \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+}
diff --git a/dev-libs/librevenge/librevenge-0.0.2.ebuild b/dev-libs/librevenge/librevenge-0.0.2.ebuild
new file mode 100644
index 000000000000..9ccd48f955d3
--- /dev/null
+++ b/dev-libs/librevenge/librevenge-0.0.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A helper library for REVerse ENGineered formats filters"
+HOMEPAGE="http://sf.net/p/libwpd/librevenge"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.code.sf.net/p/libwpd/librevenge"
+ inherit git-r3 autotools
+ KEYWORDS="~ppc64"
+else
+ SRC_URI="http://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ~ppc64 x86 ~x86-fbsd"
+fi
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
+"
+
+src_prepare() {
+ [[ ${PV} = 9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-static \
+ --disable-werror \
+ $(use_with doc docs) \
+ $(use_enable test tests) \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+}
diff --git a/dev-libs/librevenge/librevenge-9999.ebuild b/dev-libs/librevenge/librevenge-9999.ebuild
new file mode 100644
index 000000000000..829840f115ea
--- /dev/null
+++ b/dev-libs/librevenge/librevenge-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A helper library for REVerse ENGineered formats filters"
+HOMEPAGE="http://sf.net/p/libwpd/librevenge"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.code.sf.net/p/libwpd/librevenge"
+ inherit git-r3 autotools
+ KEYWORDS=""
+else
+ SRC_URI="http://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~x86 ~x86-fbsd"
+fi
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
+"
+
+src_prepare() {
+ [[ ${PV} = 9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-static \
+ --disable-werror \
+ $(use_with doc docs) \
+ $(use_enable test tests) \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+}
diff --git a/dev-libs/librevenge/metadata.xml b/dev-libs/librevenge/metadata.xml
new file mode 100644
index 000000000000..5d46203011d6
--- /dev/null
+++ b/dev-libs/librevenge/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+</pkgmetadata>
diff --git a/dev-libs/libroadnav/Manifest b/dev-libs/libroadnav/Manifest
new file mode 100644
index 000000000000..3cdd4736a6dc
--- /dev/null
+++ b/dev-libs/libroadnav/Manifest
@@ -0,0 +1 @@
+DIST libroadnav-0.19.tar.gz 835616 SHA256 3aa4c1d951f8149ee0df3a67eb709fce5c379a9ffe8acc7141f87b4841baea0f SHA512 74846691416380a038ae423a4d59acb3773aa4204e4699302afb05c35dea1115236a7920970398405e54d967d245e445714806aaf9e443b06baf6b51474ee185 WHIRLPOOL d111aae99f94cd530f8f470e8ef7bcab0757260ad9975f53b151559a7c48cb2d2f7152197bba4563647724d3834ac8494bd44b7c65e4d49c00a61c47f6b4f6f1
diff --git a/dev-libs/libroadnav/libroadnav-0.19.ebuild b/dev-libs/libroadnav/libroadnav-0.19.ebuild
new file mode 100644
index 000000000000..2134c0afab74
--- /dev/null
+++ b/dev-libs/libroadnav/libroadnav-0.19.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+WX_GTK_VER=2.8
+
+inherit wxwidgets
+
+DESCRIPTION="A library capable of plotting streetmaps and providing driving directions for US addresses"
+HOMEPAGE="http://roadnav.sourceforge.net"
+SRC_URI="mirror://sourceforge/roadnav/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND="x11-libs/wxGTK:2.8[X]"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --with-wx-config=${WX_CONFIG} \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ # generic or empty
+ for f in NEWS COPYING INSTALL; do
+ rm -f "${D}"/usr/share/doc/${PN}/${f}
+ done
+
+ # --docdir is broken and hardcoded to ${PN}
+ mv "${D}"/usr/share/doc/${PN} "${D}"/usr/share/doc/${P}
+}
diff --git a/dev-libs/libroadnav/metadata.xml b/dev-libs/libroadnav/metadata.xml
new file mode 100644
index 000000000000..9ebfaf66a151
--- /dev/null
+++ b/dev-libs/libroadnav/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>andrew.cremins@gmail.com</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">roadnav</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/librra/Manifest b/dev-libs/librra/Manifest
new file mode 100644
index 000000000000..4fb8d416663b
--- /dev/null
+++ b/dev-libs/librra/Manifest
@@ -0,0 +1 @@
+DIST librra-0.16.tar.gz 451305 SHA256 3abc51a2e64a09c4fd85ded9e3ea01f744e1f4ff6c8b0bf49cbfb8dec3a3a32d SHA512 be2e1dd7614630bc001111ebbb75ed791c094b38ee3a04ad667d5d5d414ad6c7b16bb264617125d74d0d23e90118e208dce5442ed238a18a75df092894380f69 WHIRLPOOL 1d3372cff0d732104ec9291ab67b1fe722f32fe158597bddcdcb58b0a260569733b97faaded8dbe940f9b8d8ef25df129656a9d2c894572b7ff938fbf7061b5c
diff --git a/dev-libs/librra/librra-0.16.ebuild b/dev-libs/librra/librra-0.16.ebuild
new file mode 100644
index 000000000000..53c08c2cbf3c
--- /dev/null
+++ b/dev-libs/librra/librra-0.16.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="python? 2:2.7"
+
+inherit python
+
+DESCRIPTION="Implements the RRA protocol, for syncing pre WM-2005 PIM data, and files for all versions"
+HOMEPAGE="http://sourceforge.net/projects/synce/"
+SRC_URI="mirror://sourceforge/synce/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="python recurrence static-libs"
+
+RDEPEND=">=app-pda/synce-core-0.16[python?]
+ >=dev-libs/libmimedir-0.5.1
+ python? ( >=dev-python/pyrex-0.9.6 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable recurrence) \
+ $(use_enable python python-bindings)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc ChangeLog README TODO
+ newdoc lib/README README.lib
+ newdoc src/README README.src
+
+ # prune_libtool_files() from eutils.eclass fails wrt #421197
+ find "${ED}" -name '*.la' -exec rm -f {} +
+
+ # Always remove static archive from site-packages
+ use static-libs && find "${ED}" -name pyrra.a -exec rm -f {} +
+}
diff --git a/dev-libs/librra/metadata.xml b/dev-libs/librra/metadata.xml
new file mode 100644
index 000000000000..4c4dfee99541
--- /dev/null
+++ b/dev-libs/librra/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>pda</herd>
+ <use>
+ <flag name="recurrence">Enable recurrence support (EXPERIMENTAL)</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">synce</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/librtfcomp/Manifest b/dev-libs/librtfcomp/Manifest
new file mode 100644
index 000000000000..d0da99932cd8
--- /dev/null
+++ b/dev-libs/librtfcomp/Manifest
@@ -0,0 +1 @@
+DIST librtfcomp-1.2.tar.gz 327546 SHA256 9caa604fb3d11d08b38f43a492e268e8af7fc35f8098cf91d606d143906211bb SHA512 94aefb19b25d9cfe29dc500d7b2b5a6995224ca501b256108317d4ad2f2551c825f51c0fe0c0ce74cebd3ea5a6b2198812a4b945bb1ee4ad73ab3b3c9042a8c9 WHIRLPOOL 157dffb5c3b44ca1de3a5a913fbca7718ca703a4a86e1ef1cb679b5ec5b61c351a96eb76714ad35bb2dec7cd7bbaeeb22323248434eae199b476301a0c621a5e
diff --git a/dev-libs/librtfcomp/librtfcomp-1.2.ebuild b/dev-libs/librtfcomp/librtfcomp-1.2.ebuild
new file mode 100644
index 000000000000..afe3420b6b91
--- /dev/null
+++ b/dev-libs/librtfcomp/librtfcomp-1.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="python? 2:2.7"
+
+inherit python
+
+DESCRIPTION="Library for handling compressed RTF documents"
+HOMEPAGE="http://sourceforge.net/projects/synce/"
+SRC_URI="mirror://sourceforge/synce/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="python static-libs"
+
+RDEPEND="python? ( >=dev-python/pyrex-0.9.6 )"
+DEPEND="${RDEPEND}"
+
+DOCS="CHANGELOG"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable python python-bindings)
+}
+
+src_install() {
+ default
+
+ # prune_libtool_files() from eutils.eclass fails wrt #421197
+ find "${ED}" -name '*.la' -exec rm -f {} +
+
+ # Always remove static archive from site-packages
+ use static-libs && find "${ED}" -name pyrtfcomp.a -exec rm -f {} +
+}
diff --git a/dev-libs/librtfcomp/metadata.xml b/dev-libs/librtfcomp/metadata.xml
new file mode 100644
index 000000000000..ba58102c22c2
--- /dev/null
+++ b/dev-libs/librtfcomp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>pda</herd>
+ <upstream>
+ <remote-id type="sourceforge">synce</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
new file mode 100644
index 000000000000..108c5631a446
--- /dev/null
+++ b/dev-libs/libsecp256k1/Manifest
@@ -0,0 +1,2 @@
+DIST secp256k1-v0.0.0_pre20141212.tgz 60007 SHA256 f5d3a7cac425caf64040395d99c1a91ab2ca1c973b228a66772ba4a290f355ce SHA512 ab2a211c1bf882ebb62e78891e4e12c3ed7244d46d532e37ff2a669ba08db8dcafec7b4c57c073310e463957fd2fa0dffb940c4f35b61890cb8ce86d4283f0f6 WHIRLPOOL 3aa8b7545ca24028ceb17e770fdbf997e2895212ec25a193fcd926660e78f16d704bf27a5b1aa7cf3cabe643c33b128bf0b0568172c15833eb82fcc58e5941c1
+DIST secp256k1-v0.0.0_pre20150423.tgz 77451 SHA256 7e4e78d5ded245b59dbe8abc9804fdf7ba41d9030936fb39766d5f2bd7e29b2e SHA512 a640188d83e9aa5a4292900c211e29815f2f1b57db4fbccfb8a3bf770bb52f0232d405044f317a3b6b6ea4d5a5107180dc4e374cf7ab06eb79676c270061c3b7 WHIRLPOOL 5796d32cd8f578ef28f6e79ced53fa505519273af39bdeaa413e9b48669ce7945d12437c6093f3aa0b3db9412dac50638c335a3f4f8cf0d4ffa8c94665a85f72
diff --git a/dev-libs/libsecp256k1/files/20141212-fixes.patch b/dev-libs/libsecp256k1/files/20141212-fixes.patch
new file mode 100644
index 000000000000..f8cb27436853
--- /dev/null
+++ b/dev-libs/libsecp256k1/files/20141212-fixes.patch
@@ -0,0 +1,289 @@
+diff --git a/build-aux/m4/bitcoin_secp.m4 b/build-aux/m4/bitcoin_secp.m4
+index 1373478..4a398d6 100644
+--- a/build-aux/m4/bitcoin_secp.m4
++++ b/build-aux/m4/bitcoin_secp.m4
+@@ -1,12 +1,6 @@
+ dnl libsecp25k1 helper checks
+ AC_DEFUN([SECP_INT128_CHECK],[
+ has_int128=$ac_cv_type___int128
+-if test x"$has_int128" != x"yes" && test x"$set_field" = x"64bit"; then
+- AC_MSG_ERROR([$set_field field support explicitly requested but is not compatible with this host])
+-fi
+-if test x"$has_int128" != x"yes" && test x"$set_scalar" = x"64bit"; then
+- AC_MSG_ERROR([$set_scalar scalar support explicitly requested but is not compatible with this host])
+-fi
+ ])
+
+ dnl
+@@ -18,11 +12,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ __asm__ __volatile__("movq $0x100000000,%1; mulq %%rsi" : "+a"(a) : "S"(tmp) : "cc", "%rdx");
+ ]])],[has_64bit_asm=yes],[has_64bit_asm=no])
+ AC_MSG_RESULT([$has_64bit_asm])
+-if test x"$set_field" == x"64bit_asm"; then
+- if test x"$has_64bit_asm" == x"no"; then
+- AC_MSG_ERROR([$set_field field support explicitly requested but no x86_64 assembly available])
+- fi
+-fi
+ ])
+
+ dnl
+@@ -43,7 +32,7 @@ else
+ )])
+ LIBS=
+ fi
+-if test x"$has_libcrypto" == x"yes" && test x"$has_openssl_ec" = x; then
++if test x"$has_libcrypto" = x"yes" && test x"$has_openssl_ec" = x; then
+ AC_MSG_CHECKING(for EC functions in libcrypto)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <openssl/ec.h>
+@@ -69,11 +58,4 @@ if test x"$has_gmp" != x"yes"; then
+ CPPFLAGS="$CPPFLAGS_TEMP"
+ LIBS="$LIBS_TEMP"
+ fi
+-if test x"$set_field" = x"gmp" && test x"$has_gmp" != x"yes"; then
+- AC_MSG_ERROR([$set_field field support explicitly requested but libgmp was not found])
+-fi
+-if test x"$set_bignum" = x"gmp" && test x"$has_gmp" != x"yes"; then
+- AC_MSG_ERROR([$set_bignum field support explicitly requested but libgmp was not found])
+-fi
+ ])
+-
+diff --git a/configure.ac b/configure.ac
+index 40e121e..bd99013 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ if test "x$CFLAGS" = "x"; then
+ fi
+
+ AC_PROG_CC_C99
+-if test x"$ac_cv_prog_cc_c99" == x"no"; then
++if test x"$ac_cv_prog_cc_c99" = x"no"; then
+ AC_MSG_ERROR([c99 compiler support required])
+ fi
+
+@@ -96,15 +96,18 @@ AC_ARG_ENABLE(endomorphism,
+ [use_endomorphism=$enableval],
+ [use_endomorphism=no])
+
+-AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=gmp|64bit|64bit_asm|32bit|auto],
++AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=gmp|64bit|32bit|auto],
+ [Specify Field Implementation. Default is auto])],[req_field=$withval], [req_field=auto])
+
+-AC_ARG_WITH([bignum], [AS_HELP_STRING([--with-bignum=gmp|none|auto],
++AC_ARG_WITH([bignum], [AS_HELP_STRING([--with-bignum=gmp|no|auto],
+ [Specify Bignum Implementation. Default is auto])],[req_bignum=$withval], [req_bignum=auto])
+
+ AC_ARG_WITH([scalar], [AS_HELP_STRING([--with-scalar=64bit|32bit|auto],
+ [Specify scalar implementation. Default is auto])],[req_scalar=$withval], [req_scalar=auto])
+
++AC_ARG_WITH([asm], [AS_HELP_STRING([--with-asm=x86_64|no|auto]
++[Specify assembly optimizations to use. Default is auto])],[req_asm=$withval], [req_asm=auto])
++
+ AC_CHECK_TYPES([__int128])
+
+ AC_MSG_CHECKING([for __builtin_expect])
+@@ -113,40 +116,66 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() {__builtin_expect(0,0);}]])],
+ [ AC_MSG_RESULT([no])
+ ])
+
+-if test x"$req_field" = x"auto"; then
++if test x"$req_asm" = x"auto"; then
+ SECP_64BIT_ASM_CHECK
+ if test x"$has_64bit_asm" = x"yes"; then
+- set_field=64bit_asm
++ set_asm=x86_64
++ fi
++ if test x"$set_asm" = x; then
++ set_asm=no
+ fi
++else
++ set_asm=$req_asm
++ case $set_asm in
++ x86_64)
++ SECP_64BIT_ASM_CHECK
++ if test x"$has_64bit_asm" != x"yes"; then
++ AC_MSG_ERROR([x86_64 assembly optimization requested but not available])
++ fi
++ ;;
++ no)
++ ;;
++ *)
++ AC_MSG_ERROR([invalid assembly optimization selection])
++ ;;
++ esac
++fi
+
++if test x"$req_field" = x"auto"; then
++ if test x"set_asm" = x"x86_64"; then
++ set_field=64bit
++ fi
+ if test x"$set_field" = x; then
+ SECP_INT128_CHECK
+ if test x"$has_int128" = x"yes"; then
+ set_field=64bit
+ fi
+ fi
+-
+ if test x"$set_field" = x; then
+ SECP_GMP_CHECK
+ if test x"$has_gmp" = x"yes"; then
+ set_field=gmp
+ fi
+ fi
+-
+ if test x"$set_field" = x; then
+ set_field=32bit
+ fi
+ else
+ set_field=$req_field
+ case $set_field in
+- 64bit_asm)
+- SECP_64BIT_ASM_CHECK
+- ;;
+ 64bit)
+- SECP_INT128_CHECK
++ if test x"$set_asm" != x"x86_64"; then
++ SECP_INT128_CHECK
++ if test x"$has_int128" != x"yes"; then
++ AC_MSG_ERROR([64bit field explicitly requested but neither __int128 support or x86_64 assembly available])
++ fi
++ fi
+ ;;
+ gmp)
+ SECP_GMP_CHECK
++ if test x"$has_gmp" != x"yes"; then
++ AC_MSG_ERROR([gmp field explicitly requested but libgmp not available])
++ fi
+ ;;
+ 32bit)
+ ;;
+@@ -157,11 +186,9 @@ else
+ fi
+
+ if test x"$req_scalar" = x"auto"; then
+- if test x"$set_scalar" = x; then
+- SECP_INT128_CHECK
+- if test x"$has_int128" = x"yes"; then
+- set_scalar=64bit
+- fi
++ SECP_INT128_CHECK
++ if test x"$has_int128" = x"yes"; then
++ set_scalar=64bit
+ fi
+ if test x"$set_scalar" = x; then
+ set_scalar=32bit
+@@ -171,6 +198,9 @@ else
+ case $set_scalar in
+ 64bit)
+ SECP_INT128_CHECK
++ if test x"$has_int128" != x"yes"; then
++ AC_MSG_ERROR([64bit scalar explicitly requested but __int128 support not available])
++ fi
+ ;;
+ 32bit)
+ ;;
+@@ -187,15 +217,18 @@ if test x"$req_bignum" = x"auto"; then
+ fi
+
+ if test x"$set_bignum" = x; then
+- set_bignum=none
++ set_bignum=no
+ fi
+ else
+ set_bignum=$req_bignum
+ case $set_bignum in
+ gmp)
+ SECP_GMP_CHECK
++ if test x"$has_gmp" != x"yes"; then
++ AC_MSG_ERROR([gmp bignum explicitly requested but libgmp not available])
++ fi
+ ;;
+- none)
++ no)
+ ;;
+ *)
+ AC_MSG_ERROR([invalid bignum implementation selection])
+@@ -203,14 +236,21 @@ else
+ esac
+ fi
+
++# select assembly optimization
++case $set_asm in
++x86_64)
++ AC_DEFINE(USE_ASM_X86_64, 1, [Define this symbol to enable x86_64 assembly optimizations])
++ ;;
++no)
++ ;;
++*)
++ AC_MSG_ERROR([invalid assembly optimizations])
++ ;;
++esac
++
+ # select field implementation
+ case $set_field in
+-64bit_asm)
+- AC_DEFINE(USE_FIELD_5X52_ASM, 1, [Define this symbol to use the assembly version for the 5x52 field implementation])
+- AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation])
+- ;;
+ 64bit)
+- AC_DEFINE(USE_FIELD_5X52_INT128, 1, [Define this symbol to use the __int128 version for the 5x52 field implementation])
+ AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation])
+ ;;
+ gmp)
+@@ -233,7 +273,7 @@ gmp)
+ AC_DEFINE(USE_FIELD_INV_NUM, 1, [Define this symbol to use the num-based field inverse implementation])
+ AC_DEFINE(USE_SCALAR_INV_NUM, 1, [Define this symbol to use the num-based scalar inverse implementation])
+ ;;
+-none)
++no)
+ AC_DEFINE(USE_NUM_NONE, 1, [Define this symbol to use no num implementation])
+ AC_DEFINE(USE_FIELD_INV_BUILTIN, 1, [Define this symbol to use the native field inverse implementation])
+ AC_DEFINE(USE_SCALAR_INV_BUILTIN, 1, [Define this symbol to use the native scalar inverse implementation])
+@@ -258,7 +298,7 @@ esac
+
+ if test x"$use_tests" = x"yes"; then
+ SECP_OPENSSL_CHECK
+- if test x"$has_openssl_ec" == x"yes"; then
++ if test x"$has_openssl_ec" = x"yes"; then
+ AC_DEFINE(ENABLE_OPENSSL_TESTS, 1, [Define this symbol if OpenSSL EC functions are available])
+ SECP_TEST_INCLUDES="$SSL_CFLAGS $CRYPTO_CFLAGS"
+ SECP_TEST_LIBS="$CRYPTO_LIBS"
+@@ -281,9 +321,11 @@ if test x"$use_endomorphism" = x"yes"; then
+ AC_DEFINE(USE_ENDOMORPHISM, 1, [Define this symbol to use endomorphism optimization])
+ fi
+
++AC_MSG_NOTICE([Using assembly optimizations: $set_asm])
+ AC_MSG_NOTICE([Using field implementation: $set_field])
+ AC_MSG_NOTICE([Using bignum implementation: $set_bignum])
+ AC_MSG_NOTICE([Using scalar implementation: $set_scalar])
++AC_MSG_NOTICE([Using endomorphism optimizations: $use_endomorphism])
+
+ AC_CONFIG_HEADERS([src/libsecp256k1-config.h])
+ AC_CONFIG_FILES([Makefile libsecp256k1.pc])
+@@ -291,7 +333,6 @@ AC_SUBST(SECP_INCLUDES)
+ AC_SUBST(SECP_LIBS)
+ AC_SUBST(SECP_TEST_LIBS)
+ AC_SUBST(SECP_TEST_INCLUDES)
+-AM_CONDITIONAL([USE_ASM], [test x"$set_field" == x"64bit_asm"])
+ AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" != x"no"])
+ AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" != x"no"])
+
+diff --git a/src/field_5x52_impl.h b/src/field_5x52_impl.h
+index 63176d6..a045db3 100644
+--- a/src/field_5x52_impl.h
++++ b/src/field_5x52_impl.h
+@@ -16,12 +16,10 @@
+ #include "num.h"
+ #include "field.h"
+
+-#if defined(USE_FIELD_5X52_ASM)
++#if defined(USE_ASM_X86_64)
+ #include "field_5x52_asm_impl.h"
+-#elif defined(USE_FIELD_5X52_INT128)
+-#include "field_5x52_int128_impl.h"
+ #else
+-#error "Please select field_5x52 implementation"
++#include "field_5x52_int128_impl.h"
+ #endif
+
+ /** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F,
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20141212.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20141212.ebuild
new file mode 100644
index 000000000000..48768c1cebb9
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20141212.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin/${MyPN}"
+COMMITHASH="2a53a472f24acd9ff10878b5bf21b5b27ab8060a"
+SRC_URI="https://github.com/bitcoin/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${MyPN}-v${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="asm doc endomorphism gmp test"
+
+REQUIRED_USE="
+ asm? ( amd64 )
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:0 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/gcc-4.7
+ test? ( dev-libs/openssl:0 )
+"
+
+S="${WORKDIR}/${MyPN}-${COMMITHASH}"
+
+src_prepare() {
+ epatch "${FILESDIR}/20141212-fixes.patch"
+ eautoreconf
+}
+
+src_configure() {
+ local field
+ if use gmp && ! use asm; then
+ field=gmp
+ elif use amd64; then
+ field=64bit
+ else
+ field=32bit
+ fi
+
+ econf \
+ --disable-benchmark \
+ $(use_enable test tests) \
+ $(use_enable endomorphism) \
+ --with-asm=$(usex asm auto no) \
+ --with-bignum=$(usex gmp gmp no) \
+ --with-field=${field} \
+ --disable-static
+}
+
+src_compile() {
+ emake
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ if use doc; then
+ dodoc README.md
+ fi
+
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20150423.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20150423.ebuild
new file mode 100644
index 000000000000..2024528ff0f3
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20150423.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin/${MyPN}"
+COMMITHASH="22f60a62801a8a49ecd049e7a563f69a41affd8d"
+SRC_URI="https://github.com/bitcoin/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${MyPN}-v${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="asm doc endomorphism gmp test"
+
+REQUIRED_USE="
+ asm? ( amd64 )
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:0 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-libs/openssl:0 )
+"
+
+S="${WORKDIR}/${MyPN}-${COMMITHASH}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-benchmark \
+ $(use_enable test tests) \
+ $(use_enable endomorphism) \
+ --with-asm=$(usex asm auto no) \
+ --with-bignum=$(usex gmp gmp no) \
+ --disable-static
+}
+
+src_install() {
+ if use doc; then
+ dodoc README.md
+ fi
+
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild b/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild
new file mode 100644
index 000000000000..b0a109807c08
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/bitcoin/secp256k1.git"
+inherit git-2 autotools eutils
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin/${MyPN}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="asm doc endomorphism gmp test"
+
+REQUIRED_USE="
+ asm? ( amd64 )
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:0 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-libs/openssl:0 )
+"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-benchmark \
+ $(use_enable test tests) \
+ $(use_enable endomorphism) \
+ --with-asm=$(usex asm auto no) \
+ --with-bignum=$(usex gmp gmp no) \
+ --disable-static
+}
+
+src_install() {
+ if use doc; then
+ dodoc README.md
+ fi
+
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
new file mode 100644
index 000000000000..60835a2cb1e4
--- /dev/null
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <use>
+ <flag name="asm">Enable x86_64 assembly optimisation</flag>
+ <flag name="endomorphism">Enable endomorphism</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">bitcoin/secp256k1</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libserialport/Manifest b/dev-libs/libserialport/Manifest
new file mode 100644
index 000000000000..1b9c23bbdfdc
--- /dev/null
+++ b/dev-libs/libserialport/Manifest
@@ -0,0 +1 @@
+DIST libserialport-0.1.0.tar.gz 382395 SHA256 ec905bd64bd8b82234b68a5eded5fd79b67704fe0cd73bf092666b9679a319af SHA512 9ec0f33aa0f3c72c47c82cb565ee850968eda04ef5d046551a0ecce2938b7528266aed37022fa1e14698d9f0e969b5b049e86c4a8012e43426379ef02e1d0b3f WHIRLPOOL ad6e92528ed2b5518d62305673259ec952461d0fa57c7557ce08cb5bddb06b20c80c309fc3b59f54c73f06fa82d7a3166d8abeeb49b198898694cd9b0ddad2a5
diff --git a/dev-libs/libserialport/libserialport-0.1.0.ebuild b/dev-libs/libserialport/libserialport-0.1.0.ebuild
new file mode 100644
index 000000000000..5777eb69cb0c
--- /dev/null
+++ b/dev-libs/libserialport/libserialport-0.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Cross platform serial port access library"
+HOMEPAGE="http://sigrok.org/wiki/Libserialport"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static-libs udev"
+
+RDEPEND="udev? ( virtual/libudev )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with udev libudev)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libserialport/libserialport-9999.ebuild b/dev-libs/libserialport/libserialport-9999.ebuild
new file mode 100644
index 000000000000..5777eb69cb0c
--- /dev/null
+++ b/dev-libs/libserialport/libserialport-9999.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Cross platform serial port access library"
+HOMEPAGE="http://sigrok.org/wiki/Libserialport"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static-libs udev"
+
+RDEPEND="udev? ( virtual/libudev )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with udev libudev)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libserialport/metadata.xml b/dev-libs/libserialport/metadata.xml
new file mode 100644
index 000000000000..253e7c37d1d4
--- /dev/null
+++ b/dev-libs/libserialport/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-embedded</herd>
+</pkgmetadata>
diff --git a/dev-libs/libsigc++/Manifest b/dev-libs/libsigc++/Manifest
new file mode 100644
index 000000000000..68b22ddc9073
--- /dev/null
+++ b/dev-libs/libsigc++/Manifest
@@ -0,0 +1,3 @@
+DIST libsigc++-1.2.7.tar.bz2 326205 SHA256 d9163d90e259bfde9164c7b218475a7664a7907a1b3197f17bc1035f36112225 SHA512 79fd9657219459bce64fc069dbcb054959e324b5d546b5f11acaae5e5bedcc4dca699a21c949e3f6b2ec0dbe1c3dba3981158e5950d0aaba5028445b2ad5740f WHIRLPOOL dc6df83f3d39883993f612150a62cfc470b9eabd28f36bb674d90daf80de894d3d37541df572d85f8873cba4d8a4e70c08ae54f83476c33f839bc86ea5b3cb88
+DIST libsigc++-2.4.0.tar.xz 3630260 SHA256 7593d5fa9187bbad7c6868dce375ce3079a805f3f1e74236143bceb15a37cd30 SHA512 b5024768d249ae04ce9090ea3467dca05faf455ab568204da1a8e5ba728b5c45bf345b8516bfa4643afdee4c5981bb8b560800ac0960e4a239c0a66a2453c984 WHIRLPOOL 342770ef34f392ae85a9bbbb08c074807e961c7124c186c5f555b57d982140f2c3c93a76de86ec97556281cfd572a7120cc5deea28b6615be9e3f1311da8dbdb
+DIST libsigc++-2.4.1.tar.xz 3620928 SHA256 540443492a68e77e30db8d425f3c0b1299c825bf974d9bfc31ae7efafedc19ec SHA512 c461a47bf8a838fd54d2bdcbe465e999de4b49b2a8982a04e7f49f22708ede16c1653c882ba5f6e070442e541e48901cbef6eca076e4175506333fade8fc1aad WHIRLPOOL ffa3e5496e1b7b8a3d45b9efc39191cca77bbcfa678665c2c58740390aebff0d9659fa698f2b66a6f0f2240f07d975d97ae18bb861a6fbbd8cc715b8d0ebd31f
diff --git a/dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch b/dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch
new file mode 100644
index 000000000000..3b4703631909
--- /dev/null
+++ b/dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch
@@ -0,0 +1,11 @@
+--- sigc++/Makefile.am.orig 2010-11-27 20:40:35.301189910 +0930
++++ sigc++/Makefile.am 2010-11-27 20:40:46.871110361 +0930
+@@ -12,7 +12,7 @@
+ sigc_built_h = bind_return.h \
+ object_slot.h retype_return.h slot.h bind.h \
+ class_slot.h hide.h retype.h signal.h \
+- method_slot.h method_slot.h
++ method_slot.h
+
+ built_sources = $(sigc_built_cc) $(sigc_built_h)
+ dist_sources = $(sigc_fixed_cc) $(sigc_fixed_h)
diff --git a/dev-libs/libsigc++/libsigc++-1.2.7.ebuild b/dev-libs/libsigc++/libsigc++-1.2.7.ebuild
new file mode 100644
index 000000000000..ce68ea9839f9
--- /dev/null
+++ b/dev-libs/libsigc++/libsigc++-1.2.7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools gnome2 eutils
+
+DESCRIPTION="Typesafe callback system for standard C++"
+HOMEPAGE="http://libsigc.sourceforge.net/"
+
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="1.2"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86"
+IUSE=""
+
+DEPEND="sys-devel/m4"
+RDEPEND=""
+
+src_prepare() {
+ DOCS="AUTHORS ChangeLog FEATURES IDEAS README NEWS TODO"
+
+ # fixes bug #219041
+ sed -e 's:ACLOCAL_AMFLAGS = -I $(srcdir)/scripts:ACLOCAL_AMFLAGS = -I scripts:' \
+ -i Makefile.{in,am}
+
+ # fixes bug #469698
+ sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' -i configure.in || die
+
+ # Fix duplicated file installation, bug #346949
+ epatch "${FILESDIR}/${P}-fix-install.patch"
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --enable-maintainer-mode \
+ --enable-threads
+}
diff --git a/dev-libs/libsigc++/libsigc++-2.4.0.ebuild b/dev-libs/libsigc++/libsigc++-2.4.0.ebuild
new file mode 100644
index 000000000000..73c1535a4759
--- /dev/null
+++ b/dev-libs/libsigc++/libsigc++-2.4.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 flag-o-matic
+
+DESCRIPTION="Typesafe callback system for standard C++"
+HOMEPAGE="http://libsigc.sourceforge.net/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc static-libs test"
+
+RDEPEND=""
+DEPEND="sys-devel/m4"
+# Needs mm-common for eautoreconf
+
+src_prepare() {
+ # don't waste time building examples
+ sed -i 's|^\(SUBDIRS =.*\)examples\(.*\)$|\1\2|' \
+ Makefile.am Makefile.in || die "sed examples failed"
+
+ # don't waste time building tests unless USE=test
+ if ! use test ; then
+ sed -i 's|^\(SUBDIRS =.*\)tests\(.*\)$|\1\2|' \
+ Makefile.am Makefile.in || die "sed tests failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ filter-flags -fno-exceptions #84263
+
+ gnome2_src_configure \
+ $(use_enable doc documentation) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use doc ; then
+ dohtml -r docs/reference/html/* docs/images/*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-libs/libsigc++/libsigc++-2.4.1.ebuild b/dev-libs/libsigc++/libsigc++-2.4.1.ebuild
new file mode 100644
index 000000000000..5bcd3e9fea47
--- /dev/null
+++ b/dev-libs/libsigc++/libsigc++-2.4.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 flag-o-matic multilib-minimal
+
+DESCRIPTION="Typesafe callback system for standard C++"
+HOMEPAGE="http://libsigc.sourceforge.net/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc static-libs test"
+
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-cpplibs-20140508-r1
+ !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
+"
+DEPEND="sys-devel/m4"
+# Needs mm-common for eautoreconf
+
+src_prepare() {
+ # don't waste time building examples
+ sed -i 's|^\(SUBDIRS =.*\)examples\(.*\)$|\1\2|' \
+ Makefile.am Makefile.in || die "sed examples failed"
+
+ # don't waste time building tests unless USE=test
+ if ! use test ; then
+ sed -i 's|^\(SUBDIRS =.*\)tests\(.*\)$|\1\2|' \
+ Makefile.am Makefile.in || die "sed tests failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ filter-flags -fno-exceptions #84263
+
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(multilib_native_use_enable doc documentation) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # Note: html docs are installed into /usr/share/doc/libsigc++-2.0
+ # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
+ if use doc ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-libs/libsigc++/metadata.xml b/dev-libs/libsigc++/metadata.xml
new file mode 100644
index 000000000000..8fc59a318320
--- /dev/null
+++ b/dev-libs/libsigc++/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome-mm</herd>
+</pkgmetadata>
diff --git a/dev-libs/libsigsegv/Manifest b/dev-libs/libsigsegv/Manifest
new file mode 100644
index 000000000000..fe09d1c8a73f
--- /dev/null
+++ b/dev-libs/libsigsegv/Manifest
@@ -0,0 +1 @@
+DIST libsigsegv-2.10.tar.gz 402279 SHA256 8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a SHA512 9464b3343af5042169f208781ffa9d1f7e5e1ee8654c1e6aca5581157b43eedc5ee504a56eb905c61443273bcfc8da6822ecc6499c5f589570ad0ba02d8d8cc2 WHIRLPOOL 1c222c1d47adeb4fbcd82f4d15df0aa6aeaa1479efa4a1e51ce3595001e437f1355b79e84d47dc63acadbf8917591bae1a8fe68fedab76f72f4b3f52f91d9282
diff --git a/dev-libs/libsigsegv/libsigsegv-2.10.ebuild b/dev-libs/libsigsegv/libsigsegv-2.10.ebuild
new file mode 100644
index 000000000000..761cfb191310
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+DESCRIPTION="library for handling page faults in user mode"
+HOMEPAGE="http://libsigsegv.sourceforge.net/"
+SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+src_configure () {
+ econf --enable-shared || die "Configure phase failed"
+}
+
+src_test () {
+ if [[ ${FEATURES} = *sandbox* ]]
+ then
+ # skip tests as they will fail
+ return 0
+ fi
+ emake check || die "Tests failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog* NEWS PORTING README
+}
diff --git a/dev-libs/libsigsegv/metadata.xml b/dev-libs/libsigsegv/metadata.xml
new file mode 100644
index 000000000000..97a389e9f868
--- /dev/null
+++ b/dev-libs/libsigsegv/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>common-lisp</herd>
+<longdescription>
+This is a library for handling page faults in user mode. A page fault occurs
+when a program tries to access to a region of memory that is currently not
+available. Catching and handling a page fault is a useful technique for
+implementing:
+
+ - pageable virtual memory,
+ - memory-mapped access to persistent databases,
+ - generational garbage collectors,
+ - stack overflow handlers,
+ - distributed shared memory,
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
new file mode 100644
index 000000000000..cd80fa084b61
--- /dev/null
+++ b/dev-libs/libsodium/Manifest
@@ -0,0 +1,2 @@
+DIST libsodium-1.0.2.tar.gz 1673394 SHA256 961d8f10047f545ae658bcc73b8ab0bf2c312ac945968dd579d87c768e5baa19 SHA512 15fc47516f0e35906c1c304205fa991e74a273e4e6fc2186b6c16f0e41523de24493e149262b97ef03e4adc221232372ef1f283c4c23f96e4c5d99023d361e14 WHIRLPOOL 18509d9911c1d0ec6e8b9a8735abfeb2c1623669d31045abc6d9dd1289571fbe3a055f960f42a86779e7c03967532d71d7b9d0597ecfe457672e69b27b577e48
+DIST libsodium-1.0.3.tar.gz 1679664 SHA256 cbcfc63cc90c05d18a20f229a62c7e7054a73731d0aa858c0517152c549b1288 SHA512 7d58ddf973bfc456c2d196129d2c3a9ddec6e40b977797251385cd42bdd1234987779566903b7c2251cae02aab7e1c5246967af4c887be8a3451ae3f745c1ae5 WHIRLPOOL 1722d2c9f8bb18fe5d74b1ffe3600fe0a17779569315558324fd3262d63c0db5c9368d3bf9a6bb421802882dd1fd2c701ad062938a5f414190670f8c7f244231
diff --git a/dev-libs/libsodium/libsodium-1.0.2.ebuild b/dev-libs/libsodium/libsodium-1.0.2.ebuild
new file mode 100644
index 000000000000..ca4a68e8b2ae
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://github.com/jedisct1/libsodium"
+SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/13"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+asm minimal static-libs +urandom"
+
+src_configure() {
+ local myconf
+
+ # --disable-pie needed on x86, bug #512734
+ use x86 && myconf="${myconf} --disable-pie"
+
+ econf \
+ $(use_enable asm) \
+ $(use_enable minimal) \
+ $(use_enable !urandom blocking-random) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.3.ebuild b/dev-libs/libsodium/libsodium-1.0.3.ebuild
new file mode 100644
index 000000000000..a87bde865f6b
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://github.com/jedisct1/libsodium"
+SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm minimal static-libs +urandom"
+
+src_configure() {
+ local myconf
+
+ # --disable-pie needed on x86, bug #512734
+ use x86 && myconf="${myconf} --disable-pie"
+
+ econf \
+ $(use_enable asm) \
+ $(use_enable minimal) \
+ $(use_enable !urandom blocking-random) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libsodium/metadata.xml b/dev-libs/libsodium/metadata.xml
new file mode 100644
index 000000000000..42278004388b
--- /dev/null
+++ b/dev-libs/libsodium/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <longdescription>
+ NaCl (pronounced "salt") is a new easy-to-use high-speed software
+ library for network communication, encryption, decryption,
+ signatures, etc. NaCl's goal is to provide all of the core
+ operations needed to build higher-level cryptographic tools.
+ Sodium is a portable, cross-compilable, installable,
+ packageable fork of NaCl, with a compatible API.
+ </longdescription>
+ <use>
+ <flag name="asm">Enables assembly implementations</flag>
+ <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">jedisct1/libsodium</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libspnav/Manifest b/dev-libs/libspnav/Manifest
new file mode 100644
index 000000000000..45d1633f88d2
--- /dev/null
+++ b/dev-libs/libspnav/Manifest
@@ -0,0 +1 @@
+DIST libspnav-0.2.2.tar.gz 11615 SHA256 fb72388770d7dcd85b56ac2a83948983f1afd7dbe271e18d507b975ac4bea14f SHA512 78b26e6fe4a98af579738743ac4bc2f1de5ccfa9316a103a58ebb935f281fba04b8c6c28c0d63abda15a52c0288e371231425a3a21b26c083a5de7ab101f1940 WHIRLPOOL 07c542aadbbf334f34ed9dd59e4484855859ac85705c3dfe5f5c37035a1bf1b1bcc2aafd09ea3ec92f8699a33b6d6ab3db5542c073c74563ab0d61c131597be4
diff --git a/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch b/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
new file mode 100644
index 000000000000..cc96655bf469
--- /dev/null
+++ b/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
@@ -0,0 +1,75 @@
+diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
+--- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:34:01.448356249 +0100
++++ libspnav-0.2.2/Makefile.in 2012-01-31 22:39:20.229350669 +0100
+@@ -7,7 +7,8 @@ lib_so = $(soname).1
+
+ CC = gcc
+ AR = ar
+-CFLAGS = $(opt) $(dbg) -std=c89 -fpic -pedantic -Wall -fno-strict-aliasing -I.
++CFLAGS = $(opt) -fpic -I.
++LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
+
+ .PHONY: all
+ all: $(lib_a) $(lib_so)
+@@ -16,7 +17,7 @@ $(lib_a): $(obj)
+ $(AR) rcs $@ $(obj)
+
+ $(lib_so): $(obj)
+- $(CC) -shared -Wl,-soname,$(soname) -o $@ $(obj)
++ $(CC) $(LDFLAGS) -o $@ $(obj)
+
+ %.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) -c $< -o $@
+diff -Npur libspnav-0.2.2.orig/configure libspnav-0.2.2/configure
+--- libspnav-0.2.2.orig/configure 2012-01-31 22:34:01.448356249 +0100
++++ libspnav-0.2.2/configure 2012-01-31 22:34:39.703355615 +0100
+@@ -4,6 +4,7 @@ echo 'configuring spacenav library...'
+
+ PREFIX=/usr/local
+ OPT=yes
++LDOPT=yes
+ DBG=yes
+ X11=yes
+
+@@ -26,6 +27,11 @@ for arg; do
+ --disable-opt)
+ OPT=no;;
+
++ --enable-ldopt)
++ LDOPT=yes;;
++ --disable-ldopt)
++ LDOPT=no;;
++
+ --enable-debug)
+ DBG=yes;;
+ --disable-debug)
+@@ -44,6 +50,8 @@ for arg; do
+ echo ' --disable-x11: disable X11 communication mode'
+ echo ' --enable-opt: enable speed optimizations (default)'
+ echo ' --disable-opt: disable speed optimizations'
++ echo ' --enable-ldopt: enable link optimizations (default)'
++ echo ' --disable-ldopt: disable link optimizations'
+ echo ' --enable-debug: include debugging symbols (default)'
+ echo ' --disable-debug: do not include debugging symbols'
+ echo 'all invalid options are silently ignored'
+@@ -54,6 +62,7 @@ done
+
+ echo " prefix: $PREFIX"
+ echo " optimize for speed: $OPT"
++echo " optimize link: $LDOPT"
+ echo " include debugging symbols: $DBG"
+ echo " x11 communication method: $X11"
+ echo ""
+@@ -74,7 +83,11 @@ if [ "$DBG" = 'yes' ]; then
+ fi
+
+ if [ "$OPT" = 'yes' ]; then
+- echo 'opt = -O3' >>Makefile
++ echo "opt = ${CFLAGS:--O3}" >>Makefile
++fi
++
++if [ "$LDOPT" = 'yes' ]; then
++ echo "ldopt = ${LDFLAGS}" >>Makefile
+ fi
+
+ if [ "$X11" = 'yes' ]; then
diff --git a/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch b/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
new file mode 100644
index 000000000000..f65300c5f58a
--- /dev/null
+++ b/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
@@ -0,0 +1,27 @@
+diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
+--- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:40:36.619349333 +0100
++++ libspnav-0.2.2/Makefile.in 2012-01-31 22:41:52.554347975 +0100
+@@ -11,7 +11,7 @@ CFLAGS = $(opt) -I.
+ LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
+
+ .PHONY: all
+-all: $(lib_a) $(lib_so)
++all: $(lib_so)
+
+ $(lib_a): $(obj)
+ $(AR) rcs $@ $(obj)
+@@ -31,10 +31,10 @@ distclean:
+ rm -f $(obj) $(lib_a) $(lib_so) Makefile
+
+ .PHONY: install
+-install: $(lib_a) $(lib_so)
+- cp $(lib_a) $(PREFIX)/$(libdir)/$(lib_a)
+- cp $(lib_so) $(PREFIX)/$(libdir)/$(lib_so)
+- for h in $(hdr); do cp -p $(srcdir)/$$h $(PREFIX)/include/; done
++install: $(lib_so)
++ mkdir -p $(DESTDIR)$(PREFIX)/$(libdir) $(DESTDIR)$(PREFIX)/include
++ cp $(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
++ for h in $(hdr); do cp -p $(srcdir)/$$h $(DESTDIR)$(PREFIX)/include/; done
+
+ .PHONY: uninstall
+ uninstall:
diff --git a/dev-libs/libspnav/libspnav-0.2.2.ebuild b/dev-libs/libspnav/libspnav-0.2.2.ebuild
new file mode 100644
index 000000000000..bb4bcaad5f66
--- /dev/null
+++ b/dev-libs/libspnav/libspnav-0.2.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit multilib eutils toolchain-funcs
+
+MY_PN='spacenav'
+DESCRIPTION="The libspnav provides a replacement of the magellan library with cleaner and more orthogonal API"
+HOMEPAGE="http://spacenav.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE="X"
+
+RDEPEND="app-misc/spacenavd[X?]"
+DEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+ epatch "${FILESDIR}"/${P}-custom-flags.patch
+}
+
+src_configure() {
+ econf \
+ --enable-opt --enable-ldopt \
+ $(use_enable X x11)
+}
+
+src_compile() {
+ emake CC=$(tc-getCC)
+}
+
+src_install() {
+ default
+
+ # Use proper libdir
+ if [[ $(get_libdir) != lib ]]; then
+ mv "${D}"/usr/{lib,$(get_libdir)} || die
+ fi
+
+ # Create missing symlinks
+ local target=$(basename "${D}"/usr/$(get_libdir)/libspnav.so.*)
+ dosym ${target} /usr/$(get_libdir)/libspnav.so.0 || die
+ dosym ${target} /usr/$(get_libdir)/libspnav.so || die
+}
diff --git a/dev-libs/libspnav/metadata.xml b/dev-libs/libspnav/metadata.xml
new file mode 100644
index 000000000000..14da66cc7fac
--- /dev/null
+++ b/dev-libs/libspnav/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>anthoine.bourgeois@gmail.com</email>
+ <name>Anthoine Bourgeois</name>
+ </maintainer>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <longdescription>
+ The libspnav library is provided as a replacement of the magellan
+ library. It provides a cleaner, and more orthogonal interface. libspnav
+ supports both the original X11 protocol for communicating with the
+ driver, and the new alternative non-X protocol. Programs that choose to
+ use the X11 protocol, are automatically compatible with either the free
+ spacenavd driver or the official 3dxserv, as if they were using the
+ magellan SDK.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">spacenav</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libspt/Manifest b/dev-libs/libspt/Manifest
new file mode 100644
index 000000000000..77e4a20d9a49
--- /dev/null
+++ b/dev-libs/libspt/Manifest
@@ -0,0 +1 @@
+DIST libspt-1.1.tar.bz2 165168 SHA256 fda34d08a8d167cdabd1d8645210b7ffc9e624e5accd37577f2bcb025830e22e SHA512 5b2ec289ce51f1f2040b68c559ef6e1ea1e59f50c3d639a93176fa8a5f3f75481651c4d0acd393eac8d2193f2aae19f882897323caf344cbfde52e32cc3a02b9 WHIRLPOOL ed05a7cbbdcd420d811a13dfc29b712a6bd241b41740029b4b366907085f98f13d14a4012ea53d862f4780a3f070f9ea7cbd70bf8bff30c8aec87a3a2d7c0e95
diff --git a/dev-libs/libspt/files/libspt-1.1-gentoo.patch b/dev-libs/libspt/files/libspt-1.1-gentoo.patch
new file mode 100644
index 000000000000..992273142061
--- /dev/null
+++ b/dev-libs/libspt/files/libspt-1.1-gentoo.patch
@@ -0,0 +1,21 @@
+diff -Naur libspt-1.1.orig/Makefile.in libspt-1.1/Makefile.in
+--- libspt-1.1.orig/Makefile.in 2003-12-07 15:42:15.000000000 +0900
++++ libspt-1.1/Makefile.in 2009-09-15 00:16:50.000000000 +0900
+@@ -9,7 +9,7 @@
+ libexecdir = @libexecdir@
+ includedir = @includedir@
+ #docdir = $(prefix)/doc
+-mandir = $(prefix)/man
++mandir = @mandir@
+
+ EXEEXT = @EXEEXT@
+
+@@ -48,7 +48,7 @@
+ AGENTOBJS = sptagent.o sptconn.$lo cfuncs.$lo
+ LIBOBJS = libspt.$lo sptconn.$lo cfuncs.$lo error.$lo utilapi.$lo termios.$lo
+ OBJS = test.o $(LIBOBJS)
+-AGENT_MODE = -m 4755 -o root -g wheel
++AGENT_MODE =
+
+ .SUFFIXES: .c .o .cc .lo
+ .c.lo:
diff --git a/dev-libs/libspt/files/libspt-werror.patch b/dev-libs/libspt/files/libspt-werror.patch
new file mode 100644
index 000000000000..6190ea5a4556
--- /dev/null
+++ b/dev-libs/libspt/files/libspt-werror.patch
@@ -0,0 +1,11 @@
+--- Makefile.in 2003-12-07 06:42:15.000000000 +0000
++++ Makefile.in 2009-03-10 21:09:43.000000000 +0000
+@@ -29,7 +29,7 @@
+ INCLUDES = -I.
+ DEFS = @DEFS@
+ CC = @CC@
+-COMMONCFLAGS = -Wall -g -Werror -pipe
++COMMONCFLAGS = -Wall -g -pipe
+ CFLAGS = $(COMMONCFLAGS) @CFLAGS@
+ INSTALL = $(LIBTOOL) --mode=install @INSTALL@
+ INSTALL_DATA = $(LIBTOOL) --mode=install @INSTALL@ -m 644
diff --git a/dev-libs/libspt/libspt-1.1-r2.ebuild b/dev-libs/libspt/libspt-1.1-r2.ebuild
new file mode 100644
index 000000000000..ce0f5d6e9b5b
--- /dev/null
+++ b/dev-libs/libspt/libspt-1.1-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+inherit base
+
+DESCRIPTION="Library for handling root privilege"
+HOMEPAGE="http://www.j10n.org/libspt/index.html"
+SRC_URI="http://www.j10n.org/libspt/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86"
+IUSE=""
+
+RESTRICT="test"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/libspt-werror.patch" \
+ "${FILESDIR}/${P}-gentoo.patch"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc CHANGES
+}
diff --git a/dev-libs/libspt/metadata.xml b/dev-libs/libspt/metadata.xml
new file mode 100644
index 000000000000..2d5852c16c60
--- /dev/null
+++ b/dev-libs/libspt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+</pkgmetadata>
diff --git a/dev-libs/libsqlora8/Manifest b/dev-libs/libsqlora8/Manifest
new file mode 100644
index 000000000000..1720fed5e20c
--- /dev/null
+++ b/dev-libs/libsqlora8/Manifest
@@ -0,0 +1 @@
+DIST libsqlora8-2.3.3.tar.gz 1130458 SHA256 958f68fa7f7d64de5231333d0eac268bdb936152ba0572d57b3668f62da66bc1 SHA512 5c62387f11cc8b901d99c2981f7e7099d255203aa11a071fc53b22d770db3485f0f23e054b88b3b0f281546a5e92fd5a7bd46b4f0e5f51a8914894c54f222c6e WHIRLPOOL 9ef5fcee46cfcc11f0e08ac6ce83d3f9cfdf6d163c5755753cf04ded9f491cf3c43a7c29c1d9c01d6264d987c1ddae6817104fb7095181517fa459820f8c4e81
diff --git a/dev-libs/libsqlora8/libsqlora8-2.3.3.ebuild b/dev-libs/libsqlora8/libsqlora8-2.3.3.ebuild
new file mode 100644
index 000000000000..c7a509beee78
--- /dev/null
+++ b/dev-libs/libsqlora8/libsqlora8-2.3.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="libsqlora8 is a simple C-library to access Oracle databases via the OCI interface"
+SRC_URI="http://www.poitschke.de/libsqlora8/${P}.tar.gz"
+HOMEPAGE="http://www.poitschke.de/libsqlora8/index_noframe.html"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="threads orathreads"
+
+DEPEND=""
+
+pkg_setup() {
+ if use orathreads && use threads; then
+ eerror
+ eerror 'Enable the "threads" USE flag for POSIX threads,'
+ eerror '*or* the "orathreads" USE flag for Oracle threads'
+ eerror
+ die 'Both "threads" and "orathreads" USE flags set, see above'
+ fi
+
+ # Make sure ORACLE_HOME is set
+ if [ -z "${ORACLE_HOME}" ]; then
+ eerror
+ eerror 'libsqlora8 requires that the ORACLE_HOME environment variable be set.'
+ eerror 'Try: "export ORACLE_HOME=/usr/local/oracle" if you do not know what to do.'
+ eerror
+ die 'ORACLE_HOME not set, see above'
+ fi
+}
+
+src_compile() {
+ local myconf;
+
+ # Add $ORACLE_HOME/lib to LD_LIBRARY_PATH
+ if [ -z "${LD_LIBRARY_PATH}" ]; then
+ LD_LIBRARY_PATH=${ORACLE_HOME}/lib
+ else
+ LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
+ fi
+
+ export LD_LIBRARY_PATH
+
+ use threads && myconf="--with-threads=posix"
+ use orathreads && myconf="--with-threads=oracle"
+
+ # Build
+ econf ${myconf} || die "configure failed"
+ emake
+}
+
+src_install () {
+ einstall
+ dodoc ChangeLog NEWS NEWS-2.2
+
+ # TODO
+ # Copy contents of doc and examples directory to doc
+}
diff --git a/dev-libs/libsqlora8/metadata.xml b/dev-libs/libsqlora8/metadata.xml
new file mode 100644
index 000000000000..95a63af88f0a
--- /dev/null
+++ b/dev-libs/libsqlora8/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+<longdescription>
+ libsqlora8 is simple C-library to access Oracle databases via the OCI
+ interface. Makes simple programming tasks much easier than with plain OCI.
+</longdescription>
+<use>
+ <flag name='orathreads'>Use Oracle threads</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libstrl/Manifest b/dev-libs/libstrl/Manifest
new file mode 100644
index 000000000000..69c72f9766a2
--- /dev/null
+++ b/dev-libs/libstrl/Manifest
@@ -0,0 +1 @@
+DIST libstrl-0.5.1.tar.bz2 259055 SHA256 f5df75cc03bfd1dc3c7e3142979445c9f586717e1a148289315f3fff28a28caa SHA512 0101b74b6e6d55e7e9f2fca8a7dd22f95e5ec802ea67c6b4ab84c1ecbfd1fa3bfc11598ec0c0b0fe95390aa66c601e7f37392c7a13e654b2860f3fda4fe26e23 WHIRLPOOL 918e5d216646ccb9cfd3328d5bcd7fe4fb28f162303449079aa196884a159330925a193e263a10a89cfa9b25fb4708fdda559a2afadac03919233e98ce302481
diff --git a/dev-libs/libstrl/libstrl-0.5.1.ebuild b/dev-libs/libstrl/libstrl-0.5.1.ebuild
new file mode 100644
index 000000000000..cdfba5627e1b
--- /dev/null
+++ b/dev-libs/libstrl/libstrl-0.5.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils multilib
+
+DESCRIPTION="Compat library for functions like strlcpy(), strlcat(), strnlen(), getline(), and asprintf()"
+HOMEPAGE="http://ohnopub.net/~ohnobinki/libstrl/"
+SRC_URI="ftp://mirror.ohnopub.net/mirror/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x64-macos"
+IUSE="doc static-libs test"
+
+# block various versions of opendkim for bug #454938 and bug #441790.
+DEPEND="doc? ( app-doc/doxygen )
+ test? ( dev-libs/check )
+ !=mail-filter/opendkim-2.7.0 !=mail-filter/opendkim-2.7.1 !=mail-filter/opendkim-2.7.2"
+RDEPEND="!=mail-filter/opendkim-2.7.0 !=mail-filter/opendkim-2.7.1 !=mail-filter/opendkim-2.7.2"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc doxygen)
+ $(use_with test check)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libstrl/metadata.xml b/dev-libs/libstrl/metadata.xml
new file mode 100644
index 000000000000..548448307c18
--- /dev/null
+++ b/dev-libs/libstrl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libstroke/Manifest b/dev-libs/libstroke/Manifest
new file mode 100644
index 000000000000..3b85396c099e
--- /dev/null
+++ b/dev-libs/libstroke/Manifest
@@ -0,0 +1 @@
+DIST libstroke-0.5.1.tar.gz 174270 SHA256 0da9f5fde66feaf6697ba069baced8fb3772c3ddc609f39861f92788f5c7772d SHA512 03431d4cd39174aadb6cfd00a1c487d34ae9cf4b1db9e9d01d563f2a661f01979f474b87099fd2bfb0e54653416a1b9dea988367674a3cc6134e16b62810a0c7 WHIRLPOOL 77087c4bbb07beb0ffc72786e26c3a0aed1bf50fa456c7e6d7862f16163e4dc89752c9b7a05e2a169f9e84e4088c77142a319af8d0667c45a1d50df31c6558fb
diff --git a/dev-libs/libstroke/files/libstroke-0.5.1-autotools.patch b/dev-libs/libstroke/files/libstroke-0.5.1-autotools.patch
new file mode 100644
index 000000000000..2bd67677a89c
--- /dev/null
+++ b/dev-libs/libstroke/files/libstroke-0.5.1-autotools.patch
@@ -0,0 +1,29 @@
+Index: libstroke-0.5.1/libgstroke/Makefile.am
+===================================================================
+--- libstroke-0.5.1.orig/libgstroke/Makefile.am
++++ libstroke-0.5.1/libgstroke/Makefile.am
+@@ -5,8 +5,6 @@
+ # level Makefile.
+ AUTOMAKE_OPTIONS = foreign
+
+-EXTRA_DIST =
+-
+ #SEL_BIB = libgstroke.la
+
+ lib_LTLIBRARIES = libgstroke.la
+Index: libstroke-0.5.1/libstroke/Makefile.am
+===================================================================
+--- libstroke-0.5.1.orig/libstroke/Makefile.am
++++ libstroke-0.5.1/libstroke/Makefile.am
+@@ -5,11 +5,6 @@
+ # level Makefile.
+ AUTOMAKE_OPTIONS = foreign
+
+-EXTRA_DIST =
+-
+-#tclpath::
+- #echo ${ENABLE_TCL}
+-
+ #if ENABLE_TCL
+ #SEL_BIB = libstroke.la libstroke_tcl.la
+ #else
diff --git a/dev-libs/libstroke/files/libstroke-0.5.1-m4_syntax.patch b/dev-libs/libstroke/files/libstroke-0.5.1-m4_syntax.patch
new file mode 100644
index 000000000000..4462e8d359fb
--- /dev/null
+++ b/dev-libs/libstroke/files/libstroke-0.5.1-m4_syntax.patch
@@ -0,0 +1,31 @@
+Index: libstroke-0.5.1/libstroke.m4
+===================================================================
+--- libstroke-0.5.1/libstroke.m4 {cset 02bc4a5e-e9e6-4055-a406-5007a0ac3e55}
++++ libstroke-0.5.1/libstroke.m4 {local clone}
+@@ -26,7 +26,7 @@
+ dnl if different from name
+ dnl description (optional) used to construct help string
+ dnl
+-AC_DEFUN(smr_ARG_WITHLIB, [
++AC_DEFUN([smr_ARG_WITHLIB], [
+
+ ifelse($2, , smr_lib=[$1], smr_lib=[$2])
+
+@@ -74,7 +74,7 @@
+ dnl extra-flags (optional) flags required when compiling the
+ dnl header, typically more includes; for ex. X_CFLAGS
+ dnl
+-AC_DEFUN(smr_ARG_WITHINCLUDES, [
++AC_DEFUN([smr_ARG_WITHINCLUDES], [
+
+ AC_ARG_WITH([$1]-includes,
+ [ --with-$1-includes=DIR set directory for $1 headers],
+@@ -116,7 +116,7 @@
+ dnl x-libs (optional) extra libraries, if needed to link with lib
+ dnl x-flags (optional) extra flags, if needed to include header files
+ dnl
+-AC_DEFUN(smr_CHECK_LIB,
++AC_DEFUN([smr_CHECK_LIB],
+ [
+ ifelse($2, , smr_lib=[$1], smr_lib=[$2])
+ ifelse($5, , , smr_header=[$5])
diff --git a/dev-libs/libstroke/files/libstroke-0.5.1-no_gtk1.patch b/dev-libs/libstroke/files/libstroke-0.5.1-no_gtk1.patch
new file mode 100644
index 000000000000..a099fb991620
--- /dev/null
+++ b/dev-libs/libstroke/files/libstroke-0.5.1-no_gtk1.patch
@@ -0,0 +1,33 @@
+--- libstroke-0.5.1/configure.in 2001-08-07 07:08:05.000000000 +0100
++++ libstroke-0.5.1b/configure.in 2006-11-28 01:49:26.000000000 +0000
+@@ -81,16 +81,9 @@
+ [ --with-mouse-footprints Draw mouse footprints in X],
+ [AC_DEFINE(STROKE_MOUSE_FOOTPRINTS)])
+
+-dnl check for GTK
+-dnl we won't build libgstroke if it's not found
+-AC_MSG_CHECKING(gtk+ library)
+-AM_PATH_GTK(1.2.7, HAVE_LIBGTK=yes
+- AC_DEFINE(HAVE_LIBGTK, 1, [Define if libgtk is available]),
+- AC_MSG_WARN(
+-***** NOTE: The GNOME stroke support won't be built
+-)
+- HAVE_LIBGTK=no,
+-)
++GTK_CFLAGS=""
++AC_SUBST(GTK_CFLAGS)
++HAVE_LIBGTK=no
+ AM_CONDITIONAL(HAVE_LIBGTK, test "x$HAVE_LIBGTK" = "xyes")
+
+
+--- libstroke-0.5.1/Makefile.am 2001-08-07 07:03:12.000000000 +0100
++++ libstroke-0.5.1b/Makefile.am 2006-11-28 02:00:55.000000000 +0000
+@@ -10,7 +10,7 @@
+ EXTRA_DIST = COPYRIGHT CREDITS README.javastroke README.libgstroke
+
+ m4datadir=$(datadir)/aclocal
+-m4data_DATA=libstroke.m4 libgstroke.m4
++m4data_DATA=libstroke.m4
+
+ MOSTLYCLEANFILES = core *~
+ CLEANFILES = core *~
diff --git a/dev-libs/libstroke/libstroke-0.5.1.ebuild b/dev-libs/libstroke/libstroke-0.5.1.ebuild
new file mode 100644
index 000000000000..c3e531bc647f
--- /dev/null
+++ b/dev-libs/libstroke/libstroke-0.5.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="A Stroke and Gesture recognition Library"
+HOMEPAGE="http://www.etla.net/libstroke/"
+SRC_URI="http://www.etla.net/libstroke/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="x11-libs/libX11"
+DEPEND="x11-proto/xproto
+ ${RDEPEND}"
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-m4_syntax.patch
+ epatch "${FILESDIR}"/${P}-no_gtk1.patch
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ eautoreconf
+}
+
+src_install () {
+ emake DESTDIR=${D} install || die
+ dodoc CREDITS ChangeLog README
+}
diff --git a/dev-libs/libstroke/metadata.xml b/dev-libs/libstroke/metadata.xml
new file mode 100644
index 000000000000..8287e4a6e940
--- /dev/null
+++ b/dev-libs/libstroke/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>calchan@gentoo.org</email>
+ <name>Denis Dupeyron</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtar/Manifest b/dev-libs/libtar/Manifest
new file mode 100644
index 000000000000..30f372e4a6ee
--- /dev/null
+++ b/dev-libs/libtar/Manifest
@@ -0,0 +1 @@
+DIST libtar-1.2.20.tar.gz 63542 SHA256 b17f84c3cfb8734c1ec5290f5fed8285037199f11ea8c0e2d8f807cbe83c9d8f SHA512 360a0296af99bedd6d93236c3d6d6746fd38deaa5287e7a138d303e1072bc8871437a693dc926d82af5b54dedba2ebdff5a3edb1f7d7dc494b4235439e477dec WHIRLPOOL c2f9b243a497df4ec03188b25d4bf5a8ab17e895c1c3c7e359c3eca869229df6ff8d5b632cafa0f297e3e613538b94755d176295d8e15673b9ab9a71bd5435d7
diff --git a/dev-libs/libtar/files/CVE-2013-4420.patch b/dev-libs/libtar/files/CVE-2013-4420.patch
new file mode 100644
index 000000000000..d6e24860c929
--- /dev/null
+++ b/dev-libs/libtar/files/CVE-2013-4420.patch
@@ -0,0 +1,94 @@
+--- a/libtar/lib/decode.c 2013-10-09 09:59:44.000000000 -0700
++++ b/libtar/lib/decode.c 2015-07-20 20:57:58.331945962 -0700
+@@ -21,24 +21,55 @@
+ # include <string.h>
+ #endif
+
++char *
++safer_name_suffix (char const *file_name)
++{
++ char const *p, *t;
++ p = t = file_name;
++ while (*p)
++ {
++ if (p[0] == '.' && p[0] == p[1] && p[2] == '/')
++ {
++ p += 3;
++ t = p;
++ }
++ /* advance pointer past the next slash */
++ while (*p && (p++)[0] != '/');
++ }
++
++ if (!*t)
++ {
++ t = ".";
++ }
++
++ if (t != file_name)
++ {
++ /* TODO: warn somehow that the path was modified */
++ }
++ return (char*)t;
++}
++
+
+ /* determine full path name */
+ char *
+ th_get_pathname(TAR *t)
+ {
+ static TLS_THREAD char filename[MAXPATHLEN];
++ char *safer_name;
+
+ if (t->th_buf.gnu_longname)
+- return t->th_buf.gnu_longname;
++ return safer_name_suffix(t->th_buf.gnu_longname);
++
++ safer_name = safer_name_suffix(t->th_buf.name);
+
+ if (t->th_buf.prefix[0] != '\0')
+ {
+ snprintf(filename, sizeof(filename), "%.155s/%.100s",
+- t->th_buf.prefix, t->th_buf.name);
++ t->th_buf.prefix, safer_name);
+ return filename;
+ }
+
+- snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name);
++ snprintf(filename, sizeof(filename), "%.100s", safer_name);
+ return filename;
+ }
+
+--- a/libtar/lib/extract.c 2013-10-09 09:59:44.000000000 -0700
++++ b/libtar/lib/extract.c 2015-07-20 21:00:16.560956122 -0700
+@@ -305,7 +305,7 @@
+ linktgt = &lnp[strlen(lnp) + 1];
+ }
+ else
+- linktgt = th_get_linkname(t);
++ linktgt = safer_name_suffix(th_get_linkname(t));
+
+ #ifdef DEBUG
+ printf(" ==> extracting: %s (link to %s)\n", filename, linktgt);
+@@ -343,9 +343,9 @@
+
+ #ifdef DEBUG
+ printf(" ==> extracting: %s (symlink to %s)\n",
+- filename, th_get_linkname(t));
++ filename, safer_name_suffix(th_get_linkname(t)));
+ #endif
+- if (symlink(th_get_linkname(t), filename) == -1)
++ if (symlink(safer_name_suffix(th_get_linkname(t)), filename) == -1)
+ {
+ #ifdef DEBUG
+ perror("symlink()");
+--- a/libtar/lib/internal.h 2013-10-09 09:59:44.000000000 -0700
++++ b/libtar/lib/internal.h 2015-07-20 21:00:51.258958673 -0700
+@@ -15,6 +15,7 @@
+
+ #include <libtar.h>
+
++char* safer_name_suffix(char const*);
+ #ifdef TLS
+ #define TLS_THREAD TLS
+ #else
diff --git a/dev-libs/libtar/files/libtar-1.2.11-fortify.patch b/dev-libs/libtar/files/libtar-1.2.11-fortify.patch
new file mode 100644
index 000000000000..8b919ad8f4ac
--- /dev/null
+++ b/dev-libs/libtar/files/libtar-1.2.11-fortify.patch
@@ -0,0 +1,11 @@
+--- lib/encode.c
++++ lib/encode.c
+@@ -30,7 +30,7 @@
+ int i, sum = 0;
+
+ if (t->options & TAR_GNU)
+- strncpy(t->th_buf.magic, "ustar ", 8);
++ strncpy(t->th_buf.magic, "ustar", 6);
+ else
+ {
+ strncpy(t->th_buf.version, TVERSION, TVERSLEN);
diff --git a/dev-libs/libtar/files/libtar-1.2.11-free.patch b/dev-libs/libtar/files/libtar-1.2.11-free.patch
new file mode 100644
index 000000000000..3a7b028d5d2d
--- /dev/null
+++ b/dev-libs/libtar/files/libtar-1.2.11-free.patch
@@ -0,0 +1,22 @@
+stdlib.h is required for free()
+
+--- lib/output.c
++++ lib/output.c
+@@ -20,6 +20,7 @@
+ #include <sys/param.h>
+
+ #ifdef STDC_HEADERS
++# include <stdlib.h>
+ # include <string.h>
+ #endif
+
+--- lib/wrapper.c
++++ lib/wrapper.c
+@@ -18,6 +18,7 @@
+ #include <errno.h>
+
+ #ifdef STDC_HEADERS
++# include <stdlib.h>
+ # include <string.h>
+ #endif
+
diff --git a/dev-libs/libtar/files/libtar-1.2.11-impl-dec.patch b/dev-libs/libtar/files/libtar-1.2.11-impl-dec.patch
new file mode 100644
index 000000000000..ee00f5c1c9f3
--- /dev/null
+++ b/dev-libs/libtar/files/libtar-1.2.11-impl-dec.patch
@@ -0,0 +1,15 @@
+ lib/extract.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/lib/extract.c b/lib/extract.c
+index 6bbb801..3ef2fb8 100644
+--- a/lib/extract.c
++++ b/lib/extract.c
+@@ -18,6 +18,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <utime.h>
++#include <string.h>
+
+ #ifdef STDC_HEADERS
+ # include <stdlib.h>
diff --git a/dev-libs/libtar/libtar-1.2.20-r2.ebuild b/dev-libs/libtar/libtar-1.2.20-r2.ebuild
new file mode 100644
index 000000000000..d1b78280bfc3
--- /dev/null
+++ b/dev-libs/libtar/libtar-1.2.20-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="C library for manipulating tar archives"
+HOMEPAGE="http://www.feep.net/libtar/ http://repo.or.cz/w/libtar.git/"
+SRC_URI="http://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="static-libs zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ !zlib? ( app-arch/gzip )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.2.11-free.patch"
+ "${FILESDIR}/${PN}-1.2.11-impl-dec.patch"
+)
+
+src_prepare() {
+ sed -i \
+ -e '/INSTALL_PROGRAM/s:-s::' \
+ {doc,lib{,tar}}/Makefile.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-encap
+ --disable-epkg-install
+ $(use_with zlib)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodoc ChangeLog* README TODO
+ newdoc compat/README README.compat
+ newdoc compat/TODO TODO.compat
+ newdoc listhash/TODO TODO.listhash
+}
diff --git a/dev-libs/libtar/libtar-1.2.20-r3.ebuild b/dev-libs/libtar/libtar-1.2.20-r3.ebuild
new file mode 100644
index 000000000000..251c33a0e13a
--- /dev/null
+++ b/dev-libs/libtar/libtar-1.2.20-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="C library for manipulating tar archives"
+HOMEPAGE="http://www.feep.net/libtar/ http://repo.or.cz/w/libtar.git/"
+SRC_URI="http://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="static-libs zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ !zlib? ( app-arch/gzip )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.11-free.patch
+ "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch
+ "${FILESDIR}"/CVE-2013-4420.patch
+)
+
+src_prepare() {
+ sed -i \
+ -e '/INSTALL_PROGRAM/s:-s::' \
+ {doc,lib{,tar}}/Makefile.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-encap
+ --disable-epkg-install
+ $(use_with zlib)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodoc ChangeLog* README TODO
+ newdoc compat/README README.compat
+ newdoc compat/TODO TODO.compat
+ newdoc listhash/TODO TODO.listhash
+}
diff --git a/dev-libs/libtar/metadata.xml b/dev-libs/libtar/metadata.xml
new file mode 100644
index 000000000000..2644f03ae0e6
--- /dev/null
+++ b/dev-libs/libtar/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>sdnick484@gmail.com</email>
+ <name>Nick Andrade</name>
+ <description>Active Maintainer, Assign bugs</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtasn1/Manifest b/dev-libs/libtasn1/Manifest
new file mode 100644
index 000000000000..a0cdb84065b3
--- /dev/null
+++ b/dev-libs/libtasn1/Manifest
@@ -0,0 +1 @@
+DIST libtasn1-4.5.tar.gz 1850279 SHA256 89b3b5dce119273431544ecb305081f3530911001bb12e5d76588907edb71bda SHA512 9319c7109b006f6f1f52c5cc0ff4b076db0037fb977535e04980dc3a9b3195ef20a451f04771d0eff1d1a104557cc14ccd5147f82e4229230d6539046e7f5108 WHIRLPOOL 9a3673f576f0ff44889c00f4c24e3f2d9b27f0be1d53058b292ed56f89b2b4efbd0ac0f9721daa0ed1116b541146e86b8f42d9e8857bdc9d0ba8bacb5415a9dd
diff --git a/dev-libs/libtasn1/libtasn1-4.5.ebuild b/dev-libs/libtasn1/libtasn1-4.5.ebuild
new file mode 100644
index 000000000000..b3956959622a
--- /dev/null
+++ b/dev-libs/libtasn1/libtasn1-4.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-multilib
+
+DESCRIPTION="ASN.1 library"
+HOMEPAGE="http://www.gnu.org/software/libtasn1/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0/6" # subslot = libtasn1 soname version
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc static-libs"
+
+DEPEND=">=dev-lang/perl-5.6
+ sys-apps/help2man
+ virtual/yacc"
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r16
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS )
+
+src_configure() {
+ local myeconfargs
+ [[ "${VALGRIND_TESTS}" == "0" ]] && myeconfargs+=( --disable-valgrind-tests )
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ if use doc ; then
+ dodoc doc/libtasn1.pdf
+ dohtml doc/reference/html/*
+ fi
+}
diff --git a/dev-libs/libtasn1/metadata.xml b/dev-libs/libtasn1/metadata.xml
new file mode 100644
index 000000000000..b02ffbb5d348
--- /dev/null
+++ b/dev-libs/libtasn1/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/libtecla/Manifest b/dev-libs/libtecla/Manifest
new file mode 100644
index 000000000000..e94feb158fca
--- /dev/null
+++ b/dev-libs/libtecla/Manifest
@@ -0,0 +1,2 @@
+DIST libtecla-1.6.1.tar.gz 518995 SHA256 21db2947bd1415070e0462673aa9bed04610946e09169fcd63e02557b0d999a1 SHA512 89d550868c99739b5cfd0ddba45f61d9a8fd1454c7044f29db6cced9cd1de83b895409706a8b85024d6c75678469a4b8b39dd184322d01e1ab6b5faf03c90fc7 WHIRLPOOL 409b4c1c62810f69cd2f0d08761e52f22045ee6d936aa4c69b8da99bf66319d3716def4f7411947cfc49eeb17d27178511115f50b09f25356087bfbe45ea87e8
+DIST libtecla-1.6.2.tar.gz 535977 SHA256 8c61db528364f4e88e34e79eb3730adf54e43c594cf12faf712117a6d20eb7b8 SHA512 cabfaa4ac386bceee6cd2887010af0c64b98f545ee5c2d367c3594925985df43525bfb5f028890904c66d0f767fc2cb0585a8500cbb06ffd10b7cd7a6d56adb1 WHIRLPOOL bbc6eb0cc9fa8d28a4b635dd2a40203abf43e578c5953e8a3ee219bed25bc3b5ab1ff50d9ab246f76f0b402f1b0244217c1a17a846783025bc4c0451ce04281b
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS.patch b/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS.patch
new file mode 100644
index 000000000000..dcc8c7ce52b3
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS.patch
@@ -0,0 +1,17 @@
+# add missing LDFLAGS to build system.
+# the configure script still fails to add LDFLAGS when linking
+# the libtecla shared object but since it calls ld directory
+# LDFLAGS can't be used straight out of the box.
+
+diff -Naur libtecla/Makefile.rules libtecla.new/Makefile.rules
+--- libtecla/Makefile.rules 2002-12-04 01:26:56.000000000 -0500
++++ libtecla.new/Makefile.rules 2008-10-07 06:16:22.000000000 -0400
+@@ -66,7 +66,7 @@
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ enhance$(SUFFIX): $(OBJDIR)/enhance.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ #-----------------------------------------------------------------------
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch b/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch
new file mode 100644
index 000000000000..c29d3e04c48e
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch
@@ -0,0 +1,20 @@
+ Makefile.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e492136..a44371a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -165,10 +165,10 @@ CFLAGS = $(OPT) $(WARNING_FLAGS) $(DEFINES) @CFLAGS@ @SHARED_CFLAGS@
+ default: $(TARGETS)
+
+ normal:
+- @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="" CFLAGS="$(CFLAGS)" CC="$(CC)" OBJDIR=normal_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS)' RANLIB='$(RANLIB)' LDFLAGS=$(LDFLAGS) CPPFLAGS=$(CPPFLAGS)
++ @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="" CFLAGS="$(CFLAGS)" CC="$(CC)" OBJDIR=normal_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS)' RANLIB='$(RANLIB)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'
+
+ reentrant:
+- @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="_r" CFLAGS="$(CFLAGS) $(DEFINES_R)" CC="$(CC)" OBJDIR=reentrant_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS_R)' RANLIB='$(RANLIB)' LDFLAGS=$(LDFLAGS) CPPFLAGS=$(CPPFLAGS)
++ @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="_r" CFLAGS="$(CFLAGS) $(DEFINES_R)" CC="$(CC)" OBJDIR=reentrant_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS_R)' RANLIB='$(RANLIB)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'
+
+ demos: normal
+
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
new file mode 100644
index 000000000000..999d46c58185
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
@@ -0,0 +1,18 @@
+diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
+--- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
++++ libtecla.new/Makefile.in 2008-06-03 08:59:27.000000000 -0400
+@@ -15,10 +15,10 @@
+
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-LIBDIR=@libdir@
+-INCDIR=@includedir@
+-MANDIR=@mandir@
+-BINDIR=@bindir@
++LIBDIR=$(DESTDIR)/@libdir@
++INCDIR=$(DESTDIR)/@includedir@
++MANDIR=$(DESTDIR)/@mandir@
++BINDIR=$(DESTDIR)/@bindir@
+
+ # Which C compiler do you want to use?
+
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch b/dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch
new file mode 100644
index 000000000000..423e8113213d
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch
@@ -0,0 +1,27 @@
+# add missing LDFLAGS to build system.
+# the configure script still fails to add LDFLAGS when linking
+# the libtecla shared object but since it calls ld directory
+# LDFLAGS can't be used straight out of the box.
+
+--- libtecla/Makefile.rules
++++ libtecla/Makefile.rules
+@@ -66,7 +66,7 @@
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ enhance$(SUFFIX): $(OBJDIR)/enhance.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ #-----------------------------------------------------------------------
+--- libtecla/configure.in
++++ libtecla/configure.in
+@@ -468,7 +468,7 @@
+ VERSION_OPT=''
+ fi
+
+- LINK_SHARED="$LD"' -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
++ LINK_SHARED="$LD"' $$(LFLAGS) -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
+ SHARED_CFLAGS="-fpic"
+
+ dnl Reenable the inclusion of symbols which get undefined when POSIX_C_SOURCE
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
new file mode 100644
index 000000000000..1935c3894f76
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
@@ -0,0 +1,14 @@
+# prevent build system from stripping files (bug #239877).
+
+diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
+--- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
++++ libtecla.new/Makefile.in 2008-10-07 06:17:22.000000000 -0400
+@@ -260,7 +260,7 @@
+ install_bin: $(BINDIR) $(PROGRAMS) $(PROGRAMS_R)
+ progs="$(PROGRAMS) $(PROGRAMS_R)"; \
+ for prog in $$progs; do \
+- $(srcdir)/install-sh -c -m 755 -s $$prog $(BINDIR)/; \
++ $(srcdir)/install-sh -c -m 755 $$prog $(BINDIR)/; \
+ done
+
+ install: install_lib install_inc install_man install_bin
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build.patch b/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build.patch
new file mode 100644
index 000000000000..846b038f713e
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build.patch
@@ -0,0 +1,26 @@
+--- Makefile.rules
++++ Makefile.rules
+@@ -53,19 +53,19 @@
+
+ demos: $(DEMO_PROGS)
+
+-demo$(SUFFIX): $(OBJDIR)/demo.o
++demo$(SUFFIX): $(OBJDIR)/demo.o libtecla$(SUFFIX)$(SHARED_EXT)
+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-demo2$(SUFFIX): $(OBJDIR)/demo2.o
++demo2$(SUFFIX): $(OBJDIR)/demo2.o libtecla$(SUFFIX)$(SHARED_EXT)
+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-demo3$(SUFFIX): $(OBJDIR)/demo3.o
++demo3$(SUFFIX): $(OBJDIR)/demo3.o libtecla$(SUFFIX)$(SHARED_EXT)
+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-enhance$(SUFFIX): $(OBJDIR)/enhance.o
++enhance$(SUFFIX): $(OBJDIR)/enhance.o libtecla$(SUFFIX)$(SHARED_EXT)
+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch b/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch
new file mode 100644
index 000000000000..3f85f5fdb854
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch
@@ -0,0 +1,36 @@
+ Makefile.rules | 16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.rules b/Makefile.rules
+index 0c2f1d1..a3960b5 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -53,20 +53,20 @@ libtecla.map.opt: $(srcdir)/libtecla.map
+
+ demos: $(DEMO_PROGS)
+
+-demo$(SUFFIX): $(OBJDIR)/demo.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++demo$(SUFFIX): $(OBJDIR)/demo.o libtecla$(SUFFIX)$(SHARED_EXT)
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-demo2$(SUFFIX): $(OBJDIR)/demo2.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++demo2$(SUFFIX): $(OBJDIR)/demo2.o libtecla$(SUFFIX)$(SHARED_EXT)
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-demo3$(SUFFIX): $(OBJDIR)/demo3.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++demo3$(SUFFIX): $(OBJDIR)/demo3.o libtecla$(SUFFIX)$(SHARED_EXT)
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+-enhance$(SUFFIX): $(OBJDIR)/enhance.o
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
++enhance$(SUFFIX): $(OBJDIR)/enhance.o libtecla$(SUFFIX)$(SHARED_EXT)
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ #-----------------------------------------------------------------------
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
new file mode 100644
index 000000000000..1815f8571566
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
@@ -0,0 +1,52 @@
+ Makefile.in | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index a44371a..dfd44b0 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -217,7 +217,7 @@ install_inc: $(INCDIR)
+
+ install_man: $(MANDIR) libr_man func_man prog_man misc_man file_man
+
+-libr_man:
++libr_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/libr/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -225,7 +225,7 @@ libr_man:
+ done ; \
+ fi
+
+-func_man:
++func_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/func/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -233,7 +233,7 @@ func_man:
+ done ; \
+ fi
+
+-prog_man:
++prog_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/prog/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -241,7 +241,7 @@ prog_man:
+ done ; \
+ fi
+
+-misc_man:
++misc_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/misc/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -249,7 +249,7 @@ misc_man:
+ done ; \
+ fi
+
+-file_man:
++file_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/file/*.in; do \
+ page=`basename "$$template" .in`; \
diff --git a/dev-libs/libtecla/libtecla-1.6.1-r2.ebuild b/dev-libs/libtecla/libtecla-1.6.1-r2.ebuild
new file mode 100644
index 000000000000..690983242946
--- /dev/null
+++ b/dev-libs/libtecla/libtecla-1.6.1-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils flag-o-matic multilib
+
+DESCRIPTION="Tecla command-line editing library"
+HOMEPAGE="http://www.astro.caltech.edu/~mcs/tecla/"
+SRC_URI="http://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="static-libs"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/libtecla
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-install.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-no-strip.patch \
+ "${FILESDIR}"/${P}-parallel_build2.patch \
+ "${FILESDIR}"/${P}-LDFLAGS2.patch \
+ "${FILESDIR}"/${P}-prll-install.patch
+ eautoreconf
+}
+
+src_compile() {
+ emake \
+ OPT="" \
+ LDFLAGS="${LDFLAGS}" \
+ LFLAGS="$(raw-ldflags)"
+}
+
+src_install() {
+ default
+ use static-libs || \
+ rm -rvf "${ED}"/usr/$(get_libdir)/*a || die
+}
diff --git a/dev-libs/libtecla/libtecla-1.6.2.ebuild b/dev-libs/libtecla/libtecla-1.6.2.ebuild
new file mode 100644
index 000000000000..0262065fba70
--- /dev/null
+++ b/dev-libs/libtecla/libtecla-1.6.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils flag-o-matic multilib
+
+DESCRIPTION="Tecla command-line editing library"
+HOMEPAGE="http://www.astro.caltech.edu/~mcs/tecla/"
+SRC_URI="http://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/libtecla
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.1-install.patch \
+ "${FILESDIR}"/${PN}-1.6.1-ldflags.patch \
+ "${FILESDIR}"/${PN}-1.6.1-no-strip.patch \
+ "${FILESDIR}"/${PN}-1.6.1-parallel_build2.patch \
+ "${FILESDIR}"/${PN}-1.6.1-LDFLAGS2.patch \
+ "${FILESDIR}"/${PN}-1.6.1-prll-install.patch
+ eautoreconf
+}
+
+src_compile() {
+ emake \
+ OPT="" \
+ LDFLAGS="${LDFLAGS}" \
+ LFLAGS="$(raw-ldflags)"
+}
+
+src_install() {
+ default
+ use static-libs || \
+ rm -rv "${ED}"/usr/$(get_libdir)/*a || die
+}
diff --git a/dev-libs/libtecla/metadata.xml b/dev-libs/libtecla/metadata.xml
new file mode 100644
index 000000000000..d610aa8dd553
--- /dev/null
+++ b/dev-libs/libtecla/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang='en'>
+ The tecla library provides UNIX and LINUX programs with interactive
+ command line editing facilities, similar to those of the UNIX tcsh
+ shell. In addition to simple command-line editing, it supports
+ recall of previously entered command lines, TAB completion of file
+ names or other tokens, and in-line wild-card expansion of
+ filenames. The internal functions which perform file-name completion
+ and wild-card expansion are also available externally for optional
+ use by programs.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libtermkey/Manifest b/dev-libs/libtermkey/Manifest
new file mode 100644
index 000000000000..e3c9ef48e657
--- /dev/null
+++ b/dev-libs/libtermkey/Manifest
@@ -0,0 +1 @@
+DIST libtermkey-0.17.tar.gz 42176 SHA256 68949364ed5eaad857b3dea10071cde74b00b9f236dfbb702169f246c3cef389 SHA512 8b96f9961ff77872a974b376c73abc4afbe444a761f96b3681fc5420e33548a02609bf8b2b24494965824ca5dd80c953d1d4e2701070559365633d7bf0fdcb12 WHIRLPOOL ef755c2de422d8778d8501be3aefe249b6194e71ffd862a2479158c009dd483508e6a4e35a5a1338d219e585ad465ccd3cfecfc8db6c7cd0440aa802d71f645a
diff --git a/dev-libs/libtermkey/libtermkey-0.17.ebuild b/dev-libs/libtermkey/libtermkey-0.17.ebuild
new file mode 100644
index 000000000000..1bdda24cf390
--- /dev/null
+++ b/dev-libs/libtermkey/libtermkey-0.17.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
+HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
+SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="demos"
+
+RDEPEND="dev-libs/unibilium:="
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ virtual/pkgconfig
+ demos? ( dev-libs/glib:2 )"
+
+src_prepare() {
+ if ! use demos; then
+ sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
+ fi
+}
+
+src_compile() {
+ append-flags -fPIC -fPIE
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/libtermkey/metadata.xml b/dev-libs/libtermkey/metadata.xml
new file mode 100644
index 000000000000..ade7dc18b040
--- /dev/null
+++ b/dev-libs/libtermkey/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <use>
+ <flag name='demos'>Install demos, which pulls in <pkg>dev-libs/glib</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libtomfloat/Manifest b/dev-libs/libtomfloat/Manifest
new file mode 100644
index 000000000000..5f597eb823cd
--- /dev/null
+++ b/dev-libs/libtomfloat/Manifest
@@ -0,0 +1 @@
+DIST ltf-0.02.tar.bz2 151029 SHA256 7e80498e526888e3999cb711bd9b2ffc6738723adb89c7dd400f133b46a88707 SHA512 107af3100acde6fa596c4b15831eb47ab69da4ea5a90fabef60d2d68d238545d22fc363263968d51b87248a9d917ab4457e4a62b7a86300e2fd7ee18b3d29a6a WHIRLPOOL 86aee579337a5241f4ef1119722541020b62125ebecc9fc14bcbdf7c1b6ad54969256b8626409945ca15ff8743aae15784ad114bfc635f77afc88e146f51eca4
diff --git a/dev-libs/libtomfloat/libtomfloat-0.02.ebuild b/dev-libs/libtomfloat/libtomfloat-0.02.ebuild
new file mode 100644
index 000000000000..63b72db480b1
--- /dev/null
+++ b/dev-libs/libtomfloat/libtomfloat-0.02.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs multilib
+
+DESCRIPTION="library for floating point number manipulation"
+HOMEPAGE="http://libtom.org/"
+SRC_URI="http://libtom.org/files/ltf-${PV}.tar.bz2"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-libs/libtommath"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e 's:\<ar\>:$(AR):' \
+ -e 's:\<ranlib\>:$(RANLIB):' \
+ -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
+ makefile || die
+ tc-export AR CC RANLIB
+}
+
+src_install() {
+ default
+ dodoc changes.txt *.pdf WARNING
+ docinto demos ; dodoc demos/*
+}
diff --git a/dev-libs/libtomfloat/metadata.xml b/dev-libs/libtomfloat/metadata.xml
new file mode 100644
index 000000000000..1470e032181b
--- /dev/null
+++ b/dev-libs/libtomfloat/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtommath/Manifest b/dev-libs/libtommath/Manifest
new file mode 100644
index 000000000000..741f0885a748
--- /dev/null
+++ b/dev-libs/libtommath/Manifest
@@ -0,0 +1 @@
+DIST libtommath-0.42.0.tar.gz 1732144 SHA256 5246356ba18c1b6edf4a7bc836a3d223842b86914cdba6dd8c112bfc59e227c8 SHA512 d26e7737e5750530a7b96432502f0d458931e67af528872c46ad8dfc921b8f6ef4b3e05cb07d22bd13a8b24db65812928ae4c381250a4df95f6ca55efc3dae23 WHIRLPOOL beab5007a204042fd0a5b86ccc639ee37d82bb4afe2ceebcfe062deffaa259c8a699c81a52e804c2a79cb36914d805c81826a6e456523f729063240d1bfca9e6
diff --git a/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch b/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch
new file mode 100644
index 000000000000..b3f1ed6252c8
--- /dev/null
+++ b/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch
@@ -0,0 +1,47 @@
+--- makefile.shared
++++ makefile.shared
+@@ -3,7 +3,8 @@
+ #Tom St Denis
+ VERSION=0:41
+
+-CC = libtool --mode=compile --tag=CC gcc
++LT ?= libtool
++LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
+
+ CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare
+
+@@ -82,21 +83,24 @@
+
+ objs: $(OBJECTS)
+
++%.lo: %.c
++ $(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
++
+-$(LIBNAME): $(OBJECTS)
+- libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
++$(LIBNAME): $(OBJECTS:.o=.lo)
++ $(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
+
+ install: $(LIBNAME)
+- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
+- libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
+- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
+- install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
++ install -d $(DESTDIR)$(LIBPATH)
++ $(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
++ install -d $(DESTDIR)$(INCPATH)
++ install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
+
+ test: $(LIBNAME) demo/demo.o
+- gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o
+- libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S)
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c demo/demo.c -o demo/demo.o
++ $(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S)
+
+ mtest: test
+- cd mtest ; gcc $(CFLAGS) mtest.c -o mtest
++ cd mtest ; $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) mtest.c -o mtest
+
+ timing: $(LIBNAME)
+- gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
++ $(LT) --mode=link $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
diff --git a/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild b/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild
new file mode 100644
index 000000000000..075e7f4ac5e2
--- /dev/null
+++ b/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="highly optimized and portable routines for integer based number theoretic applications"
+HOMEPAGE="https://github.com/libtom/libtommath"
+SRC_URI="https://github.com/libtom/libtommath/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples static-libs"
+
+DEPEND="sys-devel/libtool"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+
+ # need libtool for cross compilation. Bug #376643
+ cat <<-EOF > configure.ac
+ AC_INIT(libtommath, 0)
+ AM_INIT_AUTOMAKE
+ LT_INIT
+ AC_CONFIG_FILES(Makefile)
+ AC_OUTPUT
+ EOF
+ touch NEWS README AUTHORS ChangeLog Makefile.am
+ eautoreconf
+ export LT="${S}"/libtool
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+_emake() {
+ emake CC="$(tc-getCC)" -f makefile.shared \
+ IGNORE_SPEED=1 \
+ LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
+ INCPATH="${EPREFIX}/usr/include" \
+ "$@"
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${ED}" install
+ # We only link against -lc, so drop the .la file.
+ find "${ED}" -name '*.la' -delete
+
+ dodoc changes.txt
+
+ use doc && dodoc *.pdf
+
+ if use examples ; then
+ docinto demo
+ dodoc demo/*.c
+ fi
+}
diff --git a/dev-libs/libtommath/metadata.xml b/dev-libs/libtommath/metadata.xml
new file mode 100644
index 000000000000..8de78c577823
--- /dev/null
+++ b/dev-libs/libtommath/metadata.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ LibTomMath is a free open source portable number theoretic multiple-precision
+ integer library written entirely in C. (phew!). The library is designed to
+ provide a simple to work with API that provides fairly efficient routines that
+ build out of the box without configuration.
+
+ The library builds out of the box with GCC 2.95 [and up] as well as Visual C++
+ v6.00 [with SP5] without configuration. The source code is arranged to make it
+ easy to dive into a particular area very quickly. The code is also littered with
+ comments [This is one of the on going goals] that help explain the algorithms and
+ their implementations. Ideally the code will serve as an educational tool in the
+ future for CS students studying number theory.
+
+ The library provides a vast array of highly optimized routines from various
+ branches of number theory.
+
+ * Simple Algebraic
+ o Addition
+ o Subtraction
+ o Multiplication
+ o Squaring
+ o Division
+ * Digit Manipulation
+ o Shift left/right whole digits (mult by 2b by moving digits)
+ o Fast multiplication/division by 2 and 2k for k&gt;1
+ o Binary AND, OR and XOR gates
+ * Modular Reductions
+ o Barrett Reduction (fast for any p)
+ o Montgomery Reduction (faster for any odd p)
+ o DR Reduction (faster for any restricted p see manual)
+ o 2k Reduction (fast reduction modulo 2p - k)
+ o The exptmod logic can use any of the four reduction algorithms when
+ appropriate with a single function call.
+ * Number Theoretic
+ o Greatest Common Divisor
+ o Least Common Multiple
+ o Jacobi Symbol Computation (falls back to Legendre for prime moduli)
+ o Multiplicative Inverse
+ o Extended Euclidean Algorithm
+ o Modular Exponentiation
+ o Fermat and Miller-Rabin Primality Tests, utility function such as
+ is_prime and next_prime
+ * Miscellaneous
+ o Root finding over Z
+ o Pseudo-random integers
+ o Signed and Unsigned comparisons
+ * Optimizations
+ o Fast Comba based Multiplier, Squaring and Montgomery routines.
+ o Montgomery, Diminished Radix and Barrett based modular
+ exponentiation.
+ o Karatsuba and Toom-Cook multiplication algorithms.
+ o Many pointer aliasing optimiztions throughout the entire library.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">libtom/libtommath</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libtompoly/Manifest b/dev-libs/libtompoly/Manifest
new file mode 100644
index 000000000000..323791b98288
--- /dev/null
+++ b/dev-libs/libtompoly/Manifest
@@ -0,0 +1 @@
+DIST ltp-0.04.tar.bz2 171966 SHA256 6ce0d39caeda866b8f81029e8354efb9d5393850e78ea24f64475bd87b97fc0b SHA512 64a0b25eb058fc2475e6c645138729796099081ad7e926b58d2e83468d988048607e26716b4b669f0e923ea74d4d9705ff5a0466eb41cbe160488d0173447234 WHIRLPOOL 7d05ba4911a715162c2d2668eb929ed2285e6477c90c741efe49660f9c497a5d6713745aa915b8d05a5be52d334781375bd151ae3a43476a6d3ac2c56a22667d
diff --git a/dev-libs/libtompoly/libtompoly-0.04.ebuild b/dev-libs/libtompoly/libtompoly-0.04.ebuild
new file mode 100644
index 000000000000..df09fb0a8018
--- /dev/null
+++ b/dev-libs/libtompoly/libtompoly-0.04.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs multilib
+
+DESCRIPTION="portable ISO C library for polynomial basis arithmetic"
+HOMEPAGE="http://poly.libtomcrypt.org/"
+SRC_URI="http://poly.libtomcrypt.org/files/ltp-${PV}.tar.bz2"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-libs/libtommath"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e 's:\<ar\>:$(AR):' \
+ -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
+ makefile || die
+ tc-export AR CC
+}
+
+src_install() {
+ default
+ dodoc changes.txt *.pdf
+ docinto demo ; dodoc demo/*
+}
diff --git a/dev-libs/libtompoly/metadata.xml b/dev-libs/libtompoly/metadata.xml
new file mode 100644
index 000000000000..5a6046eed7c4
--- /dev/null
+++ b/dev-libs/libtompoly/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ LibTomPoly has the following features.
+
+ * Totally public domain and is only dependent on LibTomMath, another public
+ domain library.
+ * Portable source code.
+ * Provides access to polynomials of finite characteristic of varying degrees
+ (it will grow to accomodate)
+ * Includes several algebraic operations.
+ o Usual addition, subtraction, division, multiplication.
+ o Modular versions of the add/sub/mul
+ o Modular exponentiation
+ o Irreducibility testing.
+ o Monic reductions
+ o Comparisons
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libtrain/Manifest b/dev-libs/libtrain/Manifest
new file mode 100644
index 000000000000..b1d4556e91ad
--- /dev/null
+++ b/dev-libs/libtrain/Manifest
@@ -0,0 +1 @@
+DIST libtrain-0.9b.tar.gz 167075 SHA256 342f431307f37991dd2411ada3496d3104602ed6660f9ad98e431999b0772cad SHA512 72190d10a2d755ecdd791a2c90ab4de794fa9fe80b442824bc1bdfe04581db3fe6a6b4184928b7cec2c7221a999ff2a16ecf435554115d570ea714a72d7e9294 WHIRLPOOL ee8f56aff8cd3a91fb411596dbf2bbcea920ee9682f544f256a3e86ee22df52379da7e080ba40d879c5a3d24630606ba8f5d2c3b0ee95f641841ebe1e54ad95e
diff --git a/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch b/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch
new file mode 100644
index 000000000000..7cc2339cf8ef
--- /dev/null
+++ b/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch
@@ -0,0 +1,29 @@
+ libtrain/lcommon.c | 1 +
+ libtrain/roma.c | 2 ++
+ 2 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/libtrain/lcommon.c b/libtrain/lcommon.c
+index 8519c86..01a775e 100644
+--- a/libtrain/lcommon.c
++++ b/libtrain/lcommon.c
+@@ -2,6 +2,7 @@
+ /* this file is modified by FURUKAWA Yo (you@ss.iij4u.or.jp) */
+
+ #include "lfunc.h"
++#include <string.h>
+
+ BYTE Tmpbuf[ 256 ] ;
+ char FileBuf[ 1024 ] ;
+diff --git a/libtrain/roma.c b/libtrain/roma.c
+index e61a428..41b969c 100644
+--- a/libtrain/roma.c
++++ b/libtrain/roma.c
+@@ -13,6 +13,8 @@
+ #include <string.h>
+ #endif /* MAIN */
+
++#include <string.h>
++
+ #define Strlen(s) strlen((s))
+ #define Strcpy(d,s) strcpy((d),(s))
+ #define iskanji(x) (((x)>=0x81 && (x)<=0x9F)||((x)>=0xE0 && (x)<=0xFC))
diff --git a/dev-libs/libtrain/libtrain-0.9b.ebuild b/dev-libs/libtrain/libtrain-0.9b.ebuild
new file mode 100644
index 000000000000..21c163b53356
--- /dev/null
+++ b/dev-libs/libtrain/libtrain-0.9b.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Library for calculating fastest train routes"
+SRC_URI="http://www.on.rim.or.jp/~katamuki/software/train/${P}.tar.gz"
+HOMEPAGE="http://www.on.rim.or.jp/~katamuki/software/train/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~ppc sparc x86"
+IUSE="debug static-libs "
+
+PATCHES=( "${FILESDIR}"/${P}-impl-dec.patch )
+
+src_configure() {
+ local myeconfargs=( $(use_enable debug) )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/libtrain/metadata.xml b/dev-libs/libtrain/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/libtrain/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtreadstone/Manifest b/dev-libs/libtreadstone/Manifest
new file mode 100644
index 000000000000..b62903ad2506
--- /dev/null
+++ b/dev-libs/libtreadstone/Manifest
@@ -0,0 +1,2 @@
+DIST libtreadstone-0.1.0.tar.gz 361686 SHA256 7be1504de3213ac6afa1f8b55ad6aafdef2889dcb2251288cbbbfcbed270d8e2 SHA512 72aec4b03d3824bb88c6d09cc8f5a32058ea3e1da8878af6987e656464c929c136003d37d6fb87a76980642f8af2d9cfc902946d5b523cf642368fc080c70a97 WHIRLPOOL 25e9a2988d8e62fbe37550a5142c61aa77d574da6189f1adc75954caafb038971e9d577acd328f855eb30cde2ee68aadb3f3f8d7ce16dc5b0b7e18035c63ee92
+DIST libtreadstone-0.2.0.tar.gz 364127 SHA256 97986345d18b3d5f03dde699a189140d80564804aa4da3342831d5c32580986e SHA512 dfa8a592b4dbe8106716160e3108ba62a24e15d9ec827a4086f95db7dc8216c4d571c065f0e6773776693a29cca3aee29991b95f9aafae20d175403374a96014 WHIRLPOOL 47e6c0e24562feeda88ffb9f34a6f5a66f86547b1ca46b124086aa789b3835cbef2ed57337f7ea510b722978e2de3d92211789d80f7b4d64511d0854b3af7b57
diff --git a/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild b/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild
new file mode 100644
index 000000000000..292dc6ef565b
--- /dev/null
+++ b/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex libtreadstone support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.6.0
+ >=dev-libs/libe-0.9.0"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild b/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
new file mode 100644
index 000000000000..e030a79ce09e
--- /dev/null
+++ b/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex libtreadstone support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.7.0
+ >=dev-libs/libe-0.10.0"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libtreadstone/metadata.xml b/dev-libs/libtreadstone/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/libtreadstone/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libunicode/Manifest b/dev-libs/libunicode/Manifest
new file mode 100644
index 000000000000..2450828f4a1f
--- /dev/null
+++ b/dev-libs/libunicode/Manifest
@@ -0,0 +1 @@
+DIST libunicode-0.4.gnome.tar.gz 211622 SHA256 a4466a63c6501aa3137fdf309dc044bbb48186136ab86ea87c09653789ebcffd SHA512 acfd67f80f194780ee6784abe3e41ae1557c177b8f07ee4bb9c9767499bd5f4b2e6ad7ce66653fd55b7e8ff765e5f7e8134cd5e3e28735e0c4f78cba60f6205f WHIRLPOOL 70cb19a1ea5cad78afb5f86efdb5706a13e6ae232fb225e583f2f2d06eaf7d24277b300100adb1d896045524b5af38fdd3b527b434a71577bcc479e7bd055c37
diff --git a/dev-libs/libunicode/libunicode-0.4-r1.ebuild b/dev-libs/libunicode/libunicode-0.4-r1.ebuild
new file mode 100644
index 000000000000..b66611f2db5b
--- /dev/null
+++ b/dev-libs/libunicode/libunicode-0.4-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Unicode library"
+HOMEPAGE="http://www.gnome.org/"
+SRC_URI="ftp://ftp.gnome.org/pub/GNOME/sources/${PN}/${PV}/${P}.gnome.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc sparc x86"
+IUSE=""
+
+src_prepare() {
+ # The build system is too old, regenerate here to fix crossbuild and
+ # respect LDFLAGS and probably other problems too.
+ sed -i -e "/testsuite/d" configure.in || die
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO || die "dodoc failed"
+}
diff --git a/dev-libs/libunicode/metadata.xml b/dev-libs/libunicode/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/libunicode/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libunique/Manifest b/dev-libs/libunique/Manifest
new file mode 100644
index 000000000000..7adc3691b333
--- /dev/null
+++ b/dev-libs/libunique/Manifest
@@ -0,0 +1,2 @@
+DIST libunique-1.1.6.tar.bz2 335534 SHA256 e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb SHA512 82893e1d51a553b3c1413498e48a3a132e2c05779b4442c3732b5429d698e133741615657432a3d05c82a05c79bb59acc13df500bb08010212155db5e4ee6bde WHIRLPOOL ed5305ebf2e1e052c94c575e035c636ed4f80137c5a1d6cf57a80bbe74cdf55274e9ae29562c31f8dbb1c8aab665d39acfadfeeeac29af6d5fe8d8db33243b0d
+DIST libunique-3.0.2.tar.xz 294712 SHA256 a8f02ce073e2b920cca8ac45d418e7cb64438ad0814780c5912c6d63f8a4e038 SHA512 b053b9f265c751bd581d15bf73246fb087075eaf75760565671c09a4ab80db342b4d2185050a877c4e25276d24f7895f4325ca60b918a7c4acd9d1591e97a8b4 WHIRLPOOL 81d8ccdc22c27221525d59e0e7186aff632e2fdaa53ed4b05e38af814b889e3b1d470f7c9b3a8dcf98322145b92f8759f02b82771db4908a6aacb6e1bd761744
diff --git a/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch b/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch
new file mode 100644
index 000000000000..1cc5b6e01be4
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch
@@ -0,0 +1,143 @@
+From 557b0e5045c9eadb556ce11e16965cf0d0787438 Mon Sep 17 00:00:00 2001
+From: Stef Walter <stefw@collabora.co.uk>
+Date: Tue, 14 Jun 2011 12:33:45 +0100
+Subject: [PATCH] Remove G_CONST_RETURN usage, now that its gone in glib.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=652545
+
+[Alexandre Rostovtsev <tetromino@gmail.com>: backported to unique-1.1]
+---
+ unique/uniqueapp.c | 4 ++--
+ unique/uniquebackend.c | 4 ++--
+ unique/uniquebackend.h | 4 ++--
+ unique/uniqueinternals.h | 4 ++--
+ unique/uniquemessage.c | 4 ++--
+ unique/uniquemessage.h | 4 ++--
+ 6 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
+index b40a86c..e8edc94 100644
+--- a/unique/uniqueapp.c
++++ b/unique/uniqueapp.c
+@@ -781,7 +781,7 @@ unique_app_watch_window (UniqueApp *app,
+ }
+
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_command_to_string (UniqueApp *app,
+ gint command)
+ {
+@@ -863,7 +863,7 @@ unique_command_from_string (UniqueApp *app,
+ return retval;
+ }
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_response_to_string (UniqueResponse response)
+ {
+ GEnumClass *enum_class;
+diff --git a/unique/uniquebackend.c b/unique/uniquebackend.c
+index a76e42e..68e2735 100644
+--- a/unique/uniquebackend.c
++++ b/unique/uniquebackend.c
+@@ -111,7 +111,7 @@ unique_backend_set_name (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_name (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+@@ -154,7 +154,7 @@ unique_backend_set_startup_id (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_startup_id (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+diff --git a/unique/uniquebackend.h b/unique/uniquebackend.h
+index a50ce4e..b19ad3e 100644
+--- a/unique/uniquebackend.h
++++ b/unique/uniquebackend.h
+@@ -94,10 +94,10 @@ GType unique_backend_get_type (void) G_GNUC_CONST;
+
+ UniqueBackend * unique_backend_create (void);
+
+-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend);
++const gchar * unique_backend_get_name (UniqueBackend *backend);
+ void unique_backend_set_name (UniqueBackend *backend,
+ const gchar *name);
+-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend);
++const gchar * unique_backend_get_startup_id (UniqueBackend *backend);
+ void unique_backend_set_startup_id (UniqueBackend *backend,
+ const gchar *startup_id);
+ GdkScreen * unique_backend_get_screen (UniqueBackend *backend);
+diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
+index 3cec152..ccae0cd 100644
+--- a/unique/uniqueinternals.h
++++ b/unique/uniqueinternals.h
+@@ -44,11 +44,11 @@ UniqueResponse unique_app_emit_message_received (UniqueApp *app,
+ * and then back into an id
+ */
+ UniqueResponse unique_response_from_string (const gchar *response);
+-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response);
++const gchar * unique_response_to_string (UniqueResponse response);
+
+ gint unique_command_from_string (UniqueApp *app,
+ const gchar *command);
+-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app,
++const gchar * unique_command_to_string (UniqueApp *app,
+ gint command);
+
+ G_END_DECLS
+diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
+index c74392d..2b2a9fc 100644
+--- a/unique/uniquemessage.c
++++ b/unique/uniquemessage.c
+@@ -185,7 +185,7 @@ unique_message_data_set (UniqueMessageData *message_data,
+ *
+ * Since: 1.0.2
+ */
+-G_CONST_RETURN guchar *
++const guchar *
+ unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length)
+ {
+@@ -525,7 +525,7 @@ unique_message_data_get_screen (UniqueMessageData *message_data)
+ * owned by the #UniqueMessageData structure and should not be
+ * modified or freed
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_message_data_get_startup_id (UniqueMessageData *message_data)
+ {
+ g_return_val_if_fail (message_data != NULL, NULL);
+diff --git a/unique/uniquemessage.h b/unique/uniquemessage.h
+index d3e9c3c..93eee21 100644
+--- a/unique/uniquemessage.h
++++ b/unique/uniquemessage.h
+@@ -48,7 +48,7 @@ void unique_message_data_free (UniqueMessageData *me
+ void unique_message_data_set (UniqueMessageData *message_data,
+ const guchar *data,
+ gsize length);
+-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data,
++const guchar * unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length);
+
+ gboolean unique_message_data_set_text (UniqueMessageData *message_data,
+@@ -63,7 +63,7 @@ void unique_message_data_set_filename (UniqueMessageData *me
+ gchar * unique_message_data_get_filename (UniqueMessageData *message_data);
+
+ GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data);
+-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
++const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
+ guint unique_message_data_get_workspace (UniqueMessageData *message_data);
+
+ G_END_DECLS
+--
+1.7.6
+
diff --git a/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch b/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch
new file mode 100644
index 000000000000..f47e66267d50
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch
@@ -0,0 +1,50 @@
+From 9df132a70d54b768a8e1d0335d24b85ac9b3fb76 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@linux.intel.com>
+Date: Sun, 27 Mar 2011 08:42:22 +0000
+Subject: Remove compiler warnings
+
+(cherry picked from commit f791ed16b19dddc7fbaf90d8f797520e67883021)
+
+Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
+---
+diff --git a/unique/dbus/uniquebackend-dbus.c b/unique/dbus/uniquebackend-dbus.c
+index 3ae1bed..69faa00 100644
+--- a/unique/dbus/uniquebackend-dbus.c
++++ b/unique/dbus/uniquebackend-dbus.c
+@@ -84,7 +84,6 @@ unique_backend_dbus_register_proxy (UniqueBackendDBus *backend_dbus)
+ static gboolean
+ unique_backend_dbus_request_name (UniqueBackend *backend)
+ {
+- UniqueBackendDBus *backend_dbus;
+ const gchar *name;
+ DBusGConnection *connection;
+ DBusGProxy *proxy;
+@@ -97,8 +96,6 @@ unique_backend_dbus_request_name (UniqueBackend *backend)
+ if (!connection)
+ return FALSE;
+
+- backend_dbus = UNIQUE_BACKEND_DBUS (backend);
+-
+ retval = TRUE;
+ name = unique_backend_get_name (backend);
+ g_assert (name != NULL);
+@@ -207,10 +204,14 @@ unique_backend_dbus_send_message (UniqueBackend *backend,
+ cmd, data, time_,
+ &resp,
+ &error);
+- if (error)
++ if (!res)
+ {
+- g_warning ("Error while sending message: %s", error->message);
+- g_error_free (error);
++ if (error)
++ {
++ g_warning ("Error while sending message: %s", error->message);
++ g_error_free (error);
++ }
++
+ g_free (cmd);
+
+ return UNIQUE_RESPONSE_INVALID;
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch b/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch
new file mode 100644
index 000000000000..b2e85e4d71a5
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch
@@ -0,0 +1,26 @@
+From caf736f4b84808393b0d7030ae6128a3322a71e2 Mon Sep 17 00:00:00 2001
+From: Tobias Mueller <tobiasmue@gnome.org>
+Date: Mon, 12 Apr 2010 13:01:42 +0000
+Subject: test-unique: Resolve format string issues
+
+Provide a proper literal format string to not expose potential vulnerabilites.
+Fixes bug 615522.
+---
+diff --git a/tests/test-unique.c b/tests/test-unique.c
+index b7cde45..c9958c9 100644
+--- a/tests/test-unique.c
++++ b/tests/test-unique.c
+@@ -82,9 +82,11 @@ app_message_cb (UniqueApp *app,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE,
++ "%s",
+ title);
+ if (message)
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
++ "%s",
+ message);
+
+ gtk_window_set_urgency_hint (GTK_WINDOW (dialog), TRUE);
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch b/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch
new file mode 100644
index 000000000000..927771e7311b
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch
@@ -0,0 +1,37 @@
+From 30ca2903a8ed4eed974ea744e4b9bd96198c425d Mon Sep 17 00:00:00 2001
+From: Rodney Lorrimar <r.lorrimar@fugro-fsi.com.au>
+Date: Mon, 21 Dec 2009 02:07:46 +0000
+Subject: Include NUL terminator in unique_message_data_get_filename()
+
+https://bugzilla.gnome.org/show_bug.cgi?id=605104
+
+Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
+---
+diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
+index ace40ed..3cec152 100644
+--- a/unique/uniqueinternals.h
++++ b/unique/uniqueinternals.h
+@@ -13,7 +13,7 @@ G_BEGIN_DECLS
+ struct _UniqueMessageData
+ {
+ guchar *data;
+- gint length;
++ gint length; /* length of data not including NUL terminator */
+
+ GdkScreen *screen;
+ gchar *startup_id;
+diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
+index 10f6df5..c74392d 100644
+--- a/unique/uniquemessage.c
++++ b/unique/uniquemessage.c
+@@ -493,7 +493,7 @@ unique_message_data_get_filename (UniqueMessageData *message_data)
+ {
+ g_return_val_if_fail (message_data != NULL, NULL);
+
+- return g_memdup (message_data->data, message_data->length);
++ return g_memdup (message_data->data, message_data->length + 1);
+ }
+
+ /**
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/run-tests b/dev-libs/libunique/files/run-tests
new file mode 100644
index 000000000000..db9bcd4f0860
--- /dev/null
+++ b/dev-libs/libunique/files/run-tests
@@ -0,0 +1,18 @@
+BINARY = ./test-unique
+TESTS = --new --activate --open-uri=http://localhost --foo
+
+all:
+ for test in $(TESTS); do \
+ rm -f test_result; \
+ $(BINARY) > test_result & \
+ main_pid=$$!; \
+ sleep 5; \
+ $(BINARY) $$test & \
+ test_pid=$$!; \
+ sleep 5; \
+ while ! test -s test_result; do sleep 0.5; done; \
+ sleep 5; \
+ kill $${test_pid} || exit 1; \
+ kill $${main_pid} || exit 1; \
+ grep -q 'Message received from.*' test_result || { echo "Test failed at $$test"; exit 1; }; \
+ done
diff --git a/dev-libs/libunique/libunique-1.1.6-r1.ebuild b/dev-libs/libunique/libunique-1.1.6-r1.ebuild
new file mode 100644
index 000000000000..c91625843239
--- /dev/null
+++ b/dev-libs/libunique/libunique-1.1.6-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit eutils gnome2 virtualx
+
+DESCRIPTION="a library for writing single instance application"
+HOMEPAGE="http://live.gnome.org/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-solaris"
+IUSE="dbus doc +introspection"
+
+RDEPEND=">=dev-libs/glib-2.12:2
+ >=x11-libs/gtk+-2.11:2[introspection?]
+ x11-libs/libX11
+ dbus? (
+ >=dev-libs/dbus-glib-0.70
+ sys-apps/dbus[X] )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1.11 )
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3 )"
+# For eautoreconf
+# dev-util/gtk-doc-am
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS ChangeLog README TODO"
+ G2CONF="${G2CONF}
+ --disable-maintainer-flags
+ --disable-static
+ --enable-bacon
+ $(use_enable introspection)
+ $(use_enable dbus)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Include NUL terminator in unique_message_data_get_filename()
+ epatch "${FILESDIR}/${P}-include-terminator.patch"
+
+ # test-unique: Resolve format string issues
+ epatch "${FILESDIR}/${P}-fix-test.patch"
+
+ # Remove compiler warnings
+ epatch "${FILESDIR}/${P}-compiler-warnings.patch"
+
+ # Remove G_CONST_RETURN usage, now that its gone in glib.
+ epatch "${FILESDIR}/${PN}-1.1.6-G_CONST_RETURN.patch"
+
+ sed -e 's/-D.*_DISABLE_DEPRECATED//' -i unique/Makefile.am \
+ unique/Makefile.in || die
+}
+
+src_test() {
+ cd "${S}/tests"
+
+ # Fix environment variable leakage (due to `su` etc)
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ # Force Xemake to use Xvfb, bug 279840
+ unset XAUTHORITY
+ unset DISPLAY
+
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ Xemake -f run-tests || die "Tests failed"
+}
diff --git a/dev-libs/libunique/libunique-3.0.2.ebuild b/dev-libs/libunique/libunique-3.0.2.ebuild
new file mode 100644
index 000000000000..6b40b8fc4f2b
--- /dev/null
+++ b/dev-libs/libunique/libunique-3.0.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME_TARBALL_SUFFIX="xz"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="a library for writing single instance application"
+HOMEPAGE="http://live.gnome.org/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-solaris"
+IUSE="doc +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.25.7:2
+ sys-apps/dbus[X]
+ >=x11-libs/gtk+-2.90.0:3[introspection?]
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1.13 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0 )"
+# For eautoreconf
+# dev-util/gtk-doc-am
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS ChangeLog README TODO"
+ # --disable-dbus means gdbus is used instead of dbus-glib
+ G2CONF="${G2CONF}
+ --disable-static
+ --disable-maintainer-flags
+ --disable-dbus
+ $(use_enable introspection)"
+}
+
+src_prepare() {
+ # should we sed Makefile.am instead and run eautoreconf?
+ sed -i -e '/DG.*_DISABLE_DEPRECATED/d' unique/Makefile.in || die
+ gnome2_src_prepare
+}
+
+src_test() {
+ cd "${S}/tests"
+
+ # Fix environment variable leakage (due to `su` etc)
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ # Force Xemake to use Xvfb, bug 279840
+ unset XAUTHORITY
+ unset DISPLAY
+
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ Xemake -f run-tests || die "Tests failed"
+}
diff --git a/dev-libs/libunique/metadata.xml b/dev-libs/libunique/metadata.xml
new file mode 100644
index 000000000000..18d1a81735d6
--- /dev/null
+++ b/dev-libs/libunique/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription lang="en">
+Unique is a library for writing single instance application. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance.
+</longdescription>
+<use>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+ for introspection</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libunistring/Manifest b/dev-libs/libunistring/Manifest
new file mode 100644
index 000000000000..d19548f0643d
--- /dev/null
+++ b/dev-libs/libunistring/Manifest
@@ -0,0 +1,2 @@
+DIST libunistring-0.9.3.tar.gz 2555215 SHA256 610d3ec724fbdaa654afe3cff20b9f4d504be3fd296fded2e0f7f764041006a3 SHA512 351c0c94c4a31efbed932978ff8afae4defd7c28771d2d877b5ead5383a4f1b53200ece72b6908a9bafb7836775b2af3465e051226e43520ada2b8c583314d12 WHIRLPOOL f6a4f6571556193c0bacb3e4a29202da7f2ba96e7d0fb25a638fe2149bb38de029de43e66e1cbe80bbb633df3fe3469525e296ea57ef66ac7ca96cd082abdb2d
+DIST libunistring-0.9.5.tar.gz 3487957 SHA256 1a8c0772467850bef7197318a95f44abbb678ea83cbf119a3500cc7848276a17 SHA512 89404b8f0fde264c3faa4285e4717487f2b6c348fa9374ccff2251eb3db6dda208fe013056a22f496c1fb099abe7e79b72a203d15499c641e3ac48e7957ba1b4 WHIRLPOOL 445a836b687187faa8b562dff694add9448b7a2770b51748974bead2304f00c2242a3488c20819c250f800f6711d3f594803094aae2b8cb189a1519f2450db20
diff --git a/dev-libs/libunistring/files/libunistring-nodocs.patch b/dev-libs/libunistring/files/libunistring-nodocs.patch
new file mode 100644
index 000000000000..07b003cb9217
--- /dev/null
+++ b/dev-libs/libunistring/files/libunistring-nodocs.patch
@@ -0,0 +1,12 @@
+diff -Naur libunistring-0.9.3.orig/Makefile.in libunistring-0.9.3/Makefile.in
+--- libunistring-0.9.3.orig/Makefile.in 2010-05-02 18:28:21.000000000 -0300
++++ libunistring-0.9.3/Makefile.in 2010-09-24 12:45:40.000000000 -0300
+@@ -773,7 +773,7 @@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
+ ACLOCAL_AMFLAGS = -I m4 -I gnulib-m4
+-SUBDIRS = doc gnulib-local lib tests
++SUBDIRS = gnulib-local lib tests
+
+ # Allow users to use "gnulib-tool --update".
+
diff --git a/dev-libs/libunistring/libunistring-0.9.3-r1.ebuild b/dev-libs/libunistring/libunistring-0.9.3-r1.ebuild
new file mode 100644
index 000000000000..ba1320625a10
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-0.9.3-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="Library for manipulating Unicode strings and C strings according to the Unicode standard"
+HOMEPAGE="http://www.gnu.org/software/libunistring/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux"
+IUSE="doc"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-nodocs.patch
+}
+
+src_install() {
+ dodoc AUTHORS README ChangeLog || die "dodoc failed"
+ if use doc; then
+ dohtml doc/*.html || die "dohtml failed"
+ doinfo doc/*.info || die "doinfo failed"
+ fi
+
+ emake DESTDIR="${D}" install || die "Install failed"
+}
diff --git a/dev-libs/libunistring/libunistring-0.9.5.ebuild b/dev-libs/libunistring/libunistring-0.9.5.ebuild
new file mode 100644
index 000000000000..2aafdaa8eddd
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-0.9.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="Library for manipulating Unicode strings and C strings according to the Unicode standard"
+HOMEPAGE="http://www.gnu.org/software/libunistring/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0/2"
+KEYWORDS="amd64 arm x86 ~amd64-linux"
+IUSE="doc static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-nodocs.patch
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ dodoc AUTHORS README ChangeLog || die "dodoc failed"
+ if use doc; then
+ dohtml doc/*.html || die "dohtml failed"
+ doinfo doc/*.info || die "doinfo failed"
+ fi
+
+ emake DESTDIR="${D}" install || die "Install failed"
+
+ prune_libtool_files
+}
diff --git a/dev-libs/libunistring/metadata.xml b/dev-libs/libunistring/metadata.xml
new file mode 100644
index 000000000000..260b66c76dc4
--- /dev/null
+++ b/dev-libs/libunistring/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>scheme</herd>
+<longdescription lang="en">
+ Text files are nowadays usually encoded in Unicode, and may consist of very
+ different scripts – from Latin letters to Chinese Hanzi –, with many kinds
+ of special characters – accents, right-to-left writing marks, hyphens, Roman
+ numbers, and much more. But the POSIX platform APIs for text do not contain
+ adequate functions for dealing with particular properties of many Unicode
+ characters. In fact, the POSIX APIs for text have several assumptions at
+ their base which don't hold for Unicode text.
+ This library provides functions for manipulating Unicode strings and for
+ manipulating C strings according to the Unicode standard.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libusb-compat/Manifest b/dev-libs/libusb-compat/Manifest
new file mode 100644
index 000000000000..6c727aee7567
--- /dev/null
+++ b/dev-libs/libusb-compat/Manifest
@@ -0,0 +1 @@
+DIST libusb-compat-0.1.5.tar.bz2 276769 SHA256 404ef4b6b324be79ac1bfb3d839eac860fbc929e6acb1ef88793a6ea328bc55a SHA512 fe63bd1c65e67588a83ebfdd329025ecf75f33f877fb80dd83eb528df057efb591e010416027f9054294504562299166e8e2811a7681fa1967a03baae9b88857 WHIRLPOOL 2f84934c28980bee9e8ca69d284303cdbaf4cb72cee02108825bd7366bfff7f6365db5ffee8de024eb85dee571eccc47acea6a25d6835f0fefb0ad8a77d05045
diff --git a/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch b/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
new file mode 100644
index 000000000000..ba3436f6d7b4
--- /dev/null
+++ b/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
@@ -0,0 +1,190 @@
+diff --git a/libusb/usb.h b/libusb/usb.h
+index b7af749..c9726ed 100644
+--- a/libusb/usb.h
++++ b/libusb/usb.h
+@@ -27,8 +27,10 @@
+
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <limits.h>
+
++#include <sys/param.h>
+ #include <dirent.h>
+
+ /*
+@@ -78,40 +80,40 @@
+
+ /* All standard descriptors have these 2 fields in common */
+ struct usb_descriptor_header {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
++ uint8_t bLength;
++ uint8_t bDescriptorType;
+ };
+
+ /* String descriptor */
+ struct usb_string_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t wData[1];
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t wData[1];
+ };
+
+ /* HID descriptor */
+ struct usb_hid_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t bcdHID;
+- u_int8_t bCountryCode;
+- u_int8_t bNumDescriptors;
+- /* u_int8_t bReportDescriptorType; */
+- /* u_int16_t wDescriptorLength; */
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t bcdHID;
++ uint8_t bCountryCode;
++ uint8_t bNumDescriptors;
++ /* uint8_t bReportDescriptorType; */
++ /* uint16_t wDescriptorLength; */
+ /* ... */
+ };
+
+ /* Endpoint descriptor */
+ #define USB_MAXENDPOINTS 32
+ struct usb_endpoint_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int8_t bEndpointAddress;
+- u_int8_t bmAttributes;
+- u_int16_t wMaxPacketSize;
+- u_int8_t bInterval;
+- u_int8_t bRefresh;
+- u_int8_t bSynchAddress;
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint8_t bEndpointAddress;
++ uint8_t bmAttributes;
++ uint16_t wMaxPacketSize;
++ uint8_t bInterval;
++ uint8_t bRefresh;
++ uint8_t bSynchAddress;
+
+ unsigned char *extra; /* Extra descriptors */
+ int extralen;
+@@ -129,15 +131,15 @@ struct usb_endpoint_descriptor {
+ /* Interface descriptor */
+ #define USB_MAXINTERFACES 32
+ struct usb_interface_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int8_t bInterfaceNumber;
+- u_int8_t bAlternateSetting;
+- u_int8_t bNumEndpoints;
+- u_int8_t bInterfaceClass;
+- u_int8_t bInterfaceSubClass;
+- u_int8_t bInterfaceProtocol;
+- u_int8_t iInterface;
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint8_t bInterfaceNumber;
++ uint8_t bAlternateSetting;
++ uint8_t bNumEndpoints;
++ uint8_t bInterfaceClass;
++ uint8_t bInterfaceSubClass;
++ uint8_t bInterfaceProtocol;
++ uint8_t iInterface;
+
+ struct usb_endpoint_descriptor *endpoint;
+
+@@ -155,14 +157,14 @@ struct usb_interface {
+ /* Configuration descriptor information.. */
+ #define USB_MAXCONFIG 8
+ struct usb_config_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t wTotalLength;
+- u_int8_t bNumInterfaces;
+- u_int8_t bConfigurationValue;
+- u_int8_t iConfiguration;
+- u_int8_t bmAttributes;
+- u_int8_t MaxPower;
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t wTotalLength;
++ uint8_t bNumInterfaces;
++ uint8_t bConfigurationValue;
++ uint8_t iConfiguration;
++ uint8_t bmAttributes;
++ uint8_t MaxPower;
+
+ struct usb_interface *interface;
+
+@@ -172,28 +174,28 @@ struct usb_config_descriptor {
+
+ /* Device descriptor */
+ struct usb_device_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t bcdUSB;
+- u_int8_t bDeviceClass;
+- u_int8_t bDeviceSubClass;
+- u_int8_t bDeviceProtocol;
+- u_int8_t bMaxPacketSize0;
+- u_int16_t idVendor;
+- u_int16_t idProduct;
+- u_int16_t bcdDevice;
+- u_int8_t iManufacturer;
+- u_int8_t iProduct;
+- u_int8_t iSerialNumber;
+- u_int8_t bNumConfigurations;
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t bcdUSB;
++ uint8_t bDeviceClass;
++ uint8_t bDeviceSubClass;
++ uint8_t bDeviceProtocol;
++ uint8_t bMaxPacketSize0;
++ uint16_t idVendor;
++ uint16_t idProduct;
++ uint16_t bcdDevice;
++ uint8_t iManufacturer;
++ uint8_t iProduct;
++ uint8_t iSerialNumber;
++ uint8_t bNumConfigurations;
+ };
+
+ struct usb_ctrl_setup {
+- u_int8_t bRequestType;
+- u_int8_t bRequest;
+- u_int16_t wValue;
+- u_int16_t wIndex;
+- u_int16_t wLength;
++ uint8_t bRequestType;
++ uint8_t bRequest;
++ uint16_t wValue;
++ uint16_t wIndex;
++ uint16_t wLength;
+ };
+
+ /*
+@@ -254,7 +256,7 @@ struct usb_device {
+
+ void *dev; /* Darwin support */
+
+- u_int8_t devnum;
++ uint8_t devnum;
+
+ unsigned char num_children;
+ struct usb_device **children;
+@@ -266,7 +268,7 @@ struct usb_bus {
+ char dirname[PATH_MAX + 1];
+
+ struct usb_device *devices;
+- u_int32_t location;
++ uint32_t location;
+
+ struct usb_device *root_dev;
+ };
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild
new file mode 100644
index 000000000000..6253f87ec448
--- /dev/null
+++ b/dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices (libusb-0.1 compat wrapper)"
+HOMEPAGE="http://libusb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN/-compat}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug examples static-libs"
+
+RDEPEND=">=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
+ !dev-libs/libusb:0
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug debug-log)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && gen_usr_ldscript -a usb
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
new file mode 100644
index 000000000000..4318c2f23107
--- /dev/null
+++ b/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices (libusb-0.1 compat wrapper)"
+HOMEPAGE="http://libusb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN/-compat}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug examples static-libs"
+
+RDEPEND=">=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
+ !dev-libs/libusb:0
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch
+}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libusb-config
+)
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug debug-log)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && gen_usr_ldscript -a usb
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/dev-libs/libusb-compat/metadata.xml b/dev-libs/libusb-compat/metadata.xml
new file mode 100644
index 000000000000..705c20c4a276
--- /dev/null
+++ b/dev-libs/libusb-compat/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>peter@stuge.se</email>
+ <name>Peter Stuge</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libusb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libusb/Manifest b/dev-libs/libusb/Manifest
new file mode 100644
index 000000000000..de29c6e7fa24
--- /dev/null
+++ b/dev-libs/libusb/Manifest
@@ -0,0 +1,3 @@
+DIST libusb-1.0.18.tar.bz2 502160 SHA256 c73f5cec45a5de94418da4e151b7232958571926984acfb9bce02b9424e83720 SHA512 bbc3d75cb91f4e6a024549c2bac38ee85aeda8529a4553fd36bc8e8a5c223cd89eb952eda71fcc0071d6c6c818a0631d4cca084fed69d4986eee5dcf9a87d662 WHIRLPOOL fcc663884fb6d03bcf5f08c30bfded1d05c5b9ac836a2b99335553476201f956fed327c4a51609e19f54182bf5db125a0f22b41496def0443b5b4152a9f60a45
+DIST libusb-1.0.19.tar.bz2 521496 SHA256 6c502c816002f90d4f76050a6429c3a7e0d84204222cbff2dce95dd773ba6840 SHA512 f42f0187bfec16ebabad64efef7a7651ee85dcf2af1b7cbe543b7de615f9c6432f7eea5fcc6b23335591dcad287c905eb9bd56199cc5d3b47435027ad678f2c1 WHIRLPOOL 95bc30575cc0e9306584453f6b7549902083ff95ff170f0fc2c89734841f7fb82cf9e25a6443ba6a0b04e1f111096deb1e4a6dc8aa13a68d13f02e02b5d274c6
+DIST libusb-1.0.9.tar.bz2 421971 SHA256 e920eedc2d06b09606611c99ec7304413c6784cba6e33928e78243d323195f9b SHA512 5eba3e9df2c1db71d685becebebf5b1310ee87e442f97a2553a430fd11655a2d9ce50e4ec2ffd62fe322286b0d6bc9e142ce552effc2466ee50424deba035ee5 WHIRLPOOL 9886cb6660d4530fe199441a8b5b76cb8a00012d69a13a40276bf3b880561eeb31301c186828b6fd08b687e038fac640475ba280473053e252cf23f15ca38372
diff --git a/dev-libs/libusb/libusb-1.0.18.ebuild b/dev-libs/libusb/libusb-1.0.18.ebuild
new file mode 100644
index 000000000000..fd36b4fa8b4f
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.18.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="http://libusb.info/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc examples static-libs test udev"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ !udev? ( virtual/os-headers )"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable udev) \
+ $(use_enable debug debug-log) \
+ $(use_enable test tests-build)
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc docs
+ fi
+}
+
+multilib_src_test() {
+ emake check
+
+ # noinst_PROGRAMS from tests/Makefile.am
+ tests/stress || die
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ gen_usr_ldscript -a usb-1.0
+
+ use doc && dohtml doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+
+ dodoc AUTHORS ChangeLog NEWS PORTING README TODO
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{c,h}
+ insinto /usr/share/doc/${PF}/examples/getopt
+ doins examples/getopt/*.{c,h}
+ fi
+}
diff --git a/dev-libs/libusb/libusb-1.0.19.ebuild b/dev-libs/libusb/libusb-1.0.19.ebuild
new file mode 100644
index 000000000000..fd36b4fa8b4f
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.19.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="http://libusb.info/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc examples static-libs test udev"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ !udev? ( virtual/os-headers )"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable udev) \
+ $(use_enable debug debug-log) \
+ $(use_enable test tests-build)
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc docs
+ fi
+}
+
+multilib_src_test() {
+ emake check
+
+ # noinst_PROGRAMS from tests/Makefile.am
+ tests/stress || die
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ gen_usr_ldscript -a usb-1.0
+
+ use doc && dohtml doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+
+ dodoc AUTHORS ChangeLog NEWS PORTING README TODO
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{c,h}
+ insinto /usr/share/doc/${PF}/examples/getopt
+ doins examples/getopt/*.{c,h}
+ fi
+}
diff --git a/dev-libs/libusb/libusb-1.0.9-r2.ebuild b/dev-libs/libusb/libusb-1.0.9-r2.ebuild
new file mode 100644
index 000000000000..a96b22b1ddc0
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.9-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="http://libusb.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -amd64-fbsd -x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc examples static-libs"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="doc? ( app-doc/doxygen )"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug debug-log)
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc docs
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ gen_usr_ldscript -a usb-1.0
+
+ use doc && dohtml doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+
+ dodoc AUTHORS NEWS PORTING README THANKS TODO
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/dev-libs/libusb/metadata.xml b/dev-libs/libusb/metadata.xml
new file mode 100644
index 000000000000..705c20c4a276
--- /dev/null
+++ b/dev-libs/libusb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>peter@stuge.se</email>
+ <name>Peter Stuge</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libusb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libusbhp/Manifest b/dev-libs/libusbhp/Manifest
new file mode 100644
index 000000000000..96a3d4438f66
--- /dev/null
+++ b/dev-libs/libusbhp/Manifest
@@ -0,0 +1 @@
+DIST libusbhp-1.0.2.tar.gz 353180 SHA256 bfadea5a8ee64a6bf795d0d7154f178d1c7ea75c372e67058d25697a9c49f107 SHA512 0d2f6465586a2c30650bfb545211f69f0dfa9a6d71aa8321dc046e7c54aee4a225e3df6e66573d80126aa39e310ffef4e8fbf47cfa3241ec35149eff86a67b29 WHIRLPOOL 11b2a1a3b4e4237cdabbc767e909ec82a7bad68d65bd382cff3216b93b75ad8d88ad4f18bae052d26e24333809c63feda23c989d040d561cb774bdc8519618b9
diff --git a/dev-libs/libusbhp/libusbhp-1.0.2.ebuild b/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
new file mode 100644
index 000000000000..270c34204cb3
--- /dev/null
+++ b/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Usb Hotplug Library"
+HOMEPAGE="http://www.aasimon.org/libusbhp/"
+SRC_URI="http://www.aasimon.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+IUSE="static-libs"
+
+RDEPEND=">=virtual/libudev-147"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --without-debug
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/libusbhp/metadata.xml b/dev-libs/libusbhp/metadata.xml
new file mode 100644
index 000000000000..b61166215c7d
--- /dev/null
+++ b/dev-libs/libusbhp/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+</pkgmetadata>
diff --git a/dev-libs/libutf8proc/Manifest b/dev-libs/libutf8proc/Manifest
new file mode 100644
index 000000000000..44f7517138a4
--- /dev/null
+++ b/dev-libs/libutf8proc/Manifest
@@ -0,0 +1,2 @@
+DIST libutf8proc-1.1.6-src.tar.gz 89914 SHA256 16e0dacf459bf42098614b714a262633de26ba5a03f05812d6d052c9aeeac384 SHA512 97fc1ed6085f181f4d4b79b7e0dabcf8bcb73ec6ebe3ba426033edc3258082892f990ea9393a528186aa2b1f4aec6eb412036d16966461b0dd2263040ed9b7a1 WHIRLPOOL a88252dd6569e062a59895ee0ee0db0eb95172f0376e92c2ee971e663aba610b61b6637aca740c000174b3cdf5ad6da9938e9bc3ab24fd849206561c8f503d7e
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libutf8proc/libutf8proc-1.1.6-r1.ebuild b/dev-libs/libutf8proc/libutf8proc-1.1.6-r1.ebuild
new file mode 100644
index 000000000000..b5585e8b8bd0
--- /dev/null
+++ b/dev-libs/libutf8proc/libutf8proc-1.1.6-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="mapping tool for UTF-8 strings"
+HOMEPAGE="http://www.netsurf-browser.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/libutf8proc/metadata.xml b/dev-libs/libutf8proc/metadata.xml
new file mode 100644
index 000000000000..5b80fb94c393
--- /dev/null
+++ b/dev-libs/libutf8proc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libuv/Manifest b/dev-libs/libuv/Manifest
new file mode 100644
index 000000000000..88c42651f2ed
--- /dev/null
+++ b/dev-libs/libuv/Manifest
@@ -0,0 +1,6 @@
+DIST libuv-0.11.25.tar.gz 393814 SHA256 b95a3e5eca9554998b7423ee786205e52731e82e2d24cbbd4f65af763de542fb SHA512 7e2b5befb76ee7b0c86e6a459ef276386fe60b511b64c33d01e656cbcf8ff833244c8601b7b83963bf00d64a999a5a186f14937308eed35b1496e0c829b37380 WHIRLPOOL 23d844d92100b49b598790a98cbac132c453f683fedf9c089cabf3bcafe1b9c064fab579fe5e7d95459de0046ac8f9d8b133ff79bd71efa5294e203a1c7afc6b
+DIST libuv-0.11.29.tar.gz 486768 SHA256 fac45e72c2df30ddc9cbdf5002fc1363281d0e433831e3d43acb1036c2cabfc6 SHA512 91439c47b3af90a71c15ffcaf296b515c2723b2a4cd329b529b6d37a4d05d12bdf6ad6bca87079d17c9b79aab02634afddbcf53c70afcc1765dcaf49b9dd28b2 WHIRLPOOL d010c5f6e3c1a4262195b50087bc3408c6df726adbcd23abc27cf64ec1da6b159049a6d4f9d46c3cebaaa333b667cefe339d4fec6b1379a38940ee7f4376ec40
+DIST libuv-1.1.0.tar.gz 1010640 SHA256 e4ff513c18a6322898972b0b6ce986445bcd2c13710f4a46b10baf80b28599cf SHA512 2d801b8b12e6f9b179f62084d1c260b6443ae34523c12dbea8317ff34aa0a76f3df2ee38fb161aa6fd4092b6280a53c7ed599d04eb7ed0d250c1e60b4e584dea WHIRLPOOL 6d6b3eea2ddb54322d20125f1a0a61b8a00b1771ccb8bc0d7829229cabb3e363adc6f85b2d1ae2f506410a543c92404df9f545a57805ac278fab560d5a24de5e
+DIST libuv-1.4.2.tar.gz 1017992 SHA256 b9e424f69db0d1c3035c5f871cd9d7a3f4bace0a4db3e974bdbfa0cf95f6b741 SHA512 a2ee23d957b4b2c486c01a8ca0814cb42853d3496edcf2c39228fe9259317699954bd222abbcc4e7fda81b936ecfd64be3472230b319e8caab8e4bba0c835ced WHIRLPOOL 53727ec56b274523e445b23160a6a42d8b7fdf5b298480f0819a0cd4a19d811b59d00756eec2c9d69a34d8add96ff6103b44752df06d1346a13f2c979f52cc4a
+DIST libuv-1.5.0.tar.gz 1023438 SHA256 f9c6ad4b7a2c90d93c8e09d2e739bb46d199639c4d884ba30323359521b09367 SHA512 b6f6e685e66b72a0439eda35297fe5f98db598abd83deff0e9f614ef1f52ffc36717ded5e28aa2c32054c52f396ae826651c04e958f13e409a701558d777cee6 WHIRLPOOL aea128f28d336160cb2b616cd5a6dd479504be612d7b805c6bdcee529530dfb49b9bace254df9bbfceccdaed1086589defc94888b99657709c79299a13aa47e4
+DIST libuv-1.6.1.tar.gz 1027771 SHA256 f558ede285878d6a69f6a6d43b5df0241f3c35d62ac989477bdbd418badd83d7 SHA512 3fe53352de312666c02ee6523bd0da3e8a8fb1704eb8c5016490ad3a2275aa1a529123e00173ea626afc284d9863cf5cb5ef4a114655c55925f46632ca5ad0d3 WHIRLPOOL 0ea59068acdc9c9a86521a5ae61148f182d14f39643b1c6df523e79faa249d5a6ab2bbb964bef6a0aff9bbf67d4119a801848421d0029a8f11d1a698213619a4
diff --git a/dev-libs/libuv/files/01-libuv-0.11.25-tests.patch b/dev-libs/libuv/files/01-libuv-0.11.25-tests.patch
new file mode 100644
index 000000000000..12eabc213f57
--- /dev/null
+++ b/dev-libs/libuv/files/01-libuv-0.11.25-tests.patch
@@ -0,0 +1,84 @@
+From f58b02f2cf068e1bed10bf9f632bad396d907de9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= <saghul@gmail.com>
+Date: Fri, 23 May 2014 09:25:23 +0200
+Subject: [PATCH] unix, windows: fix parsing scoped IPv6 addresses
+
+---
+ src/inet.c | 37 +++++++++++++++++++++----------------
+ 1 file changed, 21 insertions(+), 16 deletions(-)
+
+diff --git a/src/inet.c b/src/inet.c
+index 0eb9438..36457f4 100644
+--- a/src/inet.c
++++ b/src/inet.c
+@@ -17,6 +17,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+
+ #if defined(_MSC_VER) && _MSC_VER < 1600
+ # include "stdint-msvc2008.h"
+@@ -159,11 +160,27 @@ static int inet_ntop6(const unsigned char *src, char *dst, size_t size) {
+
+
+ int uv_inet_pton(int af, const char* src, void* dst) {
++ if (src == NULL || dst == NULL)
++ return UV_EINVAL;
++
+ switch (af) {
+ case AF_INET:
+ return (inet_pton4(src, dst));
+- case AF_INET6:
+- return (inet_pton6(src, dst));
++ case AF_INET6: {
++ int len;
++ char tmp[UV__INET6_ADDRSTRLEN], *s, *p;
++ s = (char*) src;
++ p = strchr(src, '%');
++ if (p != NULL) {
++ s = tmp;
++ len = p - src;
++ if (len > UV__INET6_ADDRSTRLEN-1)
++ len = UV__INET6_ADDRSTRLEN-1;
++ memcpy(s, src, len);
++ s[len] = '\0';
++ }
++ return inet_pton6(s, dst);
++ }
+ default:
+ return UV_EAFNOSUPPORT;
+ }
+@@ -228,7 +245,7 @@ static int inet_pton6(const char *src, unsigned char *dst) {
+ curtok = src;
+ seen_xdigits = 0;
+ val = 0;
+- while ((ch = *src++) != '\0' && ch != '%') {
++ while ((ch = *src++) != '\0') {
+ const char *pch;
+
+ if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
+@@ -259,19 +276,7 @@ static int inet_pton6(const char *src, unsigned char *dst) {
+ continue;
+ }
+ if (ch == '.' && ((tp + sizeof(struct in_addr)) <= endp)) {
+- int err;
+-
+- /* Scope id present, parse ipv4 addr without it */
+- pch = strchr(curtok, '%');
+- if (pch != NULL) {
+- char tmp[sizeof "255.255.255.255"];
+-
+- memcpy(tmp, curtok, pch - curtok);
+- curtok = tmp;
+- src = pch;
+- }
+-
+- err = inet_pton4(curtok, tp);
++ int err = inet_pton4(curtok, tp);
+ if (err == 0) {
+ tp += sizeof(struct in_addr);
+ seen_xdigits = 0;
+--
+1.9.3
+
diff --git a/dev-libs/libuv/files/02-libuv-0.11.25-tests.patch b/dev-libs/libuv/files/02-libuv-0.11.25-tests.patch
new file mode 100644
index 000000000000..d05783c439a2
--- /dev/null
+++ b/dev-libs/libuv/files/02-libuv-0.11.25-tests.patch
@@ -0,0 +1,44 @@
+From 02c2595fdc259fa15b9a927779cbe65f381f4b26 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= <saghul@gmail.com>
+Date: Fri, 23 May 2014 16:36:57 +0200
+Subject: [PATCH] unix, windows: define UV__INET/6_ADDRSTRLEN constants
+
+---
+ src/inet.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/inet.c b/src/inet.c
+index 9220de6..0eb9438 100644
+--- a/src/inet.c
++++ b/src/inet.c
+@@ -27,6 +27,9 @@
+ #include "uv.h"
+ #include "uv-common.h"
+
++#define UV__INET_ADDRSTRLEN 16
++#define UV__INET6_ADDRSTRLEN 46
++
+
+ static int inet_ntop4(const unsigned char *src, char *dst, size_t size);
+ static int inet_ntop6(const unsigned char *src, char *dst, size_t size);
+@@ -49,7 +52,7 @@ int uv_inet_ntop(int af, const void* src, char* dst, size_t size) {
+
+ static int inet_ntop4(const unsigned char *src, char *dst, size_t size) {
+ static const char fmt[] = "%u.%u.%u.%u";
+- char tmp[sizeof "255.255.255.255"];
++ char tmp[UV__INET_ADDRSTRLEN];
+ int l;
+
+ #ifndef _WIN32
+@@ -74,7 +77,7 @@ static int inet_ntop6(const unsigned char *src, char *dst, size_t size) {
+ * Keep this in mind if you think this function should have been coded
+ * to use pointer overlays. All the world's not a VAX.
+ */
+- char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp;
++ char tmp[UV__INET6_ADDRSTRLEN], *tp;
+ struct { int base, len; } best, cur;
+ unsigned int words[sizeof(struct in6_addr) / sizeof(uint16_t)];
+ int i;
+--
+1.9.3
+
diff --git a/dev-libs/libuv/libuv-0.11.25-r1.ebuild b/dev-libs/libuv/libuv-0.11.25-r1.ebuild
new file mode 100644
index 000000000000..e9531fabad57
--- /dev/null
+++ b/dev-libs/libuv/libuv-0.11.25-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools multilib-minimal
+
+DESCRIPTION="A new platform layer for Node"
+HOMEPAGE="https://github.com/libuv/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/11"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ epatch "${FILESDIR}"/0{1,2}-${P}-tests.patch
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ mkdir "${BUILD_DIR}"/test || die
+ cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/libuv-0.11.29.ebuild b/dev-libs/libuv/libuv-0.11.29.ebuild
new file mode 100644
index 000000000000..7481d39de6e5
--- /dev/null
+++ b/dev-libs/libuv/libuv-0.11.29.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools multilib-minimal
+
+DESCRIPTION="A new platform layer for Node"
+HOMEPAGE="https://github.com/libuv/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/11"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ mkdir "${BUILD_DIR}"/test || die
+ cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/libuv-1.1.0.ebuild b/dev-libs/libuv/libuv-1.1.0.ebuild
new file mode 100644
index 000000000000..6bbe6f6370f2
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools multilib-minimal
+
+DESCRIPTION="A new platform layer for Node"
+HOMEPAGE="https://github.com/joyent/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ sed -i \
+ -e '/libuv_la_CFLAGS/s#-g##' \
+ Makefile.am || die "fixing CFLAGS failed!"
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ mkdir "${BUILD_DIR}"/test || die
+ cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/libuv-1.4.2.ebuild b/dev-libs/libuv/libuv-1.4.2.ebuild
new file mode 100644
index 000000000000..a783206dbf2e
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.4.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools multilib-minimal
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="
+ sys-devel/libtool
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ sed -i \
+ -e '/CC_CHECK_CFLAGS_APPEND(\[-g\])/d' \
+ configure.ac || die "fixing CFLAGS failed!"
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ mkdir "${BUILD_DIR}"/test || die
+ cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/libuv-1.5.0.ebuild b/dev-libs/libuv/libuv-1.5.0.ebuild
new file mode 100644
index 000000000000..f1f71e4527eb
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.5.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils multilib multilib-minimal
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="sys-devel/libtool
+ virtual/pkgconfig[${MULTILIB_USEDEP}]"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ cc_cv_cflags__g=no
+ $(use_enable static-libs static)
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_test() {
+ mkdir "${BUILD_DIR}"/test || die
+ cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/libuv-1.6.1.ebuild b/dev-libs/libuv/libuv-1.6.1.ebuild
new file mode 100644
index 000000000000..33f5eaab572e
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.6.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils multilib multilib-minimal
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="sys-devel/libtool
+ virtual/pkgconfig[${MULTILIB_USEDEP}]"
+
+src_prepare() {
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ cc_cv_cflags__g=no
+ $(use_enable static-libs static)
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_test() {
+ mkdir test || die
+ cp -pPR "${S}"/test/fixtures test/fixtures || die
+ default
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/libuv/metadata.xml b/dev-libs/libuv/metadata.xml
new file mode 100644
index 000000000000..fc03810a4dcf
--- /dev/null
+++ b/dev-libs/libuv/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+ <longdescription lang="en">
+ libuv is a platform layer for node.js. Its purpose is to abstract
+ IOCP on Windows and epoll/kqueue/event ports/etc. on Unix systems.
+ We intend to eventually contain all platform differences in this
+ library.
+
+ Features:
+ * Non-blocking TCP sockets
+ * Non-blocking named pipes
+ * UDP
+ * Timers
+ * Child process spawning
+ * Asynchronous DNS via uv_getaddrinfo.
+ * Asynchronous file system APIs uv_fs_*
+ * High resolution time uv_hrtime
+ * Current executable path look up uv_exepath
+ * Thread pool scheduling uv_queue_work
+ * ANSI escape code controlled TTY uv_tty_t
+ * File system events using inotify, kqueue, event ports,
+ FSEvents and ReadDirectoryChangesW
+ * IPC and socket sharing between processes uv_write2
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/libuv/libuv/issues</bugs-to>
+ <remote-id type="github">libuv/libuv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libverto/Manifest b/dev-libs/libverto/Manifest
new file mode 100644
index 000000000000..cc090d326428
--- /dev/null
+++ b/dev-libs/libverto/Manifest
@@ -0,0 +1,2 @@
+DIST libverto-0.2.5.tar.gz 349722 SHA256 b249067e91a98a5a44ff958d77c2e5a45de697d08dfd22800aa760d752d7a6ce SHA512 d57a7f86e714d3fbed391984de3356d8a2769f846985769c1be7d881647c1be95a5fc6a82bba1660ef3241aa1a40150b5e005af6f35dc32473facfdea49c556e WHIRLPOOL af696e8503e2bd8331826bb3c437ab640a83263ab2e9dfaaf63d240c9a8e58803ef0df440ef264add3884d47cb060e60fb2701f1578e845e1c92e74263e7eb89
+DIST libverto-0.2.6.tar.gz 352690 SHA256 17eca6a3855f4884e2e7095e91501767d834b3bf313a6f59a93303f54ac91c9e SHA512 aa8d047501d28741f2f8185fc4a0ef6dc4b99dbe69b583c40cd4c0afc97db4dd0a928d9ec23861fff61651e9ac82e52da9473b8e62ccc11a91e5e5c6b41dfd3b WHIRLPOOL 518eb5390e3e3a6265e9f3fd049755f737d768efca23f3abef5286b512e6576cf6d16d241e1430debfc15fb974df543a3435bc926784d143dad37883bac04914
diff --git a/dev-libs/libverto/libverto-0.2.5-r1.ebuild b/dev-libs/libverto/libverto-0.2.5-r1.ebuild
new file mode 100644
index 000000000000..cd1aecdeb32d
--- /dev/null
+++ b/dev-libs/libverto/libverto-0.2.5-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib-minimal
+
+DESCRIPTION="Main event loop abstraction library"
+HOMEPAGE="https://fedorahosted.org/libverto/"
+SRC_URI="https://fedorahosted.org/releases/l/i/libverto/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd"
+IUSE="glib +libev libevent tevent +threads static-libs"
+
+# file collisions
+DEPEND="!=app-crypt/mit-krb5-1.10.1-r0
+ !=app-crypt/mit-krb5-1.10.1-r1
+ !=app-crypt/mit-krb5-1.10.1-r2
+ glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
+ libev? ( >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] )
+ libevent? ( >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] )
+ tevent? ( >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}] )"
+
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="|| ( glib libev libevent tevent ) "
+
+src_prepare() {
+ # known problem uptream with tevent write test. tevent does not fire a
+ # callback on error, but we explicitly test for this behaviour. Do not run
+ # tevent tests for now.
+ sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_with glib) \
+ $(use_with libev) \
+ $(use_with libevent) \
+ $(use_with tevent) \
+ $(use_with threads pthread) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog NEWS INSTALL README
+ use static-libs || prune_libtool_files --all
+}
diff --git a/dev-libs/libverto/libverto-0.2.5.ebuild b/dev-libs/libverto/libverto-0.2.5.ebuild
new file mode 100644
index 000000000000..92642a9b87a2
--- /dev/null
+++ b/dev-libs/libverto/libverto-0.2.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Main event loop abstraction library"
+HOMEPAGE="https://fedorahosted.org/libverto/"
+SRC_URI="https://fedorahosted.org/releases/l/i/libverto/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd"
+IUSE="glib +libev libevent tevent +threads static-libs"
+
+# file collisions
+DEPEND="!=app-crypt/mit-krb5-1.10.1-r0
+ !=app-crypt/mit-krb5-1.10.1-r1
+ !=app-crypt/mit-krb5-1.10.1-r2
+ glib? ( >=dev-libs/glib-2.29 )
+ libev? ( >=dev-libs/libev-4.11 )
+ libevent? ( >=dev-libs/libevent-2.0 )
+ tevent? ( sys-libs/tevent )"
+
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="|| ( glib libev libevent tevent ) "
+
+src_prepare() {
+ # known problem uptream with tevent write test. tevent does not fire a
+ # callback on error, but we explicitly test for this behaviour. Do not run
+ # tevent tests for now.
+ sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die
+}
+
+src_configure() {
+ econf \
+ $(use_with glib) \
+ $(use_with libev) \
+ $(use_with libevent) \
+ $(use_with tevent) \
+ $(use_with threads pthread) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog NEWS INSTALL README
+
+ use static-libs || find "${D}" -name '*.la' -delete
+}
diff --git a/dev-libs/libverto/libverto-0.2.6.ebuild b/dev-libs/libverto/libverto-0.2.6.ebuild
new file mode 100644
index 000000000000..6f6eff7fba8e
--- /dev/null
+++ b/dev-libs/libverto/libverto-0.2.6.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib-minimal
+
+DESCRIPTION="Main event loop abstraction library"
+HOMEPAGE="https://fedorahosted.org/libverto/"
+SRC_URI="https://fedorahosted.org/releases/l/i/libverto/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd"
+IUSE="glib +libev libevent tevent +threads static-libs"
+
+# file collisions
+DEPEND="!=app-crypt/mit-krb5-1.10.1-r0
+ !=app-crypt/mit-krb5-1.10.1-r1
+ !=app-crypt/mit-krb5-1.10.1-r2
+ glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
+ libev? ( >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] )
+ libevent? ( >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] )
+ tevent? ( >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}] )"
+
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="|| ( glib libev libevent tevent ) "
+
+src_prepare() {
+ # known problem uptream with tevent write test. tevent does not fire a
+ # callback on error, but we explicitly test for this behaviour. Do not run
+ # tevent tests for now.
+ sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_with glib) \
+ $(use_with libev) \
+ $(use_with libevent) \
+ $(use_with tevent) \
+ $(use_with threads pthread) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog NEWS INSTALL README
+ use static-libs || prune_libtool_files --all
+}
diff --git a/dev-libs/libverto/metadata.xml b/dev-libs/libverto/metadata.xml
new file mode 100644
index 000000000000..be9b560036fc
--- /dev/null
+++ b/dev-libs/libverto/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<longdescription lang="en">Many applications and libraries are unable to write asynchronous code because they are unable to pick an event loop. This is particularly true of libraries who want to be useful to many applications who use loops that do not integrate with one another or which use home-grown loops. libverto provides a loop-neutral async api which allows the library to expose asynchronous interfaces and offload the choice of the main loop to the application.</longdescription>
+<maintainer>
+ <email>eras@gentoo.org</email>
+ <name>Eray Aslan</name>
+</maintainer>
+<use>
+ <flag name="glib">Support event loops using <pkg>dev-libs/glib</pkg></flag>
+ <flag name="libev">Support event loops using <pkg>dev-libs/libev</pkg></flag>
+ <flag name="libevent">Support event loops using <pkg>dev-libs/libevent</pkg></flag>
+ <flag name="tevent">Support event loops using <pkg>sys-libs/tevent</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/libvformat/Manifest b/dev-libs/libvformat/Manifest
new file mode 100644
index 000000000000..459b39fae0cb
--- /dev/null
+++ b/dev-libs/libvformat/Manifest
@@ -0,0 +1,3 @@
+DIST libvformat_1.13-10.debian.tar.gz 25884 SHA256 b6bce7be6ff945b99f98061542908a10d1b5fc8c83d1b8a584bb5163da4b9058 SHA512 fd3635a697cf52215a024118dd5e7776829ec2e537a6795121361046588be23f00225fafc50e14e25e94e94659bb16d7830193b159925c63ff2e0644394b3626 WHIRLPOOL a3c77e6970a48e0f190ae05dc85da1038708ae291a5fd236f91878ff6e4bde607809efbb333ff0bd0905badaf2f2f36b547665e29ded123e93ee849d34196c43
+DIST libvformat_1.13-4.diff.gz 361732 SHA256 1593343cfc3f1ab746a1a245caf1562dfceac77c92c9cdbb107ee1eced4c0552 SHA512 96110754385d3b07e196c1f225c7bdfd1487390a5f462457a4835c27306db680b44c964db7d780a8e394e3b3e144727f8485812ba74b69afabfa0f40ed736ded WHIRLPOOL 3ad0d183f89a4c2b33f90007cdd0612d9937373d4614f6d035bf25aa7abc38cfe089948d8db3098b614020a825ab23748005112260b06f0e3af4c612cc0abb7f
+DIST libvformat_1.13.orig.tar.gz 254463 SHA256 7251fda5f90e56ea5d132399010c0b40e7dc55085efaf17ba724037e71f7d966 SHA512 80b47897dd4f5dfa05e78a40de821406a007e330fc82584a0d26e2d1580a5ce52b6af90ecd4c0f7f36eaf00d6a78d9ba3b84ec2b7c7d814ba890a629d7a2c7ba WHIRLPOOL 321da3e974b6ef5dad621531e5674d783b7c84a8e143bc3565fa5157105854e41cb2d3091e080834f793a690c126b26e76e3f5a7255b9602b1d9d8217ca514fb
diff --git a/dev-libs/libvformat/files/libvformat-1.13-has_unistd.patch b/dev-libs/libvformat/files/libvformat-1.13-has_unistd.patch
new file mode 100644
index 000000000000..8788c966ffd0
--- /dev/null
+++ b/dev-libs/libvformat/files/libvformat-1.13-has_unistd.patch
@@ -0,0 +1,13 @@
+--- a/src/vf_reader.c
++++ b/src/vf_reader.c
+@@ -87,8 +87,9 @@
+
+ #include <stdio.h>
+ #include <sys/stat.h>
++#include "config.h"
+
+-#if defined(HAS_UNISTD_H)
++#if defined(HAVE_UNISTD_H)
+ #include <unistd.h>
+ #endif
+
diff --git a/dev-libs/libvformat/files/libvformat-1.13-str.patch b/dev-libs/libvformat/files/libvformat-1.13-str.patch
new file mode 100644
index 000000000000..8c47489842d8
--- /dev/null
+++ b/dev-libs/libvformat/files/libvformat-1.13-str.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,7 +21,7 @@
+ # Checks for library functions.
+ AC_FUNC_MKTIME
+ AC_FUNC_STAT
+-AC_CHECK_FUNCS([atexit memset strstr])
++AC_CHECK_FUNCS([atexit memset strstr strlen strcpy strcmp strcat memcpy])
+
+ AC_OUTPUT([Makefile src/Makefile vformat/Makefile test/Makefile doc/Makefile])
+ #AC_CONFIG_FILES([])
+--- a/src/vf_config.h
++++ b/src/vf_config.h
+@@ -31,6 +31,8 @@
+ *
+ *******************************************************************************/
+
++#include <config.h>
++
+ #ifndef _VF_CONFIG_H_
+ #define _VF_CONFIG_H_
+
diff --git a/dev-libs/libvformat/files/libvformat-nodoc.patch b/dev-libs/libvformat/files/libvformat-nodoc.patch
new file mode 100644
index 000000000000..e9dd55ce25ef
--- /dev/null
+++ b/dev-libs/libvformat/files/libvformat-nodoc.patch
@@ -0,0 +1,8 @@
+--- Makefile.am.orig 2005-08-12 13:36:39.000000000 +0200
++++ Makefile.am 2005-08-12 13:36:57.000000000 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = src vformat test doc
++SUBDIRS = src vformat
+
+ EXTRA_DIST = common/types.h vf_iface.h
+
diff --git a/dev-libs/libvformat/libvformat-1.13-r1.ebuild b/dev-libs/libvformat/libvformat-1.13-r1.ebuild
new file mode 100644
index 000000000000..0f10a8634168
--- /dev/null
+++ b/dev-libs/libvformat/libvformat-1.13-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="Library to read and write vcard files"
+HOMEPAGE="http://sourceforge.net/projects/vformat/"
+SRC_URI="mirror://debian/pool/main/libv/${PN}/${PN}_${PV}.orig.tar.gz
+ mirror://debian/pool/main/libv/${PN}/${PN}_${PV}-4.diff.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${P}.orig"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${DISTDIR}/${PN}_${PV}-4.diff.gz" || die "epatch failed"
+
+ # Patch for not installing documentation, because that needs c2man
+ epatch "${FILESDIR}/${PN}-nodoc.patch" || die "epatch failed"
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+}
diff --git a/dev-libs/libvformat/libvformat-1.13-r2.ebuild b/dev-libs/libvformat/libvformat-1.13-r2.ebuild
new file mode 100644
index 000000000000..e7d4b2de58f5
--- /dev/null
+++ b/dev-libs/libvformat/libvformat-1.13-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools
+
+DESCRIPTION="Library to read and write vcard files"
+HOMEPAGE="http://sourceforge.net/projects/vformat/"
+SRC_URI="
+ mirror://debian/pool/main/libv/${PN}/${PN}_${PV}.orig.tar.gz
+ mirror://debian/pool/main/libv/${PN}/${PN}_${PV}-10.debian.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE="static-libs"
+
+S="${WORKDIR}/${P}.orig"
+
+src_prepare() {
+ epatch \
+ "${WORKDIR}"/debian/patches/*.patch \
+ "${FILESDIR}"/${PN}-nodoc.patch \
+ "${FILESDIR}"/${P}-has_unistd.patch \
+ "${FILESDIR}"/${P}-str.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+}
diff --git a/dev-libs/libvformat/metadata.xml b/dev-libs/libvformat/metadata.xml
new file mode 100644
index 000000000000..4538a68724a6
--- /dev/null
+++ b/dev-libs/libvformat/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libvolume_id/Manifest b/dev-libs/libvolume_id/Manifest
new file mode 100644
index 000000000000..44aeebd137b4
--- /dev/null
+++ b/dev-libs/libvolume_id/Manifest
@@ -0,0 +1,2 @@
+DIST libvolume_id-0.81.0.tar.bz2 23274 SHA256 2f6b685893a15d2d4d578bd41692e3091dcfcf88973a23bb0c6b02b266b8f5b6 SHA512 46f51bd130d1240518c6ffd97dc45017ebf623ea1ca4d5e518c19a040b1537d8a721a40e147277df0a530ac9d2d045dd399c037b08943c4b96e35ad025e94d85 WHIRLPOOL bb707c91885c749b1e42f34f2193f65d2627f92991a291149e474aeba0273463c509b9bba15f19606dd3ef2778d33431dd3d1223298868d8bda84803768a652b
+DIST libvolume_id-0.81.1.tar.bz2 23399 SHA256 45bb18e80b456499d26a5d2f2fc222be990d256590a7cafc4354f7de36013f09 SHA512 a30c08fcdb020e8b7d0e5350d996d7007040d72e3c1caf3244cf7c6e08cc7d5eee9b94edbc04a073519243884be8b27e61c33a3f61c25e7bfb42eb96785d992f WHIRLPOOL d3c7fa7f73871873fd429b8ff68b3109a6f8a50a18f5e197189a22885c8939ea3e2dd5d05d61f78fe8b5813b9f5e7e098ebb76debf6ebdc95fdb528e10b3d4b1
diff --git a/dev-libs/libvolume_id/libvolume_id-0.81.0.ebuild b/dev-libs/libvolume_id/libvolume_id-0.81.0.ebuild
new file mode 100644
index 000000000000..8eaabe3a4e05
--- /dev/null
+++ b/dev-libs/libvolume_id/libvolume_id-0.81.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Library to provide file system information"
+HOMEPAGE="http://www.marcuscom.com"
+SRC_URI="http://www.marcuscom.com/downloads/${PF}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+IUSE="static"
+
+DEPEND=""
+RDEPEND=""
+
+src_compile() {
+ make E="@echo" RANLIB=ranlib AR=ar Q=@
+}
+
+src_install() {
+ dodir /usr/share/pkgconfig
+ insinto /usr/share/pkgconfig
+ doins libvolume_id.pc
+
+ insinto /usr/include
+ doins libvolume_id.h
+
+ insinto /usr
+ dolib libvolume_id.so.0
+ dosym libvolume_id.so.0 /usr/lib/libvolume_id.so
+ use static && dolib libvolume_id.a
+}
diff --git a/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild b/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild
new file mode 100644
index 000000000000..5cbf89adeebd
--- /dev/null
+++ b/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Library to provide file system information"
+HOMEPAGE="http://www.marcuscom.com"
+SRC_URI="http://www.marcuscom.com/downloads/${PF}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+IUSE="static"
+
+DEPEND=""
+RDEPEND=""
+
+src_compile() {
+ make E="@echo" RANLIB=ranlib AR=ar Q=@
+}
+
+src_install() {
+ dodir /usr/share/pkgconfig
+ insinto /usr/share/pkgconfig
+ doins libvolume_id.pc
+
+ insinto /usr/include
+ doins libvolume_id.h
+
+ insinto /usr
+ dolib libvolume_id.so.0
+ dosym libvolume_id.so.0 /usr/lib/libvolume_id.so
+ use static && dolib libvolume_id.a
+}
diff --git a/dev-libs/libvolume_id/metadata.xml b/dev-libs/libvolume_id/metadata.xml
new file mode 100644
index 000000000000..33d86159cefd
--- /dev/null
+++ b/dev-libs/libvolume_id/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>bsd</herd>
+ <longdescription lang="en">
+ Provided file system type information for systems that don't have udev.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libvterm-neovim/Manifest b/dev-libs/libvterm-neovim/Manifest
new file mode 100644
index 000000000000..599632e92656
--- /dev/null
+++ b/dev-libs/libvterm-neovim/Manifest
@@ -0,0 +1,2 @@
+DIST libvterm-neovim-0.0_pre20150309.tar.xz 52244 SHA256 eefd3c2383b4378c4eb15b943e3db309577de760a7d06afe1575be40e2427234 SHA512 916bf1806f6c88b64debb19a119010e6e3ef968e289ab921ebf7a5ed2d98f52881379792bc9c8826bba546da0f65cb6154d9743bb89a614ac4e12d24167a1fb4 WHIRLPOOL d25c7049ee1146e8eb4a445fb5369839ffa934db290aa4706c2e118ad09d4cd199a4562f28a3156f4162b0dcd5ee98a53d7130c0310e022bb3c34db431205888
+DIST libvterm-neovim-0.0_pre20150621.tar.xz 52240 SHA256 473e16f72acc001a19c0ed3b1f66798e2cbcedb5c783ddfb7a7ecf95d8245733 SHA512 e6fe678da5498177d7fbd0cd945600b643f7cd76ff9ed00f3ac7923be55793765429a2f2da5fba4055dfaa4b7200c28a021f3672ce7ae16b99e58738e5093fd8 WHIRLPOOL 0d8131c1b7636df41cb83da7378bcba68f158873f5a7bd692317ee66cc84dc9f693913d2d3e5618643436143aeddd73a2b3db809f4c161fd078493706cf725a0
diff --git a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild
new file mode 100644
index 000000000000..23494da006f7
--- /dev/null
+++ b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="sys-devel/libtool
+ virtual/pkgconfig"
+
+src_compile() {
+ append-cflags -fPIC
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+ prune_libtool_files
+
+ dodoc doc/*
+}
diff --git a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild
new file mode 100644
index 000000000000..23494da006f7
--- /dev/null
+++ b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="sys-devel/libtool
+ virtual/pkgconfig"
+
+src_compile() {
+ append-cflags -fPIC
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+ prune_libtool_files
+
+ dodoc doc/*
+}
diff --git a/dev-libs/libvterm-neovim/metadata.xml b/dev-libs/libvterm-neovim/metadata.xml
new file mode 100644
index 000000000000..71d319114053
--- /dev/null
+++ b/dev-libs/libvterm-neovim/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+</pkgmetadata>
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
new file mode 100644
index 000000000000..42882caf27af
--- /dev/null
+++ b/dev-libs/libwacom/Manifest
@@ -0,0 +1,3 @@
+DIST libwacom-0.11.tar.bz2 424554 SHA256 995f192e53f09444b79b66986227ebbac477520956363dededa19af3d8746284 SHA512 465f1ea9354bcba7d1c5d9fe146192b7ba1593973690718b2584b4786feb434f672556e7eed799761f96a37fe79bd14ae33ab7695d3ce9d5214cf9bc5b26eecc WHIRLPOOL 7f29b09a9bdee0d9cb2f5712414bdbcccf1b2a31a387020de2c1f911411934a3ae61a1d430b40e3402282fbc60e0d184b82c1cd524e43c8417d678f27063f607
+DIST libwacom-0.12.tar.bz2 441360 SHA256 487baeb0b2067fd8ae3871e4a5971684878a35bb5f9c63d6a34fcc7612004d08 SHA512 1dcb7fd8ac9230410f4a582d4150856845a4f4ab545dae331b25efa634161b900c39b6a379174f795b692d2ef6b3887b6e5c175b73c3cfdfc37b182ff0218872 WHIRLPOOL 147dc4f0d834e64e4b2dbd7848abc50a38da7b15bf7e93f76e0a109ae412b4f0cd24053f4694f2703de4d07acdbfb7cc199ebd193e3ab13b2aa9b57498d16a0a
+DIST libwacom-0.13.tar.bz2 439767 SHA256 976b8801007ac96c6512751a0ef6903b482cd361f256965c2884196c88788176 SHA512 8474e4da6d4d44cb4dd2db2c203e9e57c646328b25bb0009e91cc358833f64052a24b6e8f9507d3459014ffebccc4b50c99a0f5d6c97b9b5a19c135a165aeba0 WHIRLPOOL 2c88a953aebed3596f6172a3c76c34516fda410770bb7a815ded02ca657fe3e6cf55fdd4dd5529df9cd9ebb9325886c78228b7cb9dbf970e2858fa5d31ab5c3a
diff --git a/dev-libs/libwacom/libwacom-0.11.ebuild b/dev-libs/libwacom/libwacom-0.11.ebuild
new file mode 100644
index 000000000000..c95fcfd1e9c5
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-0.11.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="http://linuxwacom.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linuxwacom/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
+IUSE="doc static-libs"
+
+RDEPEND="
+ dev-libs/glib:2
+ virtual/libgudev:=
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use doc; then
+ sed -e 's:^\(SUBDIRS = .* \)doc:\1:' -i Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ local udevdir="$(get_udevdir)"
+ dodir "${udevdir}/rules.d"
+ # generate-udev-rules must be run from inside tools directory
+ pushd tools > /dev/null
+ ./generate-udev-rules > "${ED}/${udevdir}/rules.d/65-libwacom.rules" ||
+ die "generating udev rules failed"
+ popd > /dev/null
+ use doc && dohtml -r doc/html/*
+ prune_libtool_files
+}
diff --git a/dev-libs/libwacom/libwacom-0.12.ebuild b/dev-libs/libwacom/libwacom-0.12.ebuild
new file mode 100644
index 000000000000..860cbc28a9b9
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-0.12.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="http://linuxwacom.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linuxwacom/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs"
+
+RDEPEND="
+ dev-libs/glib:2
+ virtual/libgudev:=
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use doc; then
+ sed -e 's:^\(SUBDIRS = .* \)doc:\1:' -i Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ local udevdir="$(get_udevdir)"
+ dodir "${udevdir}/rules.d"
+ # generate-udev-rules must be run from inside tools directory
+ pushd tools > /dev/null
+ ./generate-udev-rules > "${ED}/${udevdir}/rules.d/65-libwacom.rules" ||
+ die "generating udev rules failed"
+ popd > /dev/null
+ use doc && dohtml -r doc/html/*
+ prune_libtool_files
+}
diff --git a/dev-libs/libwacom/libwacom-0.13.ebuild b/dev-libs/libwacom/libwacom-0.13.ebuild
new file mode 100644
index 000000000000..6165dab9e505
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-0.13.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="http://linuxwacom.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linuxwacom/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs"
+
+RDEPEND="
+ dev-libs/glib:2
+ virtual/libgudev:=
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use doc; then
+ sed -e 's:^\(SUBDIRS = .* \)doc:\1:' -i Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ local udevdir="$(get_udevdir)"
+ dodir "${udevdir}/rules.d"
+ # generate-udev-rules must be run from inside tools directory
+ pushd tools > /dev/null
+ ./generate-udev-rules > "${ED}/${udevdir}/rules.d/65-libwacom.rules" || die "generating udev rules failed"
+ popd > /dev/null
+ use doc && dohtml -r doc/html/*
+ prune_libtool_files
+}
diff --git a/dev-libs/libwacom/metadata.xml b/dev-libs/libwacom/metadata.xml
new file mode 100644
index 000000000000..ad51e5e10a70
--- /dev/null
+++ b/dev-libs/libwacom/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">linuxwacom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libwapcaplet/Manifest b/dev-libs/libwapcaplet/Manifest
new file mode 100644
index 000000000000..aedfd384ae11
--- /dev/null
+++ b/dev-libs/libwapcaplet/Manifest
@@ -0,0 +1,4 @@
+DIST libwapcaplet-0.2.1-src.tar.gz 8897 SHA256 9e4a8df3dfe6d7e1bcc4a3ccce18c3d02230545f4726b05b09b9e504946c8ec8 SHA512 793c1b89075e4ce5d6b042455d7bdd0082412788e3202fc16aa4256e35efc449af962b7df64971512cb5728a389785866e39cfa20addc4b496c28a00af630219 WHIRLPOOL 0b0e8c43befa2abc9259c8ecabe618f4bb0e1827e36a73003ed26a2c878ce1836ddd76a1305911fd528fb5bdc9f62568ee2b384eb6c655f58d6d6bf250bee957
+DIST libwapcaplet-0.2.2-src.tar.gz 8902 SHA256 38021992e1e6b3ec50d0d3bf7add069bee4c5b179691afa6a76dd58695201485 SHA512 a3026f6ca73c981ff2fa07b45fab3a75605eaab751570ab08aedb33f38d0e62cf6a8958b3df2b9efe25909706585a25383e428eb83201d903e2ec7b3f57d7c7c WHIRLPOOL f125012da633912e00879554dacf7482f30e4b80f99335c8af0fbc91106aad7ee62d51a787c6db5cc15a5bc16027c310ff9b5f3629ba62bda65352d68c900c4f
+DIST netsurf-buildsystem-1.2.tar.gz 38914 SHA256 3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61 SHA512 963e8a5033e8ef70595507f24fea3d9697eefb50ad7f92a6d3c913501c7026f12ec6d48f92b75e352b32f212f6216b8d8455aff25fa8d8d0fc12a3b19a875a1c WHIRLPOOL e56a520ae284089d0f36f06a6891ebb5b208ca847c74340c18581340e457c20ae9365999dc13284f438b965dcd7e85f04b93d1c1f22cadf6f7c1e2cef81d528c
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
diff --git a/dev-libs/libwapcaplet/files/libwapcaplet-0.2.1-glibc20.patch b/dev-libs/libwapcaplet/files/libwapcaplet-0.2.1-glibc20.patch
new file mode 100644
index 000000000000..0c30a3b33aa6
--- /dev/null
+++ b/dev-libs/libwapcaplet/files/libwapcaplet-0.2.1-glibc20.patch
@@ -0,0 +1,14 @@
+--- libwapcaplet-0.2.1/Makefile
++++ libwapcaplet-0.2.1/Makefile
+@@ -17,10 +17,7 @@
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+ # BeOS/Haiku standard library headers issue warnings
+-ifneq ($(TARGET),beos)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+-endif
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libwapcaplet/files/libwapcaplet-0.2.2-glibc20.patch b/dev-libs/libwapcaplet/files/libwapcaplet-0.2.2-glibc20.patch
new file mode 100644
index 000000000000..546a5bfeafff
--- /dev/null
+++ b/dev-libs/libwapcaplet/files/libwapcaplet-0.2.2-glibc20.patch
@@ -0,0 +1,14 @@
+--- libwapcaplet-0.2.2/Makefile
++++ libwapcaplet-0.2.2/Makefile
+@@ -17,10 +17,7 @@
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+ # BeOS/Haiku standard library headers issue warnings
+-ifneq ($(BUILD),i586-pc-haiku)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+-endif
+-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.2.1-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..79548b650286
--- /dev/null
+++ b/dev-libs/libwapcaplet/libwapcaplet-0.2.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit netsurf
+
+DESCRIPTION="string internment library, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="test"
+
+DEPEND="test? ( >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc20.patch )
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.2.2-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..6d1b78092739
--- /dev/null
+++ b/dev-libs/libwapcaplet/libwapcaplet-0.2.2-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="string internment library, written in C"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k-mint"
+IUSE="test"
+
+DEPEND="test? ( >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc20.patch )
diff --git a/dev-libs/libwapcaplet/metadata.xml b/dev-libs/libwapcaplet/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/libwapcaplet/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/libwbxml/Manifest b/dev-libs/libwbxml/Manifest
new file mode 100644
index 000000000000..5d3284415319
--- /dev/null
+++ b/dev-libs/libwbxml/Manifest
@@ -0,0 +1 @@
+DIST libwbxml-0.11.2.tar.bz2 354176 SHA256 5f642027ece0225d80ef21979a57cf59b1027d46cb8dbd5ff4b87662eec2557d SHA512 1eb01e35b1fab548163caca8ba024216926995adaf2e3bd7a001927858c51a792620eb7e9ca111fc6bdf5af5c1a1cbd3eac3fe53d427cd1a6d9e8aadfc51bf1f WHIRLPOOL 657a8227e9037b3aba0c8a4fa646d95e54dd305e118487d38f4ca11e0e71fdf5d9e9776f59996685ae19d73da0d192adc0b5f3c1ff3509bed8b004e7c8ad4ac8
diff --git a/dev-libs/libwbxml/libwbxml-0.11.2.ebuild b/dev-libs/libwbxml/libwbxml-0.11.2.ebuild
new file mode 100644
index 000000000000..0bdf931ce725
--- /dev/null
+++ b/dev-libs/libwbxml/libwbxml-0.11.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Library and tools to parse, encode and handle WBXML documents"
+HOMEPAGE="http://libwbxml.opensync.org/"
+SRC_URI="mirror://sourceforge/libwbxml/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/expat
+ virtual/libiconv
+"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/check )
+"
+
+DOCS=( AUTHORS BUGS ChangeLog NEWS README References THANKS TODO )
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_INSTALL_DOC=OFF
+ -DENABLE_UNIT_TEST=$(usex test)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libwbxml/metadata.xml b/dev-libs/libwbxml/metadata.xml
new file mode 100644
index 000000000000..ebef0b4630a0
--- /dev/null
+++ b/dev-libs/libwbxml/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libwbxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libx86/Manifest b/dev-libs/libx86/Manifest
new file mode 100644
index 000000000000..5dc206a8adad
--- /dev/null
+++ b/dev-libs/libx86/Manifest
@@ -0,0 +1 @@
+DIST libx86-1.1.tar.gz 87428 SHA256 5bf13104cb327472b5cb65643352a9138646becacc06763088d83001d832d048 SHA512 b946555a45405a06fdf00b3e2522fc99dd7c61349c32726221aa60117a8d3da6da4b44188b1ebb208368e12b396f26055437cebcc8a0e6df10c7a006182c9280 WHIRLPOOL 778dae64fb0a21988debb12ca43ca6eed94fc34ab8d0e012aa30914053f57e6817fc7bbec42f6a85a0be4399263c035f981708036804cb756875143f91fe227c
diff --git a/dev-libs/libx86/files/libx86-0.99-ifmask.patch b/dev-libs/libx86/files/libx86-0.99-ifmask.patch
new file mode 100644
index 000000000000..c99eeb819f72
--- /dev/null
+++ b/dev-libs/libx86/files/libx86-0.99-ifmask.patch
@@ -0,0 +1,21 @@
+--- lrmi.c.orig 2008-09-06 12:24:36.070136428 +0200
++++ lrmi.c 2008-09-06 12:28:10.584287458 +0200
+@@ -55,6 +55,18 @@ OTHER DEALINGS IN THE SOFTWARE.
+ #include "x86-common.h"
+
+ #if defined(__linux__)
++#ifndef TF_MASK
++#define TF_MASK X86_EFLAGS_TF
++#endif
++#ifndef IF_MASK
++#define IF_MASK X86_EFLAGS_IF
++#endif
++#ifndef IOPL_MASK
++#define IOPL_MASK X86_EFLAGS_IOPL
++#endif
++#ifndef VIF_MASK
++#define VIF_MASK X86_EFLAGS_VIF
++#endif
+ #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
+ #elif defined(__NetBSD__) || defined(__FreeBSD__)
+ #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL)
diff --git a/dev-libs/libx86/files/libx86-1.1-makefile.patch b/dev-libs/libx86/files/libx86-1.1-makefile.patch
new file mode 100644
index 000000000000..471c3fbc78fd
--- /dev/null
+++ b/dev-libs/libx86/files/libx86-1.1-makefile.patch
@@ -0,0 +1,28 @@
+--- Makefile.orig 2013-02-11 16:35:56.834368910 +0400
++++ Makefile 2013-02-11 16:36:02.587369368 +0400
+@@ -22,7 +22,7 @@
+ $(AR) cru libx86.a $(OBJECTS)
+
+ shared: $(OBJECTS)
+- $(CC) $(CFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS)
+
+ objclean:
+ $(MAKE) -C x86emu clean
+@@ -31,8 +31,14 @@
+ clean: objclean
+ rm -f *.so.1 *.a
+
+-install: libx86.so.1
++install-shared: libx86.so.1
+ install -D libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so.1
+- install -D libx86.a $(DESTDIR)$(LIBDIR)/libx86.a
+ ln -sf libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so
++
++install-header:
+ install -p -m 0644 -D lrmi.h $(DESTDIR)/usr/include/libx86.h
++
++install-static:
++ install -D libx86.a $(DESTDIR)$(LIBDIR)/libx86.a
++
++install: install-shared install-static install-header
diff --git a/dev-libs/libx86/libx86-1.1-r2.ebuild b/dev-libs/libx86/libx86-1.1-r2.ebuild
new file mode 100644
index 000000000000..665df42add8f
--- /dev/null
+++ b/dev-libs/libx86/libx86-1.1-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
+HOMEPAGE="http://www.codon.org.uk/~mjg59/libx86"
+SRC_URI="http://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_prepare() {
+ # fix compile failure with linux-headers-2.6.26, bug 235599
+ epatch "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ sed -i 's:\($(CC) $(CFLAGS)\)\( -o libx86.so.1\):\1 $(LDFLAGS)\2:' \
+ Makefile || die #236888
+ tc-export CC AR
+}
+
+src_compile() {
+ local ARGS
+ use amd64 && ARGS="BACKEND=x86emu"
+ emake ${ARGS}
+}
+
+src_install() {
+ emake \
+ LIBDIR="/usr/$(get_libdir)" \
+ DESTDIR="${D}" \
+ install
+}
diff --git a/dev-libs/libx86/libx86-1.1-r3.ebuild b/dev-libs/libx86/libx86-1.1-r3.ebuild
new file mode 100644
index 000000000000..26eea6a29a03
--- /dev/null
+++ b/dev-libs/libx86/libx86-1.1-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
+HOMEPAGE="http://www.codon.org.uk/~mjg59/libx86"
+SRC_URI="http://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+src_prepare() {
+ # fix compile failure with linux-headers-2.6.26, bug 235599
+ epatch "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ # Patch for bugs #236888 and #456648
+ epatch "${FILESDIR}"/${P}-makefile.patch
+
+ tc-export CC AR
+}
+
+src_compile() {
+ local ARGS
+ use amd64 && ARGS="BACKEND=x86emu"
+ emake ${ARGS} LIBRARY=shared shared
+ if use static-libs; then
+ emake ${ARGS} objclean
+ emake ${ARGS} LIBRARY=static static
+ fi
+}
+
+src_install() {
+ local install_static;
+ use static-libs && install_static='install-static'
+ emake \
+ LIBDIR="/usr/$(get_libdir)" \
+ DESTDIR="${D}" \
+ install-header install-shared ${install_static}
+}
diff --git a/dev-libs/libx86/metadata.xml b/dev-libs/libx86/metadata.xml
new file mode 100644
index 000000000000..b6b8956cde34
--- /dev/null
+++ b/dev-libs/libx86/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libx86emu/Manifest b/dev-libs/libx86emu/Manifest
new file mode 100644
index 000000000000..4798ff835c1a
--- /dev/null
+++ b/dev-libs/libx86emu/Manifest
@@ -0,0 +1 @@
+DIST libx86emu-1.1-9.8.src.rpm 59517 SHA256 3b4b5e86eeca472c1905f67a714e354f4d72d6a72d243ef12b7c33f54f20ecc3 SHA512 cb44306bb76feb47d46f1f3dd92cc6bf694dcc2c42d191fd9ff9f0b68744aeb25e99b29336e5ffe67e9a3d02c51d56690429b892d7fd26438dcc1d6603e18bcb WHIRLPOOL b09f667ebe4f28dca2aefdd69d8c7df8c0a1f66411a4a2f493dbb6f78d595f829f680047a640c52088b6b4c6515f82a0e6d739d775d66916324ed2d8643671e4
diff --git a/dev-libs/libx86emu/libx86emu-1.1.ebuild b/dev-libs/libx86emu/libx86emu-1.1.ebuild
new file mode 100644
index 000000000000..a122a1fc9371
--- /dev/null
+++ b/dev-libs/libx86emu/libx86emu-1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib rpm toolchain-funcs
+
+DESCRIPTION="A library for emulating x86"
+HOMEPAGE="http://www.opensuse.org/"
+SRC_URI="http://download.opensuse.org/source/factory/repo/oss/suse/src/${P}-9.8.src.rpm"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+src_prepare() {
+ sed -i \
+ -e 's:$(CC) -shared:& $(LDFLAGS):' \
+ Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -fPIC -Wall"
+}
+
+src_test() {
+ ln -sf libx86emu.so.1.1 libx86emu.so || die
+ ln -sf libx86emu.so.1.1 libx86emu.so.1 || die
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} ${LDFLAGS} -Wl,-rpath,${S} -fPIC -Wall -I../include/ -L../" test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc Changelog README
+}
diff --git a/dev-libs/libx86emu/metadata.xml b/dev-libs/libx86emu/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/dev-libs/libx86emu/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libxdg-basedir/Manifest b/dev-libs/libxdg-basedir/Manifest
new file mode 100644
index 000000000000..1db142556d0b
--- /dev/null
+++ b/dev-libs/libxdg-basedir/Manifest
@@ -0,0 +1 @@
+DIST libxdg-basedir-1.2.0.tar.gz 30159 SHA256 1c2b0032a539033313b5be2e48ddd0ae94c84faf21d93956d53562eef4614868 SHA512 8584405d45e0b57e570666b6eab6d99d70411d00f88965826c9ed0292372385668f190157a10ff536f3a5a59fd0031b332ecbb8a38ac64eda1b04a0603997406 WHIRLPOOL f8898e0063d8d9f99eb569a5f1fba81e4143a9c7b8c095f54b13a3960bdd297c57f5b534469166d52c5c7c03fe55bc8f8b246ec3c966f62507b220e8b4ad6d24
diff --git a/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch b/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
new file mode 100644
index 000000000000..4cd601cbde54
--- /dev/null
+++ b/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
@@ -0,0 +1,26 @@
+From 14e000f696ef8b83264b0ca4407669bdb365fb23 Mon Sep 17 00:00:00 2001
+From: Timmy Weerwag <timmy@timmyweerwag.nl>
+Date: Sun, 16 Mar 2014 17:54:14 +0100
+Subject: [PATCH] Overflow bug
+
+Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
+---
+ src/basedir.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basedir.c b/src/basedir.c
+index 68ab879..1a2a8c4 100644
+--- a/src/basedir.c
++++ b/src/basedir.c
+@@ -574,7 +574,7 @@ static char * xdgGetRelativeHome(const char *envname, const char *relativefallba
+ unsigned int homelen;
+ if (!(home = xdgGetEnv("HOME")))
+ return NULL;
+- if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength))) return NULL;
++ if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength+1))) return NULL;
+ memcpy(relhome, home, homelen);
+ memcpy(relhome+homelen, relativefallback, fallbacklength+1);
+ }
+--
+1.8.3.2
+
diff --git a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..35a7019a607c
--- /dev/null
+++ b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Small library to access XDG Base Directories Specification paths"
+HOMEPAGE="http://repo.or.cz/w/libxdg-basedir.git"
+SRC_URI="http://github.com/devnev/${PN}/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x86-solaris"
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-buffer-overflow.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static) \
+ $(use_enable doc doxygen-html)
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ emake doxygen-doc
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use doc; then
+ dohtml -r doc/html/*
+ fi
+
+ find "${D}" -type f -name '*.la' -delete
+}
diff --git a/dev-libs/libxdg-basedir/metadata.xml b/dev-libs/libxdg-basedir/metadata.xml
new file mode 100644
index 000000000000..ff4e8ba8733d
--- /dev/null
+++ b/dev-libs/libxdg-basedir/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">devnev/libxdg-basedir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libxdiff/Manifest b/dev-libs/libxdiff/Manifest
new file mode 100644
index 000000000000..8e350cceaeff
--- /dev/null
+++ b/dev-libs/libxdiff/Manifest
@@ -0,0 +1 @@
+DIST libxdiff-0.23.tar.gz 412088 SHA256 e9af96174e83c02b13d452a4827bdf47cb579eafd580953a8cd2c98900309124 SHA512 b6bae5ee9d21e615d7beeacd9ceefd01eff1830734b1c28a4751a6b0182727afa957e072f7c7dc492d9448e502d1ae52deaaceb0dfce4b32a3c089cbdc3c7e18 WHIRLPOOL 76baae99bb357ce408c51547abb7fc7a14da05b7ac0dfea85cf01665ce934d28094642ab286f03334c70fc7da2c996c93de789345ba4e6affd7f481c368ee95d
diff --git a/dev-libs/libxdiff/libxdiff-0.23-r1.ebuild b/dev-libs/libxdiff/libxdiff-0.23-r1.ebuild
new file mode 100644
index 000000000000..e2000ea20743
--- /dev/null
+++ b/dev-libs/libxdiff/libxdiff-0.23-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="Library for creating diff files"
+HOMEPAGE="http://www.xmailserver.org/xdiff-lib.html"
+SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog
+}
+
+src_prepare() {
+ # test utils require static libs ...
+ sed 's/test//g' -i Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ rm "${D}/usr/$(get_libdir)"/*.la
+}
diff --git a/dev-libs/libxdiff/libxdiff-0.23.ebuild b/dev-libs/libxdiff/libxdiff-0.23.ebuild
new file mode 100644
index 000000000000..d53690053a21
--- /dev/null
+++ b/dev-libs/libxdiff/libxdiff-0.23.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Library for creating diff files"
+HOMEPAGE="http://www.xmailserver.org/xdiff-lib.html"
+SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog
+}
diff --git a/dev-libs/libxdiff/metadata.xml b/dev-libs/libxdiff/metadata.xml
new file mode 100644
index 000000000000..746c6938cae7
--- /dev/null
+++ b/dev-libs/libxdiff/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>olemarkus@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libxls/Manifest b/dev-libs/libxls/Manifest
new file mode 100644
index 000000000000..2c8e1507f88f
--- /dev/null
+++ b/dev-libs/libxls/Manifest
@@ -0,0 +1 @@
+DIST libxls-0.3.0_pre107.tar.bz2 294219 SHA256 134f3c92c26e233fa16f8a6a4eeb7efd148d4594b3772eaca6d8faa96c2cf5f0 SHA512 a9008a01a4a64ff5f968b0413f9cbc618d4e877420c6d125198fdcddf648ac4b52afeb5a21422e67d28175497e8fbddea21b03fe47c1b9452f1d9f24f5e0fc76 WHIRLPOOL 614da39ca6cfcf9b875f236c93d1ed476036d758d366821f0b9353fbac09c411759bf4dab58fe041a09f4bfcff8b8610cfc01afc8837458a7a261def149d9c7a
diff --git a/dev-libs/libxls/libxls-0.3.0_pre107.ebuild b/dev-libs/libxls/libxls-0.3.0_pre107.ebuild
new file mode 100644
index 000000000000..c8ff9281e6f0
--- /dev/null
+++ b/dev-libs/libxls/libxls-0.3.0_pre107.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="A library which can read Excel (xls) files"
+HOMEPAGE="http://libxls.sourceforge.net/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="virtual/libintl
+ !<app-text/catdoc-0.94.2-r2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS TODO
+ dohtml doc/homepage/*.{css,html}
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libxls/metadata.xml b/dev-libs/libxls/metadata.xml
new file mode 100644
index 000000000000..1470e032181b
--- /dev/null
+++ b/dev-libs/libxls/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
new file mode 100644
index 000000000000..bc57e91ed687
--- /dev/null
+++ b/dev-libs/libxml2/Manifest
@@ -0,0 +1,4 @@
+DIST libxml2-2.9.2.tar.gz 5444991 SHA256 5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc SHA512 a4e3b20e2efceed39c20379b32b746d4a1cf65c0cf7719d26c9bf7483c1f04a4e5a442ae2f36dc4ae8a4d011b67cfb58d9f6d0be034fa3e897a49059c9289565 WHIRLPOOL d7a77cb6ad49533cf62f6a759668e297a60dd7f70c9e13b29f682c64dfb25ae46eb9db552500130f40e3f969897bda996001d18236a4630e3713f6dd5acbe686
+DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda
+DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11
+DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d
diff --git a/dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch b/dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch
new file mode 100644
index 000000000000..25ea47832b0e
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch
@@ -0,0 +1,66 @@
+--- catalog.c
++++ catalog.c
+@@ -68,10 +68,10 @@
+ #define XML_URN_PUBID "urn:publicid:"
+ #define XML_CATAL_BREAK ((xmlChar *) -1)
+ #ifndef XML_XML_DEFAULT_CATALOG
+-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
++#define XML_XML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog"
+ #endif
+ #ifndef XML_SGML_DEFAULT_CATALOG
+-#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog"
++#define XML_SGML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/sgml/catalog"
+ #endif
+
+ #if defined(_WIN32) && defined(_MSC_VER)
+@@ -76,7 +76,7 @@
+
+ #if defined(_WIN32) && defined(_MSC_VER)
+ #undef XML_XML_DEFAULT_CATALOG
+-static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
++static char XML_XML_DEFAULT_CATALOG[256] = "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog";
+ #if defined(_WIN32_WCE)
+ /* Windows CE don't have a A variant */
+ #define GetModuleHandleA GetModuleHandle
+--- xmlcatalog.c
++++ xmlcatalog.c
+@@ -43,7 +43,7 @@
+
+
+ #ifndef XML_SGML_DEFAULT_CATALOG
+-#define XML_SGML_DEFAULT_CATALOG "/etc/sgml/catalog"
++#define XML_SGML_DEFAULT_CATALOG "@GENTOO_PORTAGE_EPREFIX@/etc/sgml/catalog"
+ #endif
+
+ /************************************************************************
+--- runtest.c
++++ runtest.c
+@@ -2747,7 +2747,7 @@
+ */
+ static int
+ uripMatch(const char * URI) {
+- if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
++ if ((URI == NULL) || (!strcmp(URI, "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog")))
+ return(0);
+ /* Verify we received the escaped URL */
+ if (strcmp(urip_rcvsURLs[urip_current], URI))
+@@ -2766,7 +2766,7 @@
+ */
+ static void *
+ uripOpen(const char * URI) {
+- if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
++ if ((URI == NULL) || (!strcmp(URI, "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog")))
+ return(NULL);
+ /* Verify we received the escaped URL */
+ if (strcmp(urip_rcvsURLs[urip_current], URI))
+--- xmllint.c
++++ xmllint.c
+@@ -103,7 +103,7 @@
+ #endif
+
+ #ifndef XML_XML_DEFAULT_CATALOG
+-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
++#define XML_XML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog"
+ #endif
+
+ typedef enum {
diff --git a/dev-libs/libxml2/files/libxml2-2.8.0_rc1-winnt.patch b/dev-libs/libxml2/files/libxml2-2.8.0_rc1-winnt.patch
new file mode 100644
index 000000000000..cce3ecb058ae
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.8.0_rc1-winnt.patch
@@ -0,0 +1,91 @@
+From 168e20836fe9614dd2dd4b42006c17a783f11c48 Mon Sep 17 00:00:00 2001
+From: Markus Duft <mduft@gentoo.org>
+Date: Thu, 20 Nov 2008 11:04:33 -0500
+Subject: [PATCH] Fix for ~x86-winnt
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: port to 2.8.0-rc1]
+---
+ dict.c | 2 +-
+ include/wsockcompat.h | 2 +-
+ nanohttp.c | 2 +-
+ xmlIO.c | 4 ++++
+ 4 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/dict.c b/dict.c
+index 3579f64..71e7bc6 100644
+--- a/dict.c
++++ b/dict.c
+@@ -47,7 +47,7 @@
+ #else
+ #ifdef HAVE_INTTYPES_H
+ #include <inttypes.h>
+-#elif defined(WIN32)
++#elif defined(WIN32) || defined (__PARITY__)
+ typedef unsigned __int32 uint32_t;
+ #endif
+ #endif
+diff --git a/include/wsockcompat.h b/include/wsockcompat.h
+index c762a64..1ed822b 100644
+--- a/include/wsockcompat.h
++++ b/include/wsockcompat.h
+@@ -27,7 +27,7 @@
+ #endif
+ #endif
+
+-#if defined( __MINGW32__ ) || defined( _MSC_VER )
++#if defined( __MINGW32__ ) || defined( _MSC_VER ) || defined(__PARITY__)
+ /* Include <errno.h> here to ensure that it doesn't get included later
+ * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */
+ #include <errno.h>
+diff --git a/nanohttp.c b/nanohttp.c
+index 2437fed..dbe97a7 100644
+--- a/nanohttp.c
++++ b/nanohttp.c
+@@ -74,7 +74,7 @@
+ #define XML_SOCKLEN_T unsigned int
+ #endif
+
+-#if defined(__MINGW32__) || defined(_WIN32_WCE)
++#if defined(__MINGW32__) || defined(_WIN32_WCE) || defined(__PARITY__)
+ #ifndef _WINSOCKAPI_
+ #define _WINSOCKAPI_
+ #endif
+diff --git a/xmlIO.c b/xmlIO.c
+index 73a995d..99562f6 100644
+--- a/xmlIO.c
++++ b/xmlIO.c
+@@ -47,6 +47,7 @@
+ #include <winnls.h> /* for CP_UTF8 */
+ #endif
+
++#ifndef __PARITY__
+ /* Figure a portable way to know if a file is a directory. */
+ #ifndef HAVE_STAT
+ # ifdef HAVE__STAT
+@@ -82,6 +83,7 @@
+ # endif
+ # endif
+ #endif
++#endif /* __PARITY__ */
+
+ #include <libxml/xmlmemory.h>
+ #include <libxml/parser.h>
+@@ -657,6 +659,7 @@ xmlWrapStatUtf8(const char *path,struct stat *info)
+ {
+ #ifdef HAVE_STAT
+ int retval = -1;
++#ifndef __PARITY__
+ wchar_t *wPath;
+
+ wPath = __xmlIOWin32UTF8ToWChar(path);
+@@ -665,6 +668,7 @@ xmlWrapStatUtf8(const char *path,struct stat *info)
+ retval = _wstat(wPath,info);
+ xmlFree(wPath);
+ }
++#endif
+ /* maybe path in native encoding */
+ if(retval < 0)
+ retval = stat(path,info);
+--
+1.7.8.6
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-constant-memory.patch b/dev-libs/libxml2/files/libxml2-2.9.2-constant-memory.patch
new file mode 100644
index 000000000000..dc944b6353ea
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-constant-memory.patch
@@ -0,0 +1,176 @@
+From 213f1fe0d76d30eaed6e5853057defc43e6df2c9 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Tue, 14 Apr 2015 17:41:48 +0800
+Subject: [PATCH] CVE-2015-1819 Enforce the reader to run in constant memory
+
+One of the operation on the reader could resolve entities
+leading to the classic expansion issue. Make sure the
+buffer used for xmlreader operation is bounded.
+Introduce a new allocation type for the buffers for this effect.
+---
+ buf.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ include/libxml/tree.h | 3 ++-
+ xmlreader.c | 20 +++++++++++++++++++-
+ 3 files changed, 63 insertions(+), 3 deletions(-)
+
+diff --git a/buf.c b/buf.c
+index 6efc7b6..07922ff 100644
+--- a/buf.c
++++ b/buf.c
+@@ -27,6 +27,7 @@
+ #include <libxml/tree.h>
+ #include <libxml/globals.h>
+ #include <libxml/tree.h>
++#include <libxml/parserInternals.h> /* for XML_MAX_TEXT_LENGTH */
+ #include "buf.h"
+
+ #define WITH_BUFFER_COMPAT
+@@ -299,7 +300,8 @@ xmlBufSetAllocationScheme(xmlBufPtr buf,
+ if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
+ (scheme == XML_BUFFER_ALLOC_EXACT) ||
+ (scheme == XML_BUFFER_ALLOC_HYBRID) ||
+- (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) {
++ (scheme == XML_BUFFER_ALLOC_IMMUTABLE) ||
++ (scheme == XML_BUFFER_ALLOC_BOUNDED)) {
+ buf->alloc = scheme;
+ if (buf->buffer)
+ buf->buffer->alloc = scheme;
+@@ -458,6 +460,18 @@ xmlBufGrowInternal(xmlBufPtr buf, size_t len) {
+ size = buf->use + len + 100;
+ #endif
+
++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
++ /*
++ * Used to provide parsing limits
++ */
++ if ((buf->use + len >= XML_MAX_TEXT_LENGTH) ||
++ (buf->size >= XML_MAX_TEXT_LENGTH)) {
++ xmlBufMemoryError(buf, "buffer error: text too long\n");
++ return(0);
++ }
++ if (size >= XML_MAX_TEXT_LENGTH)
++ size = XML_MAX_TEXT_LENGTH;
++ }
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+@@ -739,6 +753,15 @@ xmlBufResize(xmlBufPtr buf, size_t size)
+ CHECK_COMPAT(buf)
+
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
++ /*
++ * Used to provide parsing limits
++ */
++ if (size >= XML_MAX_TEXT_LENGTH) {
++ xmlBufMemoryError(buf, "buffer error: text too long\n");
++ return(0);
++ }
++ }
+
+ /* Don't resize if we don't have to */
+ if (size < buf->size)
+@@ -867,6 +890,15 @@ xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) {
+
+ needSize = buf->use + len + 2;
+ if (needSize > buf->size){
++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
++ /*
++ * Used to provide parsing limits
++ */
++ if (needSize >= XML_MAX_TEXT_LENGTH) {
++ xmlBufMemoryError(buf, "buffer error: text too long\n");
++ return(-1);
++ }
++ }
+ if (!xmlBufResize(buf, needSize)){
+ xmlBufMemoryError(buf, "growing buffer");
+ return XML_ERR_NO_MEMORY;
+@@ -938,6 +970,15 @@ xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) {
+ }
+ needSize = buf->use + len + 2;
+ if (needSize > buf->size){
++ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
++ /*
++ * Used to provide parsing limits
++ */
++ if (needSize >= XML_MAX_TEXT_LENGTH) {
++ xmlBufMemoryError(buf, "buffer error: text too long\n");
++ return(-1);
++ }
++ }
+ if (!xmlBufResize(buf, needSize)){
+ xmlBufMemoryError(buf, "growing buffer");
+ return XML_ERR_NO_MEMORY;
+diff --git a/include/libxml/tree.h b/include/libxml/tree.h
+index 2f90717..4a9b3bc 100644
+--- a/include/libxml/tree.h
++++ b/include/libxml/tree.h
+@@ -76,7 +76,8 @@ typedef enum {
+ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
+ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
+ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */
+- XML_BUFFER_ALLOC_HYBRID /* exact up to a threshold, and doubleit thereafter */
++ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */
++ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */
+ } xmlBufferAllocationScheme;
+
+ /**
+diff --git a/xmlreader.c b/xmlreader.c
+index f19e123..471e7e2 100644
+--- a/xmlreader.c
++++ b/xmlreader.c
+@@ -2091,6 +2091,9 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
+ "xmlNewTextReader : malloc failed\n");
+ return(NULL);
+ }
++ /* no operation on a reader should require a huge buffer */
++ xmlBufSetAllocationScheme(ret->buffer,
++ XML_BUFFER_ALLOC_BOUNDED);
+ ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
+ if (ret->sax == NULL) {
+ xmlBufFree(ret->buffer);
+@@ -3616,6 +3619,7 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) {
+ return(((xmlNsPtr) node)->href);
+ case XML_ATTRIBUTE_NODE:{
+ xmlAttrPtr attr = (xmlAttrPtr) node;
++ const xmlChar *ret;
+
+ if ((attr->children != NULL) &&
+ (attr->children->type == XML_TEXT_NODE) &&
+@@ -3629,10 +3633,21 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) {
+ "xmlTextReaderSetup : malloc failed\n");
+ return (NULL);
+ }
++ xmlBufSetAllocationScheme(reader->buffer,
++ XML_BUFFER_ALLOC_BOUNDED);
+ } else
+ xmlBufEmpty(reader->buffer);
+ xmlBufGetNodeContent(reader->buffer, node);
+- return(xmlBufContent(reader->buffer));
++ ret = xmlBufContent(reader->buffer);
++ if (ret == NULL) {
++ /* error on the buffer best to reallocate */
++ xmlBufFree(reader->buffer);
++ reader->buffer = xmlBufCreateSize(100);
++ xmlBufSetAllocationScheme(reader->buffer,
++ XML_BUFFER_ALLOC_BOUNDED);
++ ret = BAD_CAST "";
++ }
++ return(ret);
+ }
+ break;
+ }
+@@ -5131,6 +5146,9 @@ xmlTextReaderSetup(xmlTextReaderPtr reader,
+ "xmlTextReaderSetup : malloc failed\n");
+ return (-1);
+ }
++ /* no operation on a reader should require a huge buffer */
++ xmlBufSetAllocationScheme(reader->buffer,
++ XML_BUFFER_ALLOC_BOUNDED);
+ if (reader->sax == NULL)
+ reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
+ if (reader->sax == NULL) {
+--
+2.3.5
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-cross-compile.patch b/dev-libs/libxml2/files/libxml2-2.9.2-cross-compile.patch
new file mode 100644
index 000000000000..447222eeefb7
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-cross-compile.patch
@@ -0,0 +1,17 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=749416
+
+do not use -L$Z_DIR/lib when Z_DIR isn't actually set
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -392,7 +392,9 @@ if test "$with_zlib" = "no"; then
+ else
+ AC_CHECK_HEADERS(zlib.h,
+ [SAVE_LDFLAGS="${LDFLAGS}"
+- LDFLAGS="-L${Z_DIR}/lib"
++ if test "x${Z_DIR}" != "x"; then
++ LDFLAGS="${LDFLAGS} -L${Z_DIR}/lib"
++ fi
+ AC_CHECK_LIB(z, gzread,[
+ AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
+ WITH_ZLIB=1
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-icu-pkgconfig.patch b/dev-libs/libxml2/files/libxml2-2.9.2-icu-pkgconfig.patch
new file mode 100644
index 000000000000..7a84fac53e66
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-icu-pkgconfig.patch
@@ -0,0 +1,26 @@
+diff --git a/configure.in b/configure.in
+index 7374564..13c8d4e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1444,19 +1444,11 @@ XML_LIBTOOLLIBS="libxml2.la"
+ AC_SUBST(WITH_ICONV)
+
+ WITH_ICU=0
+-ICU_LIBS=""
+ if test "$with_icu" != "yes" ; then
+ echo Disabling ICU support
+ else
+- ICU_CONFIG=icu-config
+- if ${ICU_CONFIG} --cflags >/dev/null 2>&1
+- then
+- ICU_LIBS=`${ICU_CONFIG} --ldflags`
+- WITH_ICU=1
+- echo Enabling ICU support
+- else
+- AC_MSG_ERROR([libicu config program icu-config not found])
+- fi
++ PKG_CHECK_MODULES(ICU, icu-i18n)
++ WITH_ICU=1
+ fi
+ AC_SUBST(WITH_ICU)
+ AC_SUBST(ICU_LIBS)
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-missing-entities.patch b/dev-libs/libxml2/files/libxml2-2.9.2-missing-entities.patch
new file mode 100644
index 000000000000..7a10e206ad82
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-missing-entities.patch
@@ -0,0 +1,31 @@
+From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 23 Oct 2014 11:35:36 +0800
+Subject: [PATCH] Fix missing entities after CVE-2014-3660 fix
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=738805
+
+The fix for CVE-2014-3660 introduced a regression in some case
+where entity substitution is required and the entity is used
+first in anotther entity referenced from an attribute value
+---
+ parser.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/parser.c b/parser.c
+index 67c9dfd..a8d1b67 100644
+--- a/parser.c
++++ b/parser.c
+@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
+ * far more secure as the parser will only process data coming from
+ * the document entity by default.
+ */
+- if ((ent->checked == 0) &&
++ if (((ent->checked == 0) ||
++ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
+ ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
+ (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
+ unsigned long oldnbent = ctxt->nbentities;
+--
+2.3.5
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-revert-missing-initialization.patch b/dev-libs/libxml2/files/libxml2-2.9.2-revert-missing-initialization.patch
new file mode 100644
index 000000000000..d98b38211605
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-revert-missing-initialization.patch
@@ -0,0 +1,26 @@
+From f65128f38289d77ff322d63aef2858cc0a819c34 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Fri, 17 Oct 2014 17:13:41 +0800
+Subject: Revert "Missing initialization for the catalog module"
+
+This reverts commit 054c716ea1bf001544127a4ab4f4346d1b9947e7.
+As this break xmlcatalog command
+https://bugzilla.redhat.com/show_bug.cgi?id=1153753
+
+diff --git a/parser.c b/parser.c
+index 1d93967..67c9dfd 100644
+--- a/parser.c
++++ b/parser.c
+@@ -14830,9 +14830,6 @@ xmlInitParser(void) {
+ #ifdef LIBXML_XPATH_ENABLED
+ xmlXPathInit();
+ #endif
+-#ifdef LIBXML_CATALOG_ENABLED
+- xmlInitializeCatalog();
+-#endif
+ xmlParserInitialized = 1;
+ #ifdef LIBXML_THREAD_ENABLED
+ }
+--
+cgit v0.10.1
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-threads-declarations.patch b/dev-libs/libxml2/files/libxml2-2.9.2-threads-declarations.patch
new file mode 100644
index 000000000000..1236f622d6a4
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-threads-declarations.patch
@@ -0,0 +1,48 @@
+From fff8a6b87e05200a0ad0af6f86c2e859c7de9172 Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Mon, 22 Dec 2014 11:12:12 +0800
+Subject: [PATCH] threads: use forward declarations only for glibc
+
+Fixes bug #704908
+
+The declarations of pthread functions, used to generate weak references
+to them, fail to suppress macros. Thus, if any pthread function has
+been provided as a macro, compiling threads.c will fail.
+This breaks on musl libc, which defines pthread_equal as a macro (in
+addition to providing the function, as required).
+
+Prevent the declarations for e.g. musl libc by refining the condition.
+
+The idea for this solution was borrowed from the alpine linux guys, see
+http://git.alpinelinux.org/cgit/aports/tree/main/libxml2/libxml2-pthread.patch
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+---
+ threads.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/threads.c b/threads.c
+index 8921204..78006a2 100644
+--- a/threads.c
++++ b/threads.c
+@@ -47,7 +47,7 @@
+ #ifdef HAVE_PTHREAD_H
+
+ static int libxml_is_threaded = -1;
+-#ifdef __GNUC__
++#if defined(__GNUC__) && defined(__GLIBC__)
+ #ifdef linux
+ #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
+ extern int pthread_once (pthread_once_t *__once_control,
+@@ -89,7 +89,7 @@ extern int pthread_cond_signal ()
+ __attribute((weak));
+ #endif
+ #endif /* linux */
+-#endif /* __GNUC__ */
++#endif /* defined(__GNUC__) && defined(__GLIBC__) */
+ #endif /* HAVE_PTHREAD_H */
+
+ /*
+--
+2.3.5
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-timsort.patch b/dev-libs/libxml2/files/libxml2-2.9.2-timsort.patch
new file mode 100644
index 000000000000..c179d47ef2db
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.2-timsort.patch
@@ -0,0 +1,128 @@
+From 9b987f8c98763ee569bde90b5268b43474ca106c Mon Sep 17 00:00:00 2001
+From: Christopher Swenson <chris@caswenson.com>
+Date: Fri, 27 Feb 2015 14:55:49 +0800
+Subject: [PATCH] Fix timsort invariant loop re: Envisage article
+
+See http://envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/
+
+We use a "runLen" array of size 128, so it should be nearly impossible
+to have our implementation overflow.
+
+But in any case, the fix is relatively simple -- checking two extra
+conditions in the invariant calculation.
+
+I also took this opportunity to remove some redundancy in the
+left/right merge logic in the invariant loop.
+---
+ timsort.h | 74 +++++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 39 insertions(+), 35 deletions(-)
+
+diff --git a/timsort.h b/timsort.h
+index efa3aab..795f272 100644
+--- a/timsort.h
++++ b/timsort.h
+@@ -392,62 +392,66 @@ static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const in
+
+ static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, TEMP_STORAGE_T *store, const size_t size)
+ {
+- while (1)
+- {
+- int64_t A, B, C;
++ while (1) {
++ int64_t A, B, C, D;
++ int ABC, BCD, BD, CD;
++
+ /* if the stack only has one thing on it, we are done with the collapse */
+- if (stack_curr <= 1) break;
++ if (stack_curr <= 1) {
++ break;
++ }
++
+ /* if this is the last merge, just do it */
+- if ((stack_curr == 2) &&
+- (stack[0].length + stack[1].length == (int64_t) size))
+- {
++ if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) {
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[0].length += stack[1].length;
+ stack_curr--;
+ break;
+ }
+ /* check if the invariant is off for a stack of 2 elements */
+- else if ((stack_curr == 2) && (stack[0].length <= stack[1].length))
+- {
++ else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) {
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[0].length += stack[1].length;
+ stack_curr--;
+ break;
+- }
+- else if (stack_curr == 2)
++ } else if (stack_curr == 2) {
+ break;
++ }
+
+- A = stack[stack_curr - 3].length;
+- B = stack[stack_curr - 2].length;
+- C = stack[stack_curr - 1].length;
++ B = stack[stack_curr - 3].length;
++ C = stack[stack_curr - 2].length;
++ D = stack[stack_curr - 1].length;
+
+- /* check first invariant */
+- if (A <= B + C)
+- {
+- if (A < C)
+- {
+- TIM_SORT_MERGE(dst, stack, stack_curr - 1, store);
+- stack[stack_curr - 3].length += stack[stack_curr - 2].length;
+- stack[stack_curr - 2] = stack[stack_curr - 1];
+- stack_curr--;
+- }
+- else
+- {
+- TIM_SORT_MERGE(dst, stack, stack_curr, store);
+- stack[stack_curr - 2].length += stack[stack_curr - 1].length;
+- stack_curr--;
+- }
++ if (stack_curr >= 4) {
++ A = stack[stack_curr - 4].length;
++ ABC = (A <= B + C);
++ } else {
++ ABC = 0;
+ }
+- /* check second invariant */
+- else if (B <= C)
+- {
++
++ BCD = (B <= C + D) || ABC;
++ CD = (C <= D);
++ BD = (B < D);
++
++ /* Both invariants are good */
++ if (!BCD && !CD) {
++ break;
++ }
++
++ /* left merge */
++ if (BCD && !CD) {
++ TIM_SORT_MERGE(dst, stack, stack_curr - 1, store);
++ stack[stack_curr - 3].length += stack[stack_curr - 2].length;
++ stack[stack_curr - 2] = stack[stack_curr - 1];
++ stack_curr--;
++ } else {
++ /* right merge */
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[stack_curr - 2].length += stack[stack_curr - 1].length;
+ stack_curr--;
+ }
+- else
+- break;
+ }
++
+ return stack_curr;
+ }
+
+--
+2.3.5
+
diff --git a/dev-libs/libxml2/libxml2-2.9.2-r1.ebuild b/dev-libs/libxml2/libxml2-2.9.2-r1.ebuild
new file mode 100644
index 000000000000..2cfe948e2515
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.9.2-r1.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="xml"
+
+inherit libtool flag-o-matic eutils python-r1 autotools prefix multilib-minimal
+
+DESCRIPTION="Version 2 of the library to manipulate XML files"
+HOMEPAGE="http://www.xmlsoft.org/"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="debug examples icu ipv6 lzma python readline static-libs test"
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20080827.tar.gz"
+
+SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
+
+COMMON_DEPEND="
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+RDEPEND="${COMMON_DEPEND}
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r6
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig
+ hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
+"
+
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ # ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${P/_rc/-rc}.tar.gz
+ cd "${S}"
+
+ if use test; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
+
+ # Patches needed for prefix support
+ epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
+ epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
+
+ eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
+
+# epunt_cxx # if we don't eautoreconf
+
+ epatch "${FILESDIR}"/${PN}-2.9.2-cross-compile.patch
+
+ # Important patches from master
+ epatch \
+ "${FILESDIR}/${PN}-2.9.2-revert-missing-initialization.patch" \
+ "${FILESDIR}/${PN}-2.9.2-missing-entities.patch" \
+ "${FILESDIR}/${PN}-2.9.2-threads-declarations.patch" \
+ "${FILESDIR}/${PN}-2.9.2-timsort.patch" \
+ "${FILESDIR}/${PN}-2.9.2-constant-memory.patch"
+
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ # We now need to run eautoreconf at the end to prevent maintainer mode.
+# elibtoolize
+
+ # Use pkgconfig to find icu to properly support multilib, upstream bug #738751
+ epatch "${FILESDIR}/${PN}-2.9.2-icu-pkgconfig.patch"
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # filter seemingly problematic CFLAGS (#26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # USE zlib support breaks gnome2
+ # (libgnomeprint for instance fails to compile with
+ # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
+
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+
+ # --with-mem-debug causes unusual segmentation faults (bug #105120).
+
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-html-subdir=${PF}/html \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable ipv6) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ libxml2_py_configure() {
+ mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+ run_in_build_dir libxml2_configure "--with-python=${PYTHON}" # odd build system
+ }
+
+ libxml2_configure --without-python # build python bindings separately
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl libxml2_py_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+ if multilib_is_native_abi && use python; then
+ local native_builddir=${BUILD_DIR}
+ python_foreach_impl libxml2_py_emake top_builddir="${native_builddir}" all
+ fi
+}
+
+multilib_src_test() {
+ default
+ multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" \
+ EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl libxml2_py_emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ # on windows, xmllint is installed by interix libxml2 in parent prefix.
+ # this is the version to use. the native winnt version does not support
+ # symlinks, which makes repoman fail if the portage tree is linked in
+ # from another location (which is my default). -- mduft
+ if [[ ${CHOST} == *-winnt* ]]; then
+ rm -rf "${ED}"/usr/bin/xmllint
+ rm -rf "${ED}"/usr/bin/xmlcatalog
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${P}
+ einstalldocs
+
+ if ! use python; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/python
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
+ fi
+
+ if ! use examples; then
+ rm -rf "${ED}/usr/share/doc/${PF}/examples"
+ rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
+ fi
+
+ prune_libtool_files --modules
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ "${ROOT}" != "/" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}etc/xml/catalog"
+
+ # we dont want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e ${CATALOG} ]]; then
+ [[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake "$@"
+ popd > /dev/null
+}
diff --git a/dev-libs/libxml2/metadata.xml b/dev-libs/libxml2/metadata.xml
new file mode 100644
index 000000000000..1c0594f6dd9d
--- /dev/null
+++ b/dev-libs/libxml2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<upstream>
+ <remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-libs/libxr/Manifest b/dev-libs/libxr/Manifest
new file mode 100644
index 000000000000..e9e135c2c82e
--- /dev/null
+++ b/dev-libs/libxr/Manifest
@@ -0,0 +1 @@
+DIST libxr-1.0.tar.bz2 326812 SHA256 be3133346e6e616706f4c91523e62e9093e8af59b40376671b95ae0f117e1ad2 SHA512 672ab5653c4bb59afce366b8822967c0b5802b55fa8bb681fe2786650540e22ab269ce5ca60efb9cede589c3b25475978b98501f5bc555cd2e580f8ae0f9ced2 WHIRLPOOL c3ca38195ef22e52dcf4d498e7c8866c9983bc871598143386f852f4278f305341bfddff020f3ea2a9c08063426d164a38b798bef9fcad728fb14efa3989bc33
diff --git a/dev-libs/libxr/libxr-1.0.ebuild b/dev-libs/libxr/libxr-1.0.ebuild
new file mode 100644
index 000000000000..8aedc0319e16
--- /dev/null
+++ b/dev-libs/libxr/libxr-1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Cross-platform XML-RPC client/server library written in C"
+HOMEPAGE="http://oss.zonio.net/libxr.htm"
+SRC_URI="http://oss.zonio.net/releases/libxr/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+# IUSE="json"
+
+RDEPEND=">=dev-libs/glib-2.12
+ >=dev-libs/libxml2-2.6.20
+ dev-libs/openssl"
+# json? ( >=dev-libs/json-c-0.3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-util/re2c"
+
+src_compile() {
+ econf --without-json || die
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="$D" install || die
+}
diff --git a/dev-libs/libxr/metadata.xml b/dev-libs/libxr/metadata.xml
new file mode 100644
index 000000000000..6eb35690d41d
--- /dev/null
+++ b/dev-libs/libxr/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>lu_zero@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
new file mode 100644
index 000000000000..4e33ea3b1028
--- /dev/null
+++ b/dev-libs/libxslt/Manifest
@@ -0,0 +1 @@
+DIST libxslt-1.1.28.tar.gz 3435907 SHA256 5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c SHA512 20b65bdaceaac5bd11d509bf683ce8e344030bc95164639266ae705d41659bcba47b5be1b059d0d67681e6428b0710db675d1749c06aa531bc2212ed3d0511b1 WHIRLPOOL 7f059d7d6b02fc5982c31d3239188ff0a6d211f722635ac3d3cd77bedf54ef9b1a9433ef1c55a9335f353ce618f3dd93a9e1e19c117988358ab31857edff1843
diff --git a/dev-libs/libxslt/files/libxslt-1.1.26-disable_static_modules.patch b/dev-libs/libxslt/files/libxslt-1.1.26-disable_static_modules.patch
new file mode 100644
index 000000000000..fad067ff4348
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.26-disable_static_modules.patch
@@ -0,0 +1,12 @@
+--- python/Makefile.am
++++ python/Makefile.am
+@@ -24,7 +24,8 @@
+ libxslt-python-api.xml \
+ $(DOCS)
+
+-libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
++libxsltmod_la_CPPFLAGS = -shared
++libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version -shared
+
+ if WITH_PYTHON
+ mylibs = \
diff --git a/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch b/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch
new file mode 100644
index 000000000000..352a75352092
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch
@@ -0,0 +1,26 @@
+From 4514fed897ab0911097e54715e7936048bf43dd9 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 22 Sep 2012 16:37:36 -0400
+Subject: [PATCH] Gentoo uses /usr/bin/python-config with automatic version
+ detection
+
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 0d7ba86..3c8a5ad 100644
+--- a/configure.in
++++ b/configure.in
+@@ -353,7 +353,7 @@ except: print 0"`
+ PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
+ fi
+ fi
+- PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
++ PYTHON_LIBS=`python-config --libs`
+ fi
+ if test "$with_python" != ""
+ then
+--
+1.7.12
+
diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch b/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch
new file mode 100644
index 000000000000..bc9ff7fe3594
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch
@@ -0,0 +1,46 @@
+From 1fc82ea63f16efc0d607b39a162e3032d7c2d602 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 3 Sep 2014 11:21:01 +0200
+Subject: [PATCH] Use AC_PATH_TOOL to find libgcrypt-config and xml2-config
+
+Using AC_PATH_TOOL prefers ${CHOST}-prefixed tools over 'bare' ones,
+therefore improving support for cross-compilation and multilib. This
+is useful for environment where libgcrypt-config and xml2-config
+correspond to the build host environment, while
+${CHOST}-libgcrypt-config and ${CHOST}-xml2-config are installed for
+each supported build targets.
+
+Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=725635
+Fixes: https://bugs.gentoo.org/show_bug.cgi?id=518728
+---
+ configure.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index a861e90..f1639a8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -393,7 +393,7 @@ case $host in
+ CRYPTO_TESTDIR=crypto
+ ;;
+ *)
+- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
++ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
+ if test "$LIBGCRYPT_CONFIG" != "no" ; then
+ LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
+ if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
+@@ -507,9 +507,9 @@ AC_SUBST(LIBXML_REQUIRED_VERSION)
+ AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION)
+ if test "x$LIBXML_CONFIG_PREFIX" != "x"
+ then
+- XML_CONFIG=${LIBXML_CONFIG_PREFIX}/bin/xml2-config
++ AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
+ else
+- XML_CONFIG=xml2-config
++ AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
+ fi
+
+ dnl
+--
+2.1.0
+
diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch b/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch
new file mode 100644
index 000000000000..74ee935e4d8d
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch
@@ -0,0 +1,30 @@
+From 4eeed7de3fa90e27658c48cb06f034da43b4f057 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 4 Mar 2014 00:10:37 -0500
+Subject: [PATCH] configure: use AC_PATH_TOOL to find libgcrypt-config
+
+Since libgcrypt-config is used to find host system libraries, we should
+be using AC_PATH_TOOL, not AC_PATH_PROG, for proper cross-compiling and
+multilib support.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=725635
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index a861e90..8328625 100644
+--- a/configure.in
++++ b/configure.in
+@@ -393,7 +393,7 @@ case $host in
+ CRYPTO_TESTDIR=crypto
+ ;;
+ *)
+- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
++ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
+ if test "$LIBGCRYPT_CONFIG" != "no" ; then
+ LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
+ if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
+--
+1.9.0
+
diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch b/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch
new file mode 100644
index 000000000000..019f3253d876
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch
@@ -0,0 +1,36 @@
+From 1671e1004e18fa9bbce410050d1365374ececb6a Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 18 Dec 2012 02:22:47 -0500
+Subject: [PATCH] build/test/install python bindings manually
+
+To support building for multiple python ABIs, we want to skip checks for
+python in configure, and build/test/install python bindings manually.
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index fc8d5a8..6312c37 100644
+--- a/configure.in
++++ b/configure.in
+@@ -296,7 +296,7 @@ PYTHON_INCLUDES=
+ PYTHON_SITE_PACKAGES=
+ pythondir=
+ AC_ARG_WITH(python, [ --with-python[=DIR] Build Python bindings if found])
+-if test "$with_python" != "no" ; then
++if false ; then
+ if test -x "$with_python/bin/python"
+ then
+ echo Found python in $with_python/bin/python
+@@ -365,7 +365,7 @@ except: print 0"`
+ pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+ fi
+ fi
+-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
++AM_CONDITIONAL(WITH_PYTHON, test "$with_python" != "no")
+ if test "$PYTHON_INCLUDES" != ""
+ then
+ PYTHON_SUBDIR=python
+--
+1.8.0.2
+
diff --git a/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch b/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch
new file mode 100644
index 000000000000..d6aaae4e9df0
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch
@@ -0,0 +1,38 @@
+diff -ur libxslt-1.1.26.orig/libxslt.m4 libxslt-1.1.26/libxslt.m4
+--- libxslt-1.1.26.orig/libxslt.m4 2009-05-12 09:29:34.000000000 +0300
++++ libxslt-1.1.26/libxslt.m4 2009-10-07 17:03:04.000000000 +0300
+@@ -52,8 +52,10 @@
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_xslttest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
++ ac_save_CXXFLAGS="$CXXFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $XSLT_CFLAGS"
++ CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
+ LIBS="$XSLT_LIBS $LIBS"
+ dnl
+ dnl Now check if the installed libxslt is sufficiently new.
+@@ -138,6 +140,7 @@
+ }
+ ],, no_xslt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
++ CXXFLAGS="$ac_save_CXXFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+@@ -158,6 +161,7 @@
+ else
+ echo "*** Could not run libxslt test program, checking why..."
+ CFLAGS="$CFLAGS $XSLT_CFLAGS"
++ CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
+ LIBS="$LIBS $XSLT_LIBS"
+ AC_TRY_LINK([
+ #include <libxslt/xslt.h>
+@@ -177,6 +181,7 @@
+ echo "*** or that you have moved LIBXSLT since it was installed. In the latter case, you"
+ echo "*** may want to edit the xslt-config script: $XSLT_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
++ CXXFLAGS="$ac_save_CXXFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
diff --git a/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild
new file mode 100644
index 000000000000..96c5d02b101f
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="crypt debug python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libxml2-2.8.0:2
+ crypt? ( >=dev-libs/libgcrypt-1.1.42:0= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=684621
+ epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+ epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
+
+ # Python bindings are built/tested/installed manually.
+ epatch "${FILESDIR}"/${PN}-1.1.28-manual-python.patch
+
+ eautoreconf
+ # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+ # and it is propably otherwise too if upstream generated with new
+ # autoconf
+# epunt_cxx
+}
+
+src_configure() {
+ # libgcrypt is missing pkg-config file, so fixing cross-compile
+ # here. see bug 267503.
+ tc-is-cross-compiler && \
+ export LIBGCRYPT_CONFIG="${SYSROOT}"/usr/bin/libgcrypt-config
+
+ econf \
+ $(use_enable static-libs static) \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-html-subdir=html \
+ $(use_with crypt crypto) \
+ $(use_with python) \
+ $(use_with debug) \
+ $(use_with debug mem-debug)
+}
+
+src_compile() {
+ default
+ if use python; then
+ python_copy_sources
+ python_foreach_impl libxslt_py_emake
+ fi
+}
+
+src_test() {
+ default
+ use python && python_foreach_impl libxslt_py_emake test
+}
+
+src_install() {
+ default
+ dodoc FEATURES
+
+ if use python; then
+ python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
+ fi
+
+ prune_libtool_files --modules
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake \
+ PYTHON="${PYTHON}" \
+ PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
+ PYTHON_LIBS="$(python-config --ldflags)" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)" \
+ PYTHON_VERSION=${EPYTHON/python} "$@"
+ popd > /dev/null
+}
diff --git a/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild
new file mode 100644
index 000000000000..0701648aadef
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="crypt debug python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r20
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=684621
+ epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+ epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
+
+ # use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
+ # https://bugzilla.gnome.org/show_bug.cgi?id=725635
+ epatch "${FILESDIR}"/${PN}-1.1.28-libgcrypt-config.patch
+
+ # Python bindings are built/tested/installed manually.
+ epatch "${FILESDIR}"/${PN}-1.1.28-manual-python.patch
+
+ eautoreconf
+ # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+ # and it is propably otherwise too if upstream generated with new
+ # autoconf
+# epunt_cxx
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} econf \
+ $(use_enable static-libs static) \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-html-subdir=html \
+ $(use_with crypt crypto) \
+ $(multilib_is_native_abi && use_with python || echo --without-python) \
+ $(use_with debug) \
+ $(use_with debug mem-debug)
+}
+
+multilib_src_compile() {
+ default
+ if use python && multilib_is_native_abi; then
+ python_copy_sources
+ python_foreach_impl libxslt_py_emake
+ fi
+}
+
+multilib_src_test() {
+ default
+ use python && multilib_is_native_abi && python_foreach_impl libxslt_py_emake test
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if use python && multilib_is_native_abi; then
+ python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
+ fi
+
+ prune_libtool_files --modules
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake \
+ PYTHON="${PYTHON}" \
+ PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
+ PYTHON_LIBS="$(python-config --ldflags)" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)" \
+ PYTHON_VERSION=${EPYTHON/python} "$@"
+ popd > /dev/null
+}
diff --git a/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild
new file mode 100644
index 000000000000..aff69fa75fbb
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt debug python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r20
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=684621
+ epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+ epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
+
+ # use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
+ # https://bugzilla.gnome.org/show_bug.cgi?id=725635
+ epatch "${FILESDIR}"/${PN}-1.1.28-libgcrypt-config.patch
+
+ eautoreconf
+ # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+ # and it is propably otherwise too if upstream generated with new
+ # autoconf
+# epunt_cxx
+ # But Prefix always needs elibtoolize if not eautoreconf'd.
+# elibtoolize
+}
+
+multilib_src_configure() {
+ libxslt_configure() {
+ ECONF_SOURCE=${S} econf \
+ $(use_enable static-libs static) \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-html-subdir=html \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_with debug mem-debug) \
+ "$@"
+ }
+
+ libxslt_py_configure() {
+ mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+ run_in_build_dir libxslt_configure "--with-python=${PYTHON}" # odd build system
+ }
+
+ libxslt_configure --without-python # build python bindings separately
+
+ if multilib_is_native_abi && use python; then
+ python_parallel_foreach_impl libxslt_py_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ libxslt_foreach_py_emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
+ fi
+
+ prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+ libxslt_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake "$@"
+ popd > /dev/null
+ }
+ local native_builddir=${BUILD_DIR}
+ python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}
diff --git a/dev-libs/libxslt/libxslt-1.1.28-r4.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r4.ebuild
new file mode 100644
index 000000000000..a2af700a8b8a
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.28-r4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt debug python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r20
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xslt-config
+)
+
+src_prepare() {
+ DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=684621
+ epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+ epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
+
+ # use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
+ # https://bugzilla.gnome.org/show_bug.cgi?id=725635
+ # same for xml2-config
+ # https://bugs.gentoo.org/show_bug.cgi?id=518728
+ epatch "${FILESDIR}"/${PN}-1.1.28-AC_PATH_TOOL.patch
+
+ eautoreconf
+ # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+ # and it is propably otherwise too if upstream generated with new
+ # autoconf
+# epunt_cxx
+ # But Prefix always needs elibtoolize if not eautoreconf'd.
+# elibtoolize
+}
+
+multilib_src_configure() {
+ libxslt_configure() {
+ ECONF_SOURCE=${S} econf \
+ $(use_enable static-libs static) \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-html-subdir=html \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_with debug mem-debug) \
+ "$@"
+ }
+
+ libxslt_py_configure() {
+ mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+ run_in_build_dir libxslt_configure "--with-python=${PYTHON}" # odd build system
+ }
+
+ libxslt_configure --without-python # build python bindings separately
+
+ if multilib_is_native_abi && use python; then
+ python_parallel_foreach_impl libxslt_py_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ libxslt_foreach_py_emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
+ fi
+
+ prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+ libxslt_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake "$@"
+ popd > /dev/null
+ }
+ local native_builddir=${BUILD_DIR}
+ python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}
diff --git a/dev-libs/libxslt/metadata.xml b/dev-libs/libxslt/metadata.xml
new file mode 100644
index 000000000000..6e0e2ecb48ca
--- /dev/null
+++ b/dev-libs/libxslt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/libyaml/Manifest b/dev-libs/libyaml/Manifest
new file mode 100644
index 000000000000..18724ada0a46
--- /dev/null
+++ b/dev-libs/libyaml/Manifest
@@ -0,0 +1 @@
+DIST yaml-0.1.6.tar.gz 503012 SHA256 7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749 SHA512 eef1f26fec0a305836b8c6a65def4e2864fe2415618e7490717d4e42f0fc51048727ab0e7e4a6c3a2783ae762fddd6b78091a76a6cd3a2710ae18e3dfb27cd44 WHIRLPOOL b3dc733ae79c2798ad80390fee90648ab65b32b9550d6b3d336138e3d664ee6fa50f71594747e49c7e0b9b72600cb4dd22aaac62970bbf50ae343be4a8c956ca
diff --git a/dev-libs/libyaml/libyaml-0.1.6.ebuild b/dev-libs/libyaml/libyaml-0.1.6.ebuild
new file mode 100644
index 000000000000..8be20ac08bdb
--- /dev/null
+++ b/dev-libs/libyaml/libyaml-0.1.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils libtool
+
+MY_P="${P/lib}"
+
+DESCRIPTION="YAML 1.1 parser and emitter written in C"
+HOMEPAGE="http://pyyaml.org/wiki/LibYAML"
+SRC_URI="http://pyyaml.org/download/${PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test static-libs"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="README"
+
+src_prepare() {
+ # conditionally remove tests
+ if ! use test; then
+ sed -i -e 's: tests::g' Makefile* || die
+ fi
+ elibtoolize # for FreeMiNT
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml -r doc/html/.
+ if use examples ; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}/examples
+ doins tests/example-*.c
+ fi
+}
diff --git a/dev-libs/libyaml/metadata.xml b/dev-libs/libyaml/metadata.xml
new file mode 100644
index 000000000000..4e98176ca8f3
--- /dev/null
+++ b/dev-libs/libyaml/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <longdescription lang="en">
+ LibYAML is a YAML 1.1 parser and emitter written in C.
+ It's in an early stage of development.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/libzeitgeist/Manifest b/dev-libs/libzeitgeist/Manifest
new file mode 100644
index 000000000000..c73bc5cb677d
--- /dev/null
+++ b/dev-libs/libzeitgeist/Manifest
@@ -0,0 +1 @@
+DIST libzeitgeist-0.3.18.tar.gz 527117 SHA256 82c128d97a68600518b8e3e65ef4d5b123c57f3d5dfa977c7ff733c0fdf80f73 SHA512 6ad3f0ed74935c20ce23d80208c5a787e4db2e2d58ae5036c6681c3d531e20cc0981be961d66a408a7e1b03909af0212693feddc515240d724acbd5ac5c8cf6e WHIRLPOOL 4adc7250416b46c71985faead414058d9bb274c95568a451a77aebf8d2a492b24cc0bcbc153282a7f0b9825822689e517843aaedf8f1f008ad9baacd0cd0c8de
diff --git a/dev-libs/libzeitgeist/libzeitgeist-0.3.18.ebuild b/dev-libs/libzeitgeist/libzeitgeist-0.3.18.ebuild
new file mode 100644
index 000000000000..43f1561abc2b
--- /dev/null
+++ b/dev-libs/libzeitgeist/libzeitgeist-0.3.18.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils eutils versionator
+
+MY_PV=$(get_version_component_range 1-2)
+
+DESCRIPTION="Client library to interact with zeitgeist"
+HOMEPAGE="http://launchpad.net/libzeitgeist/"
+SRC_URI="http://launchpad.net/libzeitgeist/${MY_PV}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
+IUSE="static-libs"
+
+CDEPEND="dev-libs/glib:2"
+RDEPEND="${CDEPEND}
+ gnome-extra/zeitgeist"
+DEPEND="${CDEPEND}
+ dev-util/gtk-doc
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed \
+ -e "s:doc/libzeitgeist:doc/${PF}:" \
+ -i Makefile.am || die
+ # FIXME: This is the unique test failing
+ sed \
+ -e '/TEST_PROGS += test-log/d' \
+ -i tests/Makefile.am || die
+
+ sed \
+ -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:g' \
+ -i configure.ac || die
+
+ autotools-utils_src_prepare
+}
diff --git a/dev-libs/libzeitgeist/metadata.xml b/dev-libs/libzeitgeist/metadata.xml
new file mode 100644
index 000000000000..51a3e925913f
--- /dev/null
+++ b/dev-libs/libzeitgeist/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>desktop-misc</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>eva@gentoo.org</email>
+ <name>Gilles Dartiguelongue</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">libzeitgeist</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libzip/Manifest b/dev-libs/libzip/Manifest
new file mode 100644
index 000000000000..9d18e7b78308
--- /dev/null
+++ b/dev-libs/libzip/Manifest
@@ -0,0 +1 @@
+DIST libzip-1.0.1.tar.xz 450308 SHA256 f948d597afbb471de8d528d0e35ed977de85b2f4d76fdd74abbb985550e5d840 SHA512 df51ca44e97e2644a5d6930e3c76830453579c1486d11b9529d3cef173bb5ae873ef34b0af0ea6403dd4076805371fa93975a18ce56e37aa2a52500eb279887b WHIRLPOOL 6705e5739417738d474a85e10c72718c2feaae68698d6fc71af17d2761c76acab705fcf6c8c69be165afca9230dc55c47843d9b0281abde445aad23addef1c41
diff --git a/dev-libs/libzip/files/libzip-0.11.2-headers.patch b/dev-libs/libzip/files/libzip-0.11.2-headers.patch
new file mode 100644
index 000000000000..6b327722ac64
--- /dev/null
+++ b/dev-libs/libzip/files/libzip-0.11.2-headers.patch
@@ -0,0 +1,12 @@
+--- lib/Makefile.am
++++ lib/Makefile.am
+@@ -3,8 +3,7 @@
+
+ lib_LTLIBRARIES = libzip.la
+ noinst_HEADERS = zipint.h
+-include_HEADERS = zip.h
+-nodist_libinclude_HEADERS = zipconf.h
++include_HEADERS = zip.h zipconf.h
+
+ # also update CMakeLists.txt when changing version
+ libzip_la_LDFLAGS=-no-undefined -version-info 3:0:1
diff --git a/dev-libs/libzip/libzip-1.0.1.ebuild b/dev-libs/libzip/libzip-1.0.1.ebuild
new file mode 100644
index 000000000000..4b842e7c766f
--- /dev/null
+++ b/dev-libs/libzip/libzip-1.0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils
+
+DESCRIPTION="Library for manipulating zip archives"
+HOMEPAGE="http://www.nih.at/libzip/"
+SRC_URI="http://www.nih.at/libzip/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+"
+
+DOCS=( AUTHORS NEWS README THANKS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.11.2-headers.patch"
+)
diff --git a/dev-libs/libzip/metadata.xml b/dev-libs/libzip/metadata.xml
new file mode 100644
index 000000000000..bfccf8675474
--- /dev/null
+++ b/dev-libs/libzip/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>kde</herd>
+<maintainer>
+ <email>creffett@gentoo.org</email>
+ <name>Chris Reffett</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/link-grammar/Manifest b/dev-libs/link-grammar/Manifest
new file mode 100644
index 000000000000..3066f8cdb81a
--- /dev/null
+++ b/dev-libs/link-grammar/Manifest
@@ -0,0 +1 @@
+DIST link-grammar-4.8.6.tar.gz 2879287 SHA256 6a63bf84e487876bc15311844fdb4d482b2f9d01f3c1d52d45cc7ff6beacc893 SHA512 70e1a605b295f6f49e707c701a2fd1bb1905b7d34b950bbf9b3f6fa70c289f1d40c7791ba755b50cfeb847a5dc634239fd58c7933f716f378fce2bfda62b0535 WHIRLPOOL 75ed2446f4243e3623eecf9fcfb22146d48e0df260aea5fb77a7035f7eeab0ee9a214110dfd15be4858bf04a7a83b129066197e32949acfba6e726d4eddf8762
diff --git a/dev-libs/link-grammar/link-grammar-4.8.6.ebuild b/dev-libs/link-grammar/link-grammar-4.8.6.ebuild
new file mode 100644
index 000000000000..008a79d5b263
--- /dev/null
+++ b/dev-libs/link-grammar/link-grammar-4.8.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+
+inherit gnome2 java-pkg-opt-2 eutils
+
+DESCRIPTION="A Syntactic English parser"
+HOMEPAGE="http://www.abisource.com/projects/link-grammar/ http://www.link.cs.cmu.edu/link/"
+SRC_URI="http://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+
+# Set the same default as used in app-text/enchant
+IUSE="aspell +hunspell java static-libs threads"
+
+DEPEND="
+ aspell? ( app-text/aspell )
+ hunspell? ( app-text/hunspell )
+ java? ( >=virtual/jdk-1.5
+ dev-java/ant-core )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ if use aspell && use hunspell; then
+ ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
+ ewarn "only aspell will be build. Press Ctrl+C and set only 'hunspell' USE flag if"
+ ewarn "you want hunspell support."
+ fi
+}
+
+src_configure() {
+ local myconf
+
+ use hunspell && myconf="${myconf} --with-hunspell-dictdir=/usr/share/myspell"
+ gnome2_src_configure \
+ --enable-shared \
+ $(use_enable aspell) \
+ $(use_enable hunspell) \
+ $(use_enable java java-bindings) \
+ $(use_enable static-libs static) \
+ $(use_enable threads pthreads) \
+ ${myconf}
+}
diff --git a/dev-libs/link-grammar/metadata.xml b/dev-libs/link-grammar/metadata.xml
new file mode 100644
index 000000000000..799d5bac3ffa
--- /dev/null
+++ b/dev-libs/link-grammar/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome-office</herd>
+ <longdescription lang="en">
+ The Link Grammar Parser is a syntactic parser of English, based on link
+ grammar, an original theory of English syntax. The system is written in
+ generic C code, and runs on any platform with a C compiler.
+ </longdescription>
+ <use>
+ <flag name="aspell">Adds support for <pkg>app-text/aspell</pkg> spell checker</flag>
+ <flag name="hunspell">Adds support for <pkg>app-text/hunspell</pkg> spell checker</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/lockdev/Manifest b/dev-libs/lockdev/Manifest
new file mode 100644
index 000000000000..cf1c4019f391
--- /dev/null
+++ b/dev-libs/lockdev/Manifest
@@ -0,0 +1,2 @@
+DIST lockdev_1.0.3-1.2.diff.gz 7642 SHA256 02d35e82805551342438804b3bfe9df153f9089407272f1cda9d76d84740ce90 SHA512 22fce119a8075a5b99a4ef83b31f62da64725067863949d4833b4d66f9e8e2d34920eee11c5acdcc14b1a643a21c56c39ec2adf31ae7fa489795dd5534eb7b6c WHIRLPOOL 3452a175b3df9bcd56eee292231fd67e65519adf3bdc32e720976489a0ff9355ce9abe796059de139b07cb9df1508269876fda9295591a45331e725d14488049
+DIST lockdev_1.0.3.orig.tar.gz 29150 SHA256 ccae635d7ac3fdd50897eceb250872b3d9a191d298f213e7f0c836910d869f82 SHA512 4066985059add674ef8a9195e611db8ead89ca6191c04b7f29243b12a3448c82a3d0ea852bf99e26e1c71f163891acd198867650a5c4843f787e1944a8bc7f2b WHIRLPOOL 79002de33c1c0748e1d555c144ca72ae1737616cbb72f491d6bef3a9226798b0eb23d875885e6fd78c9e0eff03c965b4992008f5238aa564d0ad09747b9ac8d7
diff --git a/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch b/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch
new file mode 100644
index 000000000000..f54bcb8fd72c
--- /dev/null
+++ b/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch
@@ -0,0 +1,55 @@
+Adds an autotools build system to fix the many issues with the custom build
+system (ignoring CC, CFLAGS, DESTDIR, not installing the .so file properly).
+
+Contributed by Nick Fortino (nfortino@gmail.com) 2/1/2009
+
+Updated by Jonathan Callen <abcd@gentoo.org> 2009-09-11
+
+--- Makefile.am
++++ Makefile.am
+@@ -0,0 +1,20 @@
++include_HEADERS = src/lockdev.h src/ttylock.h
++
++lib_LTLIBRARIES = liblockdev.la
++liblockdev_la_SOURCES = src/lockdev.c
++liblockdev_version = -version-info $(LOCKDEV_CURRENT_INTERFACE):$(LOCKDEV_INTERFACE_AGE):$(LOCKDEV_BINARY_AGE)
++liblockdev_la_LDFLAGS = $(liblockdev_version)
++
++man_MANS = docs/lockdev.3
++
++manpage_links = \
++ dev_lock.3 \
++ dev_unlock.3 \
++ dev_relock.3 \
++ dev_testlock.3 \
++ liblockdev.3
++
++install-data-hook:
++ for page in $(manpage_links); do \
++ $(LN_S) -f lockdev.3 $(DESTDIR)$(man3dir)/$${page} ; \
++ done
+--- configure.ac
++++ configure.ac
+@@ -0,0 +1,22 @@
++AC_INIT([lockdev], [1.0.3], [BUG-REPORT-ADDRESS])
++AC_CONFIG_AUX_DIR([scripts])
++AM_INIT_AUTOMAKE
++
++LOCKDEV_CURRENT_INTERFACE=1
++LOCKDEV_INTERFACE_AGE=0
++LOCKDEV_BINARY_AGE=0
++
++AC_SUBST([LOCKDEV_CURRENT_INTERFACE])
++AC_SUBST([LOCKDEV_INTERFACE_AGE])
++AC_SUBST([LOCKDEV_BINARY_AGE])
++
++LT_INIT([disable-static])
++
++AC_CANONICAL_BUILD
++AC_CANONICAL_HOST
++
++# Checks for programs.
++AC_PROG_LN_S
++
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
diff --git a/dev-libs/lockdev/files/lockdev-1.0.3-fix-perl.patch b/dev-libs/lockdev/files/lockdev-1.0.3-fix-perl.patch
new file mode 100644
index 000000000000..7b25f82e7e48
--- /dev/null
+++ b/dev-libs/lockdev/files/lockdev-1.0.3-fix-perl.patch
@@ -0,0 +1,11 @@
+--- lockdev-1.0.3.orig/LockDev/Makefile.PL
++++ lockdev-1.0.3/LockDev/Makefile.PL
+@@ -7,7 +7,7 @@ WriteMakefile(
+ 'LIBS' => [''],
+ 'DEFINE' => '',
+ 'INC' => '-I../src',
+- 'MYEXTLIB' => '../src/lockdev.z',
++ 'MYEXTLIB' => '../.libs/liblockdev.so',
+ );
+
+ sub MY::postamble {
diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild
new file mode 100644
index 000000000000..3576aaebdb3d
--- /dev/null
+++ b/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL="no"
+inherit toolchain-funcs base perl-module eutils versionator autotools
+
+MAJOR=$(get_major_version)
+MY_PV=$(get_version_component_range 1-3)
+MY_P=${PN}-${MY_PV}
+DEB_PV=$(replace_version_separator 3 '-')
+DEB_P=${PN}_${DEB_PV}
+
+DESCRIPTION="Library for locking devices"
+HOMEPAGE="http://packages.debian.org/source/sid/lockdev"
+SRC_URI="
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.diff.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ppc ppc64 ~sparc ~x86"
+IUSE="perl"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${MY_P}-add-autotools.patch"
+ "${FILESDIR}/${MY_P}-fix-perl.patch"
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+PERL_S=${S}/LockDev
+
+pkg_setup() {
+ use perl && perl_set_version
+}
+
+src_prepare() {
+ cd "${WORKDIR}"
+ # Note: we do *not* want to be in ${S} for this, as that breaks the patch
+ epatch "${WORKDIR}/${DEB_P}.diff"
+
+ cd "${S}"
+ base_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ econf
+
+ if use perl; then
+ cd "${PERL_S}"
+ perl-module_src_configure
+ fi
+}
+
+src_compile() {
+ emake
+
+ if use perl; then
+ cd "${PERL_S}"
+ perl-module_src_compile
+ fi
+}
+
+src_test() {
+ if use perl; then
+ cd "${PERL_S}"
+ SRC_TEST="do"
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${S}/.libs"
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog* debian/NEWS README.debug
+ newdoc debian/changelog changelog.debian
+
+ if use perl; then
+ cd "${PERL_S}"
+ mytargets="pure_install"
+ docinto perl
+ perl-module_src_install
+ fi
+
+ # Remove *.la files
+ find "${D}" -name "*.la" -exec rm {} + || die "removal of *.la files failed"
+}
+
+pkg_preinst() {
+ use perl && perl_set_version
+}
diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild
new file mode 100644
index 000000000000..6ce8e67344ab
--- /dev/null
+++ b/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL="no"
+inherit toolchain-funcs perl-module eutils versionator autotools multilib-minimal
+
+MAJOR=$(get_major_version)
+MY_PV=$(get_version_component_range 1-3)
+MY_P=${PN}-${MY_PV}
+DEB_PV=$(replace_version_separator 3 '-')
+DEB_P=${PN}_${DEB_PV}
+
+DESCRIPTION="Library for locking devices"
+HOMEPAGE="http://packages.debian.org/source/sid/lockdev"
+SRC_URI="
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.diff.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+IUSE="perl"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${MY_P}-add-autotools.patch"
+ "${FILESDIR}/${MY_P}-fix-perl.patch"
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+PERL_S=./LockDev
+
+pkg_setup() {
+ use perl && perl_set_version
+}
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ # Note: we do *not* want to be in ${S} for this, as that breaks the patch
+ epatch "${WORKDIR}/${DEB_P}.diff"
+
+ cd "${S}" || die
+ epatch "${PATCHES[@]}"
+ epatch_user
+
+ eautoreconf
+
+ # perl module build
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ perl-module_src_configure
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ SRC_TEST="do"
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${BUILD_DIR}/.libs"
+ perl-module_src_test
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ mytargets="pure_install"
+ perl-module_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog* debian/NEWS README.debug
+ newdoc debian/changelog changelog.debian
+
+ prune_libtool_files --all
+}
+
+pkg_preinst() {
+ use perl && perl_set_version
+}
diff --git a/dev-libs/lockdev/metadata.xml b/dev-libs/lockdev/metadata.xml
new file mode 100644
index 000000000000..992bdd959c40
--- /dev/null
+++ b/dev-libs/lockdev/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>jcallen@gentoo.org</email>
+ <name>Jonathan Callen</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/log4c/Manifest b/dev-libs/log4c/Manifest
new file mode 100644
index 000000000000..adbd5889181a
--- /dev/null
+++ b/dev-libs/log4c/Manifest
@@ -0,0 +1,2 @@
+DIST log4c-1.2.1.tar.gz 508139 SHA256 6ed40a41307c26d052667e1661437394ab00e29cd24ff2640b502ba8ab1e442b SHA512 d8a5122df4d0afcff4880464ca58afa0661db3c60242c8ed1d034acf217f642bf9db0b0601ee07e832195408a8fa2ee8be61e9ee3f6ab59834bb13ec8598d0fd WHIRLPOOL 3a5f7e682f5f1a0f2cb073a8c242c01b94df55791e361a8781177acf631adce30a86732718a8a618f72c2a34f096d1522ea9c208547123684327a6ac0b1a0d49
+DIST log4c-1.2.4.tar.gz 559789 SHA256 5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea SHA512 bd66029183b545de6b46b803e128735c5b57af0ca7f8a0a1f1655565920778993362e3187ffbe9b4b5e85dbf4c700b7d1f1dd4d1a636bcb20bfdb71fc73d37ca WHIRLPOOL 30e90b35d1ccc9fd4687cd761fe99f9933cb17ad75c97c3c140c1e794b696aea0caf643dde434b7c90555c821eebb59b1874f8a61d4d26896bd71739816c5812
diff --git a/dev-libs/log4c/files/log4c-1.2.4-docdir.patch b/dev-libs/log4c/files/log4c-1.2.4-docdir.patch
new file mode 100644
index 000000000000..9bbb532da33b
--- /dev/null
+++ b/dev-libs/log4c/files/log4c-1.2.4-docdir.patch
@@ -0,0 +1,16 @@
+Respect the autotools docdir switch. Avoid installing a copy of the license.
+
+--- doc/Makefile.am
++++ doc/Makefile.am
+@@ -1,10 +1,9 @@
+ man3dir = $(mandir)/man3
+-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
++docdir = @docdir@
+ docfiles = \
+ $(top_srcdir)/README \
+ $(top_srcdir)/AUTHORS \
+ $(top_srcdir)/NEWS \
+- $(top_srcdir)/COPYING \
+ $(top_srcdir)/ChangeLog
+
+ targets = doxygen.stamp
diff --git a/dev-libs/log4c/log4c-1.2.1.ebuild b/dev-libs/log4c/log4c-1.2.1.ebuild
new file mode 100644
index 000000000000..618e29d4418b
--- /dev/null
+++ b/dev-libs/log4c/log4c-1.2.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils
+
+DESCRIPTION="Log4c is a library of C for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/log4c/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="debug doc examples +expat"
+
+RDEPEND="media-gfx/graphviz
+ expat? ( dev-libs/expat )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+}
+
+src_configure() {
+ local myconf
+ myconf="${myconf} --disable-expattest"
+
+ econf \
+ $(use_enable doc doxygen) \
+ $(use_enable debug) \
+ $(use_enable expat) \
+ ${myconf} || die "configure failed"
+}
+
+src_compile() {
+ emake || die "make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r examples/*
+ fi
+}
diff --git a/dev-libs/log4c/log4c-1.2.4.ebuild b/dev-libs/log4c/log4c-1.2.4.ebuild
new file mode 100644
index 000000000000..06a2fbfd484e
--- /dev/null
+++ b/dev-libs/log4c/log4c-1.2.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Log4c is a library of C for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/log4c/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples +expat static-libs"
+
+RDEPEND="expat? ( dev-libs/expat )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=( "${FILESDIR}/${P}-docdir.patch" )
+
+src_configure() {
+ local myeconfargs=(
+ --disable-expattest
+ $(use_enable debug)
+ $(use_enable doc)
+ )
+
+ use expat || myeconfargs+=( --without-expat )
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r examples/*
+ fi
+}
diff --git a/dev-libs/log4c/metadata.xml b/dev-libs/log4c/metadata.xml
new file mode 100644
index 000000000000..8a00054aee53
--- /dev/null
+++ b/dev-libs/log4c/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Log4c is a library of C for flexible logging to files, syslog and other destinations. It is modeled after the Log for Java library (http://jakarta.apache.org/log4j/), staying as close to their API as is reasonable.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">log4c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/log4cplus/Manifest b/dev-libs/log4cplus/Manifest
new file mode 100644
index 000000000000..2a1fc06fd383
--- /dev/null
+++ b/dev-libs/log4cplus/Manifest
@@ -0,0 +1 @@
+DIST log4cplus-1.1.2.tar.bz2 541761 SHA256 c46d56c96873dcb525791b5ea639d1415e74b1de99d51b657336cb6ebb72ed93 SHA512 a3bb619a0c005c63b533fa95fafe6c772dfc1b85f9b9556264b75a458398b81c48c17813ea04d07e3ea902f3f5f604b59dac7922412c5d0e0339200a453515b7 WHIRLPOOL a5b5f35b970150677f3336b954fb0ceac74517ae620427908f2d93108f09021ccdbf58a4044cfa51178a6624dff88833d0ac4f6c52136441310535bb0d79a264
diff --git a/dev-libs/log4cplus/log4cplus-1.1.2.ebuild b/dev-libs/log4cplus/log4cplus-1.1.2.ebuild
new file mode 100644
index 000000000000..3779ba3658cb
--- /dev/null
+++ b/dev-libs/log4cplus/log4cplus-1.1.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="C++ port of the Log for Java (log4j) logging library"
+HOMEPAGE="http://log4cplus.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.bz2"
+
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="iconv test threads working-locale working-c-locale qt4"
+
+REQUIRED_USE="iconv? ( !working-locale !working-c-locale )
+ working-locale? ( !iconv !working-c-locale )
+ working-c-locale? ( !iconv !working-locale )"
+
+RDEPEND="iconv? ( virtual/libiconv )
+ qt4? ( dev-qt/qtcore:4 )"
+DEPEND="virtual/pkgconfig
+ ${RDEPEND}"
+
+DOCS="AUTHORS ChangeLog NEWS README TODO docs/unicode.txt"
+
+src_prepare() {
+ default
+
+ if ! use test; then
+ sed -i -e 's:tests::' Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable threads) \
+ $(use_with iconv) \
+ $(use_with working-locale) \
+ $(use_with working-c-locale) \
+ $(use_with qt4 qt)
+}
+
+src_test() {
+ cd tests/
+
+ for dir in appender customloglevel fileappender filter \
+ hierarchy loglog ndc ostream patternlayout performance priority \
+ propertyconfig timeformat; do
+ einfo "Running test \"${dir}_test\""
+ pushd "${dir}_test/" 1>/dev/null
+ ./${dir}_test || die "Running ${dir}_test failed!"
+ popd 1>/dev/null
+ done
+
+ if use threads; then
+ for dir in configandwatch thread; do
+ einfo "Running test \"${dir}_test\""
+ pushd "${dir}_test/" 1>/dev/null
+ ./${dir}_test || die "Running ${dir}_test failed!"
+ popd 1>/dev/null
+ done
+ fi
+}
diff --git a/dev-libs/log4cplus/metadata.xml b/dev-libs/log4cplus/metadata.xml
new file mode 100644
index 000000000000..ea1344140b41
--- /dev/null
+++ b/dev-libs/log4cplus/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <use>
+ <flag name="working-locale">Use C++'s std::locale for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation</flag>
+ <flag name="working-c-locale">Use the C99 locale facilities for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation </flag>
+ <flag name="iconv">Use inconv for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">log4cplus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
new file mode 100644
index 000000000000..34d856ff0fbb
--- /dev/null
+++ b/dev-libs/log4cpp/Manifest
@@ -0,0 +1,2 @@
+DIST log4cpp-1.0.tar.gz 495726 SHA256 b4533324b0a1f46ad74a9e92bf2caa46c246e9353059e1a835e735d41826ed19 SHA512 461ce64aa6343c90a909b4f877dd5cfae8aad12a94965c41ad619da137e76fdf48f045a2575273971115aa56ee9649f59453f7c3c265678bafca93289bd9a012 WHIRLPOOL 96510c5e7c8a057c1a187966ba5b6d6baf0c2ca21abf5b74a3a93fc59a6caee2b797ff50dc7647f2774a6c7989f9a57cb2bff53bf4e1f4999206fec4aa498fbf
+DIST log4cpp-1.1.tar.gz 547676 SHA256 c25bd1e0abd47a5dee2ab49b84cbce6292fcada90536a26a5fc9999d343768b4 SHA512 e1a723641c75a0b7f9ad2338134b327cd9a0a1bd67ff76bca726389ad76e8ba0ee5a95abe6f29e05a77980255dc08b0aa5c906395b0a0ad094994c9e450e3ecb WHIRLPOOL 2ae511f67dbe80d8ec054e1e3ba370736105aca85418ffc3bd7b3ef6fd4d0f5d24f01bac28cd6932df833785da566776dc3664e6d7e8a1573fe1c1642aefadb2
diff --git a/dev-libs/log4cpp/files/1.0-asneeded.patch b/dev-libs/log4cpp/files/1.0-asneeded.patch
new file mode 100644
index 000000000000..e9fb05f4ae99
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-asneeded.patch
@@ -0,0 +1,122 @@
+http://bugs.gentoo.org/247067
+
+--- m4/ACX_PTHREAD.m4
++++ m4/ACX_PTHREAD.m4
+@@ -266,6 +266,117 @@
+ else
+ PTHREAD_CC=$CC
+ fi
++
++ # The next part tries to detect GCC inconsistency with -shared on some
++ # architectures and systems. The problem is that in certain
++ # configurations, when -shared is specified, GCC "forgets" to
++ # internally use various flags which are still necessary.
++
++ #
++ # Prepare the flags
++ #
++ save_LDFLAGS="$LDFLAGS"
++ save_CFLAGS="$CFLAGS"
++ save_LIBS="$LIBS"
++ save_CC="$CC"
++
++ # Try with the flags determined by the earlier checks.
++ #
++ # -Wl,-z,defs forces link-time symbol resolution, so that the
++ # linking checks with -shared actually have any value
++ #
++ # FIXME: -fPIC is required for -shared on many architectures,
++ # so we specify it here, but the right way would probably be to
++ # properly detect whether it is actually required.
++ CFLAGS="-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ CC="$PTHREAD_CC"
++
++ # In order not to create several levels of indentation, we test
++ # the value of "$done" until we find the cure or run out of ideas.
++ done="no"
++
++ # First, make sure the CFLAGS we added are actually accepted by our
++ # compiler. If not (and OS X's ld, for instance, does not accept -z),
++ # then we can't do this test.
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether to check for GCC pthread/shared inconsistencies])
++ AC_TRY_LINK(,, , [done=yes])
++
++ if test "x$done" = xyes ; then
++ AC_MSG_RESULT([no])
++ else
++ AC_MSG_RESULT([yes])
++ fi
++ fi
++
++ if test x"$done" = xyes; then
++ done="no"
++ AC_MSG_CHECKING([whether -pthread is sufficient with -shared])
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++
++ #
++ # Linux gcc on some architectures such as mips/mipsel forgets
++ # about -lpthread
++ #
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lpthread fixes that])
++ LIBS="-lpthread $PTHREAD_LIBS $save_LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="-lpthread $PTHREAD_LIBS"
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++ #
++ # FreeBSD 4.10 gcc forgets to use -lc_r instead of -lc
++ #
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lc_r fixes that])
++ LIBS="-lc_r $PTHREAD_LIBS $save_LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="-lc_r $PTHREAD_LIBS"
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++ if test x"$done" = xno; then
++ # OK, we have run out of ideas
++ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries])
++
++ # so it's not safe to assume that we may use pthreads
++ acx_pthread_ok=no
++ fi
++
++ CFLAGS="$save_CFLAGS"
++ LIBS="$save_LIBS"
++ CC="$save_CC"
++
+ else
+ PTHREAD_CC="$CC"
+ fi
diff --git a/dev-libs/log4cpp/files/1.0-doc_install_path.patch b/dev-libs/log4cpp/files/1.0-doc_install_path.patch
new file mode 100644
index 000000000000..8f9ef5137619
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-doc_install_path.patch
@@ -0,0 +1,38 @@
+--- doc/Makefile.am.orig 2007-10-13 09:39:44.000000000 +0200
++++ doc/Makefile.am 2007-10-13 09:40:03.000000000 +0200
+@@ -1,7 +1,7 @@
+ SUBDIRS = html
+
+ man3dir = $(mandir)/man3
+-docdir = $(prefix)/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
++docdir = $(prefix)/share/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+ EXTRA_DIST = \
+ mainPage.txt
+@@ -22,18 +22,18 @@
+
+
+ install-data-local:
+- $(mkinstalldirs) $(man3dir)
++ $(mkinstalldirs) $(DESTDIR)/$(man3dir)
+ @for i in ./man/man3/log4cpp.3 ./man/man3/log4cpp_*.3; do \
+ inst=`basename $$i | sed 's/_/::/g'`; \
+ echo "$(INSTALL_DATA) $$i$(man3dir)/$$inst"; \
+- $(INSTALL_DATA) $$i $(man3dir)/$$inst; \
++ $(INSTALL_DATA) $$i $(DESTDIR)/$(man3dir)/$$inst; \
+ done
+- $(mkinstalldirs) $(docdir)
+- cp -r html/. $(docdir)
+- $(RM) -r -f $(docdir)/CVS \
+- $(docdir)/Makefile.am \
+- $(docdir)/Makefile.in \
+- $(docdir)/Makefile
++ $(mkinstalldirs) $(DESTDIR)/$(docdir)
++ cp -r html/. $(DESTDIR)/$(docdir)
++ $(RM) -r -f $(DESTDIR)/$(docdir)/CVS \
++ $(DESTDIR)/$(docdir)/Makefile.am \
++ $(DESTDIR)/$(docdir)/Makefile.in \
++ $(DESTDIR)/$(docdir)/Makefile
+
+ uninstall-local:
+ $(RM) $(man3dir)/log4cpp.3
diff --git a/dev-libs/log4cpp/files/1.0-gcc43.patch b/dev-libs/log4cpp/files/1.0-gcc43.patch
new file mode 100644
index 000000000000..a60f986e9c0d
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-gcc43.patch
@@ -0,0 +1,26 @@
+Index: log4cpp-1.0/src/BasicLayout.cpp
+===================================================================
+--- log4cpp-1.0.orig/src/BasicLayout.cpp 2008-03-14 16:06:57.000000000 -0400
++++ log4cpp-1.0/src/BasicLayout.cpp 2008-03-14 16:07:11.000000000 -0400
+@@ -15,6 +15,8 @@
+ #include <sstream>
+ #endif
+
++#include <memory>
++
+ namespace log4cpp {
+
+ BasicLayout::BasicLayout() {
+Index: log4cpp-1.0/src/PatternLayout.cpp
+===================================================================
+--- log4cpp-1.0.orig/src/PatternLayout.cpp 2008-03-14 16:07:33.000000000 -0400
++++ log4cpp-1.0/src/PatternLayout.cpp 2008-03-14 16:07:49.000000000 -0400
+@@ -370,7 +370,7 @@
+ literal = "";
+ }
+ if ((minWidth != 0) || (maxWidth != 0)) {
+- component = new FormatModifierComponent(component, std::abs(minWidth), maxWidth, minWidth < 0);
++ component = new FormatModifierComponent(component, std::abs((float)minWidth), maxWidth, minWidth < 0);
+ minWidth = maxWidth = 0;
+ }
+ _components.push_back(component);
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch b/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch
new file mode 100644
index 000000000000..ffac4a1dbfc7
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2015-01-14 09:37:13.616446476 +0300
++++ configure.ac 2015-01-14 09:37:26.119445770 +0300
+@@ -17,7 +17,7 @@
+
+ #AC_CONFIG_SRCDIR(configure.in)
+ AC_CONFIG_AUX_DIR(config)
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADERS([include/config.h])
+
+ AM_INIT_AUTOMAKE
+
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch b/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch
new file mode 100644
index 000000000000..fe3c810814bd
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch
@@ -0,0 +1,10 @@
+--- src/PatternLayout.cpp.orig 2015-01-14 09:24:32.332489499 +0300
++++ src/PatternLayout.cpp 2015-01-14 09:23:18.162493691 +0300
+@@ -24,6 +24,7 @@
+ #include <iomanip>
+ #include <ctime>
+ #include <cstdlib>
++#include <cmath>
+ #include "Localtime.hh"
+
+ #ifdef LOG4CPP_HAVE_INT64_T
diff --git a/dev-libs/log4cpp/log4cpp-1.0.ebuild b/dev-libs/log4cpp/log4cpp-1.0.ebuild
new file mode 100644
index 000000000000..4e260cc5e372
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit autotools eutils
+
+DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc s390 x86"
+IUSE="doc"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-doc_install_path.patch \
+ "${FILESDIR}"/${PV}-gcc43.patch \
+ "${FILESDIR}"/${PV}-asneeded.patch
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.ebuild b/dev-libs/log4cpp/log4cpp-1.1.ebuild
new file mode 100644
index 000000000000..f3f15829de02
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AT_M4DIR="m4"
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~ppc ~s390 ~x86"
+IUSE="doc static-libs test"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/1.0-doc_install_path.patch"
+ "${FILESDIR}/1.0-gcc43.patch"
+ "${FILESDIR}/1.0-asneeded.patch"
+ "${FILESDIR}/${P}-cmath-fix.patch"
+ "${FILESDIR}/${P}-automake-1.13.patch"
+)
+
+S="${WORKDIR}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/log4cpp-config
+)
+
+src_prepare() {
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --without-idsa
+ $(use_enable doc doxygen)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/log4cpp/metadata.xml b/dev-libs/log4cpp/metadata.xml
new file mode 100644
index 000000000000..bafe48212a72
--- /dev/null
+++ b/dev-libs/log4cpp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">log4cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest
new file mode 100644
index 000000000000..ddaffb727aff
--- /dev/null
+++ b/dev-libs/log4cxx/Manifest
@@ -0,0 +1 @@
+DIST apache-log4cxx-0.10.0.tar.gz 1667425 SHA256 0de0396220a9566a580166e66b39674cb40efd2176f52ad2c65486c99c920c8c SHA512 1c34d80983db5648bc4582ddcf6b4fdefdc6594c2769f95235f5441cd6d03cf279cc8f365e9a687085b113f79ebac9d7d33a54b6aa3b3b808c0e1a56a15ffa37 WHIRLPOOL 5d541b2113fa6170fcedd025182ce99dd6e6540ab29b5d751c823cef685bbc502c3e3ba9966671d86d3f1acb43b224bf88fcbcc206010d748b204fca586ef153
diff --git a/dev-libs/log4cxx/files/0.10.0-missing_includes.patch b/dev-libs/log4cxx/files/0.10.0-missing_includes.patch
new file mode 100644
index 000000000000..78a57916bde0
--- /dev/null
+++ b/dev-libs/log4cxx/files/0.10.0-missing_includes.patch
@@ -0,0 +1,37 @@
+diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp
+--- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200
++++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200
+@@ -15,7 +15,8 @@
+ * limitations under the License.
+ */
+
+-#include <stdlib.h>
++#include <cstdlib>
++#include <cstring>
+ #include <log4cxx/logger.h>
+ #include <log4cxx/consoleappender.h>
+ #include <log4cxx/simplelayout.h>
+diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp
+--- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200
++++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200
+@@ -21,6 +21,8 @@
+ #include <log4cxx/helpers/pool.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ using namespace log4cxx;
+ using namespace log4cxx::helpers;
+
+diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp
+--- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200
++++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200
+@@ -20,6 +20,8 @@
+ #include <log4cxx/helpers/socket.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ using namespace log4cxx;
+ using namespace log4cxx::helpers;
+
diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch
new file mode 100644
index 000000000000..854d34a17492
--- /dev/null
+++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch
@@ -0,0 +1,12 @@
+Fix for gcc-4.4
+--- apache-log4cxx-0.10.0-orig/src/examples/cpp/console.cpp 2009-06-12 13:01:06.000000000 +0200
++++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2009-06-12 13:07:05.000000000 +0200
+@@ -15,6 +15,7 @@
+ * limitations under the License.
+ */
+
++#include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
+ #include <log4cxx/logger.h>
+
diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch
new file mode 100644
index 000000000000..cedca2ccdf42
--- /dev/null
+++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch
@@ -0,0 +1,75 @@
+http://issues.apache.org/jira/browse/LOGCXX-299
+http://bugs.gentoo.org/show_bug.cgi?id=254920
+
+diff -ur apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp
+--- apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp 2008-04-01 01:34:09.000000000 +0300
++++ apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp 2010-02-24 14:39:37.000000000 +0200
+@@ -167,7 +167,8 @@
+ throw SQLException( SQL_HANDLE_DBC, con, "Failed to allocate sql handle.", p);
+ }
+
+- SQLWCHAR* wsql = Transcoder::wencode(sql, p);
++ SQLWCHAR* wsql;
++ encode(&wsql, sql, p);
+ ret = SQLExecDirectW(stmt, wsql, SQL_NTS);
+
+ if (ret < 0)
+@@ -237,9 +238,10 @@
+ }
+
+
+- SQLWCHAR* wURL = Transcoder::wencode(databaseURL, p);
++ SQLWCHAR* wURL;
++ encode(&wURL, databaseURL, p);
+
+- wchar_t szOutConnectionString[1024];
++ SQLWCHAR szOutConnectionString[1024];
+ SQLSMALLINT nOutConnctionLength = 0;
+
+ ret = SQLDriverConnectW( connection, NULL,
+@@ -331,3 +333,31 @@
+ }
+ }
+ }
++
++void ODBCAppender::encode(wchar_t** dest, const LogString& src, Pool& p) {
++ *dest = Transcoder::wencode(src, p);
++}
++
++void ODBCAppender::encode(unsigned short** dest,
++ const LogString& src, Pool& p) {
++ // worst case double number of characters from UTF-8 or wchar_t
++ *dest = (unsigned short*)
++ p.palloc((src.size() + 1) * 2 * sizeof(unsigned short));
++ unsigned short* current = *dest;
++ for(LogString::const_iterator i = src.begin();
++ i != src.end();) {
++ unsigned int sv = Transcoder::decode(src, i);
++ if (sv < 0x10000) {
++ *current++ = (unsigned short) sv;
++ } else {
++ unsigned char u = (unsigned char) (sv >> 16);
++ unsigned char w = (unsigned char) (u - 1);
++ unsigned short hs = (0xD800 + ((w & 0xF) << 6) + ((sv & 0xFFFF) >> 10));
++ unsigned short ls = (0xDC00 + (sv && 0x3FF));
++ *current++ = (unsigned short) hs;
++ *current++ = (unsigned short) ls;
++ }
++ }
++ *current = 0;
++}
++
+diff -ur apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h
+--- apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h 2008-04-01 01:34:09.000000000 +0300
++++ apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h 2010-02-24 14:39:39.000000000 +0200
+@@ -279,6 +279,10 @@
+ private:
+ ODBCAppender(const ODBCAppender&);
+ ODBCAppender& operator=(const ODBCAppender&);
++ static void encode(wchar_t** dest, const LogString& src,
++ log4cxx::helpers::Pool& p);
++ static void encode(unsigned short** dest, const LogString& src,
++ log4cxx::helpers::Pool& p);
+ }; // class ODBCAppender
+ LOG4CXX_PTR_DEF(ODBCAppender);
+
diff --git a/dev-libs/log4cxx/log4cxx-0.10.0.ebuild b/dev-libs/log4cxx/log4cxx-0.10.0.ebuild
new file mode 100644
index 000000000000..95e943783628
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-0.10.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils
+
+MY_P=apache-${P}
+
+DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://logging.apache.org/log4cxx/"
+SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos"
+IUSE="iodbc unicode odbc smtp"
+
+DEPEND="dev-libs/apr:1
+ dev-libs/apr-util:1
+ odbc? (
+ iodbc? ( >=dev-db/libiodbc-3.52.4 )
+ !iodbc? ( dev-db/unixODBC ) )
+ smtp? ( net-libs/libesmtp )"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ if use iodbc && ! use odbc; then
+ elog "Please enable the odbc USE-flag as well if you want odbc-support through iodbc."
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-missing_includes.patch \
+ "${FILESDIR}"/${P}-gcc44.patch \
+ "${FILESDIR}"/${P}-unixODBC.patch
+}
+
+src_configure() {
+ local myconf
+ use smtp && myconf="${myconf} --with-SMTP=libesmtp"
+ if use odbc; then
+ if use iodbc; then
+ myconf="${myconf} --with-ODBC=iODBC"
+ else
+ myconf="${myconf} --with-ODBC=unixODBC"
+ fi
+ fi
+ use unicode && myconf="${myconf} --with-charset=utf-8"
+
+ econf \
+ --disable-doxygen \
+ --disable-html-docs \
+ --with-apr-util="${SYSROOT:-${EPREFIX}}/usr" \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dohtml -r site/*
+
+ insinto /usr/share/doc/${PF}/examples
+ doins src/examples/cpp/*.cpp
+}
diff --git a/dev-libs/log4cxx/metadata.xml b/dev-libs/log4cxx/metadata.xml
new file mode 100644
index 000000000000..6c89210a566e
--- /dev/null
+++ b/dev-libs/log4cxx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+<use>
+ <flag name='smtp' restrict='&lt;dev-libs/log4cxx-0.10'>Offer SMTP support via
+ <pkg>net-libs/libsmtp</pkg></flag>
+ <flag name='smtp' restrict='&gt;=dev-libs/log4cxx-0.10'>Offer SMTP support via
+ <pkg>net-libs/libesmtp</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/log4sh/Manifest b/dev-libs/log4sh/Manifest
new file mode 100644
index 000000000000..e3d6a1fb0f21
--- /dev/null
+++ b/dev-libs/log4sh/Manifest
@@ -0,0 +1,2 @@
+DIST log4sh-1.2.5.tgz 33746 SHA256 d907e8a4d4ec4749eb603d673752213a80fec7c3778b4b43155059f29e59fb3f SHA512 5890be36bb8d1bc9e789f1b180c2dde7071683091b7013f91cdfd92b401747abe4969d66984e3a763f1d74e49a6cca86e82e52c30725c70acd5ee9efe20c733c WHIRLPOOL 2f1bbf4ecf236b67bcdd0db820c9cdd10125ef916ae5912d4bb961eb970c31a6869c7f0f8f09ec7a64d7567acf621b996077269e20ac1c48db2fb033871b52ab
+DIST log4sh-1.4.2.tgz 91994 SHA256 bb5b556fa6069956128144ed22914f5b4be24147cbe2c7efd474f274c2e28f33 SHA512 f4b983e352c94b33b355a2e743e8431cff4bf6c24b4db18087556d5a8d10ee458c2216f7b9175519e3904051e34f61b2add8faacac0b125c61cde2d76538b290 WHIRLPOOL d288501993d72061654ccff999d08877ad696f168aa7932ceff12b1c046691eb778a3943b44a980d94b7ec0dd408e0d5e879da450c0288f7122af9123cd520ca
diff --git a/dev-libs/log4sh/files/log4sh-1.2.5-fix-insecure-tmp-creation.diff b/dev-libs/log4sh/files/log4sh-1.2.5-fix-insecure-tmp-creation.diff
new file mode 100644
index 000000000000..533b3615b21a
--- /dev/null
+++ b/dev-libs/log4sh/files/log4sh-1.2.5-fix-insecure-tmp-creation.diff
@@ -0,0 +1,11 @@
+--- src/shell/log4sh.orig 2005-06-20 13:35:51.583341280 +0100
++++ src/shell/log4sh 2005-06-20 13:37:45.120081072 +0100
+@@ -357,7 +357,7 @@
+ {
+ _file=$1
+
+- _tmpFile="/tmp/log4sh.$$"
++ _tmpFile=`mktemp /tmp/log4sh.XXXXXX`
+ grep "^log4sh\." $_file >$_tmpFile
+ _rp_count=`wc -l $_tmpFile |awk '{print $1}'`
+ _rp_i=1
diff --git a/dev-libs/log4sh/log4sh-1.2.5-r1.ebuild b/dev-libs/log4sh/log4sh-1.2.5-r1.ebuild
new file mode 100644
index 000000000000..599ee52a5910
--- /dev/null
+++ b/dev-libs/log4sh/log4sh-1.2.5-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="A flexible logging framework for shell scripts"
+HOMEPAGE="http://forestent.com/products/log4sh/"
+SRC_URI="http://forestent.com/dist/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~ppc x86"
+IUSE=""
+
+RDEPEND="app-shells/bash"
+
+src_unpack() {
+ unpack ${A} && cd ${S}
+ # bug 94069
+ epatch ${FILESDIR}/${P}-fix-insecure-tmp-creation.diff
+}
+
+src_test() {
+ make test || die "make test failed"
+}
+
+src_install() {
+ insinto /usr/lib/log4sh
+ doins build/log4sh || die "Failed to install log4sh"
+
+ dodoc doc/CHANGES doc/TODO
+ dohtml doc/*.{html,css}
+ docinto examples
+ dodoc src/examples/*
+}
+
+pkg_postinst() {
+ echo
+ elog "To use log4sh, have your script source /usr/lib/log4sh/log4sh."
+ echo
+}
diff --git a/dev-libs/log4sh/log4sh-1.4.2.ebuild b/dev-libs/log4sh/log4sh-1.4.2.ebuild
new file mode 100644
index 000000000000..ba5dd293f3f3
--- /dev/null
+++ b/dev-libs/log4sh/log4sh-1.4.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A flexible logging framework for shell scripts"
+HOMEPAGE="http://sourceforge.net/projects/log4sh"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc x86"
+IUSE="examples"
+
+RDEPEND="app-shells/bash"
+
+src_compile() {
+ emake build
+}
+
+src_test() {
+ # testsuite needs USER variable
+ export USER="$(whoami)"
+ make test || die "make test failed"
+}
+
+src_install() {
+ insinto /usr/lib/log4sh
+ doins build/log4sh
+
+ dodoc doc/*.txt
+ dohtml doc/*.{html,css}
+
+ if use examples; then
+ docinto examples
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc src/examples/*
+ fi
+}
+
+pkg_postinst() {
+ elog "To use log4sh, have your script source /usr/lib/log4sh/log4sh"
+ elog "If you want to use remote logging, you should install package,"
+ elog "that provides netcat binary (for example - net-analyzer/netcat)"
+}
diff --git a/dev-libs/log4sh/metadata.xml b/dev-libs/log4sh/metadata.xml
new file mode 100644
index 000000000000..7fde4085681b
--- /dev/null
+++ b/dev-libs/log4sh/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">log4sh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/log4shib/Manifest b/dev-libs/log4shib/Manifest
new file mode 100644
index 000000000000..ba11b89db0c2
--- /dev/null
+++ b/dev-libs/log4shib/Manifest
@@ -0,0 +1,2 @@
+DIST log4shib-1.0.1.tar.gz 498381 SHA256 5d8c647c0acea60fed58c1335ec4008f300f63b40c1651745f49e4080498f938 SHA512 ed64dca5f20c8135944abdfe7e7b66702cd1ae712ba362508759194c8f53c2a9a878142619a4befd3c4180de366fd2c9a6af7af1873b170d45e91b8bf527b836 WHIRLPOOL 676e6a4c21edbf3e265f63f7cb77f122f6fee03e2c88a3d0f939329ec419d1b69626b840cd1f197f8cc22f07038a2668c5d5ecd07cad2c4d29e596a69c3393b0
+DIST log4shib-1.0.4.tar.gz 487529 SHA256 4e5f9e58f14f2498d8be15dc0a6223e83f0510a924494295329b20745cacbc38 SHA512 af31bb436393e1a6a2674c0f4804148dea4f4081bb07b78f158f4109157bef4ed40647a3e4da7ec5eef0ed38b6286aee6d8b8a3320572c2b55df2998850d5245 WHIRLPOOL 70795e38f1a963f6f6fa76d021b7a465fc8067d7e3a73fcc02fdda8d6a0e08f7ac8d094a2b3c4124581cfec01a4e059a45390a92bfae3d204dd5af0a244a9856
diff --git a/dev-libs/log4shib/files/log4shib-doc.patch b/dev-libs/log4shib/files/log4shib-doc.patch
new file mode 100644
index 000000000000..c7c58f0781a9
--- /dev/null
+++ b/dev-libs/log4shib/files/log4shib-doc.patch
@@ -0,0 +1,11 @@
+--- doc/Makefile.am.orig 2008-10-18 09:03:48.000000000 +0200
++++ doc/Makefile.am 2008-10-18 09:05:16.000000000 +0200
+@@ -1,7 +1,7 @@
+ SUBDIRS = html
+
+ man3dir = $(DESTDIR)$(mandir)/man3
+-docdir = $(prefix)/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
++docdir = $(DESTDIR)/$(datarootdir)/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+ EXTRA_DIST = \
+ mainPage.txt
diff --git a/dev-libs/log4shib/log4shib-1.0.1.ebuild b/dev-libs/log4shib/log4shib-1.0.1.ebuild
new file mode 100644
index 000000000000..dcdcd7b1a6de
--- /dev/null
+++ b/dev-libs/log4shib/log4shib-1.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="Internet2 version for OpenSAML of log4cpp logging framework"
+HOMEPAGE="https://wiki.shibboleth.net/confluence/display/OpenSAML/log4shib"
+SRC_URI="http://shibboleth.internet2.edu/downloads/${PN}/${PV}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # fix sandbox violation by doc installation
+ epatch "${FILESDIR}/${PN}-doc.patch"
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_compile() {
+ econf --without-idsa \
+ $(use_enable doc doxygen)
+ emake || die "emake failed"
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog NEWS README THANKS || die "dodoc failed"
+}
diff --git a/dev-libs/log4shib/log4shib-1.0.4.ebuild b/dev-libs/log4shib/log4shib-1.0.4.ebuild
new file mode 100644
index 000000000000..76a187fad51d
--- /dev/null
+++ b/dev-libs/log4shib/log4shib-1.0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="Internet2 version for OpenSAML of log4cpp logging framework"
+HOMEPAGE="https://wiki.shibboleth.net/confluence/display/OpenSAML/log4shib"
+SRC_URI="http://shibboleth.internet2.edu/downloads/${PN}/${PV}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="debug doc static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_configure() {
+ econf --without-idsa \
+ $(use_enable debug) \
+ $(use_enable doc doxygen) \
+ $(use_enable static-libs static)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+}
diff --git a/dev-libs/log4shib/metadata.xml b/dev-libs/log4shib/metadata.xml
new file mode 100644
index 000000000000..51d36d7d1c9f
--- /dev/null
+++ b/dev-libs/log4shib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>log4shib is a library of C++ classes for flexible logging
+ to files, syslog, IDSA and other destinations. It is a forked version
+ of log4cpp especially adapted for the shibboleth framework
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/ltxml/Manifest b/dev-libs/ltxml/Manifest
new file mode 100644
index 000000000000..73e31fdb1404
--- /dev/null
+++ b/dev-libs/ltxml/Manifest
@@ -0,0 +1,2 @@
+DIST ltxml-1.2.5.tar.gz 1081135 SHA256 5fd43d802a4f89be6f27ff47fb69f37a155911ad6580f39b26100e6afefd3762 SHA512 b8cb5a17a35748b3c3df25ea01b97d41443f34ae3e086fa8b13e46b10edb653ad66a236ec88350b85a1879135e899e097f067628afc4db294d04314d1fd85fcb WHIRLPOOL 26a80484fe3902b85ae3fa4ae67cb9fb02eebd30da25721ad10efbad3b08bad8a83665644e543d4ca43617dade007d44001c6cc46242a572aa9ac423b3709790
+DIST ltxml-1.2.9.tar.gz 304050 SHA256 bc28fcdf63be636e03076deeacba75255cd9281f40a3dfd65a8c04aa93242921 SHA512 1c0b965b7ed330069a23259bc937546a6a0eb639206a844b6c4d524acfaeb1ec6978467fa8e63c8430ca222cec04386368e7ce625ac829ea5be445e880b86ac9 WHIRLPOOL 5481ce9e5cff99efe1d6ed0d4dc35cd844fa450995cee63d078faca2b628ec6aae7b8014f62fa744a4662866f21b41d58db5bb539d52b259fb1dc66b404b519e
diff --git a/dev-libs/ltxml/ltxml-1.2.5.ebuild b/dev-libs/ltxml/ltxml-1.2.5.ebuild
new file mode 100644
index 000000000000..d0051b61a368
--- /dev/null
+++ b/dev-libs/ltxml/ltxml-1.2.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+S="${WORKDIR}/${P}/XML"
+DESCRIPTION="Integrated set of XML tools and a developers tool-kit with C API"
+HOMEPAGE="http://www.ltg.ed.ac.uk/software/xml/"
+SRC_URI=ftp://ftp.cogsci.ed.ac.uk/pub/LTXML/${P}.tar.gz
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="ia64 ppc x86"
+IUSE=""
+DEPEND="dev-lang/perl"
+PV_MAJ="${PV:0:1}${PV:2:1}"
+
+src_compile() {
+ econf || die "configure failed"
+ emake all || die "make failed"
+}
+
+src_install() {
+ einstall \
+ datadir=${D}/usr/lib/${PN}${PV_MAJ} \
+ MANDIR=${D}/usr/share/man \
+ || die "make install failed"
+}
diff --git a/dev-libs/ltxml/ltxml-1.2.9.ebuild b/dev-libs/ltxml/ltxml-1.2.9.ebuild
new file mode 100644
index 000000000000..801ed1a0a875
--- /dev/null
+++ b/dev-libs/ltxml/ltxml-1.2.9.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Integrated set of XML tools and a developers tool-kit with C API"
+HOMEPAGE="http://www.ltg.ed.ac.uk/software/xml/"
+SRC_URI=ftp://ftp.cogsci.ed.ac.uk/pub/LTXML/${P}.tar.gz
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+RDEPEND=""
+
+PV_MAJ="${PV:0:1}${PV:2:1}"
+
+S=${WORKDIR}/${P}/XML
+
+pkg_setup() {
+ tc-export AR
+}
+
+src_prepare() {
+ sed -e '/CFLAGS=/s:-g::' \
+ -e '/CFLAGS=/s:-O2::' \
+ -i configure || die
+ sed -e 's/ar rv/$(AR) rv/' -i src/Makefile.sub.in || die
+}
+
+src_compile() {
+ emake all
+}
+
+src_install() {
+ emake -j1 install \
+ datadir="${D}"/usr/$(get_libdir)/${PN}${PV_MAJ} \
+ libdir="${D}"/usr/$(get_libdir) \
+ prefix="${D}"/usr
+}
diff --git a/dev-libs/ltxml/metadata.xml b/dev-libs/ltxml/metadata.xml
new file mode 100644
index 000000000000..542bd448e2ea
--- /dev/null
+++ b/dev-libs/ltxml/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+<longdescription>
+Integrated set of XML tools and a developers tool-kit with C API
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/luise-bin/Manifest b/dev-libs/luise-bin/Manifest
new file mode 100644
index 000000000000..96418eb353de
--- /dev/null
+++ b/dev-libs/luise-bin/Manifest
@@ -0,0 +1 @@
+DIST LUIse_0.1.1.tar.gz 393815 SHA256 c197a82d3b043d40b3d1ebbe2aa5ed7e7b74955bbc1d2316657fd8e27ce16ed0 SHA512 821b62ed476088c3818cb478a3c525e1d92e9879ef4059da0eb534852a294f802550ad7169066fe439f0cb3645e98656f405594db633061029ae9d7eff86f31d WHIRLPOOL 29d76837651ca691294a559ede2b0fdb365ac2cfd1060602042b0e339655080cf1e264e47dceb6df7b7476d455f3097361566ff2b2ee9a231545cb2a151e9b50
diff --git a/dev-libs/luise-bin/luise-bin-0.1.1.ebuild b/dev-libs/luise-bin/luise-bin-0.1.1.ebuild
new file mode 100644
index 000000000000..cd92acd369e9
--- /dev/null
+++ b/dev-libs/luise-bin/luise-bin-0.1.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit multilib
+
+MY_PN="LUIse"
+
+DESCRIPTION="Programming interface for the Wallbraun LCD-USB-Interface"
+HOMEPAGE="http://wallbraun-electronics.de/downloadssite/"
+SRC_URI="http://www.wallbraun-electronics.de/downloads/${MY_PN}_${PV}.tar.gz"
+
+LICENSE="BSD GPL-2+"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="doc examples"
+
+DEPEND="=virtual/libusb-0*"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}_${PV}"
+src_install() {
+ if use x86 ; then
+ insinto /usr/include
+ doins 32bit/luise.h
+ dolib.so 32bit/libluise.so.0.1.1
+ fi
+ if use amd64 ; then
+ insinto /usr/include
+ doins 64bit/luise.h
+ newlib.so 64bit/libluise_64.so.0.1.1 libluise.so.0.1.1
+ fi
+ dosym /usr/$(get_libdir)/libluise.so{.0.1.1,}
+
+ newdoc doc/readme README
+ use doc && dodoc doc/docu_luise011_Linux.pdf
+ if use examples ; then
+ docinto examples
+ dodoc samples/luise-test/*
+ fi
+}
diff --git a/dev-libs/luise-bin/metadata.xml b/dev-libs/luise-bin/metadata.xml
new file mode 100644
index 000000000000..aba833ed90e0
--- /dev/null
+++ b/dev-libs/luise-bin/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/lzo/Manifest b/dev-libs/lzo/Manifest
new file mode 100644
index 000000000000..72cf912fe973
--- /dev/null
+++ b/dev-libs/lzo/Manifest
@@ -0,0 +1 @@
+DIST lzo-2.08.tar.gz 589045 SHA256 ac1b3e4dee46febe9fd28737eb7f5692d3232ef1a01da10444394c3d47536614 SHA512 d03ae521000d69dd1fc92112a7b6e642c388b2898d7fb6ac4168e947a895e8d5e77199f78f05e036cefe02f346ea242bca694522f3c7959ab6ca19de956162dd WHIRLPOOL bea0357b01cb64018a5afc7b0934065dda944866aa23f44edd4eb615d53c0242b70c836d2d8144ed64df4a438bea5c1b8b5120ee4a7f08af15db171f85c11ac8
diff --git a/dev-libs/lzo/lzo-2.08-r1.ebuild b/dev-libs/lzo/lzo-2.08-r1.ebuild
new file mode 100644
index 000000000000..616c15716c88
--- /dev/null
+++ b/dev-libs/lzo/lzo-2.08-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib-minimal toolchain-funcs
+
+DESCRIPTION="An extremely fast compression and decompression library"
+HOMEPAGE="http://www.oberhumer.com/opensource/lzo/"
+SRC_URI="http://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples static-libs"
+
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+
+DOCS="BUGS ChangeLog README THANKS doc/*"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && gen_usr_ldscript -a lzo2
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h}
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/lzo/lzo-2.08.ebuild b/dev-libs/lzo/lzo-2.08.ebuild
new file mode 100644
index 000000000000..a38e9f5974e1
--- /dev/null
+++ b/dev-libs/lzo/lzo-2.08.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="An extremely fast compression and decompression library"
+HOMEPAGE="http://www.oberhumer.com/opensource/lzo/"
+SRC_URI="http://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples static-libs"
+
+RDEPEND="abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+
+DOCS="BUGS ChangeLog README THANKS doc/*"
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h}
+ fi
+
+ prune_libtool_files
+}
diff --git a/dev-libs/lzo/metadata.xml b/dev-libs/lzo/metadata.xml
new file mode 100644
index 000000000000..caaa4ac67bad
--- /dev/null
+++ b/dev-libs/lzo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+</maintainer>
+<longdescription></longdescription>
+</pkgmetadata>
diff --git a/dev-libs/m17n-lib/Manifest b/dev-libs/m17n-lib/Manifest
new file mode 100644
index 000000000000..e72555f26c53
--- /dev/null
+++ b/dev-libs/m17n-lib/Manifest
@@ -0,0 +1,5 @@
+DIST m17n-lib-1.5.2.tar.gz 997592 SHA256 389cc05194e9a1f9e58b186c3fcd60d7fee2a6f627c3ea8f9c944d69983721f1 SHA512 899959ad7d6b32b7ec0a97eca5abf2a3a4e9d44d81b5157bc974b17544db4e59550bc04b0b2d46371dc57f64c7e0aa70ebb7d473ade3a762f40acf19ac19b072 WHIRLPOOL 9483d3fcc97aad78b44dd228e8c800e5147cc7c7758e72b87e4875960abe0f8d5b34ab669ec858da4d1792c1c3b58dc3669f4ced9bf8f151924f0d44dbf7b3e0
+DIST m17n-lib-1.5.5.tar.gz 954476 SHA256 300ef0411fc306f8b409c0688c85ee9804ddc4b3ac643a84abe4aeec0a6f912f SHA512 e294d65c1b0894ab631fe34852e1193d8ad7dd4798aede2ffb1723538f242ab6ec21a015ae45aadc398541ff1be264655abe602aeb9598d03d8dd45af1c91aeb WHIRLPOOL 103b0aaf9aadee2148c1880a2b0c5e2b0725a42864cead3709ee44184157eb82693b9ba0a5c38a00cbf63712adb58f24e1d64bc22008c2fa1632282548fbe22e
+DIST m17n-lib-1.6.2.tar.gz 1031508 SHA256 f15039a310e94d6b462c46c409a393e1b16d95f13fd0376361f07bbfc6adb5a3 SHA512 ade2d468861042b63494e5ae49e82d813f30c45fea5d1a9377681dfd06a66b3aa3e2db5112b70e760ca5d4aedaa7f846e28e0ed8e37565d6a05f94f145b2b2ce WHIRLPOOL 52ac678b10b14999af6c3f6b1e88fb583dc996d9bb5be34c084fff3270eabb3a18c56c079d0f287fe922acee97b40d04e5005660b8fdc0d4a12f329b7879b2cc
+DIST m17n-lib-1.6.3.tar.gz 1033048 SHA256 ff5ebe09572a5e6d4a376783a78d4355f0b17a71fbaf8b01978230be7eef735e SHA512 66177e5be17e330230d31bfff8a3cc7415ad79f9bfaf8f4c4baea02f1f19bf2d3628210c697a9b14d07dcb9bac8ca256e6c5102cbaae65876bf49aa2150cfd80 WHIRLPOOL ac337d68c4cfd0f9c331ded71a16c4d86f2d4c655a59f17da92fc8a80ed6f420af97ceb2ff071d556aaee0cf73baae9736faed32aaa58538d59a44f27a981c53
+DIST m17n-lib-1.6.4.tar.gz 1034422 SHA256 0370fda16bce321acad96b623dbbead0d797d86f5d5fa43d0cde8ff3b01555a4 SHA512 751f22efdaf4fb3e23d17ca07e20c65c59d60ff4f90a384bd9a8e9e8b01503d87c76cfc4c3c9717d8549a08c705b1c444939816a7eb07ca77b029b4f457f58c3 WHIRLPOOL d5bdfbb072a557f8e37307a4de56a9d2eb24c637afb885f294ab1970d8ca916bc53354ae7ca0fb4c6eaf445c955b60b79a0718c4e72af533a844d770a7b36a8c
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.5.2-fribidi.patch b/dev-libs/m17n-lib/files/m17n-lib-1.5.2-fribidi.patch
new file mode 100644
index 000000000000..cfc298e320e7
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.5.2-fribidi.patch
@@ -0,0 +1,16 @@
+diff --git a/src/draw.c b/src/draw.c
+index f9667d0..1ba6cf6 100644
+--- a/src/draw.c
++++ b/src/draw.c
+@@ -1750,7 +1750,11 @@ mdraw__init ()
+ MbidiS = msymbol ("S");
+ MbidiNSM = msymbol ("NSM");
+ #ifdef HAVE_FRIBIDI
++#if FRIBIDI_INTERFACE_VERSION < 3
+ fribidi_set_mirroring (TRUE);
++#else
++ fribidi_set_mirroring (1);
++#endif
+ #endif
+
+ M_break_at_space = msymbol ("bs");
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.2-candidates-list.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-candidates-list.patch
new file mode 100644
index 000000000000..40cd85d49c2b
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-candidates-list.patch
@@ -0,0 +1,83 @@
+--- src/input.c 2011/02/14 04:59:22 1.154
++++ src/input.c 2011/03/09 05:45:49 1.155
+@@ -3004,9 +3004,6 @@
+ take_action_list (MInputContext *ic, MPlist *action_list)
+ {
+ MInputContextInfo *ic_info = (MInputContextInfo *) ic->info;
+- MPlist *candidate_list = ic->candidate_list;
+- int candidate_index = ic->candidate_index;
+- int candidate_show = ic->candidate_show;
+ MTextProperty *prop;
+
+ MPLIST_DO (action_list, action_list)
+@@ -3480,31 +3477,6 @@
+ };
+ }
+ }
+-
+- if (ic->candidate_list)
+- {
+- M17N_OBJECT_UNREF (ic->candidate_list);
+- ic->candidate_list = NULL;
+- }
+- if (ic->cursor_pos > 0
+- && (prop = mtext_get_property (ic->preedit, ic->cursor_pos - 1,
+- Mcandidate_list)))
+- {
+- ic->candidate_list = mtext_property_value (prop);
+- M17N_OBJECT_REF (ic->candidate_list);
+- ic->candidate_index
+- = (int) mtext_get_prop (ic->preedit, ic->cursor_pos - 1,
+- Mcandidate_index);
+- ic->candidate_from = mtext_property_start (prop);
+- ic->candidate_to = mtext_property_end (prop);
+- }
+-
+- if (candidate_list != ic->candidate_list)
+- ic->candidates_changed |= MINPUT_CANDIDATES_LIST_CHANGED;
+- if (candidate_index != ic->candidate_index)
+- ic->candidates_changed |= MINPUT_CANDIDATES_INDEX_CHANGED;
+- if (candidate_show != ic->candidate_show)
+- ic->candidates_changed |= MINPUT_CANDIDATES_SHOW_CHANGED;
+ return 0;
+ }
+
+@@ -3914,7 +3886,37 @@
+ ic_info->key_unhandled = 0;
+
+ do {
+- if (handle_key (ic) < 0)
++ MPlist *candidate_list = ic->candidate_list;
++ int candidate_index = ic->candidate_index;
++ int candidate_show = ic->candidate_show;
++ MTextProperty *prop;
++ int result = handle_key (ic);
++
++ if (ic->candidate_list)
++ {
++ M17N_OBJECT_UNREF (ic->candidate_list);
++ ic->candidate_list = NULL;
++ }
++ if (ic->cursor_pos > 0
++ && (prop = mtext_get_property (ic->preedit, ic->cursor_pos - 1,
++ Mcandidate_list)))
++ {
++ ic->candidate_list = mtext_property_value (prop);
++ M17N_OBJECT_REF (ic->candidate_list);
++ ic->candidate_index
++ = (int) mtext_get_prop (ic->preedit, ic->cursor_pos - 1,
++ Mcandidate_index);
++ ic->candidate_from = mtext_property_start (prop);
++ ic->candidate_to = mtext_property_end (prop);
++ }
++ if (candidate_list != ic->candidate_list)
++ ic->candidates_changed |= MINPUT_CANDIDATES_LIST_CHANGED;
++ if (candidate_index != ic->candidate_index)
++ ic->candidates_changed |= MINPUT_CANDIDATES_INDEX_CHANGED;
++ if (candidate_show != ic->candidate_show)
++ ic->candidates_changed |= MINPUT_CANDIDATES_SHOW_CHANGED;
++
++ if (result < 0)
+ {
+ /* KEY was not handled. Delete it from the current key sequence. */
+ if (ic_info->used > 0)
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.2-gui.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-gui.patch
new file mode 100644
index 000000000000..2c37246a6e5d
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-gui.patch
@@ -0,0 +1,16 @@
+Index: m17n-lib-1.6.2/configure.ac
+===================================================================
+--- m17n-lib-1.6.2.orig/configure.ac
++++ m17n-lib-1.6.2/configure.ac
+@@ -100,9 +100,9 @@ dnl Checks which levels of APIs should b
+ AC_ARG_ENABLE(gui,
+ AS_HELP_STRING([--enable-gui],[enable GUI level APIs (default is YES)]))
+
+-AM_CONDITIONAL(WITH_GUI, test x$with_gui != xno)
++AM_CONDITIONAL(WITH_GUI, test x$enable_gui != xno)
+
+-if test x$with_gui != xno; then
++if test x$enable_gui != xno; then
+
+ dnl Checks if dlopen exists, and if it's in libc or libdl.
+
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.2-parallel-make.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-parallel-make.patch
new file mode 100644
index 000000000000..4402188aa887
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.2-parallel-make.patch
@@ -0,0 +1,63 @@
+Index: m17n-lib-1.6.2/src/Makefile.am
+===================================================================
+--- m17n-lib-1.6.2.orig/src/Makefile.am
++++ m17n-lib-1.6.2/src/Makefile.am
+@@ -53,7 +53,7 @@ libm17n_la_SOURCES = \
+ language.h language.c \
+ mlocale.h locale.c \
+ m17n.h m17n.c
+-libm17n_la_LIBADD = ${top_builddir}/src/libm17n-core.la -ldl
++libm17n_la_LIBADD = libm17n-core.la -ldl
+ libm17n_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ FLT_SOURCES = \
+@@ -61,7 +61,7 @@ FLT_SOURCES = \
+ m17n-flt.h m17n-flt.c
+
+ libm17n_flt_la_SOURCES = ${FLT_SOURCES}
+-libm17n_flt_la_LIBADD = ${top_builddir}/src/libm17n-core.la
++libm17n_flt_la_LIBADD = libm17n-core.la
+ libm17n_flt_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ GUI_SOURCES = \
+@@ -80,7 +80,7 @@ OPTIONAL_LD_FLAGS = \
+ @FONTCONFIG_LD_FLAGS@
+
+ libm17n_gui_la_SOURCES = ${GUI_SOURCES}
+-libm17n_gui_la_LIBADD = ${OPTIONAL_LD_FLAGS} ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la
++libm17n_gui_la_LIBADD = ${OPTIONAL_LD_FLAGS} libm17n-core.la libm17n.la libm17n-flt.la
+ libm17n_gui_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ if WITH_GUI
+@@ -90,11 +90,11 @@ module_LTLIBRARIES = libm17n-X.la libm17
+ X_LD_FLAGS = ${X_PRE_LIBS} ${X_LIBS} @X11_LD_FLAGS@ ${X_EXTRA_LIBS}
+
+ libm17n_X_la_SOURCES = m17n-X.h m17n-X.c
+-libm17n_X_la_LIBADD = ${X_LD_FLAGS} @XFT2_LD_FLAGS@ ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la ${top_builddir}/src/libm17n-gui.la
++libm17n_X_la_LIBADD = ${X_LD_FLAGS} @XFT2_LD_FLAGS@ libm17n-core.la libm17n.la libm17n-flt.la libm17n-gui.la
+ libm17n_X_la_LDFLAGS = -avoid-version -module
+
+ libm17n_gd_la_SOURCES = m17n-gd.c
+-libm17n_gd_la_LIBADD = @GD_LD_FLAGS@ @FREETYPE_LD_FLAGS@ ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la ${top_builddir}/src/libm17n-gui.la
++libm17n_gd_la_LIBADD = @GD_LD_FLAGS@ @FREETYPE_LD_FLAGS@ libm17n-core.la libm17n.la libm17n-flt.la libm17n-gui.la
+ libm17n_gd_la_LDFLAGS = -avoid-version -module
+
+ endif
+@@ -121,14 +121,14 @@ if MAINTAINER_MODE
+ noinst_PROGRAMS = linkcore linkshell linkgui
+
+ linkcore_SOURCES = linkcore.c
+-linkcore_LDADD = ${top_builddir}/src/libm17n-core.la
++linkcore_LDADD = libm17n-core.la
+ linkcore_LDFLAGS = -static
+
+ linkshell_SOURCES = linkshell.c
+-linkshell_LDADD = ${top_builddir}/src/libm17n.la
++linkshell_LDADD = libm17n.la
+ linkshell_LDFLAGS = -static
+
+ linkgui_SOURCES = linkgui.c
+-linkgui_LDADD = ${top_builddir}/src/libm17n-gui.la
++linkgui_LDADD = libm17n-gui.la
+ linkgui_LDFLAGS = -static
+ endif
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.3-configure.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-configure.patch
new file mode 100644
index 000000000000..024dea6fea42
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-configure.patch
@@ -0,0 +1,82 @@
+diff --git a/configure.ac b/configure.ac
+index 2e58d68..49b812a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,7 +125,9 @@ if test "x$no_x" != "xyes"; then
+ X11_LD_FLAGS="-lXt -lX11"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS X11"
+
+- if test "x$HAVE_XAW" = "xyes"; then
++ AC_ARG_WITH(athena,
++ AS_HELP_STRING([--with-athena],[with MIT Athena widget suport]))
++ if test "x$with_athena" != "xno" -a "x$HAVE_XAW" = "xyes"; then
+ AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
+ [Define to 1 if you have the Xaw header files.])
+ XAW_LD_FLAGS="-lXaw -lXmu"
+@@ -149,7 +151,9 @@ else
+ fi
+ AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
+ AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
+-if test "x$HAVE_FRIBIDI" = "xyes"; then
++AC_ARG_WITH(fribidi,
++ AS_HELP_STRING([--with-fribidi],[with fribidi suport]))
++if test "x$with_fribidi" != "xno" -a "x$HAVE_FRIBIDI" = "xyes"; then
+ AC_DEFINE(HAVE_FRIBIDI, 1,
+ [Define to 1 if you have Fribidi library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS fribidi"
+@@ -202,8 +206,10 @@ fi
+ AC_SUBST(OTF_LD_FLAGS)
+
+ dnl Check for Freetype2 usability.
++AC_ARG_WITH(freetype,
++ AS_HELP_STRING([--with-freetype],[enable Freetype support]))
+ AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
+-if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
++if test "x$with_freetype" != "xno" -a "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
+ FREETYPE_INC=`freetype-config --cflags`
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
+@@ -255,7 +261,9 @@ AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no,
+ #else
+ Version too old. Compiling this line should fail.
+ #endif])
+-if test "x$HAVE_XFT2" = "xyes"; then
++AC_ARG_WITH(xft,
++ AS_HELP_STRING([--with-xft],[enable Xft2 support]))
++if test "x$with_xft" != "xno" -a "x$HAVE_XFT2" = "xyes"; then
+ AC_DEFINE(HAVE_XFT2, 1,
+ [Define to 1 if you have Xft2 library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS xft2"
+@@ -330,7 +338,9 @@ else
+ fi
+ AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
+ AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
+-if test "x$HAVE_XML2" = "xyes"; then
++AC_ARG_WITH(libxml2,
++ AS_HELP_STRING([--with-libxml2],[with libxml2 suport]))
++if test "x$with_libxml2" != "xno" -a "x$HAVE_XML2" = "xyes"; then
+ AC_DEFINE(HAVE_XML2, 1,
+ [Define to 1 if you have libxml2 library and header file])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS xml2"
+@@ -344,7 +354,9 @@ AC_SUBST(XML2_LD_FLAGS)
+ dnl Check for Anthy usability.
+
+ PKG_CHECK_MODULES(ANTHY, anthy, HAVE_ANTHY=yes, HAVE_ANTHY=no)
+-if test "x$HAVE_ANTHY" = "xyes"; then
++AC_ARG_WITH(anthy,
++ AS_HELP_STRING([--with-anthy],[with anthy suport]))
++if test "x$with_anthy" != "xno" -a "x$HAVE_ANTHY" = "xyes"; then
+ AC_DEFINE(HAVE_ANTHY, 1,
+ [Define to 1 if you have Anthy library and header file])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
+@@ -355,7 +367,9 @@ AC_SUBST(ANTHY_LD_FLAGS)
+
+ dnl Check for Ispell usability.
+ AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
+-if test "x$HAVE_ISPELL" = "xyes"; then
++AC_ARG_WITH(ispell,
++ AS_HELP_STRING([--with-ispell],[with ispell suport]))
++if test "x$with_ispell" != "xno" -a "x$HAVE_ISPELL" = "xyes"; then
+ AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS ispell"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ISPELL"
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.3-ispell.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-ispell.patch
new file mode 100644
index 000000000000..d548bdf20486
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-ispell.patch
@@ -0,0 +1,13 @@
+diff --git a/example/mimx-ispell.c b/example/mimx-ispell.c
+index daa244f..7507de8 100644
+--- a/example/mimx-ispell.c
++++ b/example/mimx-ispell.c
+@@ -166,7 +166,7 @@ ispell_word (MPlist *args)
+ return add_action (actions, msymbol ("shift"), Msymbol, init_state);
+
+ buf[nbytes] = '\0';
+- sprintf (command, "echo %s | ispell -a -m", (char *) buf);
++ sprintf (command, "echo %s | ispell-aspell -a -m", (char *) buf);
+ ispell = popen (command, "r");
+ if (! ispell)
+ return add_action (actions, msymbol ("shift"), Msymbol, init_state);
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.6.3-parallel-make.patch b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-parallel-make.patch
new file mode 100644
index 000000000000..63da14054779
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.6.3-parallel-make.patch
@@ -0,0 +1,63 @@
+Index: m17n-lib-1.6.2/src/Makefile.am
+===================================================================
+--- m17n-lib-1.6.2.orig/src/Makefile.am
++++ m17n-lib-1.6.2/src/Makefile.am
+@@ -53,7 +53,7 @@ libm17n_la_SOURCES = \
+ language.h language.c \
+ mlocale.h locale.c \
+ m17n.h m17n.c
+-libm17n_la_LIBADD = ${top_builddir}/src/libm17n-core.la -ldl
++libm17n_la_LIBADD = libm17n-core.la -ldl
+ libm17n_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ FLT_SOURCES = \
+@@ -61,7 +61,7 @@ FLT_SOURCES = \
+ m17n-flt.h m17n-flt.c
+
+ libm17n_flt_la_SOURCES = ${FLT_SOURCES}
+-libm17n_flt_la_LIBADD = ${top_builddir}/src/libm17n-core.la
++libm17n_flt_la_LIBADD = libm17n-core.la
+ libm17n_flt_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ GUI_SOURCES = \
+@@ -80,7 +80,7 @@ OPTIONAL_LD_FLAGS = \
+ @FONTCONFIG_LD_FLAGS@
+
+ libm17n_gui_la_SOURCES = ${GUI_SOURCES}
+-libm17n_gui_la_LIBADD = ${OPTIONAL_LD_FLAGS} ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la
++libm17n_gui_la_LIBADD = ${OPTIONAL_LD_FLAGS} libm17n-core.la libm17n.la libm17n-flt.la
+ libm17n_gui_la_LDFLAGS = -export-dynamic ${VINFO}
+
+ if WITH_GUI
+@@ -90,11 +90,11 @@ module_LTLIBRARIES = libm17n-X.la libm17
+ X_LD_FLAGS = ${X_PRE_LIBS} ${X_LIBS} @X11_LD_FLAGS@ ${X_EXTRA_LIBS}
+
+ libm17n_X_la_SOURCES = m17n-X.h m17n-X.c
+-libm17n_X_la_LIBADD = ${X_LD_FLAGS} @XFT2_LD_FLAGS@ @FONTCONFIG_LD_FLAGS@ ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la ${top_builddir}/src/libm17n-gui.la
++libm17n_X_la_LIBADD = ${X_LD_FLAGS} @XFT2_LD_FLAGS@ @FONTCONFIG_LD_FLAGS@ libm17n-core.la libm17n.la libm17n-flt.la libm17n-gui.la
+ libm17n_X_la_LDFLAGS = -avoid-version -module
+
+ libm17n_gd_la_SOURCES = m17n-gd.c
+-libm17n_gd_la_LIBADD = @GD_LD_FLAGS@ @FREETYPE_LD_FLAGS@ ${top_builddir}/src/libm17n-core.la ${top_builddir}/src/libm17n.la ${top_builddir}/src/libm17n-flt.la ${top_builddir}/src/libm17n-gui.la
++libm17n_gd_la_LIBADD = @GD_LD_FLAGS@ @FREETYPE_LD_FLAGS@ libm17n-core.la libm17n.la libm17n-flt.la libm17n-gui.la
+ libm17n_gd_la_LDFLAGS = -avoid-version -module
+
+ endif
+@@ -121,14 +121,14 @@ if MAINTAINER_MODE
+ noinst_PROGRAMS = linkcore linkshell linkgui
+
+ linkcore_SOURCES = linkcore.c
+-linkcore_LDADD = ${top_builddir}/src/libm17n-core.la
++linkcore_LDADD = libm17n-core.la
+ linkcore_LDFLAGS = -static
+
+ linkshell_SOURCES = linkshell.c
+-linkshell_LDADD = ${top_builddir}/src/libm17n.la
++linkshell_LDADD = libm17n.la
+ linkshell_LDFLAGS = -static
+
+ linkgui_SOURCES = linkgui.c
+-linkgui_LDADD = ${top_builddir}/src/libm17n-gui.la
++linkgui_LDADD = libm17n-gui.la
+ linkgui_LDFLAGS = -static
+ endif
diff --git a/dev-libs/m17n-lib/m17n-lib-1.5.2.ebuild b/dev-libs/m17n-lib/m17n-lib-1.5.2.ebuild
new file mode 100644
index 000000000000..b2ed218447d2
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.5.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://www.m17n.org/m17n-lib-download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86"
+#IUSE="anthy gd ispell"
+IUSE="gd"
+
+RDEPEND="x11-libs/libXaw
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXrender
+ x11-libs/libXft
+ dev-libs/libxml2
+ dev-libs/fribidi
+ >=media-libs/freetype-2.1
+ media-libs/fontconfig
+ gd? ( media-libs/gd )
+ >=dev-libs/libotf-0.9.4
+ >=dev-db/m17n-db-${PV}"
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+# anthy? ( app-i18n/anthy )
+# ispell? ( app-text/ispell )
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_setup() {
+ if use gd && ! built_with_use media-libs/gd png ; then
+ eerror "m17n-lib requires GD to be built with png support. Please add"
+ eerror "'png' to your USE flags, and re-emerge media-libs/gd."
+ die "Missing USE flag."
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-fribidi.patch
+}
+
+src_compile() {
+ append-flags -fPIC
+ econf $(use_with gd) || die
+ emake -j1 || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.5.5.ebuild b/dev-libs/m17n-lib/m17n-lib-1.5.5.ebuild
new file mode 100644
index 000000000000..416543dca70d
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.5.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit flag-o-matic
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://www.m17n.org/m17n-lib-download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+#IUSE="anthy gd ispell"
+IUSE="gd"
+
+RDEPEND="x11-libs/libXaw
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXrender
+ x11-libs/libXft
+ dev-libs/libxml2
+ dev-libs/fribidi
+ >=media-libs/freetype-2.1
+ media-libs/fontconfig
+ gd? ( media-libs/gd[png] )
+ >=dev-libs/libotf-0.9.4
+ >=dev-db/m17n-db-${PV}"
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+# anthy? ( app-i18n/anthy )
+# ispell? ( app-text/ispell )
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ append-flags -fPIC
+ econf $(use_with gd) || die
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.6.2.ebuild b/dev-libs/m17n-lib/m17n-lib-1.6.2.ebuild
new file mode 100644
index 000000000000..e94a5b9759fd
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.6.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://www.m17n.org/m17n-lib-download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+#IUSE="anthy gd ispell"
+IUSE="gd X"
+
+RDEPEND="
+ X? (
+ x11-libs/libXaw
+ x11-libs/libXft
+ x11-libs/libX11
+ gd? ( media-libs/gd[png] )
+ dev-libs/fribidi
+ >=media-libs/freetype-2.1
+ media-libs/fontconfig
+ >=dev-libs/libotf-0.9.4
+ )
+ dev-libs/libxml2
+ ~dev-db/m17n-db-${PV}"
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+# anthy? ( app-i18n/anthy )
+# ispell? ( app-text/ispell )
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gui.patch \
+ "${FILESDIR}"/${P}-parallel-make.patch \
+ "${FILESDIR}"/${P}-candidates-list.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=
+
+ if use X; then
+ myconf+=" --enable-gui $(use_with gd)"
+ else
+ myconf+=" --disable-gui --without-gd"
+ fi
+
+ econf ${myconf} || die
+}
+
+src_install() {
+ # bug #363239
+ emake -j1 DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.6.3-r1.ebuild b/dev-libs/m17n-lib/m17n-lib-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..a68b3af7cad6
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.6.3-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://www.m17n.org/m17n-lib-download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE="anthy athena anthy bidi fontconfig gd spell libotf libxml2 X xft"
+
+RDEPEND="
+ anthy? ( app-i18n/anthy )
+ spell? ( app-text/aspell )
+ libxml2? ( dev-libs/libxml2 )
+ X? (
+ athena? ( x11-libs/libXaw )
+ bidi? ( dev-libs/fribidi )
+ fontconfig? ( media-libs/fontconfig )
+ gd? ( media-libs/gd[png] )
+ libotf? ( >=dev-libs/libotf-0.9.4 )
+ xft? (
+ >=media-libs/freetype-2.1
+ x11-libs/libXft )
+ x11-libs/libX11
+ )
+ ~dev-db/m17n-db-${PV}"
+# athena? ( x11-libs/libXaw )
+# athena shoud be enabled to build m17n-edit properly when X is enabled.
+
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+#
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.2-gui.patch \
+ "${FILESDIR}"/${PN}-1.6.3-parallel-make.patch \
+ "${FILESDIR}"/${PN}-1.6.3-configure.patch \
+ "${FILESDIR}"/${PN}-1.6.3-ispell.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="$(use_with anthy) $(use_with spell ispell) $(use_with libxml2)"
+
+ if use X; then
+ myconf+=" --with-x --enable-gui $(use_with athena) $(use_with bidi fribidi)
+$(use_with fontconfig) $(use_with xft freetype) $(use_with gd) $(use_with libotf)
+$(use_with xft)"
+ else
+ myconf+=" --without-x --disable-gui --without-athena --without-fribidi
+--without-fontconfig --without-freetype --without-gd --without-libotf
+--without-xft"
+ fi
+
+ econf ${myconf} || die
+}
+
+src_install() {
+ # bug #363239
+ emake -j1 DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.6.3.ebuild b/dev-libs/m17n-lib/m17n-lib-1.6.3.ebuild
new file mode 100644
index 000000000000..68ed2baa7194
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.6.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://www.m17n.org/m17n-lib-download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+#IUSE="anthy gd ispell"
+IUSE="gd X"
+
+RDEPEND="
+ X? (
+ x11-libs/libXaw
+ x11-libs/libXft
+ x11-libs/libX11
+ gd? ( media-libs/gd[png] )
+ dev-libs/fribidi
+ >=media-libs/freetype-2.1
+ media-libs/fontconfig
+ >=dev-libs/libotf-0.9.4
+ )
+ dev-libs/libxml2
+ ~dev-db/m17n-db-${PV}"
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+# anthy? ( app-i18n/anthy )
+# ispell? ( app-text/ispell )
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.2-gui.patch \
+ "${FILESDIR}"/${PN}-1.6.3-parallel-make.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=
+
+ if use X; then
+ myconf+=" --enable-gui $(use_with gd)"
+ else
+ myconf+=" --disable-gui --without-gd"
+ fi
+
+ econf ${myconf} || die
+}
+
+src_install() {
+ # bug #363239
+ emake -j1 DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.6.4.ebuild b/dev-libs/m17n-lib/m17n-lib-1.6.4.ebuild
new file mode 100644
index 000000000000..dc1c05e06e47
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.6.4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+HOMEPAGE="https://savannah.nongnu.org/projects/m17n"
+SRC_URI="http://download.savannah.gnu.org/releases/m17n/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="anthy athena anthy bidi fontconfig gd spell libotf libxml2 X xft"
+
+RDEPEND="
+ anthy? ( app-i18n/anthy )
+ spell? ( app-text/aspell )
+ libxml2? ( dev-libs/libxml2 )
+ X? (
+ athena? ( x11-libs/libXaw )
+ bidi? ( dev-libs/fribidi )
+ fontconfig? ( media-libs/fontconfig )
+ gd? ( media-libs/gd[png] )
+ libotf? ( >=dev-libs/libotf-0.9.4 )
+ xft? (
+ >=media-libs/freetype-2.1
+ x11-libs/libXft )
+ x11-libs/libX11
+ )
+ ~dev-db/m17n-db-${PV}"
+# athena? ( x11-libs/libXaw )
+# athena shoud be enabled to build m17n-edit properly when X is enabled.
+
+# linguas_th? ( || ( app-i18n/libthai app-i18n/wordcut ) )
+#
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.2-gui.patch \
+ "${FILESDIR}"/${PN}-1.6.3-parallel-make.patch \
+ "${FILESDIR}"/${PN}-1.6.3-configure.patch \
+ "${FILESDIR}"/${PN}-1.6.3-ispell.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="$(use_with anthy) $(use_with spell ispell) $(use_with libxml2)"
+
+ if use X; then
+ myconf+=" --with-x --enable-gui $(use_with athena) $(use_with bidi fribidi)
+$(use_with fontconfig) $(use_with xft freetype) $(use_with gd) $(use_with libotf)
+$(use_with xft)"
+ else
+ myconf+=" --without-x --disable-gui --without-athena --without-fribidi
+--without-fontconfig --without-freetype --without-gd --without-libotf
+--without-xft"
+ fi
+
+ econf ${myconf} || die
+}
+
+src_install() {
+ # bug #363239
+ emake -j1 DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/dev-libs/m17n-lib/metadata.xml b/dev-libs/m17n-lib/metadata.xml
new file mode 100644
index 000000000000..8c2cd4b2c2ab
--- /dev/null
+++ b/dev-libs/m17n-lib/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cjk</herd>
+ <use>
+ <flag name='X'>
+ Builds the Graphical User Interface API and utilities for the
+ package.
+ </flag>
+ <flag name='anthy'>Enable support for <pkg>app-i18n/anthy</pkg>
+ input method.</flag>
+ <flag name='athena'>Enable the MIT Athena widget set
+ (<pkg>x11-libs/libXaw</pkg>)</flag>
+ <flag name='gd'>
+ Build API and utilities based on <pkg>media-libs/gd</pkg>. This
+ flag is only meaningful if the X USE flag is also enabled.
+ </flag>
+ <flag name='libotf'>Use <pkg>dev-libs/libotf</pkg> to handle OpenType fonts</flag>
+ <flag name='libxml2'>Use <pkg>dev-libs/libxml2</pkg> to parse XML</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/maloc/Manifest b/dev-libs/maloc/Manifest
new file mode 100644
index 000000000000..1f18fd0e99fb
--- /dev/null
+++ b/dev-libs/maloc/Manifest
@@ -0,0 +1 @@
+DIST maloc-1.5.tar.gz 794138 SHA256 58e1197fcd4c74d3cbb1d39d712eb0a3c5886a1e6629f22c5c78ce2bac983fc0 SHA512 9b50ffc0dd2a9c74808783fdc3bcad9dd6fb4ba0edcdad099eb7ab5e9a1f7d5c708db4b6e2a5373adfabd2a013b1cc4f92281905ef108df3fa6376726ca7a62c WHIRLPOOL 5b25dfc1db28712cb1bb4dbcefcfd5e462d1baa8029db462a8be5fa13baf08756804416c6d32231e5e2d42e5a31184f2a6ca255b860744a8a10a31915900781a
diff --git a/dev-libs/maloc/files/0.2.1-asneeded.patch b/dev-libs/maloc/files/0.2.1-asneeded.patch
new file mode 100644
index 000000000000..8e2e20cd41af
--- /dev/null
+++ b/dev-libs/maloc/files/0.2.1-asneeded.patch
@@ -0,0 +1,13 @@
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index 6e06324..d1e825b 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -53,7 +53,7 @@ libdir = ${prefix}/lib/${fetk_cpu_vendor_os}
+ lib_LTLIBRARIES = libmaloc.la ${LIBEFENCE}
+
+ libmaloc_la_SOURCES =
+-libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS}
++libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS} -lreadline -lm
+ libmaloc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libefence_la_SOURCES =
diff --git a/dev-libs/maloc/files/0.2.1-mpi.patch b/dev-libs/maloc/files/0.2.1-mpi.patch
new file mode 100644
index 000000000000..824752bdbeb8
--- /dev/null
+++ b/dev-libs/maloc/files/0.2.1-mpi.patch
@@ -0,0 +1,24 @@
+diff --git a/configure.ac b/configure.ac
+index ab7726e..0208780 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -381,12 +381,14 @@ AC_SUBST(rl_inc)
+ dnl # ----------------------
+ dnl # HANDLE THE MPI LIBRARY
+ dnl # ----------------------
++mpi_use="";
+ AC_MSG_CHECKING([whether you want MPI])
+-AC_ARG_ENABLE(mpi,
+- [ --enable-mpi enable MPI layer [[default=no]]],
+- [ mpi_use="yes" ],
+- [ mpi_use="" ]
+-)
++AC_ARG_ENABLE([mpi],
++ AS_HELP_STRING([--enable-mpi enable MPI layer [[default=no]]]))
++
++AS_IF([test "x$enable_mpi" = "xyes"], [
++ mpi_use="yes"
++])
+ mpi_lib="";
+ mpi_inc="";
+ if test -z "${mpi_use}"; then
diff --git a/dev-libs/maloc/files/1.4-asneeded.patch b/dev-libs/maloc/files/1.4-asneeded.patch
new file mode 100644
index 000000000000..aed7299e089a
--- /dev/null
+++ b/dev-libs/maloc/files/1.4-asneeded.patch
@@ -0,0 +1,17 @@
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index 512e1ef..eda73ee 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -49,11 +49,10 @@ else
+ LIBEFENCE =
+ endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libmaloc.la ${LIBEFENCE}
+
+ libmaloc_la_SOURCES =
+-libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS}
++libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS} -lreadline -lm
+ libmaloc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libefence_la_SOURCES =
diff --git a/dev-libs/maloc/files/1.4-doc.patch b/dev-libs/maloc/files/1.4-doc.patch
new file mode 100644
index 000000000000..73be364812cc
--- /dev/null
+++ b/dev-libs/maloc/files/1.4-doc.patch
@@ -0,0 +1,21 @@
+diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
+index 2686292..8f77fe2 100644
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -29,14 +29,12 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/maloc
+-
+ doc_DATA = maloc_doc
+
+ maloc_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/maloc.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@
+
diff --git a/dev-libs/maloc/files/1.4-mpi.patch b/dev-libs/maloc/files/1.4-mpi.patch
new file mode 100644
index 000000000000..807d5ddc8d38
--- /dev/null
+++ b/dev-libs/maloc/files/1.4-mpi.patch
@@ -0,0 +1,24 @@
+diff --git a/configure.ac b/configure.ac
+index d82b184..b8c5321 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -397,12 +397,14 @@ AC_SUBST(rl_inc)
+ dnl # ----------------------
+ dnl # HANDLE THE MPI LIBRARY
+ dnl # ----------------------
++mpi_use=""
+ AC_MSG_CHECKING([whether you want MPI])
+-AC_ARG_ENABLE(mpi,
+- [ --enable-mpi enable MPI layer [[default=no]]],
+- [ mpi_use="yes" ],
+- [ mpi_use="" ]
+-)
++AC_ARG_ENABLE([mpi],
++ AS_HELP_STRING([--enable-mpi enable MPI layer [[default=no]]]))
++
++AS_IF([test "x$enable_mpi" = "xyes"], [
++ mpi_use="yes"
++])
+ mpi_lib="";
+ mpi_inc="";
+ if test -z "${mpi_use}"; then
diff --git a/dev-libs/maloc/maloc-1.5-r1.ebuild b/dev-libs/maloc/maloc-1.5-r1.ebuild
new file mode 100644
index 000000000000..dd3d7e37b65a
--- /dev/null
+++ b/dev-libs/maloc/maloc-1.5-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Minimal Abstraction Layer for Object-oriented C/C++ programs"
+HOMEPAGE="http://www.fetk.org/codes/maloc/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="doc mpi static-libs"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sys-libs/readline
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen
+ )"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/1.4-mpi.patch
+ "${FILESDIR}"/1.4-asneeded.patch
+ "${FILESDIR}"/1.4-doc.patch
+ )
+
+src_prepare() {
+ echo 'VPUBLIC int Vio_getc(Vio *thee){ ASC *asc; asc = thee->axdr; return asc->buf[asc->pos++]; }' >> src/vsys/vio.c || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs
+ use mpi && export CC="mpicc"
+ use doc || myeconfargs+=( --with-doxygen= --with-dot= )
+
+ myeconfargs+=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable mpi)
+ --disable-triplet
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ # install doc
+ dohtml doc/index.html
+}
diff --git a/dev-libs/maloc/metadata.xml b/dev-libs/maloc/metadata.xml
new file mode 100644
index 000000000000..897aa2e6b59a
--- /dev/null
+++ b/dev-libs/maloc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+</pkgmetadata>
diff --git a/dev-libs/mapm/Manifest b/dev-libs/mapm/Manifest
new file mode 100644
index 000000000000..08a7b26a9d6b
--- /dev/null
+++ b/dev-libs/mapm/Manifest
@@ -0,0 +1 @@
+DIST mapm-4.9.5.tar.gz 162943 SHA256 5ee2bb31a3006d0d94d19ebebd618e0a738f7ab5fcb17f2eb31cc2b8f0d9dac9 SHA512 1d0b489395fdfcb0c23ce2d242c63de739c45e33827411c976f6e7c48b18fc2afe599270139f40108b1f30573134d9d5950f3316613a45f567f53cfd59f4dc3e WHIRLPOOL c93ab67e9e7796280702179ee7409e7dc05405637522d5884b3fb646f513361fdb327e698369bfa53d01c00ea23e740f4bfed1b2665650a48af7415b05f720cd
diff --git a/dev-libs/mapm/files/4.9.5-missing_include.patch b/dev-libs/mapm/files/4.9.5-missing_include.patch
new file mode 100644
index 000000000000..e03b122ea0dc
--- /dev/null
+++ b/dev-libs/mapm/files/4.9.5-missing_include.patch
@@ -0,0 +1,12 @@
+diff -Naur mapm_4.9.5.orig/m_apm.h mapm_4.9.5/m_apm.h
+--- mapm_4.9.5.orig/m_apm.h 2009-03-02 11:55:18.914770612 +0100
++++ mapm_4.9.5/m_apm.h 2009-03-02 11:56:19.585923499 +0100
+@@ -159,6 +159,8 @@
+ #ifndef M__APM__INCLUDED
+ #define M__APM__INCLUDED
+
++#include <stdlib.h>
++
+ #ifdef __cplusplus
+ /* Comment this line out if you've compiled the library as C++. */
+ #define APM_CONVERT_FROM_C
diff --git a/dev-libs/mapm/mapm-4.9.5.ebuild b/dev-libs/mapm/mapm-4.9.5.ebuild
new file mode 100644
index 000000000000..08e03db8a321
--- /dev/null
+++ b/dev-libs/mapm/mapm-4.9.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Mike's Arbitrary Precision Math Library"
+HOMEPAGE="http://www.tc.umn.edu/~ringx004/mapm-main.html"
+SRC_URI="http://www.tc.umn.edu/~ringx004/${P}.tar.gz"
+
+LICENSE="mapm-4.9.5"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${PN}_${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-missing_include.patch"
+}
+
+src_compile() {
+ $(tc-getCC) -c -Wall ${CFLAGS} -fPIC map*.c || die "compiling sources failed"
+ $(tc-getCC) -shared ${LDFLAGS} -Wl,--soname=libmapm.so -o libmapm.so.0 map*.o || die "linking sources failed"
+}
+
+src_install() {
+ dolib.so libmapm.so.0
+# dosym libmapm.so.0 /usr/$(get_libdir)/libmapm.so
+
+ insinto /usr/include
+ doins m_apm.h
+
+ insinto /usr/share/doc/${PF}/examples
+ doins calc.c validate.c primenum.c cpp_demo.cpp
+
+ cd DOCS
+ dodoc README article.pdf algorithms.used commentary.txt \
+ cpp_function.ref function.ref history.txt struct.ref
+
+}
diff --git a/dev-libs/mapm/metadata.xml b/dev-libs/mapm/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/mapm/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/marisa/Manifest b/dev-libs/marisa/Manifest
new file mode 100644
index 000000000000..7e4988066bd4
--- /dev/null
+++ b/dev-libs/marisa/Manifest
@@ -0,0 +1 @@
+DIST marisa-0.2.4.tar.gz 502552 SHA256 67a7a4f70d3cc7b0a85eb08f10bc3eaf6763419f0c031f278c1f919121729fb3 SHA512 71aee3ae034d1ce725d986bef43472d61bd64f0af3ccda01bb019cce03f0872629b6a1b305e717056bef06e036372323b2a67e5dc69705d6a74e028b5e2553e4 WHIRLPOOL bf902c90b70bf81209e6e86fd15962c8ff7f811fb168fba0688200ab11f29c36199223311ea8d15a891fcb170745587cce7c2e3e4d2ed7e158af9d1d9841b3e4
diff --git a/dev-libs/marisa/files/marisa-0.2.4-python.patch b/dev-libs/marisa/files/marisa-0.2.4-python.patch
new file mode 100644
index 000000000000..fba0e016d475
--- /dev/null
+++ b/dev-libs/marisa/files/marisa-0.2.4-python.patch
@@ -0,0 +1,15 @@
+--- bindings/python/setup.py 2011-05-14 07:20:52.000000000 +0200
++++ bindings/python/setup.py 2013-08-02 17:04:16.423771834 +0200
+@@ -1,8 +1,10 @@
+ from distutils.core import setup, Extension
+
+ marisa_module = Extension("_marisa",
+- sources=["marisa-swig_wrap.cxx", "marisa-swig.cxx"],
+- libraries=["marisa"])
++ sources=["marisa-swig.i", "marisa-swig.cxx"],
++ swig_opts=["-c++"],
++ libraries=["marisa"], library_dirs=["../../lib/.libs"],
++ include_dirs=["../../lib"])
+
+ setup(name = "marisa",
+ ext_modules = [marisa_module],
diff --git a/dev-libs/marisa/marisa-0.2.4.ebuild b/dev-libs/marisa/marisa-0.2.4.ebuild
new file mode 100644
index 000000000000..e1e0cdbb7686
--- /dev/null
+++ b/dev-libs/marisa/marisa-0.2.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Matching Algorithm with Recursively Implemented StorAge"
+HOMEPAGE="https://code.google.com/p/marisa-trie/"
+SRC_URI="https://marisa-trie.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc ppc64 ~x86"
+IUSE="python doc static-libs cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_sse4a cpu_flags_x86_popcnt"
+
+DEPEND="python? ( dev-lang/swig ${PYTHON_DEPS} )"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+
+# implied by --enable switches
+REQUIRED_USE="
+ cpu_flags_x86_popcnt? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse4a? ( cpu_flags_x86_popcnt cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_popcnt cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python.patch"
+ if use python; then
+ pushd bindings/python || die
+ ln -sf ../marisa-swig.i marisa-swig.i || die
+ ln -sf ../marisa-swig.h marisa-swig.h || die
+ ln -sf ../marisa-swig.cxx marisa-swig.cxx || die
+ distutils-r1_src_prepare
+ popd || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_sse3 sse3)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ $(use_enable cpu_flags_x86_sse4_1 sse4.1)
+ $(use_enable cpu_flags_x86_sse4_2 sse4.2)
+ # sse4 is just an alias to sse4.2
+ $(use_enable cpu_flags_x86_sse4a sse4a)
+ $(use_enable cpu_flags_x86_popcnt popcnt)
+ )
+ econf "${myeconfargs[@]}"
+
+ if use python; then
+ pushd bindings/python || die
+ distutils-r1_src_prepare
+ popd || die
+ fi
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd bindings/python || die
+ distutils-r1_src_compile
+ popd || die
+ fi
+}
+
+src_install() {
+ default
+ if use python; then
+ pushd bindings/python || die
+ distutils-r1_src_install
+ popd || die
+ fi
+ use doc && dohtml docs/readme.en.html
+ prune_libtool_files
+}
diff --git a/dev-libs/marisa/metadata.xml b/dev-libs/marisa/metadata.xml
new file mode 100644
index 000000000000..2d5852c16c60
--- /dev/null
+++ b/dev-libs/marisa/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+</pkgmetadata>
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
new file mode 100644
index 000000000000..dda9cac6e8fb
--- /dev/null
+++ b/dev-libs/mathjax/Manifest
@@ -0,0 +1,3 @@
+DIST mathjax-2.1.tar.gz 8834936 SHA256 f1a1aaa8b91ad5c749b3767ebd75294a7c305646f320d106899e2ea9227613d6 SHA512 b90399df7e06a77250fc76d9fd2de0c53c781e5897b85a01cf3a4ec033deea479e15d7d20ddad2730444d786fb6814ee88b5553ab89d7143fbf8f5b1b27fc330 WHIRLPOOL 499421b90f55ea34e379e3aa79fb37ef10c5704a8f019a775c59ff62172ee2de98e7a20576681b4976778117ca811eab221fa0d1af0dab9de86b0b712c41a323
+DIST mathjax-2.2.tar.gz 8974100 SHA256 7879b59d2992bc31cda0d8b9d4f8fb47d4435f3129e421be46cc6d3136ed7449 SHA512 11987a959a7b154ea8df4ad93ce6193eed930affcfbfd2ba3fd965356c3ea957ef73a3ea6830a841bbe81f64ed0d9a78ab9fd74d0cbf011671b7d174cdc1f80c WHIRLPOOL 5bfba913fe1d768561c52154b714791afd8721673c2b404e3f4dd2b0c18855843521baf6ac534bb07826d475f83e81b4131e218d2e359f329b9cc8f143e40899
+DIST mathjax-2.4.tar.gz 23048619 SHA256 f1450bafe63599729df7a879e40127f29cfc265abc4a0626bf9d274ed261cbeb SHA512 ee1662b3253fc77aa05d718b215c25b09cd28c0ac4a192537f9965b685452855439e192f0a816a7a1046b721cfa66558c5d4a1a1972db2ea351f2b9c71f24df0 WHIRLPOOL a1e68cfe968a2f36e3e693f0a03351d6c2bb8019f2b20975d6c4805839fb24793f31a12aebe68acabbada3dbf2c54f8da17641ead0451a122fd8e584700f11f6
diff --git a/dev-libs/mathjax/mathjax-2.1.ebuild b/dev-libs/mathjax/mathjax-2.1.ebuild
new file mode 100644
index 000000000000..adcf7408d480
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="http://www.mathjax.org/"
+SRC_URI="https://github.com/mathjax/MathJax/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RESTRICT="binchecks"
+
+S=${WORKDIR}/MathJax-${PV}
+
+make_webconf() {
+ # web server config file - should we really do this?
+ cat > $1 <<-EOF
+ Alias /MathJax/ ${EPREFIX}${webinstalldir}/
+ Alias /mathjax/ ${EPREFIX}${webinstalldir}/
+
+ <Directory ${EPREFIX}${webinstalldir}>
+ Options None
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ EOF
+}
+
+src_prepare() {
+ find . -name .gitignore -delete || die
+}
+
+src_install() {
+ dodoc README*
+ use doc && dohtml -r docs/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r test/*
+ fi
+ rm -rf test docs LICENSE README* || die
+
+ webinstalldir=/usr/share/${PN}
+ insinto ${webinstalldir}
+ doins -r *
+
+ make_webconf MathJax.conf
+ insinto /etc/httpd/conf.d
+ doins MathJax.conf
+}
diff --git a/dev-libs/mathjax/mathjax-2.2.ebuild b/dev-libs/mathjax/mathjax-2.2.ebuild
new file mode 100644
index 000000000000..5334ef6374fa
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="http://www.mathjax.org/"
+SRC_URI="https://github.com/mathjax/MathJax/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RESTRICT="binchecks"
+
+S=${WORKDIR}/MathJax-${PV}
+
+make_webconf() {
+ # web server config file - should we really do this?
+ cat > $1 <<-EOF
+ Alias /MathJax/ ${EPREFIX}${webinstalldir}/
+ Alias /mathjax/ ${EPREFIX}${webinstalldir}/
+
+ <Directory ${EPREFIX}${webinstalldir}>
+ Options None
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ EOF
+}
+
+src_prepare() {
+ find . -name .gitignore -delete || die
+}
+
+src_install() {
+ dodoc README*
+ use doc && dohtml -r docs/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r test/*
+ fi
+ rm -rf test docs LICENSE README* || die
+
+ webinstalldir=/usr/share/${PN}
+ insinto ${webinstalldir}
+ doins -r *
+
+ make_webconf MathJax.conf
+ insinto /etc/httpd/conf.d
+ doins MathJax.conf
+}
diff --git a/dev-libs/mathjax/mathjax-2.4.ebuild b/dev-libs/mathjax/mathjax-2.4.ebuild
new file mode 100644
index 000000000000..a4ff2ef3aff3
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="http://www.mathjax.org/"
+SRC_URI="https://github.com/mathjax/MathJax/archive/v${PV}-latest.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RESTRICT="binchecks"
+
+S=${WORKDIR}/MathJax-${PV}-latest
+
+make_webconf() {
+ # web server config file - should we really do this?
+ cat > $1 <<-EOF
+ Alias /MathJax/ ${EPREFIX}${webinstalldir}/
+ Alias /mathjax/ ${EPREFIX}${webinstalldir}/
+
+ <Directory ${EPREFIX}${webinstalldir}>
+ Options None
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ EOF
+}
+
+src_prepare() {
+ find . -name .gitignore -delete || die
+}
+
+src_install() {
+ dodoc README*
+ use doc && dohtml -r docs/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r test/*
+ fi
+ rm -rf test docs LICENSE README* || die
+
+ webinstalldir=/usr/share/${PN}
+ insinto ${webinstalldir}
+ doins -r *
+
+ make_webconf MathJax.conf
+ insinto /etc/httpd/conf.d
+ doins MathJax.conf
+}
diff --git a/dev-libs/mathjax/metadata.xml b/dev-libs/mathjax/metadata.xml
new file mode 100644
index 000000000000..aad9ffd3c2ae
--- /dev/null
+++ b/dev-libs/mathjax/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <longdescription lang="en">
+ MathJax is an open-source JavaScript display engine for LaTeX and
+ MathML that works in all modern browsers. It was designed with the
+ goal of consolidating the recent advances in web technologies into a
+ single, definitive, math-on-the-web platform supporting the major
+ browsers and operating systems. It requires no setup on the part of
+ the user (no plugins to downlaod or software to install), so the
+ page author can write web documents that include mathematics and be
+ confident that users will be able to view it naturally and
+ easily. One simply includes MathJax and some mathematics in a web
+ page, and MathJax does the rest.
+</longdescription>
+ <upstream>
+ <remote-id type="github">mathjax/MathJax</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/matrixssl/Manifest b/dev-libs/matrixssl/Manifest
new file mode 100644
index 000000000000..0e69ce70f04c
--- /dev/null
+++ b/dev-libs/matrixssl/Manifest
@@ -0,0 +1 @@
+DIST matrixssl-3-6-1-open.tgz 4342141 SHA256 22f1426c61a9d1b699e7ebbb6c14b00c949613f224429702723fd762642985ee SHA512 762c280d1d1b3a729d95a5b6aa3bab31dd7c725c76a47521709f00d2294693c266690e106d2619f2d4c8ece1757eaf0e45fff84a5c1763938317f09fa2ea2907 WHIRLPOOL 2225846e74eb14b76900fd0124039cd594c1887b83dea36d4fdc6737d17c87de85a19f780887d874e2c846e3edf9e4dede56aa081387a7706f20d4d5c6b7c4b9
diff --git a/dev-libs/matrixssl/matrixssl-3.6.1.ebuild b/dev-libs/matrixssl/matrixssl-3.6.1.ebuild
new file mode 100644
index 000000000000..6e2d44e1c2d9
--- /dev/null
+++ b/dev-libs/matrixssl/matrixssl-3.6.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs
+
+MY_P=${P//./-}-open
+
+DESCRIPTION="embedded SSL implementation"
+HOMEPAGE="http://www.matrixssl.org/"
+SRC_URI="http://www.matrixssl.org/cgi-bin/dl.pl?agree=1&.submit=DOWNLOAD -> ${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ local myconf=(
+ CC="$(tc-getCC)"
+ STRIP=true
+ AR="$(tc-getAR)"
+ DFLAGS="${CFLAGS} -Wall"
+ )
+
+ if use static-libs; then
+ emake "${myconf[@]}"
+ else
+ emake lib${PN}.so "${myconf[@]}"
+ fi
+}
+
+src_install() {
+ dolib.so libmatrixssl.so
+ use static-libs && dolib.a libmatrixssl.a
+
+ # API is exposed from matrixsslApi.h and rest is included recursively
+ insinto /usr/include/matrixssl
+ doins matrixssl/*.h
+
+ local h1
+ for h1 in core crypto; do
+ insinto /usr/include/matrixssl/${h1}
+ doins ${h1}/*.h
+ done
+
+ local h2
+ for h2 in digest hardware keyformat math prng pubkey symmetric; do
+ insinto /usr/include/matrixssl/crypto/${h2}
+ doins crypto/${h2}/*.h
+ done
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/pdf
+ doins doc/*.pdf
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r apps sampleCerts
+ fi
+
+ dodoc readme.txt
+}
diff --git a/dev-libs/matrixssl/metadata.xml b/dev-libs/matrixssl/metadata.xml
new file mode 100644
index 000000000000..5c40e771595f
--- /dev/null
+++ b/dev-libs/matrixssl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>embedded</herd>
+</pkgmetadata>
diff --git a/dev-libs/mdsplib/Manifest b/dev-libs/mdsplib/Manifest
new file mode 100644
index 000000000000..39066f9c9b59
--- /dev/null
+++ b/dev-libs/mdsplib/Manifest
@@ -0,0 +1 @@
+DIST mdsplib-0.11.tar.gz 70435 SHA256 bef3e2ecce276e720b903de00ad244e3e56fc2684e91ce5570965819af9577da SHA512 5baf7c23884ab21d2111a05c97a988ff82b003f0b3243ce5fabe5a9757c149a007e7ec6e0baf80de4fa75630c640b2411598a0b06848c7b96fd6ef070e76a687 WHIRLPOOL 525774ac1e1cce1373060adb441325aa6cf68c702d4b22596d860cc81d2d90e96f5142d586b5f62d4c6833e1e8d7f019efa5b8677270590c2eab5ce02563676c
diff --git a/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch b/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch
new file mode 100644
index 000000000000..92d96147bb72
--- /dev/null
+++ b/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch
@@ -0,0 +1,46 @@
+diff -ur mdsplib-0.11.orig/Makefile mdsplib-0.11/Makefile
+--- mdsplib-0.11.orig/Makefile 2003-12-10 21:56:23.000000000 +0200
++++ mdsplib-0.11/Makefile 2009-08-06 13:33:03.000000000 +0300
+@@ -1,5 +1,6 @@
+-CC = gcc
+-CFLAGS = -O3
++AR ?= ar
++CC ?= gcc
++RANLIB ?= ranlib
+ LIBS =
+
+ library: libmetar.a
+@@ -7,11 +8,11 @@
+ all: dmetar library
+
+ libmetar.a: src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
+- ar ruv libmetar.a src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
+- ranlib libmetar.a
++ $(AR) ruv libmetar.a src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
++ $(RANLIB) libmetar.a
+
+ dmetar: src/drvmetar.o libmetar.a
+- $(CC) $(CFLAGS) -o dmetar src/drvmetar.o libmetar.a $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o dmetar src/drvmetar.o libmetar.a $(LIBS)
+
+ src/antoi.o: src/antoi.c src/local.h
+ $(CC) $(CFLAGS) -c src/antoi.c -o src/antoi.o
+@@ -48,5 +49,5 @@
+ chmod 0644 /usr/local/include/metar.h
+ cp libmetar.a /usr/local/lib/
+ chmod 0644 /usr/local/lib/libmetar.a
+- ranlib /usr/local/lib/libmetar.a
++ $(RANLIB) /usr/local/lib/libmetar.a
+
+diff -ur mdsplib-0.11.orig/src/local.h mdsplib-0.11/src/local.h
+--- mdsplib-0.11.orig/src/local.h 2003-12-10 23:30:56.000000000 +0200
++++ mdsplib-0.11/src/local.h 2009-08-06 13:27:03.000000000 +0300
+@@ -1175,7 +1175,7 @@
+ char *strupr(char *);
+ char *strlwr(char *);
+ /* char *strdup(char *); */
+-char *strndup(char *, int);
++/* char *strndup(char *, int); */
+ int strcmpi(char *, char *);
+
+ /* void *memccpy(void *, void *, int, unsigned); */
diff --git a/dev-libs/mdsplib/mdsplib-0.11.ebuild b/dev-libs/mdsplib/mdsplib-0.11.ebuild
new file mode 100644
index 000000000000..82029d0f7ddd
--- /dev/null
+++ b/dev-libs/mdsplib/mdsplib-0.11.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils toolchain-funcs
+
+DESCRIPTION="METAR Decoder Software Package Library"
+HOMEPAGE="http://limulus.net/mdsplib/"
+SRC_URI="http://limulus.net/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_compile() {
+ tc-export AR CC RANLIB
+ emake all || die "emake all failed"
+}
+
+src_install() {
+ insinto /usr/include
+ insopts -m0644
+ doins metar.h || die "doins failed"
+ dolib.a libmetar.a || die "dolib.a failed"
+ dodoc README README.MDSP
+ dobin dmetar || die "dobin failed"
+}
diff --git a/dev-libs/mdsplib/metadata.xml b/dev-libs/mdsplib/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/mdsplib/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/metadata.xml b/dev-libs/metadata.xml
new file mode 100644
index 000000000000..e85537c9b212
--- /dev/null
+++ b/dev-libs/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-libs category contains various miscellaneous programming
+ libraries.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-libs enthält verschiedenste Programmierbibliotheken.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-libs contiene varias librerías mixtas
+ para programación.
+ </longdescription>
+ <longdescription lang="ja">
+ dev-libsカテゴリーには多種多様なプログラミング・ライブラリが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-libs categorie bevat verschillende bibliotheken die het
+ programmeren ondersteunen.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-libs chứa các thư viện lập trình khác nhau.
+ </longdescription>
+ <longdescription lang="sk">
+ Kategória dev-libs obsahuje rôzne programovacie knižnice.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria dev-libs contiene varie librerie per la programmazione.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-libs contém várias bibliotecas mistas para
+ programação.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-libs zawiera różne dodatkowe biblioteki związane z programowaniem.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-libs/mini-xml/Manifest b/dev-libs/mini-xml/Manifest
new file mode 100644
index 000000000000..c9dd5a196127
--- /dev/null
+++ b/dev-libs/mini-xml/Manifest
@@ -0,0 +1,2 @@
+DIST mxml-2.7.tar.gz 262027 SHA256 a77200ee4c1e1cf2eb531595ec17ce31805760699d260915496c39d3388eb803 SHA512 9fac34975c35d0ff9686a20a882824040b0b96b38ab9f1f5b1ef24a323668974860d4d977bb07c90a3e2b3410a2d8358eec1682b2c7ff2cda7f36f630ff97007 WHIRLPOOL 1c899377e69f2763e9502d60e957aa0318710f45b57ebc2099090e8439d27f7024bdeaa59042edf202aa1579f81d3e6296f7718dd7bc34faf346967ad6b05d64
+DIST mxml-2.8.tar.gz 264044 SHA256 0c9369f91a718d82e32cb007c0bd41b6642822c9a0ffe1d10eccbdea9a3011d5 SHA512 f6ecb9edfe9917137b47b41be941b22c1054b38e7f2e16977a0e9dfa554f2e62886fc65ac404e4445f10fba7c6dbb30a235525cccba75c9daf3da4ba251cf3bd WHIRLPOOL ab3c058f63820d19dfe6a359552a61ad5c18a73aa9f8fb728a2524e8ddde5dcc9843cd8aab2c07ba1649e3ca92a705856c11d4dabfb6f345360cf086f924e2d1
diff --git a/dev-libs/mini-xml/metadata.xml b/dev-libs/mini-xml/metadata.xml
new file mode 100644
index 000000000000..5eb541d497f3
--- /dev/null
+++ b/dev-libs/mini-xml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ruepel@gmx.li</email>
+ <name>Rüpel</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/mini-xml/mini-xml-2.7-r1.ebuild b/dev-libs/mini-xml/mini-xml-2.7-r1.ebuild
new file mode 100644
index 000000000000..410e40fcb900
--- /dev/null
+++ b/dev-libs/mini-xml/mini-xml-2.7-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools multilib
+
+MY_P="${P/mini-xml/mxml}"
+
+DESCRIPTION="Small XML parsing library to read XML and XML-like data files"
+HOMEPAGE="http://www.minixml.org/"
+SRC_URI="http://www.msweet.org/files/project3/${MY_P}.tar.gz"
+
+LICENSE="Mini-XML"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="threads static-libs"
+
+DEPEND="virtual/pkgconfig"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -i -e "s:755 -s:755:" Makefile.in || die "sed failed"
+ sed -i "/^TARGETS/s: testmxml::" Makefile.in || die "sed failed"
+ sed -i -e 's:$(DSO) $(DSOFLAGS) -o libmxml.so.1.5 $(LIBOBJS):$(DSO) $(DSOFLAGS) $(LDFLAGS) -o libmxml.so.1.5 $(LIBOBJS):' \
+ Makefile.in || die "sed failed"
+ sed -i -e 's:OPTIM="-Os -g":OPTIM="":' configure.in || die "sed failed"
+ rm configure
+# eautoreconf
+ eautoconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --libdir="/usr/$(get_libdir)" \
+ --with-docdir="/usr/share/doc/${PF}/html" \
+ $(use_enable threads)
+}
+
+src_compile() {
+ emake libmxml.so.1.5 mxmldoc doc/mxml.man || die "make failed"
+}
+
+src_install() {
+ emake DSTROOT="${D}" install || die "install failed"
+
+ if ! use static-libs; then
+ rm -vf "${ED}"/usr/$(get_libdir)/libmxml.a || die
+ fi
+
+ dodoc ANNOUNCEMENT CHANGES README
+ rm "${D}/usr/share/doc/${PF}/html/"{CHANGES,COPYING,README}
+}
+
+src_test() {
+ emake testmxml || die "make testmxml failed"
+}
diff --git a/dev-libs/mini-xml/mini-xml-2.8.ebuild b/dev-libs/mini-xml/mini-xml-2.8.ebuild
new file mode 100644
index 000000000000..8be99c5b82f7
--- /dev/null
+++ b/dev-libs/mini-xml/mini-xml-2.8.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools multilib
+
+MY_P="${P/mini-xml/mxml}"
+
+DESCRIPTION="Small XML parsing library to read XML and XML-like data files"
+HOMEPAGE="http://www.minixml.org/"
+SRC_URI="http://www.msweet.org/files/project3/${MY_P}.tar.gz"
+
+LICENSE="Mini-XML"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="threads static-libs"
+
+DEPEND="virtual/pkgconfig"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -e "s:755 -s:755:" \
+ -e "/^TARGETS/s: testmxml::" \
+ -e 's:$(DSO) $(DSOFLAGS) -o libmxml.so.1.5 $(LIBOBJS):$(DSO) $(DSOFLAGS) $(LDFLAGS) -o libmxml.so.1.5 $(LIBOBJS):' \
+ -i Makefile.in || die "sed failed"
+ sed -i -e 's:OPTIM="-Os -g":OPTIM="":' configure.in || die "sed failed"
+ rm configure
+# eautoreconf
+ eautoconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --libdir="/usr/$(get_libdir)" \
+ --with-docdir="/usr/share/doc/${PF}/html" \
+ $(use_enable threads)
+}
+
+src_compile() {
+ emake libmxml.so.1.5 mxmldoc doc/mxml.man
+}
+
+src_install() {
+ emake DSTROOT="${D}" install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/libmxml.a || die
+ fi
+
+ dodoc ANNOUNCEMENT CHANGES README
+ rm "${D}/usr/share/doc/${PF}/html/"{CHANGES,COPYING,README} || die
+}
+
+src_test() {
+ emake testmxml
+}
diff --git a/dev-libs/mm/Manifest b/dev-libs/mm/Manifest
new file mode 100644
index 000000000000..7c5c143e5a07
--- /dev/null
+++ b/dev-libs/mm/Manifest
@@ -0,0 +1 @@
+DIST mm-1.4.2.tar.gz 344903 SHA256 8caddd1ee8d8c7790e4b7fedc9be15d4d76ea23f25b17687fc27218648325885 SHA512 dcc12676453cfaf19560f99fa97e905428051d72b46aeaf574300f51e64f689caa70c81b619b8794ad604e8a2efe6bde1e486a2e315263b5694d6eab1cacc182 WHIRLPOOL a86d502d9b2c23a32a69c3a16a8e857067a3a96bac50a3a695d9c917995620104df21c2fbaee7af5846555d2e22114db049b366a0a65284dc3480e157ec6b522
diff --git a/dev-libs/mm/metadata.xml b/dev-libs/mm/metadata.xml
new file mode 100644
index 000000000000..59e2b8f78cb5
--- /dev/null
+++ b/dev-libs/mm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ <name>Default assignee for orphaned packages</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/mm/mm-1.4.2-r1.ebuild b/dev-libs/mm/mm-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..c95e6f362fa2
--- /dev/null
+++ b/dev-libs/mm/mm-1.4.2-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit multilib
+
+DESCRIPTION="Shared Memory Abstraction Library"
+HOMEPAGE="http://www.ossp.org/pkg/lib/mm/"
+SRC_URI="ftp://ftp.ossp.org/pkg/lib/mm/${P}.tar.gz"
+
+LICENSE="mm"
+SLOT="1.2"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e '/--mode=link/s| -o | $(LDFLAGS)&|g' \
+ || die "sed Makefile.in"
+}
+
+src_test() {
+ emake test || die "testing problem"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc README ChangeLog INSTALL PORTING THANKS
+}
+
+pkg_postinst() {
+ ewarn 'if you upgraded from mm-1.3 or earlier please run:'
+ ewarn "revdep-rebuild --library \"/usr/$(get_libdir)/libmm.so.13\""
+}
diff --git a/dev-libs/mongo-c-driver/Manifest b/dev-libs/mongo-c-driver/Manifest
new file mode 100644
index 000000000000..7aacf268930a
--- /dev/null
+++ b/dev-libs/mongo-c-driver/Manifest
@@ -0,0 +1,4 @@
+DIST mongo-c-driver-0.7.1.tar.gz 108537 SHA256 6670b50bb4232cc617a114d1320ea97abc55f9570b4ebf53e1e6c22671ffc328 SHA512 5c6996dc47ecbe4d77971e3aa983a877e7de736bf358c467808eceba8b1a5eea342376249cdc682a034fc7ec39290d234527cec3c3732686f184281a72aec724 WHIRLPOOL c3aadbb61bd7bd295398b4510708f95c0a05383e80baba510609870aa39f5442d4bbfb6441889f605578e07e2c97d44d2e2d75b5a2ec6950a362825c6110fbd3
+DIST mongo-c-driver-0.8.1.tar.gz 124053 SHA256 9575f05fa87fe1f7c6562b1ec9202fd4b8a98950a4d65ea44c1c62fadc2b48b0 SHA512 7b61ac4b1b154ee1f518eddb2bbc0cdafe0da8786eed4475e5703c2a735ec5a09efde59f5bfa45fb226cbce24d8c0ba0de403d8fc3e561c0e48507dfb07962b1 WHIRLPOOL 1474a7b5fced35b511cedd97f558f284d70135c591bd6d671c34519f68097a1e2e6a32a6323acfa4ea3d0146529d3be79f2f91d1187ba3d01a7da6aaacaabf2d
+DIST mongo-c-driver-0.98.2.tar.gz 5342760 SHA256 ac0edebd6ee55ac5c63047addc67d1801440586e6a9388cb3938c5bb0319afc5 SHA512 6e3abc31b1e0e02d3bb864882444a95aa01ec4a85ee77abdc52675a730790be7f1924f3c6ea36405ff0f2066e332302ca567bbfa35ba7b918bce81fb409600eb WHIRLPOOL 931a20b916778fcff0d419a73e1263b72b3293ce320254b050ed2211b56449e5e8dcd608459dcce8af98922e64a4aefc2908883f12a590d9e3e754573aed17c1
+DIST mongo-c-driver-1.1.2.tar.gz 5443153 SHA256 ba97f4304883abf6d57ac96751260c4b413b871b0779c12e67136320bee5f118 SHA512 d420fc407f6a04c06a959b8971dc2643c987df5c3d82f2b13bfdf6a44e96bc377478c4d0e385abf67f21b56892c915c79675fe9ebf6efa9aab51fe452c5e6f95 WHIRLPOOL d72bdd7e449e8437bc9742e5f0330e6f6c47d40e3fc07a17d95a9967ecb2ae5961f5c7c155e2d8a12e733139ffbf30091dfa283f6f6a694e05c9c9fb7a03bd2b
diff --git a/dev-libs/mongo-c-driver/files/0.8.1-api-version.diff b/dev-libs/mongo-c-driver/files/0.8.1-api-version.diff
new file mode 100644
index 000000000000..2bd52253a17b
--- /dev/null
+++ b/dev-libs/mongo-c-driver/files/0.8.1-api-version.diff
@@ -0,0 +1,14 @@
+diff -uNr mongo-c-driver-0.8.1.ORIG/src/mongo.h mongo-c-driver-0.8.1/src/mongo.h
+--- mongo-c-driver-0.8.1.ORIG/src/mongo.h 2014-03-27 17:00:42.880465606 +0000
++++ mongo-c-driver-0.8.1/src/mongo.h 2014-03-27 17:01:05.131465940 +0000
+@@ -33,8 +33,8 @@
+ #endif
+
+ #define MONGO_MAJOR 0
+-#define MONGO_MINOR 7
+-#define MONGO_PATCH 0
++#define MONGO_MINOR 8
++#define MONGO_PATCH 1
+
+ #define MONGO_OK 0
+ #define MONGO_ERROR -1
diff --git a/dev-libs/mongo-c-driver/metadata.xml b/dev-libs/mongo-c-driver/metadata.xml
new file mode 100644
index 000000000000..a1f0f88321d3
--- /dev/null
+++ b/dev-libs/mongo-c-driver/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">mongodb/mongo-c-driver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..1e82bc029468
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+
+inherit multilib python-r1 toolchain-funcs
+
+DESCRIPTION="C Driver for MongoDB"
+HOMEPAGE="http://www.mongodb.org/ https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/${PN}/tarball/v${PV/_/} -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ppc x86"
+IUSE="doc static-libs"
+
+# tests fails to build
+RESTRICT="test"
+
+RDEPEND=""
+DEPEND="doc? ( dev-python/sphinx )"
+
+src_unpack() {
+ unpack ${A}
+ mv *-${PN}-* "${S}"
+}
+
+src_prepare() {
+ # bug #510722
+ sed -e 's/-O3//g' \
+ -e 's/-ggdb//g' \
+ -e "s/CC:=.*/CC:=$(tc-getCC)/g" \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake
+ use doc && make -C docs/source/sphinx html
+}
+
+src_install() {
+ emake install \
+ INSTALL_LIBRARY_PATH="${D}/usr/$(get_libdir)" \
+ INSTALL_INCLUDE_PATH="${D}/usr/include"
+
+ use static-libs || find "${ED}" -name '*.a' -exec rm -f {} +
+
+ use doc && dohtml -r docs/source/sphinx/build/html/*
+}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..736185ee3c18
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit base multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="C Driver for MongoDB"
+HOMEPAGE="http://www.mongodb.org/ https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/${PN}/tarball/v${PV/_/} -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
+IUSE="doc static-libs"
+
+# tests fails to build
+RESTRICT="test"
+
+RDEPEND=""
+DEPEND="${PYTHON_DEPS}
+ doc? ( $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]') )
+"
+PATCHES=( "${FILESDIR}/${PV}-api-version.diff" )
+
+python_check_deps() {
+ use !doc || has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_unpack() {
+ unpack ${A}
+ mv *-${PN}-* "${S}"
+}
+
+src_compile() {
+ tc-export CC
+ emake
+ use doc && make -C docs/source/sphinx html
+}
+
+src_install() {
+ emake install \
+ INSTALL_LIBRARY_PATH="${D}/usr/$(get_libdir)" \
+ INSTALL_INCLUDE_PATH="${D}/usr/include"
+
+ use static-libs || find "${ED}" -name '*.a' -exec rm -f {} +
+
+ use doc && dohtml -r docs/source/sphinx/build/html/*
+}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild
new file mode 100644
index 000000000000..0bb5f3ecb4eb
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A high-performance MongoDB driver for C"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="debug examples sasl ssl static-libs test"
+
+RDEPEND=">=dev-libs/libbson-0.98.0
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( dev-libs/openssl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-db/mongodb )"
+
+DOCS=( NEWS README.rst TUTORIAL.md )
+
+src_prepare() {
+ # https://github.com/mongodb/mongo-c-driver/issues/54
+ sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
+ tests/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-hardening \
+ --disable-optimizations \
+ --disable-examples \
+ $(use_enable sasl) \
+ $(use_enable ssl) \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ doman doc/*.3
+
+ use static-libs || find "${D}" -name '*.la' -delete
+
+ if use examples; then
+ insinto /usr/share/${PF}/examples
+ doins -r examples/*.c examples/aggregation examples/bulk
+ fi
+}
+
+src_test() {
+ # Avoid allocating too much disk space by using server.smallFiles = 1
+ echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
+ local PORT=27099
+ mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
+ -f "${T}/mongod.conf" --dbpath="${T}" \
+ --logpath="${T}/mongod.log" || die
+ MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
+ kill `cat "${T}/mongod.lock"`
+}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..65f19c5a2e2d
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A high-performance MongoDB driver for C"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="debug examples sasl ssl static-libs test"
+
+RDEPEND=">=dev-libs/libbson-1.0
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( dev-libs/openssl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-db/mongodb )"
+
+DOCS=( NEWS README.rst TUTORIAL.md )
+
+src_prepare() {
+ rm -r src/libbson || die
+ sed -i -e '/SUBDIRS/s:src/libbson::g' Makefile.am || die
+
+ # https://github.com/mongodb/mongo-c-driver/issues/54
+ sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
+ tests/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ econf --with-libbson=system \
+ --disable-hardening \
+ --disable-optimizations \
+ --disable-examples \
+ $(use_enable sasl) \
+ $(use_enable ssl) \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ doman doc/*.3
+
+ use static-libs || find "${D}" -name '*.la' -delete
+
+ if use examples; then
+ insinto /usr/share/${PF}/examples
+ doins -r examples/*.c examples/aggregation examples/bulk
+ fi
+}
+
+src_test() {
+ # Avoid allocating too much disk space by using server.smallFiles = 1
+ echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
+ local PORT=27099
+ mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
+ -f "${T}/mongod.conf" --dbpath="${T}" \
+ --logpath="${T}/mongod.log" || die
+ MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
+ kill `cat "${T}/mongod.lock"`
+}
diff --git a/dev-libs/mongo-cxx-driver/Manifest b/dev-libs/mongo-cxx-driver/Manifest
new file mode 100644
index 000000000000..cff2084aad2f
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/Manifest
@@ -0,0 +1,2 @@
+DIST legacy-0.0-26compat-2.6.7.tar.gz 1512331 SHA256 a77165e7ad0c1ff8e246adc5e60b9ebb18eec7f0cc18682a33498c12d7cab0ba SHA512 edf13d5b7802c3b2e9772f08949fd0c412f2cd25ec6d05ff4e8c1f25c3e3506da6ebbd7b017ceec5478585c84e9fa44c66a5094ad3e7a7373187d3fb3c1c1222 WHIRLPOOL f64cfded6a02e241b4b59b3394bcec1cf7df4bc175aba261893d8b24106760eb3899b85b520c5f9af9d929d93ad29ed6d2ef1e11d662b7a331f143f2b88d637c
+DIST legacy-1.0.0.tar.gz 1569156 SHA256 1350dfdcdb3969e472bf83eec08378f771196c47e70b474e7349c816acb0cca4 SHA512 e161972715fe45b777ee3d9c7e788ee3a808af789e2c1248af1dde3d3f3936e29f619e039f53210cdd3fc6a6bd8a02c101facf49c61759c6f108d25c5c03b59b WHIRLPOOL 7d5c8fc6d011f219652bc6cc5a8dd59fac899a95ca3bde22fc76a2505cb7393a1762681f77cfc9295028a427e875c0155ee7046fa9d1c2e4e52d340a19e2c925
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch
new file mode 100644
index 000000000000..319773c7d571
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch
@@ -0,0 +1,34 @@
+--- a/SConstruct 2015-03-17 10:19:58.766530807 +0100
++++ b/SConstruct 2015-03-17 10:27:58.400062874 +0100
+@@ -853,7 +853,6 @@
+
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fPIC",
+- "-ggdb",
+ "-pthread",
+ "-Wall",
+ "-Wsign-compare",
+@@ -861,13 +860,13 @@
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+ if linux or darwin:
+- env.Append( CCFLAGS=["-pipe"] )
+ if not has_option("disable-warnings-as-errors"):
+ env.Append( CCFLAGS=["-Werror"] )
+
+ env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
+- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
+ env.Append( LINKFLAGS=["-fPIC"] )
++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
+
+ # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
+ # startup.
+@@ -933,7 +932,6 @@
+ except OSError:
+ pass
+
+-env.Prepend(CPPPATH=['$VARIANT_DIR/third_party/gtest-1.7.0/include'])
+
+ boostSuffixList = ["-mt", ""]
+ if get_option("boost-lib-search-suffixes") is not None:
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch
new file mode 100644
index 000000000000..be5408511bda
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch
@@ -0,0 +1,34 @@
+--- a/SConstruct 2015-03-23 10:36:42.328921927 +0100
++++ b/SConstruct 2015-03-23 10:37:37.599310414 +0100
+@@ -828,7 +828,6 @@
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fPIC",
+ "-fno-strict-aliasing",
+- "-ggdb",
+ "-pthread",
+ "-Wall",
+ "-Wsign-compare",
+@@ -836,13 +835,13 @@
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+ if linux or darwin:
+- env.Append( CCFLAGS=["-pipe"] )
+ if not has_option("disable-warnings-as-errors"):
+ env.Append( CCFLAGS=["-Werror"] )
+
+ env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
+- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
+ env.Append( LINKFLAGS=["-fPIC", "-pthread"] )
++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
+
+ # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
+ # startup.
+@@ -938,7 +937,6 @@
+ if not use_system_version_of_library("snappy"):
+ env.Prepend(CPPPATH=['$BUILD_DIR/third_party/snappy'])
+
+-env.Prepend(CPPPATH=['$BUILD_DIR/third_party/gtest-1.7.0/include'])
+
+ env.Append( CPPPATH=['$EXTRACPPPATH'],
+ LIBPATH=['$EXTRALIBPATH'] )
diff --git a/dev-libs/mongo-cxx-driver/metadata.xml b/dev-libs/mongo-cxx-driver/metadata.xml
new file mode 100644
index 000000000000..2a9f2397361b
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">mongodb/mongo-cxx-driver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild
new file mode 100644
index 000000000000..4786eadba58d
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+SCONS_MIN_VERSION="2.3.0"
+
+inherit eutils flag-o-matic multilib scons-utils versionator
+
+MY_PV=$(get_version_component_range 3-5)
+MY_P=legacy-0.0-26compat-${MY_PV}
+
+DESCRIPTION="C++ Driver for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
+SRC_URI="https://github.com/mongodb/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="kerberos ssl static-libs"
+
+RDEPEND="
+ app-arch/snappy
+ >=dev-cpp/yaml-cpp-0.5.1
+ >=dev-libs/boost-1.50[threads(+)]
+ >=dev-libs/libpcre-8.30[cxx]
+ dev-util/google-perftools[-minimal]
+ ssl? ( dev-libs/openssl:= )"
+DEPEND="${RDEPEND}
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )"
+
+S=${WORKDIR}/${PN}-${MY_P}
+
+pkg_setup() {
+ scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --disable-warnings-as-errors --sharedclient"
+ scons_opts+=" --use-system-boost"
+ scons_opts+=" --use-system-pcre"
+ scons_opts+=" --use-system-snappy"
+ scons_opts+=" --use-system-yaml"
+
+ if use prefix; then
+ scons_opts+=" --cpppath=${EPREFIX}/usr/include"
+ scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
+ fi
+
+ if use kerberos; then
+ scons_opts+=" --use-sasl-client"
+ fi
+
+ if use ssl; then
+ scons_opts+=" --ssl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-26compat-fix-scons.patch"
+
+ # stemmer/pcap are not used, strip them wrt #518104
+ sed -e '/stemmer/d' -e '/pcap/d' -i SConstruct || die
+
+ # fix yaml-cpp detection
+ sed -i -e "s/\[\"yaml\"\]/\[\"yaml-cpp\"\]/" SConstruct || die
+
+ # bug #462606
+ sed -i -e "s@\$INSTALL_DIR/lib@\$INSTALL_DIR/$(get_libdir)@g" src/SConscript.client || die
+}
+
+src_compile() {
+ escons ${scons_opts} mongoclient
+}
+
+src_install() {
+ escons ${scons_opts} --full --nostrip install-mongoclient --prefix="${ED}"/usr
+
+ use static-libs || find "${ED}"/usr/ -type f -name "*.a" -delete
+
+ dodoc README.md CONTRIBUTING.md
+}
+
+pkg_preinst() {
+ if [[ "$(get_libdir)" == "lib64" ]]; then
+ rmdir "${ED}"/usr/lib64/ &>/dev/null
+ else
+ rmdir "${ED}"/usr/lib/ &>/dev/null
+ fi
+}
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild
new file mode 100644
index 000000000000..c6eb633c377e
--- /dev/null
+++ b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+SCONS_MIN_VERSION="2.3.0"
+
+inherit eutils flag-o-matic multilib scons-utils
+
+DESCRIPTION="C++ Driver for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
+SRC_URI="https://github.com/mongodb/${PN}/archive/legacy-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug sasl ssl static-libs"
+
+RDEPEND=">=dev-libs/boost-1.50[threads(+)]
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( dev-libs/openssl:= )"
+DEPEND="${RDEPEND}"
+
+# Maintainer notes
+# TODO: enable test in IUSE with
+# test? ( >=dev-cpp/gtest-1.7.0 dev-db/mongodb )
+
+DOCS=( README.md )
+
+S="${WORKDIR}/${PN}-legacy-${PV}"
+
+pkg_setup() {
+ scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --disable-warnings-as-errors --sharedclient"
+
+ if use debug; then
+ scons_opts+=" --dbg=on"
+ fi
+
+ if use prefix; then
+ scons_opts+=" --cpppath=${EPREFIX}/usr/include"
+ scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
+ fi
+
+ if use sasl; then
+ scons_opts+=" --use-sasl-client"
+ fi
+
+ if use ssl; then
+ scons_opts+=" --ssl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.0.0-fix-scons.patch"
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+}
+
+src_install() {
+ escons ${scons_opts} install --prefix="${ED}"/usr
+
+ use static-libs || find "${D}" -name '*.a' -delete
+}
diff --git a/dev-libs/mozldap/Manifest b/dev-libs/mozldap/Manifest
new file mode 100644
index 000000000000..d7e3d2faab67
--- /dev/null
+++ b/dev-libs/mozldap/Manifest
@@ -0,0 +1,2 @@
+DIST mozldap-6.0.6.tar.gz 708821 SHA256 3a7b94c6698e2acb91a577decee5eb6103f183d6b9833abb169124818ba80d06 SHA512 a3f63b248201c521d962fb48a5374732de23c04920009bf108aabbc71efb83995da04401f095dff58196b5749f8e4cafb2e2b915f1927f7695cb9446e45033df WHIRLPOOL 57991fe8c406a0f5c4d6dc1856ef8f485f8831f5ac3a81c2366a8e03fb9e62a7697f4aed95e62e7fcf308707f2363400dfcc961cff640ef530dbb53f8edd982c
+DIST mozldap-6.0.7.tar.gz 674789 SHA256 ec9884b56b31961d287190323764af7f3b00ad2658d5f3005fa8dc71c637e54c SHA512 bad8005941acaf98f53a60c6c8b697a680e8efe736817b063853ff1f07f052d3257ba7c28f502e37e0c2544fe00d24d31787ccbf892deb43c5481d49ed434b71 WHIRLPOOL 30dc35de03fb99d5f2ae65b10922ee3ec05246ee77f35a37cb80811ae29552d7a347fa13c5ce0a8cb3613fd30584f3fdd6a2cadcfc7cc974a56986bf633767be
diff --git a/dev-libs/mozldap/files/configure.in.patch b/dev-libs/mozldap/files/configure.in.patch
new file mode 100644
index 000000000000..6254ef04eb45
--- /dev/null
+++ b/dev-libs/mozldap/files/configure.in.patch
@@ -0,0 +1,185 @@
+--- a/configure.in
++++ b/configure.in
+@@ -42,7 +42,7 @@
+ AC_PREREQ(2.12)
+ AC_INIT(ldap/include/ldap.h)
+
+-AC_CONFIG_AUX_DIR(${srcdir}/config/autoconf)
++AC_CONFIG_AUX_DIR(./config/autoconf)
+ AC_CANONICAL_SYSTEM
+
+ dnl ========================================================
+@@ -85,24 +85,6 @@
+ HOST_CFLAGS="${HOST_CFLAGS=}"
+ HOST_LDFLAGS="${HOST_LDFLAGS=}"
+
+-case "$target" in
+-*-cygwin*|*-mingw*|*-msvc*|*-mks*)
+- # Check to see if we are really running in a msvc environemnt
+- _WIN32_MSVC=
+- AC_CHECK_PROGS(CC, cl)
+- if test "$CC" = "cl"; then
+- echo 'main() { return 0; }' > dummy.c
+- ${CC} -o dummy dummy.c >/dev/null 2>&1
+- if test $? = 0; then
+- _WIN32_MSVC=1
+- CXX=$CC
+- else
+- AC_MSG_WARN([$(CC) test failed. Using normal feature tests])
+- fi
+- rm -f dummy dummy.o dummy.obj dummy.exe dummy.c
+- fi
+- ;;
+-esac
+
+ if test -n "$_WIN32_MSVC"; then
+ SKIP_PATH_CHECKS=1
+@@ -151,18 +133,6 @@
+ AC_DEFINE(MOZILLA_CLIENT)
+ fi])
+
+-AC_ARG_ENABLE(optimize,
+- [ --enable-optimize(=val) Enable code optimizations (val, ie. -O2) ],
+- [ if test "$enableval" != "no"; then
+- MOZ_OPTIMIZE=1
+- if test -n "$enableval" && test "$enableval" != "yes"; then
+- _OPTIMIZE_FLAGS=`echo $enableval | sed -e 's|\\\ | |g'`
+- _SAVE_OPTIMIZE_FLAGS=$_OPTIMIZE_FLAGS
+- fi
+- else
+- MOZ_OPTIMIZE=
+- fi ])
+-
+ AC_ARG_ENABLE(debug,
+ [ --disable-debug Do not compile in debugging symbols
+ --enable-debug(=val) Enable debugging (debug flags val)],
+@@ -176,26 +146,6 @@
+ fi
+ fi])
+
+-AC_ARG_ENABLE(win32-target,
+- [ --enable-win32-target=\$t
+- Specify win32 flavor. (WIN95 or WINNT)],
+- OS_TARGET=`echo $enableval | tr a-z A-Z`,
+- OS_TARGET=)
+-
+-AC_ARG_ENABLE(debug-rtl,
+- [ --enable-debug-rtl Use the MSVC debug runtime library],
+- [ if test "$enableval" = "yes"; then
+- USE_DEBUG_RTL=1
+- fi ])
+-
+-AC_ARG_ENABLE(n32,
+- [ --enable-n32 Enable n32 ABI support (IRIX only)],
+- [ if test "$enableval" = "yes"; then
+- USE_N32=1
+- else if test "$enableval" = "no"; then
+- USE_N32=
+- fi
+- fi ])
+
+ AC_ARG_ENABLE(64bit,
+ [ --enable-64bit Enable 64-bit support (on certain platforms)],
+@@ -261,10 +211,6 @@
+ if test -z "$SVRCORE_CFLAGS" -o -z "$SVRCORE_LIBS" ; then
+ if test -n "$_SYSTEM_SVRCORE"; then
+ AM_PATH_SVRCORE(4.0.1, [MOZ_NATIVE_SVRCORE=1], [MOZ_NATIVE_SVRCORE=])
+- else
+- dnl see if we are being built in the same build tree as svrcore
+- AM_PATH_INTREE_SVRCORE(../../dist)
+- dnl failing that, see if we can find svrcore-config or pkg-config svrcore
+ if test -z "$SVRCORE_CFLAGS" -o -z "$SVRCORE_LIBS"; then
+ AM_PATH_SVRCORE(4.0.1, [MOZ_NATIVE_SVRCORE=1], [MOZ_NATIVE_SVRCORE=])
+ fi
+@@ -294,9 +240,6 @@
+ _SYSTEM_NSS=no
+ fi], _SYSTEM_NSS= )
+
+-if test "$_WIN32_MSVC"; then
+- _SYSTEM_NSS=
+-fi
+
+ dnl first, see if user has specified explicit NSPR include and lib paths,
+ dnl of if the user has explicitly disabled the use of nss
+@@ -308,10 +251,6 @@
+ if test -n "$USE_NSS" -a -z "$NSS_CFLAGS" -a -z "$NSS_LIBS" ; then
+ dnl nss requires nspr
+ no_nspr=no
+- if test -z "$_SYSTEM_NSS" -o "$_SYSTEM_NSS" = "no" ; then
+-dnl see if we are being built in the same build tree as nss
+- AM_PATH_INTREE_NSS(../../dist)
+- fi
+ dnl failing that, see if we can find nss-config or pkg-config nss
+ if test -z "$NSS_CFLAGS" -a "$_SYSTEM_NSS" != "no" ; then
+ AM_PATH_NSS(3.9.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+@@ -348,10 +287,6 @@
+
+ dnl next, look for in-tree nspr if user did not specify explicit system nspr
+ if test "$no_nspr" = "no" -a -z "$NSPR_CFLAGS" -a -z "$NSPR_LIBS" ; then
+- if test -z "$_SYSTEM_NSPR" -o "$_SYSTEM_NSPR" = "no" ; then
+-dnl see if we are being built in the same build tree as nspr
+- AM_PATH_INTREE_NSPR(../../dist)
+- fi
+ dnl failing that, see if we can find nspr-config or pkg-config nspr
+ if test -z "$NSPR_CFLAGS" -a "$_SYSTEM_NSPR" != "no" ; then
+ AM_PATH_NSPR(4.0.0, [MOZ_NATIVE_NSPR=1], [MOZ_NATIVE_NSPR=])
+@@ -390,48 +325,6 @@
+ dnl than in cygwin-wrapper
+ dnl ========================================================
+
+-dnl add other runtime environments that use unix style paths
+-dnl *-cygwin*|*-mingw*|*-msvc*|*-mks*)
+-case "$target" in
+-*-cygwin*) USE_WINDOWS_PATHS=1 ;;
+-esac
+-
+-if test -n "$_WIN32_MSVC" -a -n "$USE_WINDOWS_PATHS" ; then
+- if test -n "$NSPR_CFLAGS" -a -z "$SKIP_CYGWIN_FIXUP" ; then
+- path=`echo $NSPR_CFLAGS | sed -e 's/^-I//'`
+- path=`cygpath -m $path`
+- NSPR_CFLAGS="/I$path"
+- fi
+- if test -n "$NSPR_LIBS" -a -z "$SKIP_CYGWIN_FIXUP" ; then
+- path=`echo $NSPR_LIBS | sed -e 's/^-L//'`
+- path=`cygpath -m $path`
+- NSPR_LIBS="/LIBPATH:$path"
+- fi
+-
+- if test -n "$NSS_CFLAGS" ; then
+- path=`echo $NSS_CFLAGS | sed -e 's/^-I//'`
+- path=`cygpath -m $path`
+- NSS_CFLAGS="/I$path"
+- fi
+-
+- if test -n "$NSS_LIBS" ; then
+- path=`echo $NSS_LIBS | sed -e 's/^-L//'`
+- path=`cygpath -m $path`
+- NSS_LIBS="/LIBPATH:$path"
+- fi
+-
+- if test -n "$SVRCORE_CFLAGS" ; then
+- path=`echo $SVRCORE_CFLAGS | sed -e 's/^-I//'`
+- path=`cygpath -m $path`
+- SVRCORE_CFLAGS="/I$path"
+- fi
+-
+- if test -n "$SVRCORE_LIBS" ; then
+- path=`echo $SVRCORE_LIBS | sed -e 's/^-L//'`
+- path=`cygpath -m $path`
+- SVRCORE_LIBS="/LIBPATH:$path"
+- fi
+-fi
+
+ dnl ========================================================
+ dnl =
+@@ -1489,9 +1382,7 @@
+ ;;
+
+ *-linux*)
+- if test -z "$USE_NSPR_THREADS"; then
+- USE_PTHREADS=1
+- fi
++ USE_PTHREADS=1
+ AC_DEFINE(XP_UNIX)
+ AC_DEFINE(_POSIX_SOURCE)
+ AC_DEFINE(_BSD_SOURCE)
diff --git a/dev-libs/mozldap/files/mozldap-6.0.4-pkgconfig.patch b/dev-libs/mozldap/files/mozldap-6.0.4-pkgconfig.patch
new file mode 100644
index 000000000000..51bc34048b87
--- /dev/null
+++ b/dev-libs/mozldap/files/mozldap-6.0.4-pkgconfig.patch
@@ -0,0 +1,11 @@
+--- a/mozldap.pc.in
++++ b/mozldap.pc.in
+@@ -11,6 +11,6 @@
+ Name: mozldap
+ Description: Mozilla LDAP C SDK
+ Version: %MOZLDAP_VERSION%
+-Requires: nspr >= %NSPR_VERSION% , nss >= %NSS_VERSION%
+-Libs: -lssldap%libsuffix% -lprldap%libsuffix% -lldap%libsuffix%
++Requires: nspr >= %NSPR_VERSION% , nss >= %NSS_VERSION% , svrcore >= %SVRCORE_VERSION%
++Libs: -L${libdir} -lssldap%libsuffix% -lprldap%libsuffix% -lldap%libsuffix%
+ Cflags: -I${includedir}
diff --git a/dev-libs/mozldap/files/mozldap-6.0.6-ldflags.patch b/dev-libs/mozldap/files/mozldap-6.0.6-ldflags.patch
new file mode 100644
index 000000000000..60593c683e5c
--- /dev/null
+++ b/dev-libs/mozldap/files/mozldap-6.0.6-ldflags.patch
@@ -0,0 +1,15 @@
+Respect LDFLAGS
+
+http://bugs.gentoo.org/show_bug.cgi?id=327335
+
+--- config/autoconf.mk.in
++++ config/autoconf.mk.in
+@@ -117,7 +117,7 @@
+
+ MKSHLIB = @MKSHLIB@
+ DSO_CFLAGS = @DSO_CFLAGS@
+-DSO_LDOPTS = @DSO_LDOPTS@
++DSO_LDOPTS = @LDFLAGS@ @DSO_LDOPTS@
+
+ RESOLVE_LINK_SYMBOLS = @RESOLVE_LINK_SYMBOLS@
+
diff --git a/dev-libs/mozldap/files/mozldap-6.0.7-configure.in.patch b/dev-libs/mozldap/files/mozldap-6.0.7-configure.in.patch
new file mode 100644
index 000000000000..525d7259af54
--- /dev/null
+++ b/dev-libs/mozldap/files/mozldap-6.0.7-configure.in.patch
@@ -0,0 +1,137 @@
+diff -Nurp c-sdk.orig/configure.in c-sdk/configure.in
+--- c-sdk.orig/configure.in 2011-01-06 12:05:39.000000000 +0000
++++ c-sdk/configure.in 2013-03-14 18:01:19.647224070 +0000
+@@ -42,7 +42,7 @@ dnl ***** END LICENSE BLOCK *****
+ AC_PREREQ(2.12)
+ AC_INIT(ldap/include/ldap.h)
+
+-AC_CONFIG_AUX_DIR(${srcdir}/config/autoconf)
++AC_CONFIG_AUX_DIR(./config/autoconf)
+ AC_CANONICAL_SYSTEM
+
+ dnl ========================================================
+@@ -86,24 +86,6 @@ DLLFLAGS="${DLLFLAGS=}"
+ HOST_CFLAGS="${HOST_CFLAGS=}"
+ HOST_LDFLAGS="${HOST_LDFLAGS=}"
+
+-case "$target" in
+-*-cygwin*|*-mingw*|*-msvc*|*-mks*)
+- # Check to see if we are really running in a msvc environemnt
+- _WIN32_MSVC=
+- AC_CHECK_PROGS(CC, cl)
+- if test "$CC" = "cl"; then
+- echo 'main() { return 0; }' > dummy.c
+- ${CC} -o dummy dummy.c >/dev/null 2>&1
+- if test $? = 0; then
+- _WIN32_MSVC=1
+- CXX=$CC
+- else
+- AC_MSG_WARN([$(CC) test failed. Using normal feature tests])
+- fi
+- rm -f dummy dummy.o dummy.obj dummy.exe dummy.c
+- fi
+- ;;
+-esac
+
+ if test -n "$_WIN32_MSVC"; then
+ SKIP_PATH_CHECKS=1
+@@ -152,18 +134,6 @@ AC_ARG_WITH(mozilla,
+ AC_DEFINE(MOZILLA_CLIENT)
+ fi])
+
+-AC_ARG_ENABLE(optimize,
+- [ --enable-optimize(=val) Enable code optimizations (val, ie. -O2) ],
+- [ if test "$enableval" != "no"; then
+- MOZ_OPTIMIZE=1
+- if test -n "$enableval" && test "$enableval" != "yes"; then
+- _OPTIMIZE_FLAGS=`echo $enableval | sed -e 's|\\\ | |g'`
+- _SAVE_OPTIMIZE_FLAGS=$_OPTIMIZE_FLAGS
+- fi
+- else
+- MOZ_OPTIMIZE=
+- fi ])
+-
+ AC_ARG_ENABLE(debug,
+ [ --enable-debug(=val) Enable debugging (debug flags val)],
+ [ if test "$enableval" != "no"; then
+@@ -176,26 +146,6 @@ AC_ARG_ENABLE(debug,
+ MOZ_DEBUG=
+ fi])
+
+-AC_ARG_ENABLE(win32-target,
+- [ --enable-win32-target=\$t
+- Specify win32 flavor. (WIN95 or WINNT)],
+- OS_TARGET=`echo $enableval | tr a-z A-Z`,
+- OS_TARGET=)
+-
+-AC_ARG_ENABLE(debug-rtl,
+- [ --enable-debug-rtl Use the MSVC debug runtime library],
+- [ if test "$enableval" = "yes"; then
+- USE_DEBUG_RTL=1
+- fi ])
+-
+-AC_ARG_ENABLE(n32,
+- [ --enable-n32 Enable n32 ABI support (IRIX only)],
+- [ if test "$enableval" = "yes"; then
+- USE_N32=1
+- else if test "$enableval" = "no"; then
+- USE_N32=
+- fi
+- fi ])
+
+ AC_ARG_ENABLE(64bit,
+ [ --enable-64bit Enable 64-bit support (on certain platforms)],
+@@ -261,10 +211,6 @@ dnl svrcore implies both nspr and nss
+ if test -z "$SVRCORE_CFLAGS" -o -z "$SVRCORE_LIBS" ; then
+ if test -n "$_SYSTEM_SVRCORE"; then
+ AM_PATH_SVRCORE(4.0.1, [MOZ_NATIVE_SVRCORE=1], [MOZ_NATIVE_SVRCORE=])
+- else
+- dnl see if we are being built in the same build tree as svrcore
+- AM_PATH_INTREE_SVRCORE(../../dist)
+- dnl failing that, see if we can find svrcore-config or pkg-config svrcore
+ if test -z "$SVRCORE_CFLAGS" -o -z "$SVRCORE_LIBS"; then
+ AM_PATH_SVRCORE(4.0.1, [MOZ_NATIVE_SVRCORE=1], [MOZ_NATIVE_SVRCORE=])
+ fi
+@@ -294,9 +240,6 @@ dnl nss requires nspr
+ _SYSTEM_NSS=no
+ fi], _SYSTEM_NSS= )
+
+-if test "$_WIN32_MSVC"; then
+- _SYSTEM_NSS=
+-fi
+
+ dnl first, see if user has specified explicit NSPR include and lib paths,
+ dnl of if the user has explicitly disabled the use of nss
+@@ -308,10 +251,6 @@ dnl next, see if user explicitly said to
+ if test -n "$USE_NSS" -a -z "$NSS_CFLAGS" -a -z "$NSS_LIBS" ; then
+ dnl nss requires nspr
+ no_nspr=no
+- if test -z "$_SYSTEM_NSS" -o "$_SYSTEM_NSS" = "no" ; then
+-dnl see if we are being built in the same build tree as nss
+- AM_PATH_INTREE_NSS(../../dist)
+- fi
+ dnl failing that, see if we can find nss-config or pkg-config nss
+ if test -z "$NSS_CFLAGS" -a "$_SYSTEM_NSS" != "no" ; then
+ AM_PATH_NSS(3.9.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+@@ -348,10 +287,6 @@ fi
+
+ dnl next, look for in-tree nspr if user did not specify explicit system nspr
+ if test "$no_nspr" = "no" -a -z "$NSPR_CFLAGS" -a -z "$NSPR_LIBS" ; then
+- if test -z "$_SYSTEM_NSPR" -o "$_SYSTEM_NSPR" = "no" ; then
+-dnl see if we are being built in the same build tree as nspr
+- AM_PATH_INTREE_NSPR(../../dist)
+- fi
+ dnl failing that, see if we can find nspr-config or pkg-config nspr
+ if test -z "$NSPR_CFLAGS" -a "$_SYSTEM_NSPR" != "no" ; then
+ AM_PATH_NSPR(4.0.0, [MOZ_NATIVE_NSPR=1], [MOZ_NATIVE_NSPR=])
+@@ -1520,9 +1455,7 @@ tools are selected during the Xcode/Deve
+ ;;
+
+ *-linux*)
+- if test -z "$USE_NSPR_THREADS"; then
+- USE_PTHREADS=1
+- fi
++ USE_PTHREADS=1
+ AC_DEFINE(XP_UNIX)
+ AC_DEFINE(_POSIX_SOURCE)
+ AC_DEFINE(_BSD_SOURCE)
diff --git a/dev-libs/mozldap/files/nspr-m4.patch b/dev-libs/mozldap/files/nspr-m4.patch
new file mode 100644
index 000000000000..7a9b969ce056
--- /dev/null
+++ b/dev-libs/mozldap/files/nspr-m4.patch
@@ -0,0 +1,42 @@
+--- config.orig/autoconf/nspr.m4 2009-10-06 11:21:10.898930843 +0300
++++ config/autoconf/nspr.m4 2009-10-06 11:27:43.638925618 +0300
+@@ -86,39 +86,6 @@
+
+ ])
+
+-dnl AM_PATH_INTREE_NSPR([ROOTPATH, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+-dnl Test for in-tree NSPR, and define NSPR_CFLAGS and NSPR_LIBS
+-dnl First look for path/*.OBJ/include, then look for path/include
+-dnl Use the cut in case there is more than one path that matches *.OBJ - just
+-dnl take the first one
+-AC_DEFUN(AM_PATH_INTREE_NSPR,
+-[
+- AC_MSG_CHECKING(checking for in-tree NSPR from $1)
+- for nsprpath in "$1" "$1"/*.OBJ ; do
+- savedir=`pwd`
+- cd $nsprpath
+- abs_nsprpath=`pwd`
+- cd $savedir
+- if test -f "$abs_nsprpath/include/nspr/nspr.h" ; then
+- NSPR_CFLAGS="-I$abs_nsprpath/include/nspr"
+- elif test -f "$abs_nsprpath/include/nspr.h" ; then
+- NSPR_CFLAGS="-I$abs_nsprpath/include"
+- fi
+- if test -d "$abs_nsprpath/lib" ; then
+- NSPR_LIBS="-L$abs_nsprpath/lib"
+- fi
+- if test -n "$NSPR_CFLAGS" -a -n "$NSPR_LIBS" ; then
+- break
+- fi
+- done
+- if test -n "$NSPR_CFLAGS" -a -n "$NSPR_LIBS" ; then
+- AC_SUBST(NSPR_CFLAGS)
+- AC_SUBST(NSPR_LIBS)
+- AC_MSG_RESULT(yes)
+- else
+- AC_MSG_RESULT(no)
+- fi
+-])
+
+ dnl AM_PATH_GIVEN_NSPR(no args)
+ dnl Test for --with-nspr=path, --with-nspr-inc=path, and --with-nspr-lib=path
diff --git a/dev-libs/mozldap/files/nss-m4.patch b/dev-libs/mozldap/files/nss-m4.patch
new file mode 100644
index 000000000000..6a855e28eac1
--- /dev/null
+++ b/dev-libs/mozldap/files/nss-m4.patch
@@ -0,0 +1,45 @@
+diff -uNr config.orig/autoconf/nss.m4 config/autoconf/nss.m4
+--- config.orig/autoconf/nss.m4 2009-10-06 11:21:10.898930843 +0300
++++ config/autoconf/nss.m4 2009-10-06 11:23:37.754923372 +0300
+@@ -86,41 +86,6 @@
+
+ ])
+
+-dnl AM_PATH_INTREE_NSS([ROOTPATH, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+-dnl Test for in-tree NSS, and define NSS_CFLAGS and NSS_LIBS
+-AC_DEFUN(AM_PATH_INTREE_NSS,
+-[
+- nsslibpath=`echo $1/*.OBJ/lib | cut -f1 -d' '`
+- savedir=`pwd`
+- cd $nsslibpath
+- abs_nsslibpath=`pwd`
+- cd $savedir
+- nssincpath=$1/public/nss
+- savedir=`pwd`
+- cd $nssincpath
+- abs_nssincpath=`pwd`
+- cd $savedir
+- if test -f "$abs_nssincpath/nss.h" ; then
+- NSS_CFLAGS="-I$abs_nssincpath"
+- fi
+- if test -d "$abs_nsslibpath" ; then
+- NSS_LIBS="-L$abs_nsslibpath"
+- fi
+- if test -n "$NSS_CFLAGS" -a -n "$NSS_LIBS" ; then
+- AC_MSG_CHECKING(using in-tree NSS from $nssincpath $nsslibpath)
+- AC_SUBST(NSS_CFLAGS)
+- AC_SUBST(NSS_LIBS)
+- AC_MSG_RESULT(yes)
+- else
+- AC_MSG_CHECKING(could not find in-tree NSS in $1)
+- AC_MSG_RESULT(no)
+- fi
+-])
+-
+-dnl AM_PATH_GIVEN_NSS(no args)
+-dnl Test for --with-nss=path, --with-nss-inc=path, and --with-nss-lib=path
+-dnl Makes sure the right files/dirs are in the given paths, and sets
+-dnl NSS_CFLAGS and NSS_LIBS if successful
+ AC_DEFUN(AM_PATH_GIVEN_NSS,
+ [
+ dnl ========================================================
diff --git a/dev-libs/mozldap/metadata.xml b/dev-libs/mozldap/metadata.xml
new file mode 100644
index 000000000000..244b5de602c4
--- /dev/null
+++ b/dev-libs/mozldap/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>lxnay@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/mozldap/mozldap-6.0.6-r2.ebuild b/dev-libs/mozldap/mozldap-6.0.6-r2.ebuild
new file mode 100644
index 000000000000..6bacf45bffab
--- /dev/null
+++ b/dev-libs/mozldap/mozldap-6.0.6-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+WANT_AUTOCONF="2.1"
+
+inherit eutils multilib versionator autotools
+
+DESCRIPTION="Mozilla LDAP C SDK"
+HOMEPAGE="http://wiki.mozilla.org/LDAP_C_SDK"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ipv6 debug +sasl"
+
+COMMON_DEPEND=">=dev-libs/nss-3.11.4
+ >=dev-libs/nspr-4.0.1
+ >=dev-libs/svrcore-4.0.0
+ sasl? ( dev-libs/cyrus-sasl )"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}"/"${P}"/"mozilla/directory/c-sdk"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-6.0.4-pkgconfig.patch \
+ "${FILESDIR}"/configure.in.patch \
+ "${FILESDIR}"/nss-m4.patch \
+ "${FILESDIR}"/nspr-m4.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="--libdir=/usr/$(get_libdir)/mozldap"
+ econf $(use_enable debug) \
+ $(use_enable ipv6) \
+ $(use_enable amd64 64bit) \
+ $(use_with sasl) \
+ --with-svrcore-inc=/usr/include/svrcore \
+ --with-svrcore-lib=/usr/$(get_libdir)/svrcore \
+ --enable-clu \
+ --enable-optimize \
+ ${myconf} || die "econf failed"
+}
+
+src_install () {
+ # Their build system is royally fucked, as usual
+ sed -e "s,%libdir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \
+ -e "s,%prefix%,/usr,g" \
+ -e "s,%major%,$(get_major_version ${PV}),g" \
+ -e "s,%minor%,$(get_version_component_range 2 ${PV}),g" \
+ -e "s,%submin%,$(get_version_component_range 3 ${PV}),g" \
+ -e "s,%libsuffix%,$(get_major_version ${PV})$(get_version_component_range 2 ${PV}),g" \
+ -e "s,%bindir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \
+ -e "s,%exec_prefix%,\$\{prefix\},g" \
+ -e "s,%includedir%,\$\{exec_prefix\}/include/${PN},g" \
+ -e "s,%NSPR_VERSION%,$(pkg-config --modversion nspr),g" \
+ -e "s,%NSS_VERSION%,$(pkg-config --modversion nss),g" \
+ -e "s,%SVRCORE_VERSION%,$(pkg-config --modversion svrcore),g" \
+ -e "s,%MOZLDAP_VERSION%,${PV},g" \
+ "${S}"/"${PN}".pc.in > "${S}"/"${PN}".pc || die "sed in install failed"
+
+ emake install || die "make failed"
+ local MY_S="${WORKDIR}"/"${P}"/mozilla/dist/
+
+ rm -rf "${MY_S}/bin/"lib*.so
+ rm -rf "${MY_S}/public/ldap-private"
+
+ exeinto /usr/$(get_libdir)/mozldap
+ doexe "${MY_S}"/lib/*so*
+ doexe "${MY_S}"/lib/*.a
+ doexe "${MY_S}"/bin/*
+
+ #create compatibility PATH link
+
+ for i in ldapcmp ldapcompare ldapdelete ldapmodify \
+ ldappasswd ldapsearch;do
+ dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/moz"${i}" || die
+ # compat for 389-project
+ dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/389-"${i}" || die
+ done
+
+ # move the headers around
+ insinto /usr/include/mozldap
+ doins "${MY_S}/public/ldap/"*.h
+
+ # add sample config
+ insinto /usr/share/mozldap
+ doins "${MY_S}"/etc/*.conf
+
+ #and while at it move them to files with versions-ending
+ #and link them back :)
+ cd "${D}"/usr/$(get_libdir)/mozldap
+
+ #create compatibility Link
+ ln -sf libldap$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so \
+ liblber$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so || die
+ #so lets move
+ for file in *.so; do
+ mv ${file} ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) || die
+ ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) ${file} || die
+ ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) \
+ ${file}.$(get_major_version ${PV}) || die
+ done
+
+ # cope with libraries being in /usr/lib/mozldap
+ dodir /etc/env.d
+ echo "LDPATH=/usr/$(get_libdir)/mozldap" > "${D}"/etc/env.d/08mozldap
+
+ # create pkg-config file
+ insinto /usr/$(get_libdir)/pkgconfig/
+ doins "${S}"/mozldap.pc
+}
diff --git a/dev-libs/mozldap/mozldap-6.0.7.ebuild b/dev-libs/mozldap/mozldap-6.0.7.ebuild
new file mode 100644
index 000000000000..33b8a2623395
--- /dev/null
+++ b/dev-libs/mozldap/mozldap-6.0.7.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+
+inherit eutils multilib versionator autotools
+
+DESCRIPTION="Mozilla LDAP C SDK"
+HOMEPAGE="http://wiki.mozilla.org/LDAP_C_SDK"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipv6 debug +sasl"
+
+COMMON_DEPEND=">=dev-libs/nss-3.11.4
+ >=dev-libs/nspr-4.0.1
+ >=dev-libs/svrcore-4.0.0
+ sasl? ( dev-libs/cyrus-sasl )"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${P}/c-sdk"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-6.0.4-pkgconfig.patch
+ epatch "${FILESDIR}"/${P}-configure.in.patch
+ epatch "${FILESDIR}"/nss-m4.patch
+ epatch "${FILESDIR}"/nspr-m4.patch
+ epatch "${FILESDIR}"/${PN}-6.0.6-ldflags.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="--libdir=/usr/$(get_libdir)/mozldap"
+ econf $(use_enable debug) \
+ $(use_enable ipv6) \
+ $(use_enable amd64 64bit) \
+ $(use_with sasl) \
+ --with-svrcore-inc=/usr/include/svrcore \
+ --with-svrcore-lib=/usr/$(get_libdir)/svrcore \
+ --enable-clu \
+ --enable-optimize \
+ ${myconf} || die "econf failed"
+}
+
+src_install () {
+ # Their build system is royally fucked, as usual
+ sed -e "s,%libdir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \
+ -e "s,%prefix%,/usr,g" \
+ -e "s,%major%,$(get_major_version ${PV}),g" \
+ -e "s,%minor%,$(get_version_component_range 2 ${PV}),g" \
+ -e "s,%submin%,$(get_version_component_range 3 ${PV}),g" \
+ -e "s,%libsuffix%,$(get_major_version ${PV})$(get_version_component_range 2 ${PV}),g" \
+ -e "s,%bindir%,\$\{exec_prefix\}/$(get_libdir)/${PN},g" \
+ -e "s,%exec_prefix%,\$\{prefix\},g" \
+ -e "s,%includedir%,\$\{exec_prefix\}/include/${PN},g" \
+ -e "s,%NSPR_VERSION%,$(pkg-config --modversion nspr),g" \
+ -e "s,%NSS_VERSION%,$(pkg-config --modversion nss),g" \
+ -e "s,%SVRCORE_VERSION%,$(pkg-config --modversion svrcore),g" \
+ -e "s,%MOZLDAP_VERSION%,${PV},g" \
+ "${S}"/"${PN}".pc.in > "${S}"/"${PN}".pc || die "sed in install failed"
+
+ emake install || die "make failed"
+ local MY_S="${WORKDIR}"/dist/
+
+ rm -rf "${MY_S}/bin/"lib*.so
+ rm -rf "${MY_S}/public/ldap-private"
+
+ exeinto /usr/$(get_libdir)/mozldap
+ doexe "${MY_S}"/lib/*so*
+ doexe "${MY_S}"/lib/*.a
+ doexe "${MY_S}"/bin/*
+
+ #create compatibility PATH link
+
+ for i in ldapcmp ldapcompare ldapdelete ldapmodify \
+ ldappasswd ldapsearch;do
+ dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/moz"${i}" || die
+ # compat for 389-project
+ dosym /usr/$(get_libdir)/mozldap/$i /usr/bin/389-"${i}" || die
+ done
+
+ # move the headers around
+ insinto /usr/include/mozldap
+ doins "${MY_S}/public/ldap/"*.h
+
+ # add sample config
+ insinto /usr/share/mozldap
+ doins "${MY_S}"/etc/*.conf
+
+ #and while at it move them to files with versions-ending
+ #and link them back :)
+ cd "${D}"/usr/$(get_libdir)/mozldap
+
+ #create compatibility Link
+ ln -sf libldap$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so \
+ liblber$(get_major_version ${PV})$(get_version_component_range 2 ${PV}).so || die
+ #so lets move
+ for file in *.so; do
+ mv ${file} ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) || die
+ ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) ${file} || die
+ ln -sf ${file}.$(get_major_version ${PV}).$(get_version_component_range 2 ${PV}) \
+ ${file}.$(get_major_version ${PV}) || die
+ done
+
+ # cope with libraries being in /usr/lib/mozldap
+ dodir /etc/env.d
+ echo "LDPATH=/usr/$(get_libdir)/mozldap" > "${D}"/etc/env.d/08mozldap
+
+ # create pkg-config file
+ insinto /usr/$(get_libdir)/pkgconfig/
+ doins "${S}"/mozldap.pc
+}
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
new file mode 100644
index 000000000000..3198e244326e
--- /dev/null
+++ b/dev-libs/mpc/Manifest
@@ -0,0 +1,3 @@
+DIST mpc-1.0.1.tar.gz 624125 SHA256 ed5a815cfea525dc778df0cb37468b9c1b554aaf30d9328b1431ca705b7400ff SHA512 fa381e75999bba626ba08d73225285b03c6d2f6cca87881b28829925d1624eaed1c9b544f75e7281cf5d8dcdd7831025a4eafc05f88f13375f9e08239a8a9303 WHIRLPOOL ddc857d361b10c7702e2a6bfec3ecb8538f80ae22a41097caaad6f767f035e2a4af2317fe9685a93c6f3d9bcdb0982db042eeb073f7b0e71a72500a5ef07630c
+DIST mpc-1.0.2.tar.gz 633173 SHA256 b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488 SHA512 0e94ba9a20c7374839d2a53a9ed8cce647cc74142b464634fdb9cbaf96e91e43ea13f0b4dab5c06c247e6719de0c0ae03fdcba0c7c4518ee504c545c96da70d0 WHIRLPOOL 23cadbdda08e0f66c74650d1a2190c0cfc788b8cc055eebfafeedfb0f8879c2be286dff7443133f4c737a45ca4a4dfc5f1e1609f0871f119f2cf3a9fd991815c
+DIST mpc-1.0.3.tar.gz 669925 SHA256 617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3 SHA512 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43 WHIRLPOOL f119b70aa53f188fbf7478246a7cb102f94dbebd7281b80424c826cae3c51afaad1c41ce4d1854f3d07bde668f9214d3500e751fb8a8985708da55e7bce85094
diff --git a/dev-libs/mpc/metadata.xml b/dev-libs/mpc/metadata.xml
new file mode 100644
index 000000000000..5961aa214265
--- /dev/null
+++ b/dev-libs/mpc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+</pkgmetadata>
diff --git a/dev-libs/mpc/mpc-1.0.1.ebuild b/dev-libs/mpc/mpc-1.0.1.ebuild
new file mode 100644
index 000000000000..ff0dfce6b872
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.0.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Unconditional dependency of gcc. Keep this set to 0.
+EAPI="0"
+
+inherit eutils libtool multilib
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
+HOMEPAGE="http://mpc.multiprecision.org/"
+SRC_URI="http://www.multiprecision.org/mpc/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.3.2
+ >=dev-libs/mpfr-2.4.2"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ elibtoolize # for FreeMiNT, bug #347317
+}
+
+src_compile() {
+ econf $(use_enable static-libs static) || die
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ use static-libs || rm "${ED:-${D}}"/usr/lib*/libmpc.la
+ dodoc ChangeLog NEWS README TODO
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpc.so.2
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpc.so.2
+}
diff --git a/dev-libs/mpc/mpc-1.0.2-r1.ebuild b/dev-libs/mpc/mpc-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..7ee23176e97b
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.0.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
+HOMEPAGE="http://mpc.multiprecision.org/"
+SRC_URI="http://www.multiprecision.org/mpc/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.3.2[${MULTILIB_USEDEP},static-libs?]
+ >=dev-libs/mpfr-2.4.2[${MULTILIB_USEDEP},static-libs?]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ elibtoolize #347317
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/mpc/mpc-1.0.2.ebuild b/dev-libs/mpc/mpc-1.0.2.ebuild
new file mode 100644
index 000000000000..50eedc65e3d2
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.0.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils libtool multilib
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
+HOMEPAGE="http://mpc.multiprecision.org/"
+SRC_URI="http://www.multiprecision.org/mpc/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.3.2
+ >=dev-libs/mpfr-2.4.2"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ elibtoolize # for FreeMiNT, bug #347317
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ dodoc ChangeLog
+}
diff --git a/dev-libs/mpc/mpc-1.0.3.ebuild b/dev-libs/mpc/mpc-1.0.3.ebuild
new file mode 100644
index 000000000000..463826b0f162
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
+HOMEPAGE="http://mpc.multiprecision.org/"
+SRC_URI="http://www.multiprecision.org/mpc/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.3.2[${MULTILIB_USEDEP},static-libs?]
+ >=dev-libs/mpfr-2.4.2[${MULTILIB_USEDEP},static-libs?]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ elibtoolize #347317
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
new file mode 100644
index 000000000000..0f270a2d2568
--- /dev/null
+++ b/dev-libs/mpfr/Manifest
@@ -0,0 +1,7 @@
+DIST mpfr-2.4.2.tar.bz2 1077886 SHA256 c7e75a08a8d49d2082e4caee1591a05d11b9d5627514e678f02d66a124bcf2ba SHA512 c004b3dbf86c04960e4a1f8db37a409a7cc4cb76135e76e98dcc5ad93aaa8deb62334ee13ff84447a7c12a5e8cb57f25c62ac908c24920f1fb1a38d79d4a4c5e WHIRLPOOL d08935d1c5cda48753ddbf98b3b0e87d911279d7fea24e6b210da7e2378f769f3b20babe96859601195d6a9811cf8297d239df53ad2cfa6d0a1bb7bb02ac6a29
+DIST mpfr-3.0.0.tar.bz2 1138685 SHA256 8f4e5f9c53536cb798a30455ac429b1f9fc75a0f8af32d6e0ac31ebf1024821f SHA512 f404a5ebc48624406ff62ddc7c75c75ae06c207b0cdb60d330e95f2782fca9cf4875f8b8389b666bc96d4f157afbdf270d39d95ae890fc7f81027f744632d016 WHIRLPOOL 195eaafca24f4c11472eebc400899244966ed2f087604c8827314ca64ce4bb282af5ff683a1ffaeba5034d0ef82dbb627a88e77af7c1832b78b2ecb5a82d1b77
+DIST mpfr-3.0.1.tar.bz2 1154306 SHA256 e1977099bb494319c0f0c1f85759050c418a56884e9c6cef1c540b9b13e38e7f SHA512 bbac7d0d63fd3b4cd895e247c448adce7f4c2b6b66ecfe26af138018e0f96991fa8cbd8cbe94f924761aa1ac676e259af1228600dfc0854314e875e7739fd279 WHIRLPOOL 9d8e9fb6fd4c4526ae853e2bbf85c85dabe01000b0df6f79dcfdbb15f0df95f5a084f304e6e0bc78fbd768eecfb7749c5dfa03a772cc6444432dcaccb1c6adc9
+DIST mpfr-3.1.0.tar.bz2 1203891 SHA256 74a7bbbad168dd1cc414f1c9210b8fc16ccfc8e422d34b3371a8978e31eab680 SHA512 86083d8cf9dbcf1e33fcf1d73da8bd5b98fbc9187acf36b2d84c453fd18010aa659960a8026470e49d535d957f764941926a78acb31fe2869bf9a92524e0e81c WHIRLPOOL 7eb97b6df3ca8f903e2fa65c2f184edbf6cf990ce512eaf9598a52db381d74879e5549bf019e89b7d7d260d1347e19d6c03e8365e8340591e110d011090a7a4b
+DIST mpfr-3.1.1.tar.xz 1071688 SHA256 49d5acc32dbeec30a8e26af9c19845763d63feacb8bf97b12876008419f5a17a SHA512 4fcc87e19a08622b3211a33807e708b78da6c8659f391003703a9e170c485f56e6ebfff48d42afca7b4edb14fd9487684c4d8fd6c9f805ed62b6d5259d5721a8 WHIRLPOOL c4fdb3c7fba779cfa8900cd3b05322d4853bb6114ea42a5ec315d4489c25e962185f3e3cd3b3214360b55a58da02987c62c5ca92fb14989b38bd8c93bccd63d5
+DIST mpfr-3.1.2.tar.xz 1074388 SHA256 399d0f47ef6608cc01d29ed1b99c7faff36d9994c45f36f41ba250147100453b SHA512 8d594206afb2637ed39ad564d42c8c4d02b042b95925f5c6ec891e5cb87f7155195559c7ff477256a088ecaaa3c2b0d35a9d11a74ed526a1080d49b2950e5587 WHIRLPOOL 1e391888d9cecc71617e99eb841cafac536e703b12d46a53fdcf773cc2654c98ca6bde2358f997c8b7bfd832bdb0c395b224df8a460a8fb5b4ad6f2c2e092b17
+DIST mpfr-3.1.3.tar.xz 1112096 SHA256 6835a08bd992c8257641791e9a6a2b35b02336c8de26d0a8577953747e514a16 SHA512 79846fd82974269aa48152c2b6dbcb2321130dc4d0f0ba2eb94d56619b177add9b2077ebf88b4382c56db19c4215910e5a252f216715c1eee40baa299da42eb4 WHIRLPOOL fba9174551511ffa0fed80d906c5282c095697e79ab9b6fdeb915b9a81f15e20290b3ae6aa7c9ee9ef10fa9c0f973d8a75e1a169aae43f87a28ca433a93c57ce
diff --git a/dev-libs/mpfr/files/2.4.2/patch01 b/dev-libs/mpfr/files/2.4.2/patch01
new file mode 100644
index 000000000000..2721517c4281
--- /dev/null
+++ b/dev-libs/mpfr/files/2.4.2/patch01
@@ -0,0 +1,184 @@
+diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
+--- mpfr-2.4.2-a/PATCHES 2009-12-07 13:37:12.000000000 +0000
++++ mpfr-2.4.2-b/PATCHES 2009-12-07 13:37:12.000000000 +0000
+@@ -0,0 +1 @@
++sin_cos_underflow
+diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
+--- mpfr-2.4.2-a/VERSION 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/VERSION 2009-12-07 13:37:12.000000000 +0000
+@@ -1 +1 @@
+-2.4.2
++2.4.2-p1
+diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
+--- mpfr-2.4.2-a/mpfr.h 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/mpfr.h 2009-12-07 13:37:12.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 2
+ #define MPFR_VERSION_MINOR 4
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "2.4.2"
++#define MPFR_VERSION_STRING "2.4.2-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-2.4.2-a/sin_cos.c mpfr-2.4.2-b/sin_cos.c
+--- mpfr-2.4.2-a/sin_cos.c 2009-11-30 02:43:09.000000000 +0000
++++ mpfr-2.4.2-b/sin_cos.c 2009-12-07 13:37:12.000000000 +0000
+@@ -82,17 +82,19 @@
+ if (y != x)
+ /* y and x differ, thus we can safely try to compute y first */
+ {
+- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0, rnd_mode,
+- { inexy = _inexact;
+- goto small_input; });
++ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
++ y, x, -2 * expx, 2, 0, rnd_mode,
++ { inexy = _inexact;
++ goto small_input; });
+ if (0)
+ {
+ small_input:
+ /* we can go here only if we can round sin(x) */
+- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx,
+- 1, 0, rnd_mode,
+- { inexz = _inexact;
+- goto end; });
++ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
++ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode,
++ { inexz = _inexact;
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++ goto end; });
+ }
+
+ /* if we go here, one of the two MPFR_FAST_COMPUTE_IF_SMALL_INPUT
+@@ -101,18 +103,19 @@
+ else /* y and x are the same variable: try to compute z first, which
+ necessarily differs */
+ {
+- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx,
+- 1, 0, rnd_mode,
+- { inexz = _inexact;
+- goto small_input2; });
++ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
++ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode,
++ { inexz = _inexact;
++ goto small_input2; });
+ if (0)
+ {
+ small_input2:
+ /* we can go here only if we can round cos(x) */
+- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0,
+- rnd_mode,
+- { inexy = _inexact;
+- goto end; });
++ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
++ y, x, -2 * expx, 2, 0, rnd_mode,
++ { inexy = _inexact;
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++ goto end; });
+ }
+ }
+ m += 2 * (-expx);
+@@ -207,7 +210,6 @@
+ mpfr_clear (xr);
+
+ end:
+- /* FIXME: update the underflow flag if need be. */
+ MPFR_SAVE_EXPO_FREE (expo);
+ mpfr_check_range (y, inexy, rnd_mode);
+ mpfr_check_range (z, inexz, rnd_mode);
+diff -Naurd mpfr-2.4.2-a/tests/tsin_cos.c mpfr-2.4.2-b/tests/tsin_cos.c
+--- mpfr-2.4.2-a/tests/tsin_cos.c 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/tests/tsin_cos.c 2009-12-07 13:37:12.000000000 +0000
+@@ -382,23 +382,56 @@
+ consistency (void)
+ {
+ mpfr_t x, s1, s2, c1, c2;
++ mp_exp_t emin, emax;
+ mp_rnd_t rnd;
++ unsigned int flags_sin, flags_cos, flags, flags_before, flags_ref;
++ int inex_sin, inex_cos, inex, inex_ref;
+ int i;
+
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
+ for (i = 0; i <= 10000; i++)
+ {
+ mpfr_init2 (x, MPFR_PREC_MIN + (randlimb () % 8));
+ mpfr_inits2 (MPFR_PREC_MIN + (randlimb () % 8), s1, s2, c1, c2,
+ (mpfr_ptr) 0);
+- tests_default_random (x, 256, -5, 50);
+- rnd = RND_RAND ();
+- mpfr_sin (s1, x, rnd);
+- mpfr_cos (c1, x, rnd);
+- mpfr_sin_cos (s2, c2, x, rnd);
+- if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2)))
++ if (i < 8 * GMP_RND_MAX)
+ {
+- printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s,\nx = ",
+- mpfr_print_rnd_mode (rnd));
++ int j = i / GMP_RND_MAX;
++ if (j & 1)
++ mpfr_set_emin (MPFR_EMIN_MIN);
++ mpfr_set_si (x, (j & 2) ? 1 : -1, GMP_RNDN);
++ mpfr_set_exp (x, mpfr_get_emin ());
++ rnd = (mpfr_rnd_t) (i % GMP_RND_MAX);
++ flags_before = 0;
++ if (j & 4)
++ mpfr_set_emax (-17);
++ }
++ else
++ {
++ tests_default_random (x, 256, -5, 50);
++ rnd = RND_RAND ();
++ flags_before = (randlimb () & 1) ?
++ (unsigned int) (MPFR_FLAGS_ALL ^ MPFR_FLAGS_ERANGE) :
++ (unsigned int) 0;
++ }
++ __gmpfr_flags = flags_before;
++ inex_sin = mpfr_sin (s1, x, rnd);
++ flags_sin = __gmpfr_flags;
++ __gmpfr_flags = flags_before;
++ inex_cos = mpfr_cos (c1, x, rnd);
++ flags_cos = __gmpfr_flags;
++ __gmpfr_flags = flags_before;
++ inex = !!mpfr_sin_cos (s2, c2, x, rnd);
++ flags = __gmpfr_flags;
++ inex_ref = inex_sin || inex_cos;
++ flags_ref = flags_sin | flags_cos;
++ if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2)) ||
++ inex != inex_ref || flags != flags_ref)
++ {
++ printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s,"
++ " i = %d\nx = ", mpfr_print_rnd_mode (rnd), i);
+ mpfr_dump (x);
+ printf ("s1 = ");
+ mpfr_dump (s1);
+@@ -408,9 +441,16 @@
+ mpfr_dump (c1);
+ printf ("c2 = ");
+ mpfr_dump (c2);
++ printf ("inex_sin = %d, inex_cos = %d, inex = %d (expected %d)\n",
++ inex_sin, inex_cos, inex, inex_ref);
++ printf ("flags_sin = 0x%x, flags_cos = 0x%x, "
++ "flags = 0x%x (expected 0x%x)\n",
++ flags_sin, flags_cos, flags, flags_ref);
+ exit (1);
+ }
+ mpfr_clears (x, s1, s2, c1, c2, (mpfr_ptr) 0);
++ mpfr_set_emin (emin);
++ mpfr_set_emax (emax);
+ }
+ }
+
+diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
+--- mpfr-2.4.2-a/version.c 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/version.c 2009-12-07 13:37:12.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "2.4.2";
++ return "2.4.2-p1";
+ }
diff --git a/dev-libs/mpfr/files/2.4.2/patch02 b/dev-libs/mpfr/files/2.4.2/patch02
new file mode 100644
index 000000000000..fa85d8ef3c57
--- /dev/null
+++ b/dev-libs/mpfr/files/2.4.2/patch02
@@ -0,0 +1,71 @@
+diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
+--- mpfr-2.4.2-a/PATCHES 2009-12-18 12:03:30.000000000 +0000
++++ mpfr-2.4.2-b/PATCHES 2009-12-18 12:05:19.000000000 +0000
+@@ -0,0 +1 @@
++longlong.h
+diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
+--- mpfr-2.4.2-a/VERSION 2009-12-07 13:37:12.000000000 +0000
++++ mpfr-2.4.2-b/VERSION 2009-12-18 12:05:09.000000000 +0000
+@@ -1 +1 @@
+-2.4.2-p1
++2.4.2-p2
+diff -Naurd mpfr-2.4.2-a/mpfr-longlong.h mpfr-2.4.2-b/mpfr-longlong.h
+--- mpfr-2.4.2-a/mpfr-longlong.h 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/mpfr-longlong.h 2009-12-18 12:04:29.000000000 +0000
+@@ -1011,7 +1011,15 @@
+ #endif /* __m88000__ */
+
+ #if defined (__mips) && W_TYPE_SIZE == 32
+-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
++#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
++#define umul_ppmm(w1, w0, u, v) \
++ do { \
++ UDItype _r; \
++ _r = (UDItype) u * v; \
++ (w1) = _r >> 32; \
++ (w0) = (USItype) _r; \
++ } while (0)
++#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+ #define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
+ #else
+@@ -1024,7 +1032,16 @@
+ #endif /* __mips */
+
+ #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
+-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
++#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
++typedef unsigned int UTItype __attribute__ ((mode (TI)));
++#define umul_ppmm(w1, w0, u, v) \
++ do { \
++ UTItype _r; \
++ _r = (UTItype) u * v; \
++ (w1) = _r >> 64; \
++ (w0) = (UDItype) _r; \
++ } while (0)
++#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+ #define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
+ #else
+diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
+--- mpfr-2.4.2-a/mpfr.h 2009-12-07 13:37:12.000000000 +0000
++++ mpfr-2.4.2-b/mpfr.h 2009-12-18 12:05:09.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 2
+ #define MPFR_VERSION_MINOR 4
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "2.4.2-p1"
++#define MPFR_VERSION_STRING "2.4.2-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
+--- mpfr-2.4.2-a/version.c 2009-12-07 13:37:12.000000000 +0000
++++ mpfr-2.4.2-b/version.c 2009-12-18 12:05:09.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "2.4.2-p1";
++ return "2.4.2-p2";
+ }
diff --git a/dev-libs/mpfr/files/2.4.2/patch03 b/dev-libs/mpfr/files/2.4.2/patch03
new file mode 100644
index 000000000000..3ce4952f2f38
--- /dev/null
+++ b/dev-libs/mpfr/files/2.4.2/patch03
@@ -0,0 +1,75 @@
+diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
+--- mpfr-2.4.2-a/PATCHES 2010-01-11 15:27:18.000000000 +0000
++++ mpfr-2.4.2-b/PATCHES 2010-01-11 15:30:31.000000000 +0000
+@@ -0,0 +1 @@
++gmp5
+diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
+--- mpfr-2.4.2-a/VERSION 2009-12-18 12:05:09.000000000 +0000
++++ mpfr-2.4.2-b/VERSION 2010-01-11 15:29:40.000000000 +0000
+@@ -1 +1 @@
+-2.4.2-p2
++2.4.2-p3
+diff -Naurd mpfr-2.4.2-a/configure mpfr-2.4.2-b/configure
+--- mpfr-2.4.2-a/configure 2009-11-30 02:44:35.000000000 +0000
++++ mpfr-2.4.2-b/configure 2010-01-11 15:28:56.000000000 +0000
+@@ -20449,6 +20449,9 @@
+ main ()
+ {
+
++#ifndef BITS_PER_MP_LIMB
++#define BITS_PER_MP_LIMB GMP_LIMB_BITS
++#endif
+ return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
+ && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
+
+diff -Naurd mpfr-2.4.2-a/configure.in mpfr-2.4.2-b/configure.in
+--- mpfr-2.4.2-a/configure.in 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/configure.in 2009-11-30 02:43:08.000000000 +0000
+@@ -424,6 +424,9 @@
+ #include "gmp.h"
+ #include "gmp-impl.h"
+ ]], [[
++#ifndef BITS_PER_MP_LIMB
++#define BITS_PER_MP_LIMB GMP_LIMB_BITS
++#endif
+ return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
+ && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
+ ]])], [AC_MSG_RESULT(yes)], [
+diff -Naurd mpfr-2.4.2-a/mpfr-impl.h mpfr-2.4.2-b/mpfr-impl.h
+--- mpfr-2.4.2-a/mpfr-impl.h 2009-11-30 02:43:08.000000000 +0000
++++ mpfr-2.4.2-b/mpfr-impl.h 2010-01-11 15:28:01.000000000 +0000
+@@ -65,6 +65,12 @@
+ # ifndef __GMP_IMPL_H__
+ # include "gmp-impl.h"
+ # endif
++# ifndef BITS_PER_MP_LIMB
++# define BITS_PER_MP_LIMB GMP_LIMB_BITS
++# endif
++#ifndef mpn_sqr_n
++# define mpn_sqr_n mpn_sqr
++#endif
+ # ifdef MPFR_NEED_LONGLONG_H
+ # include "longlong.h"
+ # endif
+diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
+--- mpfr-2.4.2-a/mpfr.h 2009-12-18 12:05:09.000000000 +0000
++++ mpfr-2.4.2-b/mpfr.h 2010-01-11 15:29:40.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 2
+ #define MPFR_VERSION_MINOR 4
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "2.4.2-p2"
++#define MPFR_VERSION_STRING "2.4.2-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
+--- mpfr-2.4.2-a/version.c 2009-12-18 12:05:09.000000000 +0000
++++ mpfr-2.4.2-b/version.c 2010-01-11 15:29:40.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "2.4.2-p2";
++ return "2.4.2-p3";
+ }
diff --git a/dev-libs/mpfr/files/3.0.0/patch01 b/dev-libs/mpfr/files/3.0.0/patch01
new file mode 100644
index 000000000000..da98aab758f9
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.0/patch01
@@ -0,0 +1,220 @@
+diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
+--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000
++++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000
+@@ -0,0 +1 @@
++mpfr_out_str
+diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
+--- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000
+@@ -1 +1 @@
+-3.0.0
++3.0.0-p1
+diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
+--- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.0.0"
++#define MPFR_VERSION_STRING "3.0.0-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi
+--- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000
+@@ -2050,7 +2050,7 @@
+ are printed. If @var{base} is greater than 10, @samp{@@} will be used
+ instead of @samp{e} as exponent delimiter.
+
+-Return the number of bytes written, or if an error occurred, return 0.
++Return the number of characters written, or if an error occurred, return 0.
+ @end deftypefun
+
+ @deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd})
+diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c
+--- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000
+@@ -22,6 +22,16 @@
+
+ #include "mpfr-impl.h"
+
++/* Warning! S should not contain "%". */
++#define OUT_STR_RET(S) \
++ do \
++ { \
++ int r; \
++ r = fprintf (stream, (S)); \
++ return r < 0 ? 0 : r; \
++ } \
++ while (0)
++
+ size_t
+ mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op,
+ mpfr_rnd_t rnd_mode)
+@@ -29,6 +39,7 @@
+ char *s, *s0;
+ size_t l;
+ mpfr_exp_t e;
++ int err;
+
+ MPFR_ASSERTN (base >= 2 && base <= 62);
+
+@@ -36,37 +47,16 @@
+ if (stream == NULL)
+ stream = stdout;
+
+- if (MPFR_IS_NAN(op))
+- {
+- fprintf (stream, "@NaN@");
+- return 3;
+- }
+-
+- if (MPFR_IS_INF(op))
+- {
+- if (MPFR_SIGN(op) > 0)
+- {
+- fprintf (stream, "@Inf@");
+- return 3;
+- }
+- else
+- {
+- fprintf (stream, "-@Inf@");
+- return 4;
+- }
+- }
+-
+- if (MPFR_IS_ZERO(op))
++ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)))
+ {
+- if (MPFR_SIGN(op) > 0)
+- {
+- fprintf(stream, "0");
+- return 1;
+- }
++ if (MPFR_IS_NAN (op))
++ OUT_STR_RET ("@NaN@");
++ else if (MPFR_IS_INF (op))
++ OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@");
+ else
+ {
+- fprintf(stream, "-0");
+- return 2;
++ MPFR_ASSERTD (MPFR_IS_ZERO (op));
++ OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0");
+ }
+ }
+
+@@ -77,21 +67,31 @@
+
+ l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str
+ - may be incorrect, as only an upper bound? */
+- if (*s == '-')
+- fputc (*s++, stream);
+
+- /* outputs mantissa */
+- fputc (*s++, stream); e--; /* leading digit */
+- fputc ((unsigned char) MPFR_DECIMAL_POINT, stream);
+- fputs (s, stream); /* rest of mantissa */
++ /* outputs possible sign and significand */
++ err = (*s == '-' && fputc (*s++, stream) == EOF)
++ || fputc (*s++, stream) == EOF /* leading digit */
++ || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF
++ || fputs (s, stream) == EOF; /* trailing significand */
+ (*__gmp_free_func) (s0, l);
++ if (MPFR_UNLIKELY (err))
++ return 0;
++
++ e--; /* due to the leading digit */
+
+ /* outputs exponent */
+ if (e)
+ {
++ int r;
++
+ MPFR_ASSERTN(e >= LONG_MIN);
+ MPFR_ASSERTN(e <= LONG_MAX);
+- l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
++
++ r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
++ if (MPFR_UNLIKELY (r < 0))
++ return 0;
++
++ l += r;
+ }
+
+ return l;
+diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c
+--- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000
++++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000
+@@ -46,22 +46,54 @@
+ special (void)
+ {
+ mpfr_t x;
++ unsigned int n;
+
+ mpfr_init (x);
+
+ mpfr_set_nan (x);
+- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ if (n != 5)
++ {
++ printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u "
++ "characters instead of 5.\n", n);
++ exit (1);
++ }
+
+ mpfr_set_inf (x, 1);
+- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ if (n != 5)
++ {
++ printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u "
++ "characters instead of 5.\n", n);
++ exit (1);
++ }
+
+ mpfr_set_inf (x, -1);
+- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ if (n != 6)
++ {
++ printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u "
++ "characters instead of 6.\n", n);
++ exit (1);
++ }
+
+ mpfr_set_ui (x, 0, MPFR_RNDN);
+- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ if (n != 1)
++ {
++ printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u "
++ "characters instead of 1.\n", n);
++ exit (1);
++ }
++
+ mpfr_neg (x, x, MPFR_RNDN);
+- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
++ if (n != 2)
++ {
++ printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u "
++ "characters instead of 2.\n", n);
++ exit (1);
++ }
+
+ mpfr_clear (x);
+ }
+diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
+--- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.0";
++ return "3.0.0-p1";
+ }
diff --git a/dev-libs/mpfr/files/3.0.0/patch02 b/dev-libs/mpfr/files/3.0.0/patch02
new file mode 100644
index 000000000000..af6dfb21380f
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.0/patch02
@@ -0,0 +1,377 @@
+diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in
+--- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000
++++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000
+@@ -239,6 +239,7 @@
+ distuninstallcheck_listfiles = find . -type f -print
+ distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
++ALLOCA = @ALLOCA@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AS = @AS@
+diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
+--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000
++++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000
+@@ -0,0 +1 @@
++alloca
+diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
+--- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000
++++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000
+@@ -1 +1 @@
+-3.0.0-p1
++3.0.0-p2
+diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4
+--- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
+@@ -59,6 +59,9 @@
+ dnl sys/fpu.h - MIPS specific
+ AC_CHECK_HEADERS([sys/time.h sys/fpu.h])
+
++dnl Check how to get `alloca'
++AC_FUNC_ALLOCA
++
+ dnl SIZE_MAX macro
+ gl_SIZE_MAX
+
+diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure
+--- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000
++++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000
+@@ -783,6 +783,7 @@
+ OBJDUMP
+ DLLTOOL
+ AS
++ALLOCA
+ MPFR_LIBM
+ ANSI2KNR
+ U
+@@ -5622,6 +5623,197 @@
+ done
+
+
++# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
++# for constant arguments. Useless!
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
++$as_echo_n "checking for working alloca.h... " >&6; }
++if test "${ac_cv_working_alloca_h+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <alloca.h>
++int
++main ()
++{
++char *p = (char *) alloca (2 * sizeof (int));
++ if (p) return 0;
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_working_alloca_h=yes
++else
++ ac_cv_working_alloca_h=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
++$as_echo "$ac_cv_working_alloca_h" >&6; }
++if test $ac_cv_working_alloca_h = yes; then
++
++$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
++
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
++$as_echo_n "checking for alloca... " >&6; }
++if test "${ac_cv_func_alloca_works+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#ifdef __GNUC__
++# define alloca __builtin_alloca
++#else
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
++# else
++# ifdef HAVE_ALLOCA_H
++# include <alloca.h>
++# else
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca /* predefined by HP cc +Olibcalls */
++char *alloca ();
++# endif
++# endif
++# endif
++# endif
++#endif
++
++int
++main ()
++{
++char *p = (char *) alloca (1);
++ if (p) return 0;
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_func_alloca_works=yes
++else
++ ac_cv_func_alloca_works=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
++$as_echo "$ac_cv_func_alloca_works" >&6; }
++
++if test $ac_cv_func_alloca_works = yes; then
++
++$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
++
++else
++ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
++# that cause trouble. Some versions do not even contain alloca or
++# contain a buggy version. If you still want to use their alloca,
++# use ar to extract alloca.o from them instead of compiling alloca.c.
++
++ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
++
++$as_echo "#define C_ALLOCA 1" >>confdefs.h
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
++$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
++if test "${ac_cv_os_cray+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#if defined CRAY && ! defined CRAY2
++webecray
++#else
++wenotbecray
++#endif
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "webecray" >/dev/null 2>&1; then :
++ ac_cv_os_cray=yes
++else
++ ac_cv_os_cray=no
++fi
++rm -f conftest*
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
++$as_echo "$ac_cv_os_cray" >&6; }
++if test $ac_cv_os_cray = yes; then
++ for ac_func in _getb67 GETB67 getb67; do
++ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++ if test "x$as_val" = x""yes; then :
++
++cat >>confdefs.h <<_ACEOF
++#define CRAY_STACKSEG_END $ac_func
++_ACEOF
++
++ break
++fi
++
++ done
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
++$as_echo_n "checking stack direction for C alloca... " >&6; }
++if test "${ac_cv_c_stack_direction+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ac_cv_c_stack_direction=0
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++$ac_includes_default
++int
++find_stack_direction ()
++{
++ static char *addr = 0;
++ auto char dummy;
++ if (addr == 0)
++ {
++ addr = &dummy;
++ return find_stack_direction ();
++ }
++ else
++ return (&dummy > addr) ? 1 : -1;
++}
++
++int
++main ()
++{
++ return find_stack_direction () < 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ac_cv_c_stack_direction=1
++else
++ ac_cv_c_stack_direction=-1
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
++$as_echo "$ac_cv_c_stack_direction" >&6; }
++cat >>confdefs.h <<_ACEOF
++#define STACK_DIRECTION $ac_cv_c_stack_direction
++_ACEOF
++
++
++fi
++
++
+
+ for ac_header in stdint.h
+ do :
+@@ -7564,13 +7756,13 @@
+ else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+- (eval echo "\"\$as_me:7567: $ac_compile\"" >&5)
++ (eval echo "\"\$as_me:7759: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:7573: output\"" >&5)
++ (eval echo "\"\$as_me:7765: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+@@ -8772,7 +8964,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 8775 "configure"' > conftest.$ac_ext
++ echo '#line 8967 "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -10032,11 +10224,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:10035: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:10227: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:10039: \$? = $ac_status" >&5
++ echo "$as_me:10231: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -10371,11 +10563,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:10374: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:10566: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:10378: \$? = $ac_status" >&5
++ echo "$as_me:10570: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -10476,11 +10668,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:10479: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:10483: \$? = $ac_status" >&5
++ echo "$as_me:10675: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -10531,11 +10723,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:10534: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:10726: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:10538: \$? = $ac_status" >&5
++ echo "$as_me:10730: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -12915,7 +13107,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12918 "configure"
++#line 13110 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13011,7 +13203,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 13014 "configure"
++#line 13206 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
+--- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000
++++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.0.0-p1"
++#define MPFR_VERSION_STRING "3.0.0-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in
+--- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
++++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
+@@ -960,6 +960,7 @@
+ red=; grn=; lgn=; blu=; std=
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
++ALLOCA = @ALLOCA@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AS = @AS@
+diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
+--- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000
++++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.0-p1";
++ return "3.0.0-p2";
+ }
diff --git a/dev-libs/mpfr/files/3.0.0/patch03 b/dev-libs/mpfr/files/3.0.0/patch03
new file mode 100644
index 000000000000..cf8a936ec62f
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.0/patch03
@@ -0,0 +1,88 @@
+diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
+--- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000
++++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000
+@@ -0,0 +1 @@
++gamma_underflow
+diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
+--- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000
++++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000
+@@ -1 +1 @@
+-3.0.0-p2
++3.0.0-p3
+diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c
+--- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000
++++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000
+@@ -274,7 +274,7 @@
+ /* we want an upper bound for x * [log(2-x)-1].
+ since x < 0, we need a lower bound on log(2-x) */
+ mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
+- mpfr_log (xp, xp, MPFR_RNDD);
++ mpfr_log2 (xp, xp, MPFR_RNDD);
+ mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
+ mpfr_mul (xp, xp, x, MPFR_RNDU);
+
+@@ -303,8 +303,8 @@
+ {
+ mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */
+ mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */
+- mpfr_log (tmp, tmp, MPFR_RNDU);
+- mpfr_add (tmp, tmp, xp, MPFR_RNDU);
++ mpfr_log2 (tmp, tmp, MPFR_RNDU);
++ mpfr_add (xp, tmp, xp, MPFR_RNDU);
+ underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0;
+ }
+
+diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
+--- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000
++++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.0.0-p2"
++#define MPFR_VERSION_STRING "3.0.0-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c
+--- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000
++++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000
+@@ -461,6 +461,20 @@
+ mpfr_clear (x);
+ }
+
++/* bug found by Stathis, only occurs on 32-bit machines */
++static void
++test20100709 (void)
++{
++ mpfr_t x;
++ int inex;
++
++ mpfr_init2 (x, 100);
++ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
++ inex = mpfr_gamma (x, x, MPFR_RNDN);
++ MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0);
++ mpfr_clear (x);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -471,6 +485,7 @@
+ test_generic (2, 100, 2);
+ gamma_integer ();
+ test20071231 ();
++ test20100709 ();
+
+ data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
+
+diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
+--- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000
++++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.0-p2";
++ return "3.0.0-p3";
+ }
diff --git a/dev-libs/mpfr/files/3.0.1/patch01 b/dev-libs/mpfr/files/3.0.1/patch01
new file mode 100644
index 000000000000..d79a6f9f2465
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.1/patch01
@@ -0,0 +1,137 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-04-12 10:50:02.000000000 +0000
+@@ -0,0 +1 @@
++asin_exprange
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-04-12 10:50:02.000000000 +0000
+@@ -1 +1 @@
+-3.0.1
++3.0.1-p1
+diff -Naurd mpfr-3.0.1-a/asin.c mpfr-3.0.1-b/asin.c
+--- mpfr-3.0.1-a/asin.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/asin.c 2011-04-12 10:50:02.000000000 +0000
+@@ -63,11 +63,14 @@
+
+ compared = mpfr_cmp_ui (xp, 1);
+
++ MPFR_SAVE_EXPO_MARK (expo);
++
+ if (MPFR_UNLIKELY (compared >= 0))
+ {
+ mpfr_clear (xp);
+ if (compared > 0) /* asin(x) = NaN for |x| > 1 */
+ {
++ MPFR_SAVE_EXPO_FREE (expo);
+ MPFR_SET_NAN (asin);
+ MPFR_RET_NAN;
+ }
+@@ -80,13 +83,11 @@
+ inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode));
+ MPFR_CHANGE_SIGN (asin);
+ }
+- mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */
+- return inexact;
++ mpfr_div_2ui (asin, asin, 1, rnd_mode);
+ }
+ }
+-
+- MPFR_SAVE_EXPO_MARK (expo);
+-
++ else
++ {
+ /* Compute exponent of 1 - ABS(x) */
+ mpfr_ui_sub (xp, 1, xp, MPFR_RNDD);
+ MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0);
+@@ -115,6 +116,7 @@
+ inexact = mpfr_set (asin, xp, rnd_mode);
+
+ mpfr_clear (xp);
++ }
+
+ MPFR_SAVE_EXPO_FREE (expo);
+ return mpfr_check_range (asin, inexact, rnd_mode);
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-04-12 10:50:02.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1"
++#define MPFR_VERSION_STRING "3.0.1-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tasin.c mpfr-3.0.1-b/tests/tasin.c
+--- mpfr-3.0.1-a/tests/tasin.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tasin.c 2011-04-12 10:50:02.000000000 +0000
+@@ -219,6 +219,49 @@
+ mpfr_clear (y);
+ }
+
++static void
++reduced_expo_range (void)
++{
++ mpfr_exp_t emin, emax;
++ mpfr_t x, y, ex_y;
++ int inex, ex_inex;
++ unsigned int flags, ex_flags;
++
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
++ mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0);
++ mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN);
++
++ mpfr_set_emin (1);
++ mpfr_set_emax (1);
++ mpfr_clear_flags ();
++ inex = mpfr_asin (y, x, MPFR_RNDA);
++ flags = __gmpfr_flags;
++ mpfr_set_emin (emin);
++ mpfr_set_emax (emax);
++
++ mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN);
++ ex_inex = -1;
++ ex_flags = MPFR_FLAGS_INEXACT;
++
++ if (SIGN (inex) != ex_inex || flags != ex_flags ||
++ ! mpfr_equal_p (y, ex_y))
++ {
++ printf ("Error in reduced_expo_range\non x = ");
++ mpfr_dump (x);
++ printf ("Expected y = ");
++ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags);
++ printf ("Got y = ");
++ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags);
++ exit (1);
++ }
++
++ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (void)
+ {
+@@ -226,6 +269,7 @@
+
+ special ();
+ special_overflow ();
++ reduced_expo_range ();
+
+ test_generic (2, 100, 15);
+
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-04-12 10:50:02.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1";
++ return "3.0.1-p1";
+ }
diff --git a/dev-libs/mpfr/files/3.0.1/patch02 b/dev-libs/mpfr/files/3.0.1/patch02
new file mode 100644
index 000000000000..0367d846a060
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.1/patch02
@@ -0,0 +1,76 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-04 11:18:33.000000000 +0000
+@@ -0,0 +1 @@
++rec_sqrt-carry
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-04 11:18:33.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p1
++3.0.1-p2
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-04 11:18:33.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p1"
++#define MPFR_VERSION_STRING "3.0.1-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/rec_sqrt.c mpfr-3.0.1-b/rec_sqrt.c
+--- mpfr-3.0.1-a/rec_sqrt.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/rec_sqrt.c 2011-05-04 11:18:33.000000000 +0000
+@@ -375,20 +375,37 @@
+ MPFR_ASSERTD(un == ln + 1 || un == ln + 2);
+ /* the high un-ln limbs of u will overlap the low part of {x+ln,xn},
+ we need to add or subtract the overlapping part {u + ln, un - ln} */
++ /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1
++ below (with size = th) mustn't be used. In such a case, the limb
++ (carry) will be 0, so that this is semantically a no-op, but if
++ mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a
++ non-atomic read/write in a place that is not always allocated,
++ with the possible consequences: a crash if the corresponding
++ address is not mapped, or (rather unlikely) memory corruption
++ if another process/thread writes at the same place; things may
++ be worse with future GMP versions. Hence the tests carry != 0. */
+ if (neg == 0)
+ {
+ if (ln > 0)
+ MPN_COPY (x, u, ln);
+ cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln);
+ /* add cu at x+un */
+- cy += mpn_add_1 (x + un, x + un, th, cu);
++ if (cu != 0)
++ {
++ MPFR_ASSERTD (th != 0);
++ cy += mpn_add_1 (x + un, x + un, th, cu);
++ }
+ }
+ else /* negative case */
+ {
+ /* subtract {u+ln, un-ln} from {x+ln,un} */
+ cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln);
+ /* carry cy is at x+un, like cu */
+- cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++ if (cy + cu != 0)
++ {
++ MPFR_ASSERTD (th != 0);
++ cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++ }
+ /* cy cannot be zero, since the most significant bit of Xh is 1,
+ and the correction is bounded by 2^{-h+3} */
+ MPFR_ASSERTD(cy == 0);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-04 11:18:33.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p1";
++ return "3.0.1-p2";
+ }
diff --git a/dev-libs/mpfr/files/3.0.1/patch03 b/dev-libs/mpfr/files/3.0.1/patch03
new file mode 100644
index 000000000000..251b83732042
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.1/patch03
@@ -0,0 +1,107 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-05 00:00:35.000000000 +0000
+@@ -0,0 +1 @@
++atan-expo-range
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-05 00:00:35.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p2
++3.0.1-p3
+diff -Naurd mpfr-3.0.1-a/atan.c mpfr-3.0.1-b/atan.c
+--- mpfr-3.0.1-a/atan.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/atan.c 2011-05-05 00:00:35.000000000 +0000
+@@ -431,5 +431,5 @@
+ MPFR_GROUP_CLEAR (group);
+
+ MPFR_SAVE_EXPO_FREE (expo);
+- return mpfr_check_range (arctgt, inexact, rnd_mode);
++ return mpfr_check_range (atan, inexact, rnd_mode);
+ }
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-05 00:00:35.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p2"
++#define MPFR_VERSION_STRING "3.0.1-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tatan.c mpfr-3.0.1-b/tests/tatan.c
+--- mpfr-3.0.1-a/tests/tatan.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tatan.c 2011-05-05 00:00:35.000000000 +0000
+@@ -535,6 +535,52 @@
+ mpfr_clears (a, x, y, (mpfr_ptr) 0);
+ }
+
++/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html
++ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure).
++ */
++static void
++reduced_expo_range (void)
++{
++ mpfr_exp_t emin, emax;
++ mpfr_t x, y, ex_y;
++ int inex, ex_inex;
++ unsigned int flags, ex_flags;
++
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
++ mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0);
++ mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN);
++
++ mpfr_set_emin (-5);
++ mpfr_set_emax (-5);
++ mpfr_clear_flags ();
++ inex = mpfr_atan (y, x, MPFR_RNDN);
++ flags = __gmpfr_flags;
++ mpfr_set_emin (emin);
++ mpfr_set_emax (emax);
++
++ mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN);
++ ex_inex = 1;
++ ex_flags = MPFR_FLAGS_INEXACT;
++
++ if (SIGN (inex) != ex_inex || flags != ex_flags ||
++ ! mpfr_equal_p (y, ex_y))
++ {
++ printf ("Error in reduced_expo_range\non x = ");
++ mpfr_dump (x);
++ printf ("Expected y = ");
++ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags);
++ printf ("Got y = ");
++ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags);
++ exit (1);
++ }
++
++ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -546,6 +592,7 @@
+ smallvals_atan2 ();
+ atan2_bug_20071003 ();
+ atan2_different_prec ();
++ reduced_expo_range ();
+
+ test_generic_atan (2, 200, 17);
+ test_generic_atan2 (2, 200, 17);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-05 00:00:35.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p2";
++ return "3.0.1-p3";
+ }
diff --git a/dev-libs/mpfr/files/3.0.1/patch04 b/dev-libs/mpfr/files/3.0.1/patch04
new file mode 100644
index 000000000000..fd74087dc689
--- /dev/null
+++ b/dev-libs/mpfr/files/3.0.1/patch04
@@ -0,0 +1,47 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-09 14:48:24.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-09 14:48:24.000000000 +0000
+@@ -0,0 +1 @@
++texp-zero
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-09 14:48:24.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p3
++3.0.1-p4
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-09 14:48:24.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p3"
++#define MPFR_VERSION_STRING "3.0.1-p4"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/texp.c mpfr-3.0.1-b/tests/texp.c
+--- mpfr-3.0.1-a/tests/texp.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/texp.c 2011-05-09 14:48:24.000000000 +0000
+@@ -170,7 +170,9 @@
+ mpfr_set_prec (x, prec);
+ mpfr_set_prec (y, prec);
+ mpfr_set_prec (z, prec);
+- mpfr_urandomb (x, RANDS);
++ do
++ mpfr_urandomb (x, RANDS);
++ while (MPFR_IS_ZERO (x)); /* 0 is handled by mpfr_exp only */
+ rnd = RND_RAND ();
+ mpfr_exp_2 (y, x, rnd);
+ mpfr_exp_3 (z, x, rnd);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-09 14:48:24.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p3";
++ return "3.0.1-p4";
+ }
diff --git a/dev-libs/mpfr/files/3.1.0/patch01 b/dev-libs/mpfr/files/3.1.0/patch01
new file mode 100644
index 000000000000..437b1a278adc
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch01
@@ -0,0 +1,50 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000
+@@ -0,0 +1 @@
++mpfr_unlikely
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000
+@@ -1 +1 @@
+-3.1.0
++3.1.0-p1
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
+@@ -988,10 +988,11 @@
+ ******************************************************/
+
+ /* Theses macros help the compiler to determine if a test is
+- * likely or unlikely. */
++ likely or unlikely. The !! is necessary in case x is larger
++ than a long. */
+ #if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0)
+ # define MPFR_LIKELY(x) (__builtin_expect(!!(x),1))
+-# define MPFR_UNLIKELY(x) (__builtin_expect((x),0))
++# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0))
+ #else
+ # define MPFR_LIKELY(x) (x)
+ # define MPFR_UNLIKELY(x) (x)
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0"
++#define MPFR_VERSION_STRING "3.1.0-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0";
++ return "3.1.0-p1";
+ }
diff --git a/dev-libs/mpfr/files/3.1.0/patch02 b/dev-libs/mpfr/files/3.1.0/patch02
new file mode 100644
index 000000000000..4714ac9b0d61
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch02
@@ -0,0 +1,96 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-10-14 10:43:32.000000000 +0000
+@@ -0,0 +1 @@
++lib-search-path
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-10-14 10:43:32.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p1
++3.1.0-p2
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p1"
++#define MPFR_VERSION_STRING "3.1.0-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-10-14 10:43:32.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p1";
++ return "3.1.0-p2";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/Makefile.am mpfr-3.1.0-b/tests/Makefile.am
+--- mpfr-3.1.0-a/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
+@@ -65,8 +65,24 @@
+ TESTS = $(check_PROGRAMS)
+ TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
+
+-# Option to prevent libtool from generating wrapper scripts for the tests.
++# The -no-install option prevents libtool from generating wrapper scripts
++# for the tests.
+ # This is useful to easily run the test scripts under valgrind or gdb.
+ # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
+ # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
+-AM_LDFLAGS = -no-install
++#
++# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
++# library is already installed in the corresponding lib directory: its
++# purpose is to make sure that the local .libs comes first in the library
++# search path (otherwise the tests are linked against the old MPFR library
++# by the LINK command -- see the generated Makefile). See:
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
++# and
++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
++#
++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
+diff -Naurd mpfr-3.1.0-a/tests/Makefile.in mpfr-3.1.0-b/tests/Makefile.in
+--- mpfr-3.1.0-a/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
++++ mpfr-3.1.0-b/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
+@@ -1124,11 +1124,27 @@
+ TESTS = $(check_PROGRAMS)
+ TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
+
+-# Option to prevent libtool from generating wrapper scripts for the tests.
++# The -no-install option prevents libtool from generating wrapper scripts
++# for the tests.
+ # This is useful to easily run the test scripts under valgrind or gdb.
+ # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
+ # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
+-AM_LDFLAGS = -no-install
++#
++# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
++# library is already installed in the corresponding lib directory: its
++# purpose is to make sure that the local .libs comes first in the library
++# search path (otherwise the tests are linked against the old MPFR library
++# by the LINK command -- see the generated Makefile). See:
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
++# and
++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
++#
++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
+ all: all-am
+
+ .SUFFIXES:
diff --git a/dev-libs/mpfr/files/3.1.0/patch03 b/dev-libs/mpfr/files/3.1.0/patch03
new file mode 100644
index 000000000000..aa1cfbc609dd
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch03
@@ -0,0 +1,247 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-11-03 15:15:11.000000000 +0000
+@@ -0,0 +1 @@
++vasprintf
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-11-03 15:15:11.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p2
++3.1.0-p3
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p2"
++#define MPFR_VERSION_STRING "3.1.0-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/vasprintf.c mpfr-3.1.0-b/src/vasprintf.c
+--- mpfr-3.1.0-a/src/vasprintf.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/vasprintf.c 2011-11-03 15:15:11.000000000 +0000
+@@ -1178,7 +1178,7 @@
+ mpfr_exp_t exp;
+ char * str;
+ const int spec_g = (spec.spec == 'g' || spec.spec == 'G');
+- const int keep_trailing_zeros = spec_g && spec.alt;
++ const int keep_trailing_zeros = !spec_g || spec.alt;
+
+ /* WARNING: an empty precision field is forbidden (it means precision = 6
+ and it should have been changed to 6 before the function call) */
+@@ -1356,7 +1356,7 @@
+ else
+ /* 1 <= |p| */
+ {
+- size_t nsd; /* Number of significant digits */
++ size_t str_len;
+
+ /* Determine the position of the most significant decimal digit. */
+ exp = floor_log10 (p);
+@@ -1365,12 +1365,10 @@
+ /* P is too large to print all its integral part digits */
+ return -1;
+
+- np->ip_size = exp + 1;
+-
+- nsd = spec.prec + np->ip_size;
+ if (dec_info == NULL)
+- {
+- str = mpfr_get_str (NULL, &exp, 10, nsd, p, spec.rnd_mode);
++ { /* this case occurs with mpfr_printf ("%.0RUf", x) with x=9.5 */
++ str =
++ mpfr_get_str (NULL, &exp, 10, spec.prec+exp+1, p, spec.rnd_mode);
+ register_string (np->sl, str);
+ }
+ else
+@@ -1379,81 +1377,60 @@
+ str = dec_info->str;
+ }
+ np->ip_ptr = MPFR_IS_NEG (p) ? ++str : str; /* skip sign */
++ str_len = strlen (str);
++
++ /* integral part */
++ if (exp > str_len)
++ /* mpfr_get_str gives no trailing zero when p is rounded up to the next
++ power of 10 (p integer, so no fractional part) */
++ {
++ np->ip_trailing_zeros = exp - str_len;
++ np->ip_size = str_len;
++ }
++ else
++ np->ip_size = exp;
+
+ if (spec.group)
+ /* thousands separator in integral part */
+ np->thousands_sep = MPFR_THOUSANDS_SEPARATOR;
+
+- if (nsd == 0 || (spec_g && !spec.alt))
+- /* compute how much non-zero digits in integral and fractional
+- parts */
++ /* fractional part */
++ str += np->ip_size;
++ str_len -= np->ip_size;
++ if (!keep_trailing_zeros)
++ /* remove trailing zeros, if any */
+ {
+- size_t str_len;
+- str_len = strlen (str); /* note: the sign has been skipped */
+-
+- if (exp > str_len)
+- /* mpfr_get_str doesn't give the trailing zeros when p is a
+- multiple of 10 (p integer, so no fractional part) */
+- {
+- np->ip_trailing_zeros = exp - str_len;
+- np->ip_size = str_len;
+- if (spec.alt)
+- np->point = MPFR_DECIMAL_POINT;
+- }
+- else
+- /* str may contain some digits which are in fractional part */
++ char *ptr = str + str_len - 1; /* pointer to the last digit of
++ str */
++ while ((*ptr == '0') && (str_len != 0))
+ {
+- char *ptr;
+-
+- ptr = str + str_len - 1; /* points to the end of str */
+- str_len -= np->ip_size; /* number of digits in fractional
+- part */
+-
+- if (!keep_trailing_zeros)
+- /* remove trailing zeros, if any */
+- {
+- while ((*ptr == '0') && (str_len != 0))
+- {
+- --ptr;
+- --str_len;
+- }
+- }
+-
+- if (str_len > INT_MAX)
+- /* too many digits in fractional part */
+- return -1;
+-
+- if (str_len != 0)
+- /* some digits in fractional part */
+- {
+- np->point = MPFR_DECIMAL_POINT;
+- np->fp_ptr = str + np->ip_size;
+- np->fp_size = str_len;
+- }
++ --ptr;
++ --str_len;
+ }
+ }
+- else
+- /* spec.prec digits in fractional part */
++
++ if (str_len > 0)
++ /* some nonzero digits in fractional part */
+ {
+- if (np->ip_size == exp - 1)
+- /* the absolute value of the number has been rounded up to a power
+- of ten.
+- Insert an additional zero in integral part and put the rest of
+- them in fractional part. */
+- np->ip_trailing_zeros = 1;
++ if (str_len > INT_MAX)
++ /* too many digits in fractional part */
++ return -1;
+
+- if (spec.prec != 0)
+- {
+- MPFR_ASSERTD (np->ip_size + np->ip_trailing_zeros == exp);
+- MPFR_ASSERTD (np->ip_size + spec.prec == nsd);
++ np->point = MPFR_DECIMAL_POINT;
++ np->fp_ptr = str;
++ np->fp_size = str_len;
++ }
+
+- np->point = MPFR_DECIMAL_POINT;
+- np->fp_ptr = str + np->ip_size;
+- np->fp_size = spec.prec;
+- }
+- else if (spec.alt)
+- np->point = MPFR_DECIMAL_POINT;
++ if (keep_trailing_zeros && str_len < spec.prec)
++ /* add missing trailing zeros */
++ {
++ np->point = MPFR_DECIMAL_POINT;
++ np->fp_trailing_zeros = spec.prec - np->fp_size;
+ }
++
++ if (spec.alt)
++ /* add decimal point even if no digits follow it */
++ np->point = MPFR_DECIMAL_POINT;
+ }
+
+ return 0;
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-10-14 10:43:32.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-11-03 15:15:11.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p2";
++ return "3.1.0-p3";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/tsprintf.c mpfr-3.1.0-b/tests/tsprintf.c
+--- mpfr-3.1.0-a/tests/tsprintf.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/tsprintf.c 2011-11-03 15:15:11.000000000 +0000
+@@ -475,6 +475,18 @@
+ check_sprintf ("-1.", "%- #0.1RG", x);
+
+ /* precision zero */
++ mpfr_set_d (x, 9.5, MPFR_RNDN);
++ check_sprintf ("9", "%.0RDf", x);
++ check_sprintf ("10", "%.0RUf", x);
++
++ mpfr_set_d (x, 19.5, MPFR_RNDN);
++ check_sprintf ("19", "%.0RDf", x);
++ check_sprintf ("20", "%.0RUf", x);
++
++ mpfr_set_d (x, 99.5, MPFR_RNDN);
++ check_sprintf ("99", "%.0RDf", x);
++ check_sprintf ("100", "%.0RUf", x);
++
+ mpfr_set_d (x, -9.5, MPFR_RNDN);
+ check_sprintf ("-10", "%.0RDf", x);
+ check_sprintf ("-10", "%.0RYf", x);
+@@ -1078,6 +1090,23 @@
+ mpfr_clear (x);
+ }
+
++static void
++bug20111102 (void)
++{
++ mpfr_t t;
++ char s[100];
++
++ mpfr_init2 (t, 84);
++ mpfr_set_str (t, "999.99999999999999999999", 10, MPFR_RNDN);
++ mpfr_sprintf (s, "%.20RNg", t);
++ if (strcmp (s, "1000") != 0)
++ {
++ printf ("Error in bug20111102, expected 1000, got %s\n", s);
++ exit (1);
++ }
++ mpfr_clear (t);
++}
++
+ /* In particular, the following test makes sure that the rounding
+ * for %Ra and %Rb is not done on the MPFR number itself (as it
+ * would overflow). Note: it has been reported on comp.std.c that
+@@ -1161,6 +1190,7 @@
+ locale = setlocale (LC_ALL, "C");
+ #endif
+
++ bug20111102 ();
+ native_types ();
+ hexadecimal ();
+ binary ();
diff --git a/dev-libs/mpfr/files/3.1.0/patch04 b/dev-libs/mpfr/files/3.1.0/patch04
new file mode 100644
index 000000000000..4b1ba087cf1b
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch04
@@ -0,0 +1,166 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2011-11-28 12:22:52.000000000 +0000
+@@ -0,0 +1 @@
++gmp41compat
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2011-11-28 12:22:52.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p3
++3.1.0-p4
+diff -Naurd mpfr-3.1.0-a/doc/mpfr.info mpfr-3.1.0-b/doc/mpfr.info
+--- mpfr-3.1.0-a/doc/mpfr.info 2011-10-03 09:43:04.000000000 +0000
++++ mpfr-3.1.0-b/doc/mpfr.info 2011-11-28 12:22:52.000000000 +0000
+@@ -2994,11 +2994,12 @@
+
+ * `mpfr_urandom' and `mpfr_urandomb' changed in MPFR 3.1. Their
+ behavior no longer depends on the platform (assuming this is also
+- true for GMP's random generator). As a consequence, the returned
+- values can be different between MPFR 3.1 and previous MPFR
+- versions. Note: as the reproducibility of these functions was not
+- specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ regarded
+- as backward incompatible with previous versions.
++ true for GMP's random generator, which is not the case between GMP
++ 4.1 and 4.2 if `gmp_randinit_default' is used). As a consequence,
++ the returned values can be different between MPFR 3.1 and previous
++ MPFR versions. Note: as the reproducibility of these functions
++ was not specified before MPFR 3.1, the MPFR 3.1 behavior is _not_
++ regarded as backward incompatible with previous versions.
+
+
+ 
+@@ -4239,13 +4240,13 @@
+ Node: Type and Macro Changes129308
+ Node: Added Functions132029
+ Node: Changed Functions134972
+-Node: Removed Functions139167
+-Node: Other Changes139579
+-Node: Contributors141108
+-Node: References143574
+-Node: GNU Free Documentation License145315
+-Node: Concept Index167758
+-Node: Function and Type Index173677
++Node: Removed Functions139253
++Node: Other Changes139665
++Node: Contributors141194
++Node: References143660
++Node: GNU Free Documentation License145401
++Node: Concept Index167844
++Node: Function and Type Index173763
+ 
+ End Tag Table
+
+diff -Naurd mpfr-3.1.0-a/doc/mpfr.texi mpfr-3.1.0-b/doc/mpfr.texi
+--- mpfr-3.1.0-a/doc/mpfr.texi 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/doc/mpfr.texi 2011-11-28 12:22:52.000000000 +0000
+@@ -3466,8 +3466,9 @@
+ a lack of specification.
+
+ @item @code{mpfr_urandom} and @code{mpfr_urandomb} changed in MPFR 3.1.
+-Their behavior no longer depends on the platform (assuming this is also
+-true for GMP's random generator). As a consequence, the returned values
++Their behavior no longer depends on the platform (assuming this is also true
++for GMP's random generator, which is not the case between GMP 4.1 and 4.2 if
++@code{gmp_randinit_default} is used). As a consequence, the returned values
+ can be different between MPFR 3.1 and previous MPFR versions.
+ Note: as the reproducibility of these functions was not specified
+ before MPFR 3.1, the MPFR 3.1 behavior is @emph{not} regarded as
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p3"
++#define MPFR_VERSION_STRING "3.1.0-p4"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-11-03 15:15:11.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2011-11-28 12:22:52.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p3";
++ return "3.1.0-p4";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/trandom.c mpfr-3.1.0-b/tests/trandom.c
+--- mpfr-3.1.0-a/tests/trandom.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/trandom.c 2011-11-28 12:22:52.000000000 +0000
+@@ -114,21 +114,29 @@
+ mpfr_t x;
+ gmp_randstate_t s;
+
++#if __MPFR_GMP(4,2,0)
++# define C1 "0.895943"
++# define C2 "0.848824"
++#else
++# define C1 "0.479652"
++# define C2 "0.648529"
++#endif
++
+ gmp_randinit_default (s);
+ gmp_randseed_ui (s, 42);
+ mpfr_init2 (x, 17);
+ mpfr_urandomb (x, s);
+- if (mpfr_cmp_str1 (x, "0.895943") != 0)
++ if (mpfr_cmp_str1 (x, C1) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.895943, got ");
++ printf ("Error in bug20100914, expected " C1 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+ }
+ mpfr_urandomb (x, s);
+- if (mpfr_cmp_str1 (x, "0.848824") != 0)
++ if (mpfr_cmp_str1 (x, C2) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.848824, got ");
++ printf ("Error in bug20100914, expected " C2 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+diff -Naurd mpfr-3.1.0-a/tests/turandom.c mpfr-3.1.0-b/tests/turandom.c
+--- mpfr-3.1.0-a/tests/turandom.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/turandom.c 2011-11-28 12:22:52.000000000 +0000
+@@ -160,23 +160,29 @@
+ mpfr_t x;
+ gmp_randstate_t s;
+
++#if __MPFR_GMP(4,2,0)
++# define C1 "0.8488312"
++# define C2 "0.8156509"
++#else
++# define C1 "0.6485367"
++# define C2 "0.9362717"
++#endif
++
+ gmp_randinit_default (s);
+ gmp_randseed_ui (s, 42);
+ mpfr_init2 (x, 17);
+ mpfr_urandom (x, s, MPFR_RNDN);
+- /* the following values are obtained on a 32-bit computer, we should get
+- the same values on a 64-bit computer */
+- if (mpfr_cmp_str1 (x, "0.8488312") != 0)
++ if (mpfr_cmp_str1 (x, C1) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.8488312, got ");
++ printf ("Error in bug20100914, expected " C1 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+ }
+ mpfr_urandom (x, s, MPFR_RNDN);
+- if (mpfr_cmp_str1 (x, "0.8156509") != 0)
++ if (mpfr_cmp_str1 (x, C2) != 0)
+ {
+- printf ("Error in bug20100914, expected 0.8156509, got ");
++ printf ("Error in bug20100914, expected " C2 ", got ");
+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
diff --git a/dev-libs/mpfr/files/3.1.0/patch05 b/dev-libs/mpfr/files/3.1.0/patch05
new file mode 100644
index 000000000000..c664cee3526c
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch05
@@ -0,0 +1,69 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-02-24 12:44:49.000000000 +0000
+@@ -0,0 +1 @@
++logging-freeze
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-02-24 12:44:49.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p4
++3.1.0-p5
+diff -Naurd mpfr-3.1.0-a/src/add_d.c mpfr-3.1.0-b/src/add_d.c
+--- mpfr-3.1.0-a/src/add_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add_d.c 2012-02-24 12:44:49.000000000 +0000
+@@ -34,7 +34,7 @@
+ (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
+ mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
+ ("a[%Pu]=%.*Rg inexact=%d",
+- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
++ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
+
+ MPFR_SAVE_EXPO_MARK (expo);
+
+diff -Naurd mpfr-3.1.0-a/src/add_ui.c mpfr-3.1.0-b/src/add_ui.c
+--- mpfr-3.1.0-a/src/add_ui.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add_ui.c 2012-02-24 12:44:49.000000000 +0000
+@@ -29,7 +29,7 @@
+ MPFR_LOG_FUNC
+ (("x[%Pu]=%.*Rg u=%d rnd=%d",
+ mpfr_get_prec(x), mpfr_log_prec, x, u, rnd_mode),
+- ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_get_prec, y));
++ ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_log_prec, y));
+
+ if (MPFR_LIKELY(u != 0) ) /* if u=0, do nothing */
+ {
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p4"
++#define MPFR_VERSION_STRING "3.1.0-p5"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/mul_d.c mpfr-3.1.0-b/src/mul_d.c
+--- mpfr-3.1.0-a/src/mul_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mul_d.c 2012-02-24 12:44:49.000000000 +0000
+@@ -34,7 +34,7 @@
+ (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
+ mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
+ ("a[%Pu]=%.*Rg inexact=%d",
+- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
++ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
+
+ MPFR_SAVE_EXPO_MARK (expo);
+
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2011-11-28 12:22:52.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-02-24 12:44:49.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p4";
++ return "3.1.0-p5";
+ }
diff --git a/dev-libs/mpfr/files/3.1.0/patch06 b/dev-libs/mpfr/files/3.1.0/patch06
new file mode 100644
index 000000000000..0f4bfad6718a
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch06
@@ -0,0 +1,45 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-02-24 13:50:05.000000000 +0000
+@@ -0,0 +1 @@
++logging-varfmt
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-02-24 13:50:05.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p5
++3.1.0-p6
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
+@@ -1592,7 +1592,7 @@
+ do \
+ if ((MPFR_LOG_INTERNAL_F & mpfr_log_type) && \
+ (mpfr_log_current <= mpfr_log_level)) \
+- LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rf\n", __func__, __LINE__, \
++ LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rg\n", __func__, __LINE__, \
+ #x, mpfr_get_prec (x), mpfr_log_prec, x); \
+ while (0)
+
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p5"
++#define MPFR_VERSION_STRING "3.1.0-p6"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2012-02-24 12:44:49.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-02-24 13:50:05.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p5";
++ return "3.1.0-p6";
+ }
diff --git a/dev-libs/mpfr/files/3.1.0/patch07 b/dev-libs/mpfr/files/3.1.0/patch07
new file mode 100644
index 000000000000..08e7b57d53c4
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.0/patch07
@@ -0,0 +1,591 @@
+diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
+--- mpfr-3.1.0-a/PATCHES 2012-03-08 15:17:03.000000000 +0000
++++ mpfr-3.1.0-b/PATCHES 2012-03-08 15:17:03.000000000 +0000
+@@ -0,0 +1 @@
++large-prec
+diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
+--- mpfr-3.1.0-a/VERSION 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/VERSION 2012-03-08 15:17:03.000000000 +0000
+@@ -1 +1 @@
+-3.1.0-p6
++3.1.0-p7
+diff -Naurd mpfr-3.1.0-a/src/add1.c mpfr-3.1.0-b/src/add1.c
+--- mpfr-3.1.0-a/src/add1.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add1.c 2012-03-08 15:17:03.000000000 +0000
+@@ -44,12 +44,12 @@
+ bq = MPFR_PREC(b);
+ cq = MPFR_PREC(c);
+
+- an = (aq-1)/GMP_NUMB_BITS+1; /* number of limbs of a */
++ an = MPFR_PREC2LIMBS (aq); /* number of limbs of a */
+ aq2 = (mpfr_prec_t) an * GMP_NUMB_BITS;
+ sh = aq2 - aq; /* non-significant bits in low limb */
+
+- bn = (bq-1)/GMP_NUMB_BITS+1; /* number of limbs of b */
+- cn = (cq-1)/GMP_NUMB_BITS+1; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+
+ ap = MPFR_MANT(a);
+ bp = MPFR_MANT(b);
+@@ -124,7 +124,7 @@
+ dif = aq2 - diff_exp;
+ /* dif is the number of bits of c which overlap with a' */
+
+- difn = (dif-1)/GMP_NUMB_BITS + 1;
++ difn = MPFR_PREC2LIMBS (dif);
+ /* only the highest difn limbs from c have to be considered */
+ if (MPFR_UNLIKELY(difn > cn))
+ {
+diff -Naurd mpfr-3.1.0-a/src/add1sp.c mpfr-3.1.0-b/src/add1sp.c
+--- mpfr-3.1.0-a/src/add1sp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/add1sp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -107,7 +107,7 @@
+
+ /* Read prec and num of limbs */
+ p = MPFR_PREC(b);
+- n = (p+GMP_NUMB_BITS-1)/GMP_NUMB_BITS;
++ n = MPFR_PREC2LIMBS (p);
+ MPFR_UNSIGNED_MINUS_MODULO(sh, p);
+ bx = MPFR_GET_EXP(b);
+ d = (mpfr_uexp_t) (bx - MPFR_GET_EXP(c));
+diff -Naurd mpfr-3.1.0-a/src/agm.c mpfr-3.1.0-b/src/agm.c
+--- mpfr-3.1.0-a/src/agm.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/agm.c 2012-03-08 15:17:03.000000000 +0000
+@@ -91,7 +91,7 @@
+ q = MPFR_PREC(r);
+ p = q + MPFR_INT_CEIL_LOG2(q) + 15;
+ MPFR_ASSERTD (p >= 7); /* see algorithms.tex */
+- s = (p - 1) / GMP_NUMB_BITS + 1;
++ s = MPFR_PREC2LIMBS (p);
+
+ /* b (op2) and a (op1) are the 2 operands but we want b >= a */
+ compare = mpfr_cmp (op1, op2);
+@@ -285,7 +285,7 @@
+
+ /* Next iteration */
+ MPFR_ZIV_NEXT (loop, p);
+- s = (p - 1) / GMP_NUMB_BITS + 1;
++ s = MPFR_PREC2LIMBS (p);
+ }
+ MPFR_ZIV_FREE (loop);
+
+diff -Naurd mpfr-3.1.0-a/src/eq.c mpfr-3.1.0-b/src/eq.c
+--- mpfr-3.1.0-a/src/eq.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/eq.c 2012-03-08 15:17:03.000000000 +0000
+@@ -56,8 +56,8 @@
+ if (uexp != vexp)
+ return 0; /* no bit agree */
+
+- usize = (MPFR_PREC(u) - 1) / GMP_NUMB_BITS + 1;
+- vsize = (MPFR_PREC(v) - 1) / GMP_NUMB_BITS + 1;
++ usize = MPFR_LIMB_SIZE (u);
++ vsize = MPFR_LIMB_SIZE (v);
+
+ if (vsize > usize) /* exchange u and v */
+ {
+diff -Naurd mpfr-3.1.0-a/src/exp.c mpfr-3.1.0-b/src/exp.c
+--- mpfr-3.1.0-a/src/exp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/exp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -133,7 +133,7 @@
+ mp_size_t yn;
+ int sh;
+
+- yn = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
++ yn = MPFR_LIMB_SIZE (y);
+ sh = (mpfr_prec_t) yn * GMP_NUMB_BITS - MPFR_PREC(y);
+ MPFR_MANT(y)[0] += MPFR_LIMB_ONE << sh;
+ inexact = 1;
+diff -Naurd mpfr-3.1.0-a/src/get_d.c mpfr-3.1.0-b/src/get_d.c
+--- mpfr-3.1.0-a/src/get_d.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_d.c 2012-03-08 15:17:03.000000000 +0000
+@@ -100,7 +100,7 @@
+ nbits += (1021 + e);
+ MPFR_ASSERTD (nbits >= 1);
+ }
+- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ np = MPFR_PREC2LIMBS (nbits);
+ MPFR_ASSERTD ( np <= MPFR_LIMBS_PER_DOUBLE );
+ carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
+ nbits, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/get_flt.c mpfr-3.1.0-b/src/get_flt.c
+--- mpfr-3.1.0-a/src/get_flt.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_flt.c 2012-03-08 15:17:03.000000000 +0000
+@@ -92,7 +92,7 @@
+ nbits += (125 + e);
+ MPFR_ASSERTD (nbits >= 1);
+ }
+- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ np = MPFR_PREC2LIMBS (nbits);
+ MPFR_ASSERTD(np <= MPFR_LIMBS_PER_FLT);
+ carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
+ nbits, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/get_str.c mpfr-3.1.0-b/src/get_str.c
+--- mpfr-3.1.0-a/src/get_str.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/get_str.c 2012-03-08 15:17:03.000000000 +0000
+@@ -2351,7 +2351,7 @@
+
+ /* the first digit will contain only r bits */
+ prec = (m - 1) * pow2 + r; /* total number of bits */
+- n = (prec - 1) / GMP_NUMB_BITS + 1;
++ n = MPFR_PREC2LIMBS (prec);
+
+ MPFR_TMP_MARK (marker);
+ x1 = MPFR_TMP_LIMBS_ALLOC (n + 1);
+@@ -2417,12 +2417,12 @@
+ exact = 1;
+
+ /* number of limbs */
+- n = 1 + (prec - 1) / GMP_NUMB_BITS;
++ n = MPFR_PREC2LIMBS (prec);
+
+ /* a will contain the approximation of the mantissa */
+ a = MPFR_TMP_LIMBS_ALLOC (n);
+
+- nx = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
++ nx = MPFR_LIMB_SIZE (x);
+
+ if ((mpfr_exp_t) m == g) /* final exponent is 0, no multiplication or
+ division to perform */
+diff -Naurd mpfr-3.1.0-a/src/init2.c mpfr-3.1.0-b/src/init2.c
+--- mpfr-3.1.0-a/src/init2.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/init2.c 2012-03-08 15:17:03.000000000 +0000
+@@ -51,7 +51,7 @@
+ which both have an odd mantissa */
+ MPFR_ASSERTN(p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
+
+- xsize = (mp_size_t) ((p - 1) / GMP_NUMB_BITS) + 1;
++ xsize = MPFR_PREC2LIMBS (p);
+ tmp = (mpfr_limb_ptr) (*__gmp_allocate_func)(MPFR_MALLOC_SIZE(xsize));
+
+ MPFR_PREC(x) = p; /* Set prec */
+diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c
+--- mpfr-3.1.0-a/src/lngamma.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000
+@@ -67,7 +67,7 @@
+
+ /* Now, the unit bit is represented. */
+
+- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
+ /* number of represented fractional bits (including the trailing 0's) */
+
+ x0 = *(MPFR_MANT (x) + prec / GMP_NUMB_BITS);
+diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
+--- mpfr-3.1.0-a/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-03-09 12:06:26.000000000 +0000
+@@ -646,10 +646,24 @@
+ **************** mpfr_t properties *******************
+ ******************************************************/
+
++/* In the following macro, p is usually a mpfr_prec_t, but this macro
++ works with other integer types (without integer overflow). Checking
++ that p >= 1 in debug mode is useful here because this macro can be
++ used on a computed precision (in particular, this formula does not
++ work for a degenerate case p = 0, and could give different results
++ on different platforms). But let us not use an assertion checking
++ in the MPFR_LAST_LIMB() and MPFR_LIMB_SIZE() macros below to avoid
++ too much expansion for assertions (in practice, this should be a
++ problem just when testing MPFR with the --enable-assert configure
++ option and the -ansi -pedantic-errors gcc compiler flags). */
++#define MPFR_PREC2LIMBS(p) \
++ (MPFR_ASSERTD ((p) >= 1), ((p) - 1) / GMP_NUMB_BITS + 1)
++
+ #define MPFR_PREC(x) ((x)->_mpfr_prec)
+ #define MPFR_EXP(x) ((x)->_mpfr_exp)
+ #define MPFR_MANT(x) ((x)->_mpfr_d)
+-#define MPFR_LIMB_SIZE(x) ((MPFR_PREC((x))-1)/GMP_NUMB_BITS+1)
++#define MPFR_LAST_LIMB(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS)
++#define MPFR_LIMB_SIZE(x) (MPFR_LAST_LIMB (x) + 1)
+
+
+ /******************************************************
+@@ -749,7 +763,8 @@
+ #define MPFR_IS_FP(x) (!MPFR_IS_NAN(x) && !MPFR_IS_INF(x))
+ #define MPFR_IS_SINGULAR(x) (MPFR_EXP(x) <= MPFR_EXP_INF)
+ #define MPFR_IS_PURE_FP(x) (!MPFR_IS_SINGULAR(x) && \
+- (MPFR_ASSERTD (MPFR_MANT(x)[MPFR_LIMB_SIZE(x)-1] & MPFR_LIMB_HIGHBIT), 1))
++ (MPFR_ASSERTD ((MPFR_MANT(x)[MPFR_LAST_LIMB(x)] \
++ & MPFR_LIMB_HIGHBIT) != 0), 1))
+
+ #define MPFR_ARE_SINGULAR(x,y) \
+ (MPFR_UNLIKELY(MPFR_IS_SINGULAR(x)) || MPFR_UNLIKELY(MPFR_IS_SINGULAR(y)))
+@@ -1061,7 +1076,7 @@
+ /* Set a number to 1 (Fast) - It doesn't check if 1 is in the exponent range */
+ #define MPFR_SET_ONE(x) \
+ do { \
+- mp_size_t _size = MPFR_LIMB_SIZE(x) - 1; \
++ mp_size_t _size = MPFR_LAST_LIMB(x); \
+ MPFR_SET_POS(x); \
+ MPFR_EXP(x) = 1; \
+ MPN_ZERO ( MPFR_MANT(x), _size); \
+@@ -1213,8 +1228,8 @@
+ _destp = MPFR_MANT (dest); \
+ if (MPFR_UNLIKELY (_destprec >= _srcprec)) \
+ { \
+- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
+- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS - _srcs; \
++ _srcs = MPFR_PREC2LIMBS (_srcprec); \
++ _dests = MPFR_PREC2LIMBS (_destprec) - _srcs; \
+ MPN_COPY (_destp + _dests, srcp, _srcs); \
+ MPN_ZERO (_destp, _dests); \
+ inexact = 0; \
+@@ -1227,8 +1242,8 @@
+ mp_limb_t _rb, _sb, _ulp; \
+ \
+ /* Compute Position and shift */ \
+- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
+- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
++ _srcs = MPFR_PREC2LIMBS (_srcprec); \
++ _dests = MPFR_PREC2LIMBS (_destprec); \
+ MPFR_UNSIGNED_MINUS_MODULO (_sh, _destprec); \
+ _sp = (srcp) + _srcs - _dests; \
+ \
+@@ -1372,7 +1387,7 @@
+ if (MPFR_LIKELY (MPFR_PREC (dest) == MPFR_PREC (src))) \
+ { \
+ MPN_COPY (MPFR_MANT (dest), MPFR_MANT (src), \
+- (MPFR_PREC (src) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); \
++ MPFR_LIMB_SIZE (src)); \
+ inexact = 0; \
+ } \
+ else \
+@@ -1682,7 +1697,7 @@
+ MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
+ if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
+ mpfr_abort_prec_max (); \
+- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
++ _size = MPFR_PREC2LIMBS (_prec); \
+ if (MPFR_UNLIKELY (_size * (num) > MPFR_GROUP_STATIC_SIZE)) \
+ { \
+ (g).alloc = (num) * _size * sizeof (mp_limb_t); \
+@@ -1733,7 +1748,7 @@
+ MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
+ if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
+ mpfr_abort_prec_max (); \
+- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
++ _size = MPFR_PREC2LIMBS (_prec); \
+ (g).alloc = (num) * _size * sizeof (mp_limb_t); \
+ if (MPFR_LIKELY (_oalloc == 0)) \
+ (g).mant = (mp_limb_t *) (*__gmp_allocate_func) ((g).alloc); \
+@@ -1886,7 +1901,7 @@
+ MPFR_NORETURN_ATTR;
+
+ __MPFR_DECLSPEC void mpfr_rand_raw _MPFR_PROTO((mpfr_limb_ptr, gmp_randstate_t,
+- unsigned long));
++ mpfr_prec_t));
+
+ __MPFR_DECLSPEC mpz_t* mpfr_bernoulli_internal _MPFR_PROTO((mpz_t*,
+ unsigned long));
+diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
+--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "3.1.0-p6"
++#define MPFR_VERSION_STRING "3.1.0-p7"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.0-a/src/mul.c mpfr-3.1.0-b/src/mul.c
+--- mpfr-3.1.0-a/src/mul.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/mul.c 2012-03-08 15:17:03.000000000 +0000
+@@ -93,15 +93,15 @@
+
+ ax = MPFR_GET_EXP (b) + MPFR_GET_EXP (c);
+
+- bq = MPFR_PREC(b);
+- cq = MPFR_PREC(c);
++ bq = MPFR_PREC (b);
++ cq = MPFR_PREC (c);
+
+- MPFR_ASSERTD(bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
+
+- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
+- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+ k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
+- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ tn = MPFR_PREC2LIMBS (bq + cq);
+ /* <= k, thus no int overflow */
+ MPFR_ASSERTD(tn <= k);
+
+@@ -292,12 +292,12 @@
+ bq = MPFR_PREC (b);
+ cq = MPFR_PREC (c);
+
+- MPFR_ASSERTD (bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
+
+- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
+- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
+ k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
+- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ tn = MPFR_PREC2LIMBS (bq + cq);
+ MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
+
+ /* Check for no size_t overflow*/
+diff -Naurd mpfr-3.1.0-a/src/pow.c mpfr-3.1.0-b/src/pow.c
+--- mpfr-3.1.0-a/src/pow.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/pow.c 2012-03-08 15:17:03.000000000 +0000
+@@ -136,7 +136,7 @@
+ (b) all the 'z' bits are zero
+ */
+
+- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
+ /* number of z+0 bits */
+
+ yn = prec / GMP_NUMB_BITS;
+diff -Naurd mpfr-3.1.0-a/src/print_raw.c mpfr-3.1.0-b/src/print_raw.c
+--- mpfr-3.1.0-a/src/print_raw.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/print_raw.c 2012-03-08 15:17:03.000000000 +0000
+@@ -84,7 +84,7 @@
+ int i;
+ mpfr_prec_t count = 0;
+ char c;
+- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
++ mp_size_t n = MPFR_PREC2LIMBS (r);
+
+ printf("%s ", str);
+ for(n-- ; n>=0 ; n--)
+@@ -109,7 +109,7 @@
+ int i;
+ mpfr_prec_t count = 0;
+ char c;
+- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
++ mp_size_t n = MPFR_PREC2LIMBS (r);
+
+ for(n-- ; n>=0 ; n--)
+ {
+diff -Naurd mpfr-3.1.0-a/src/round_prec.c mpfr-3.1.0-b/src/round_prec.c
+--- mpfr-3.1.0-a/src/round_prec.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/round_prec.c 2012-03-08 15:17:03.000000000 +0000
+@@ -55,12 +55,12 @@
+
+ MPFR_ASSERTN(prec >= MPFR_PREC_MIN && prec <= MPFR_PREC_MAX);
+
+- nw = 1 + (prec - 1) / GMP_NUMB_BITS; /* needed allocated limbs */
++ nw = MPFR_PREC2LIMBS (prec); /* needed allocated limbs */
+
+ /* check if x has enough allocated space for the significand */
+ /* Get the number of limbs from the precision.
+ (Compatible with all allocation methods) */
+- ow = (MPFR_PREC (x) + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
++ ow = MPFR_LIMB_SIZE (x);
+ if (nw > ow)
+ {
+ /* FIXME: Variable can't be created using custom allocation,
+diff -Naurd mpfr-3.1.0-a/src/round_raw_generic.c mpfr-3.1.0-b/src/round_raw_generic.c
+--- mpfr-3.1.0-a/src/round_raw_generic.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/round_raw_generic.c 2012-03-08 15:17:03.000000000 +0000
+@@ -80,7 +80,7 @@
+ (xprec <= yprec || MPFR_IS_LIKE_RNDZ (rnd_mode, neg)))
+ return 0;
+
+- xsize = (xprec-1)/GMP_NUMB_BITS + 1;
++ xsize = MPFR_PREC2LIMBS (xprec);
+ nw = yprec / GMP_NUMB_BITS;
+ rw = yprec & (GMP_NUMB_BITS - 1);
+
+diff -Naurd mpfr-3.1.0-a/src/set.c mpfr-3.1.0-b/src/set.c
+--- mpfr-3.1.0-a/src/set.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set.c 2012-03-08 15:17:03.000000000 +0000
+@@ -48,8 +48,7 @@
+ /* Same precision and b is not singular:
+ * just copy the mantissa, and set the exponent and the sign
+ * The result is exact. */
+- MPN_COPY (MPFR_MANT (a), MPFR_MANT (b),
+- (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS);
++ MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), MPFR_LIMB_SIZE (b));
+ MPFR_RET (0);
+ }
+ else
+diff -Naurd mpfr-3.1.0-a/src/set_f.c mpfr-3.1.0-b/src/set_f.c
+--- mpfr-3.1.0-a/src/set_f.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set_f.c 2012-03-08 15:17:03.000000000 +0000
+@@ -43,7 +43,7 @@
+ if (SIZ(x) * MPFR_FROM_SIGN_TO_INT(MPFR_SIGN(y)) < 0)
+ MPFR_CHANGE_SIGN (y);
+
+- sy = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
++ sy = MPFR_LIMB_SIZE (y);
+ my = MPFR_MANT(y);
+ mx = PTR(x);
+
+diff -Naurd mpfr-3.1.0-a/src/set_prec.c mpfr-3.1.0-b/src/set_prec.c
+--- mpfr-3.1.0-a/src/set_prec.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/set_prec.c 2012-03-08 15:17:03.000000000 +0000
+@@ -32,7 +32,7 @@
+ MPFR_ASSERTN (p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
+
+ /* Calculate the new number of limbs */
+- xsize = (p - 1) / GMP_NUMB_BITS + 1;
++ xsize = MPFR_PREC2LIMBS (p);
+
+ /* Realloc only if the new size is greater than the old */
+ xoldsize = MPFR_GET_ALLOC_SIZE (x);
+diff -Naurd mpfr-3.1.0-a/src/setmax.c mpfr-3.1.0-b/src/setmax.c
+--- mpfr-3.1.0-a/src/setmax.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/setmax.c 2012-03-08 15:17:03.000000000 +0000
+@@ -32,7 +32,7 @@
+ mp_limb_t *xp;
+
+ MPFR_SET_EXP (x, e);
+- xn = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
++ xn = MPFR_LIMB_SIZE (x);
+ sh = (mpfr_prec_t) xn * GMP_NUMB_BITS - MPFR_PREC(x);
+ xp = MPFR_MANT(x);
+ xp[0] = MP_LIMB_T_MAX << sh;
+diff -Naurd mpfr-3.1.0-a/src/sqr.c mpfr-3.1.0-b/src/sqr.c
+--- mpfr-3.1.0-a/src/sqr.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/sqr.c 2012-03-08 15:17:03.000000000 +0000
+@@ -56,11 +56,11 @@
+ ax = 2 * MPFR_GET_EXP (b);
+ bq = MPFR_PREC(b);
+
+- MPFR_ASSERTD (2 * bq > bq); /* PREC_MAX is /2 so no integer overflow */
++ MPFR_ASSERTN (2 * (mpfr_uprec_t) bq <= MPFR_PREC_MAX);
+
+- bn = MPFR_LIMB_SIZE(b); /* number of limbs of b */
+- tn = 1 + (2 * bq - 1) / GMP_NUMB_BITS; /* number of limbs of square,
+- 2*bn or 2*bn-1 */
++ bn = MPFR_LIMB_SIZE (b); /* number of limbs of b */
++ tn = MPFR_PREC2LIMBS (2 * bq); /* number of limbs of square,
++ 2*bn or 2*bn-1 */
+
+ if (MPFR_UNLIKELY(bn > MPFR_SQR_THRESHOLD))
+ return mpfr_mul (a, b, b, rnd_mode);
+diff -Naurd mpfr-3.1.0-a/src/stack_interface.c mpfr-3.1.0-b/src/stack_interface.c
+--- mpfr-3.1.0-a/src/stack_interface.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/stack_interface.c 2012-03-08 15:17:03.000000000 +0000
+@@ -26,7 +26,7 @@
+ size_t
+ mpfr_custom_get_size (mpfr_prec_t prec)
+ {
+- return (prec + GMP_NUMB_BITS -1) / GMP_NUMB_BITS * BYTES_PER_MP_LIMB;
++ return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
+ }
+
+ #undef mpfr_custom_init
+diff -Naurd mpfr-3.1.0-a/src/strtofr.c mpfr-3.1.0-b/src/strtofr.c
+--- mpfr-3.1.0-a/src/strtofr.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/strtofr.c 2012-03-08 15:17:03.000000000 +0000
+@@ -467,7 +467,7 @@
+ /* Set y to the value of the ~prec most significant bits of pstr->mant
+ (as long as we guarantee correct rounding, we don't need to get
+ exactly prec bits). */
+- ysize = (prec - 1) / GMP_NUMB_BITS + 1;
++ ysize = MPFR_PREC2LIMBS (prec);
+ /* prec bits corresponds to ysize limbs */
+ ysize_bits = ysize * GMP_NUMB_BITS;
+ /* and to ysize_bits >= prec > MPFR_PREC (x) bits */
+diff -Naurd mpfr-3.1.0-a/src/sub1sp.c mpfr-3.1.0-b/src/sub1sp.c
+--- mpfr-3.1.0-a/src/sub1sp.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/sub1sp.c 2012-03-08 15:17:03.000000000 +0000
+@@ -155,8 +155,8 @@
+ MPFR_ASSERTD(MPFR_IS_PURE_FP(c));
+
+ /* Read prec and num of limbs */
+- p = MPFR_PREC(b);
+- n = (p-1)/GMP_NUMB_BITS+1;
++ p = MPFR_PREC (b);
++ n = MPFR_PREC2LIMBS (p);
+
+ /* Fast cmp of |b| and |c|*/
+ bx = MPFR_GET_EXP (b);
+diff -Naurd mpfr-3.1.0-a/src/urandomb.c mpfr-3.1.0-b/src/urandomb.c
+--- mpfr-3.1.0-a/src/urandomb.c 2011-10-03 08:17:09.000000000 +0000
++++ mpfr-3.1.0-b/src/urandomb.c 2012-03-08 15:17:03.000000000 +0000
+@@ -31,13 +31,20 @@
+ a sufficient number of limbs */
+ void
+ mpfr_rand_raw (mpfr_limb_ptr mp, gmp_randstate_t rstate,
+- unsigned long int nbits)
++ mpfr_prec_t nbits)
+ {
+ mpz_t z;
+
++ MPFR_ASSERTN (nbits >= 1);
+ /* To be sure to avoid the potential allocation of mpz_urandomb */
+- ALLOC(z) = SIZ(z) = ((nbits - 1) / GMP_NUMB_BITS) + 1;
++ ALLOC(z) = SIZ(z) = MPFR_PREC2LIMBS (nbits);
+ PTR(z) = mp;
++#if __MPFR_GMP(5,0,0)
++ /* Check for integer overflow (unless mp_bitcnt_t is signed,
++ but according to the GMP manual, this shouldn't happen).
++ Note: mp_bitcnt_t has been introduced in GMP 5.0.0. */
++ MPFR_ASSERTN ((mp_bitcnt_t) -1 < 0 || nbits <= (mp_bitcnt_t) -1);
++#endif
+ mpz_urandomb (z, rstate, nbits);
+ }
+
+diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
+--- mpfr-3.1.0-a/src/version.c 2012-02-24 13:50:05.000000000 +0000
++++ mpfr-3.1.0-b/src/version.c 2012-03-08 15:17:03.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.0-p6";
++ return "3.1.0-p7";
+ }
+diff -Naurd mpfr-3.1.0-a/tests/tinits.c mpfr-3.1.0-b/tests/tinits.c
+--- mpfr-3.1.0-a/tests/tinits.c 2011-10-03 08:17:14.000000000 +0000
++++ mpfr-3.1.0-b/tests/tinits.c 2012-03-08 15:17:03.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* Test file for mpfr_inits, mpfr_inits2 and mpfr_clears.
++/* Test file for mpfr_init2, mpfr_inits, mpfr_inits2 and mpfr_clears.
+
+ Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Contributed by the Arenaire and Caramel projects, INRIA.
+@@ -20,18 +20,43 @@
+ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
+
++#include <stdlib.h>
++
+ #include "mpfr-test.h"
+
+ int
+ main (void)
+ {
+ mpfr_t a, b, c;
++ long large_prec;
+
+ tests_start_mpfr ();
++
+ mpfr_inits (a, b, c, (mpfr_ptr) 0);
+ mpfr_clears (a, b, c, (mpfr_ptr) 0);
+ mpfr_inits2 (200, a, b, c, (mpfr_ptr) 0);
+ mpfr_clears (a, b, c, (mpfr_ptr) 0);
++
++ /* test for precision 2^31-1, see
++ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13918 */
++ large_prec = 2147483647;
++ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL)
++ {
++ /* We assume that the precision won't be increased internally. */
++ if (large_prec > MPFR_PREC_MAX)
++ large_prec = MPFR_PREC_MAX;
++ mpfr_inits2 (large_prec, a, b, (mpfr_ptr) 0);
++ mpfr_set_ui (a, 17, MPFR_RNDN);
++ mpfr_set (b, a, MPFR_RNDN);
++ if (mpfr_get_ui (a, MPFR_RNDN) != 17)
++ {
++ printf ("Error in mpfr_init2 with precision 2^31-1\n");
++ exit (1);
++ }
++ mpfr_clears (a, b, (mpfr_ptr) 0);
++ }
++
+ tests_end_mpfr ();
++
+ return 0;
+ }
diff --git a/dev-libs/mpfr/files/3.1.1/patch01 b/dev-libs/mpfr/files/3.1.1/patch01
new file mode 100644
index 000000000000..d73a3d7b4fd8
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.1/patch01
@@ -0,0 +1,235 @@
+diff -Naurd mpfr-3.1.1-a/PATCHES mpfr-3.1.1-b/PATCHES
+--- mpfr-3.1.1-a/PATCHES 2012-08-30 09:28:51.000000000 +0000
++++ mpfr-3.1.1-b/PATCHES 2012-08-30 09:28:51.000000000 +0000
+@@ -0,0 +1 @@
++get_decimal64
+diff -Naurd mpfr-3.1.1-a/VERSION mpfr-3.1.1-b/VERSION
+--- mpfr-3.1.1-a/VERSION 2012-07-03 15:01:13.000000000 +0000
++++ mpfr-3.1.1-b/VERSION 2012-08-30 09:28:51.000000000 +0000
+@@ -1 +1 @@
+-3.1.1
++3.1.1-p1
+diff -Naurd mpfr-3.1.1-a/src/get_d64.c mpfr-3.1.1-b/src/get_d64.c
+--- mpfr-3.1.1-a/src/get_d64.c 2012-07-03 15:01:18.000000000 +0000
++++ mpfr-3.1.1-b/src/get_d64.c 2012-08-30 09:28:51.000000000 +0000
+@@ -32,6 +32,10 @@
+
+ #ifdef MPFR_WANT_DECIMAL_FLOATS
+
++#ifndef DEC64_MAX
++# define DEC64_MAX 9.999999999999999E384dd
++#endif
++
+ #ifdef DPD_FORMAT
+ static int T[1000] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 32,
+@@ -142,26 +146,14 @@
+ static _Decimal64
+ get_decimal64_min (int negative)
+ {
+- union ieee_double_extract x;
+-
+- x.s.sig = (negative) ? 1 : 0;
+- x.s.exp = 0;
+- x.s.manh = 0;
+- x.s.manl = 1;
+- return x.d;
++ return negative ? - 1E-398dd : 1E-398dd;
+ }
+
+ /* construct the decimal64 largest finite number with given sign */
+ static _Decimal64
+ get_decimal64_max (int negative)
+ {
+- union ieee_double_extract x;
+-
+- x.s.sig = (negative) ? 1 : 0;
+- x.s.exp = 1919;
+- x.s.manh = 1048575; /* 2^20-1 */
+- x.s.manl = ~0;
+- return x.d;
++ return negative ? - DEC64_MAX : DEC64_MAX;
+ }
+
+ /* one-to-one conversion:
+@@ -334,7 +326,8 @@
+ /* the largest decimal64 number is just below 10^(385) < 2^1279 */
+ else if (MPFR_UNLIKELY (e > 1279)) /* then src >= 2^1279 */
+ {
+- if (MPFR_RNDZ || (rnd_mode == MPFR_RNDU && negative != 0)
++ if (rnd_mode == MPFR_RNDZ
++ || (rnd_mode == MPFR_RNDU && negative != 0)
+ || (rnd_mode == MPFR_RNDD && negative == 0))
+ return get_decimal64_max (negative);
+ else
+@@ -354,6 +347,15 @@
+ which corresponds to s=[0.]1000...000 and e=-397 */
+ if (e < -397)
+ {
++ if (rnd_mode == MPFR_RNDN && e == -398)
++ {
++ /* If 0.5E-398 < |src| < 1E-398 (smallest subnormal),
++ src should round to +/- 1E-398 in MPFR_RNDN. */
++ mpfr_get_str (s, &e, 10, 1, src, MPFR_RNDA);
++ return e == -398 && s[negative] <= '5' ?
++ get_decimal64_zero (negative) :
++ get_decimal64_min (negative);
++ }
+ if (rnd_mode == MPFR_RNDZ || rnd_mode == MPFR_RNDN
+ || (rnd_mode == MPFR_RNDD && negative == 0)
+ || (rnd_mode == MPFR_RNDU && negative != 0))
+@@ -379,7 +381,8 @@
+ which corresponds to s=[0.]9999...999 and e=385 */
+ else if (e > 385)
+ {
+- if (MPFR_RNDZ || (rnd_mode == MPFR_RNDU && negative != 0)
++ if (rnd_mode == MPFR_RNDZ
++ || (rnd_mode == MPFR_RNDU && negative != 0)
+ || (rnd_mode == MPFR_RNDD && negative == 0))
+ return get_decimal64_max (negative);
+ else
+diff -Naurd mpfr-3.1.1-a/src/mpfr.h mpfr-3.1.1-b/src/mpfr.h
+--- mpfr-3.1.1-a/src/mpfr.h 2012-07-03 15:01:19.000000000 +0000
++++ mpfr-3.1.1-b/src/mpfr.h 2012-08-30 09:28:51.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.1.1"
++#define MPFR_VERSION_STRING "3.1.1-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.1-a/src/version.c mpfr-3.1.1-b/src/version.c
+--- mpfr-3.1.1-a/src/version.c 2012-07-03 15:01:18.000000000 +0000
++++ mpfr-3.1.1-b/src/version.c 2012-08-30 09:28:51.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.1";
++ return "3.1.1-p1";
+ }
+diff -Naurd mpfr-3.1.1-a/tests/tget_set_d64.c mpfr-3.1.1-b/tests/tget_set_d64.c
+--- mpfr-3.1.1-a/tests/tget_set_d64.c 2012-07-03 15:01:24.000000000 +0000
++++ mpfr-3.1.1-b/tests/tget_set_d64.c 2012-08-30 09:28:51.000000000 +0000
+@@ -25,6 +25,10 @@
+ #include <stdlib.h> /* for exit */
+ #include "mpfr-test.h"
+
++#ifndef DEC64_MAX
++# define DEC64_MAX 9.999999999999999E384dd
++#endif
++
+ /* #define DEBUG */
+
+ static void
+@@ -149,6 +153,15 @@
+ mpfr_set_str (x, "9.999999999999999E384", 10, MPFR_RNDZ);
+ mpfr_set (y, x, MPFR_RNDZ);
+ d = mpfr_get_decimal64 (x, MPFR_RNDU);
++ ASSERT_ALWAYS (d == DEC64_MAX);
++ mpfr_set_ui (x, 0, MPFR_RNDZ);
++ mpfr_set_decimal64 (x, d, MPFR_RNDZ);
++ ASSERT_ALWAYS (mpfr_cmp (x, y) == 0);
++
++ mpfr_set_str (x, "-9.999999999999999E384", 10, MPFR_RNDZ);
++ mpfr_set (y, x, MPFR_RNDZ);
++ d = mpfr_get_decimal64 (x, MPFR_RNDA);
++ ASSERT_ALWAYS (d == -DEC64_MAX);
+ mpfr_set_ui (x, 0, MPFR_RNDZ);
+ mpfr_set_decimal64 (x, d, MPFR_RNDZ);
+ ASSERT_ALWAYS (mpfr_cmp (x, y) == 0);
+@@ -225,6 +238,83 @@
+ mpfr_clear (x);
+ }
+
++static void
++check_overflow (void)
++{
++ mpfr_t x;
++ int err = 0, neg, rnd;
++
++ mpfr_init2 (x, 96);
++ for (neg = 0; neg < 2; neg++)
++ RND_LOOP (rnd)
++ {
++ _Decimal64 d, e;
++ mpfr_rnd_t r = (mpfr_rnd_t) rnd;
++ int sign = neg ? -1 : 1;
++
++ e = sign * (MPFR_IS_LIKE_RNDZ (r, neg) ? 1 : 2) * DEC64_MAX;
++ /* This tests the binary exponent e > 1279 case of get_d64.c */
++ mpfr_set_si_2exp (x, sign, 9999, MPFR_RNDN);
++ d = mpfr_get_decimal64 (x, r);
++ if (d != e)
++ {
++ printf ("Error 1 in check_overflow for %s, %s\n",
++ neg ? "negative" : "positive",
++ mpfr_print_rnd_mode (r));
++ err = 1;
++ }
++ /* This tests the decimal exponent e > 385 case of get_d64.c */
++ mpfr_set_si_2exp (x, sign * 31, 1274, MPFR_RNDN);
++ d = mpfr_get_decimal64 (x, r);
++ if (d != e)
++ {
++ printf ("Error 2 in check_overflow for %s, %s\n",
++ neg ? "negative" : "positive",
++ mpfr_print_rnd_mode (r));
++ err = 1;
++ }
++ /* This tests the last else (-382 <= e <= 385) of get_d64.c */
++ mpfr_set_decimal64 (x, e, MPFR_RNDA);
++ d = mpfr_get_decimal64 (x, r);
++ if (d != e)
++ {
++ printf ("Error 3 in check_overflow for %s, %s\n",
++ neg ? "negative" : "positive",
++ mpfr_print_rnd_mode (r));
++ err = 1;
++ }
++ }
++ mpfr_clear (x);
++ if (err)
++ exit (1);
++}
++
++static void
++check_tiny (void)
++{
++ mpfr_t x;
++ _Decimal64 d;
++
++ /* If 0.5E-398 < |x| < 1E-398 (smallest subnormal), x should round
++ to +/- 1E-398 in MPFR_RNDN. Note: the midpoint 0.5E-398 between
++ 0 and 1E-398 is not a representable binary number, so that there
++ are no tests for it. */
++ mpfr_init2 (x, 128);
++ mpfr_set_str (x, "1E-398", 10, MPFR_RNDZ);
++ d = mpfr_get_decimal64 (x, MPFR_RNDN);
++ MPFR_ASSERTN (d == 1.0E-398dd);
++ mpfr_neg (x, x, MPFR_RNDN);
++ d = mpfr_get_decimal64 (x, MPFR_RNDN);
++ MPFR_ASSERTN (d == -1.0E-398dd);
++ mpfr_set_str (x, "0.5E-398", 10, MPFR_RNDU);
++ d = mpfr_get_decimal64 (x, MPFR_RNDN);
++ MPFR_ASSERTN (d == 1.0E-398dd);
++ mpfr_neg (x, x, MPFR_RNDN);
++ d = mpfr_get_decimal64 (x, MPFR_RNDN);
++ MPFR_ASSERTN (d == -1.0E-398dd);
++ mpfr_clear (x);
++}
++
+ int
+ main (void)
+ {
+@@ -241,6 +331,8 @@
+ check_inf_nan ();
+ check_random ();
+ check_native ();
++ check_overflow ();
++ check_tiny ();
+
+ tests_end_mpfr ();
+ return 0;
diff --git a/dev-libs/mpfr/files/3.1.1/patch02 b/dev-libs/mpfr/files/3.1.1/patch02
new file mode 100644
index 000000000000..76dbc4534d25
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.1/patch02
@@ -0,0 +1,170 @@
+diff -Naurd mpfr-3.1.1-a/PATCHES mpfr-3.1.1-b/PATCHES
+--- mpfr-3.1.1-a/PATCHES 2012-08-30 09:35:12.000000000 +0000
++++ mpfr-3.1.1-b/PATCHES 2012-08-30 09:35:12.000000000 +0000
+@@ -0,0 +1 @@
++strtofr-ternary-value
+diff -Naurd mpfr-3.1.1-a/VERSION mpfr-3.1.1-b/VERSION
+--- mpfr-3.1.1-a/VERSION 2012-08-30 09:28:51.000000000 +0000
++++ mpfr-3.1.1-b/VERSION 2012-08-30 09:35:12.000000000 +0000
+@@ -1 +1 @@
+-3.1.1-p1
++3.1.1-p2
+diff -Naurd mpfr-3.1.1-a/src/mpfr.h mpfr-3.1.1-b/src/mpfr.h
+--- mpfr-3.1.1-a/src/mpfr.h 2012-08-30 09:28:51.000000000 +0000
++++ mpfr-3.1.1-b/src/mpfr.h 2012-08-30 09:35:12.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.1.1-p1"
++#define MPFR_VERSION_STRING "3.1.1-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.1-a/src/strtofr.c mpfr-3.1.1-b/src/strtofr.c
+--- mpfr-3.1.1-a/src/strtofr.c 2012-07-03 15:01:16.000000000 +0000
++++ mpfr-3.1.1-b/src/strtofr.c 2012-08-30 09:35:12.000000000 +0000
+@@ -667,6 +667,20 @@
+ /* (z, exp_z) = base^(exp_base-pstr_size) */
+ z = result + 2*ysize + 1;
+ err = mpfr_mpn_exp (z, &exp_z, pstr->base, exp_z, ysize);
++ /* Since we want y/z rounded toward zero, we must get an upper
++ bound of z. If err >= 0, the error on z is bounded by 2^err. */
++ if (err >= 0)
++ {
++ mp_limb_t cy;
++ unsigned long h = err / GMP_NUMB_BITS;
++ unsigned long l = err - h * GMP_NUMB_BITS;
++
++ if (h >= ysize) /* not enough precision in z */
++ goto next_loop;
++ cy = mpn_add_1 (z, z, ysize - h, MPFR_LIMB_ONE << l);
++ if (cy != 0) /* the code below requires z on ysize limbs */
++ goto next_loop;
++ }
+ exact = exact && (err == -1);
+ if (err == -2)
+ goto underflow; /* FIXME: Sure? */
+@@ -730,6 +744,7 @@
+ MPFR_RNDN, rnd, MPFR_PREC(x)))
+ break;
+
++ next_loop:
+ /* update the prec for next loop */
+ MPFR_ZIV_NEXT (loop, prec);
+ } /* loop */
+diff -Naurd mpfr-3.1.1-a/src/version.c mpfr-3.1.1-b/src/version.c
+--- mpfr-3.1.1-a/src/version.c 2012-08-30 09:28:51.000000000 +0000
++++ mpfr-3.1.1-b/src/version.c 2012-08-30 09:35:12.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.1-p1";
++ return "3.1.1-p2";
+ }
+diff -Naurd mpfr-3.1.1-a/tests/tstrtofr.c mpfr-3.1.1-b/tests/tstrtofr.c
+--- mpfr-3.1.1-a/tests/tstrtofr.c 2012-07-03 15:01:24.000000000 +0000
++++ mpfr-3.1.1-b/tests/tstrtofr.c 2012-08-30 09:35:12.000000000 +0000
+@@ -1105,6 +1105,92 @@
+ mpfr_clear (y);
+ }
+
++/* From a bug reported by Joseph S. Myers
++ https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00005.html */
++static void
++bug20120814 (void)
++{
++ mpfr_exp_t emin = -30, e;
++ mpfr_t x, y;
++ int r;
++ char s[64], *p;
++
++ mpfr_init2 (x, 2);
++ mpfr_set_ui_2exp (x, 3, emin - 2, MPFR_RNDN);
++ mpfr_get_str (s + 1, &e, 10, 19, x, MPFR_RNDD);
++ s[0] = s[1];
++ s[1] = '.';
++ for (p = s; *p != 0; p++) ;
++ *p = 'e';
++ sprintf (p + 1, "%d", (int) e - 1);
++
++ mpfr_init2 (y, 4);
++ r = mpfr_strtofr (y, s, NULL, 0, MPFR_RNDN);
++ if (r <= 0 || ! mpfr_equal_p (x, y))
++ {
++ printf ("Error in bug20120814\n");
++ printf ("mpfr_strtofr failed on string \"%s\"\n", s);
++ printf ("Expected inex > 0 and y = 0.1100E%d\n", (int) emin);
++ printf ("Got inex = %-6d and y = ", r);
++ mpfr_dump (y);
++ exit (1);
++ }
++
++ mpfr_clear (x);
++ mpfr_clear (y);
++}
++
++static void
++bug20120829 (void)
++{
++ mpfr_t x1, x2, e;
++ int inex1, inex2, i, r;
++ char s[48] = "1e-1";
++
++ mpfr_init2 (e, 128);
++ mpfr_inits2 (4, x1, x2, (mpfr_ptr) 0);
++
++ inex1 = mpfr_set_si (e, -1, MPFR_RNDN);
++ MPFR_ASSERTN (inex1 == 0);
++
++ for (i = 1; i <= sizeof(s) - 5; i++)
++ {
++ s[3+i] = '0';
++ s[4+i] = 0;
++ inex1 = mpfr_mul_ui (e, e, 10, MPFR_RNDN);
++ MPFR_ASSERTN (inex1 == 0);
++ RND_LOOP(r)
++ {
++ mpfr_rnd_t rnd = (mpfr_rnd_t) r;
++
++ inex1 = mpfr_exp10 (x1, e, rnd);
++ inex1 = SIGN (inex1);
++ inex2 = mpfr_strtofr (x2, s, NULL, 0, rnd);
++ inex2 = SIGN (inex2);
++ /* On 32-bit machines, for i = 7, r8389, r8391 and r8394 do:
++ strtofr.c:...: MPFR assertion failed: cy == 0
++ r8396 is OK.
++ On 64-bit machines, for i = 15,
++ r8389 does: strtofr.c:678: MPFR assertion failed: err < (64 - 0)
++ r8391 does: strtofr.c:680: MPFR assertion failed: h < ysize
++ r8394 and r8396 are OK.
++ */
++ if (! mpfr_equal_p (x1, x2) || inex1 != inex2)
++ {
++ printf ("Error in bug20120829 for i = %d, rnd = %s\n",
++ i, mpfr_print_rnd_mode (rnd));
++ printf ("Expected inex = %d, x = ", inex1);
++ mpfr_dump (x1);
++ printf ("Got inex = %d, x = ", inex2);
++ mpfr_dump (x2);
++ exit (1);
++ }
++ }
++ }
++
++ mpfr_clears (e, x1, x2, (mpfr_ptr) 0);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -1117,6 +1203,8 @@
+ check_retval ();
+ bug20081028 ();
+ test20100310 ();
++ bug20120814 ();
++ bug20120829 ();
+
+ tests_end_mpfr ();
+ return 0;
diff --git a/dev-libs/mpfr/files/3.1.2/patch01 b/dev-libs/mpfr/files/3.1.2/patch01
new file mode 100644
index 000000000000..731ea92f4395
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch01
@@ -0,0 +1,45 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/PATCHES 2013-09-26 10:52:52.000000000 +0000
+@@ -0,0 +1 @@
++exp_2
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2013-03-13 15:37:28.000000000 +0000
++++ mpfr-3.1.2-b/VERSION 2013-09-26 10:52:52.000000000 +0000
+@@ -1 +1 @@
+-3.1.2
++3.1.2-p1
+diff -Naurd mpfr-3.1.2-a/src/exp_2.c mpfr-3.1.2-b/src/exp_2.c
+--- mpfr-3.1.2-a/src/exp_2.c 2013-03-13 15:37:28.000000000 +0000
++++ mpfr-3.1.2-b/src/exp_2.c 2013-09-26 10:52:52.000000000 +0000
+@@ -204,7 +204,7 @@
+ for (k = 0; k < K; k++)
+ {
+ mpz_mul (ss, ss, ss);
+- exps <<= 1;
++ exps *= 2;
+ exps += mpz_normalize (ss, ss, q);
+ }
+ mpfr_set_z (s, ss, MPFR_RNDN);
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2013-03-13 15:37:37.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2"
++#define MPFR_VERSION_STRING "3.1.2-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2013-03-13 15:37:34.000000000 +0000
++++ mpfr-3.1.2-b/src/version.c 2013-09-26 10:52:52.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2";
++ return "3.1.2-p1";
+ }
diff --git a/dev-libs/mpfr/files/3.1.2/patch02 b/dev-libs/mpfr/files/3.1.2/patch02
new file mode 100644
index 000000000000..b229c18d093c
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch02
@@ -0,0 +1,605 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2013-09-26 10:56:55.000000000 +0000
++++ mpfr-3.1.2-b/PATCHES 2013-09-26 10:56:55.000000000 +0000
+@@ -0,0 +1 @@
++fits-smallneg
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/VERSION 2013-09-26 10:56:55.000000000 +0000
+@@ -1 +1 @@
+-3.1.2-p1
++3.1.2-p2
+diff -Naurd mpfr-3.1.2-a/src/fits_u.h mpfr-3.1.2-b/src/fits_u.h
+--- mpfr-3.1.2-a/src/fits_u.h 2013-03-13 15:37:35.000000000 +0000
++++ mpfr-3.1.2-b/src/fits_u.h 2013-09-26 10:56:55.000000000 +0000
+@@ -32,17 +32,20 @@
+ int res;
+
+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
+- /* Zero always fit */
+- return MPFR_IS_ZERO (f) ? 1 : 0;
+- else if (MPFR_IS_NEG (f))
+- /* Negative numbers don't fit */
+- return 0;
+- /* now it fits if
+- (a) f <= MAXIMUM
+- (b) round(f, prec(slong), rnd) <= MAXIMUM */
++ return MPFR_IS_ZERO (f) ? 1 : 0; /* Zero always fits */
+
+ e = MPFR_GET_EXP (f);
+
++ if (MPFR_IS_NEG (f))
++ return e >= 1 ? 0 /* f <= -1 does not fit */
++ : rnd != MPFR_RNDN ? MPFR_IS_LIKE_RNDU (rnd, -1) /* directed mode */
++ : e < 0 ? 1 /* f > -1/2 fits in MPFR_RNDN */
++ : mpfr_powerof2_raw(f); /* -1/2 fits, -1 < f < -1/2 don't */
++
++ /* Now it fits if
++ (a) f <= MAXIMUM
++ (b) round(f, prec(slong), rnd) <= MAXIMUM */
++
+ /* first compute prec(MAXIMUM); fits in an int */
+ for (s = MAXIMUM, prec = 0; s != 0; s /= 2, prec ++);
+
+diff -Naurd mpfr-3.1.2-a/src/fits_uintmax.c mpfr-3.1.2-b/src/fits_uintmax.c
+--- mpfr-3.1.2-a/src/fits_uintmax.c 2013-03-13 15:37:33.000000000 +0000
++++ mpfr-3.1.2-b/src/fits_uintmax.c 2013-09-26 10:56:55.000000000 +0000
+@@ -27,51 +27,19 @@
+ #include "mpfr-intmax.h"
+ #include "mpfr-impl.h"
+
+-#ifdef _MPFR_H_HAVE_INTMAX_T
+-
+-/* We can't use fits_u.h <= mpfr_cmp_ui */
+-int
+-mpfr_fits_uintmax_p (mpfr_srcptr f, mpfr_rnd_t rnd)
+-{
+- mpfr_exp_t e;
+- int prec;
+- uintmax_t s;
+- mpfr_t x;
+- int res;
+-
+- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
+- /* Zero always fit */
+- return MPFR_IS_ZERO (f) ? 1 : 0;
+- else if (MPFR_IS_NEG (f))
+- /* Negative numbers don't fit */
+- return 0;
+- /* now it fits if
+- (a) f <= MAXIMUM
+- (b) round(f, prec(slong), rnd) <= MAXIMUM */
+-
+- e = MPFR_GET_EXP (f);
+-
+- /* first compute prec(MAXIMUM); fits in an int */
+- for (s = MPFR_UINTMAX_MAX, prec = 0; s != 0; s /= 2, prec ++);
+-
+- /* MAXIMUM needs prec bits, i.e. MAXIMUM = 2^prec - 1 */
+-
+- /* if e <= prec - 1, then f < 2^(prec-1) < MAXIMUM */
+- if (e <= prec - 1)
+- return 1;
++/* Note: though mpfr-impl.h is included in fits_u.h, we also include it
++ above so that it gets included even when _MPFR_H_HAVE_INTMAX_T is not
++ defined; this is necessary to avoid an empty translation unit, which
++ is forbidden by ISO C. Without this, a failing test can be reproduced
++ by creating an invalid stdint.h somewhere in the default include path
++ and by compiling MPFR with "gcc -ansi -pedantic-errors". */
+
+- /* if e >= prec + 1, then f >= 2^prec > MAXIMUM */
+- if (e >= prec + 1)
+- return 0;
++#ifdef _MPFR_H_HAVE_INTMAX_T
+
+- MPFR_ASSERTD (e == prec);
++#define FUNCTION mpfr_fits_uintmax_p
++#define MAXIMUM MPFR_UINTMAX_MAX
++#define TYPE uintmax_t
+
+- /* hard case: first round to prec bits, then check */
+- mpfr_init2 (x, prec);
+- mpfr_set (x, f, rnd);
+- res = MPFR_GET_EXP (x) == e;
+- mpfr_clear (x);
+- return res;
+-}
++#include "fits_u.h"
+
+ #endif
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2013-09-26 10:56:55.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p1"
++#define MPFR_VERSION_STRING "3.1.2-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/src/version.c 2013-09-26 10:56:55.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p1";
++ return "3.1.2-p2";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/tfits.c mpfr-3.1.2-b/tests/tfits.c
+--- mpfr-3.1.2-a/tests/tfits.c 2013-03-13 15:37:45.000000000 +0000
++++ mpfr-3.1.2-b/tests/tfits.c 2013-09-26 10:56:55.000000000 +0000
+@@ -33,155 +33,176 @@
+ #include "mpfr-intmax.h"
+ #include "mpfr-test.h"
+
+-#define ERROR1 { printf("Initial error for x="); mpfr_dump(x); exit(1); }
+-#define ERROR2 { printf("Error for x="); mpfr_dump(x); exit(1); }
++#define ERROR1(N) \
++ do \
++ { \
++ printf("Error %d for rnd = %s and x = ", N, \
++ mpfr_print_rnd_mode ((mpfr_rnd_t) r)); \
++ mpfr_dump(x); \
++ exit(1); \
++ } \
++ while (0)
+
+ static void check_intmax (void);
+
+ int
+ main (void)
+ {
+- mpfr_t x;
++ mpfr_t x, y;
++ int i, r;
+
+ tests_start_mpfr ();
+
+ mpfr_init2 (x, 256);
++ mpfr_init2 (y, 8);
+
+- /* Check NAN */
+- mpfr_set_nan (x);
+- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR1;
++ RND_LOOP (r)
++ {
+
+- /* Check INF */
+- mpfr_set_inf (x, 1);
+- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check NAN */
++ mpfr_set_nan (x);
++ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (1);
++ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (2);
++ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (3);
++ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (4);
++ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (5);
++ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (6);
+
+- /* Check Zero */
+- MPFR_SET_ZERO (x);
+- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check INF */
++ mpfr_set_inf (x, 1);
++ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (7);
++ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (8);
++ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (9);
++ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (10);
++ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (11);
++ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (12);
+
+- /* Check small op */
+- mpfr_set_str1 (x, "1@-1");
+- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check Zero */
++ MPFR_SET_ZERO (x);
++ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (13);
++ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (14);
++ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (15);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (16);
++ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (17);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (18);
+
+- /* Check 17 */
+- mpfr_set_ui (x, 17, MPFR_RNDN);
+- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check small positive op */
++ mpfr_set_str1 (x, "1@-1");
++ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (19);
++ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (20);
++ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (21);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (22);
++ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (23);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (24);
+
+- /* Check all other values */
+- mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
+- mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
+- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR1;
+- mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
+- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check 17 */
++ mpfr_set_ui (x, 17, MPFR_RNDN);
++ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (25);
++ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (26);
++ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (27);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (28);
++ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (29);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (30);
+
+- mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
+- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
+- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
+- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
+- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check all other values */
++ mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
++ mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
++ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (31);
++ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (32);
++ mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
++ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (33);
++ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (34);
++ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (35);
++ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (36);
++ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (37);
+
+- mpfr_set_si (x, 1, MPFR_RNDN);
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
++ mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
++ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (38);
++ mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
++ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (39);
++ mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
++ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (40);
++ mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (41);
++ mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
++ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (42);
++ mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (43);
+
+- /* Check negative value */
+- mpfr_set_si (x, -1, MPFR_RNDN);
+- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
+- ERROR2;
+- if (mpfr_fits_uint_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
+- ERROR1;
++ mpfr_set_si (x, 1, MPFR_RNDN);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (44);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (45);
++
++ /* Check negative op */
++ for (i = 1; i <= 4; i++)
++ {
++ int inv;
++
++ mpfr_set_si_2exp (x, -i, -2, MPFR_RNDN);
++ mpfr_rint (y, x, (mpfr_rnd_t) r);
++ inv = MPFR_NOTZERO (y);
++ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r) ^ inv)
++ ERROR1 (46);
++ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
++ ERROR1 (47);
++ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r) ^ inv)
++ ERROR1 (48);
++ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
++ ERROR1 (49);
++ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r) ^ inv)
++ ERROR1 (50);
++ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
++ ERROR1 (51);
++ }
++ }
+
+ mpfr_clear (x);
++ mpfr_clear (y);
+
+ check_intmax ();
+
+@@ -189,85 +210,98 @@
+ return 0;
+ }
+
+-static void check_intmax (void)
++static void
++check_intmax (void)
+ {
+ #ifdef _MPFR_H_HAVE_INTMAX_T
+- mpfr_t x;
++ mpfr_t x, y;
++ int i, r;
+
+- mpfr_init2 (x, sizeof (uintmax_t)*CHAR_BIT);
++ mpfr_init2 (x, sizeof (uintmax_t) * CHAR_BIT);
++ mpfr_init2 (y, 8);
+
+- /* Check NAN */
+- mpfr_set_nan (x);
+- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR1;
++ RND_LOOP (r)
++ {
++ /* Check NAN */
++ mpfr_set_nan (x);
++ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (52);
++ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (53);
+
+- /* Check INF */
+- mpfr_set_inf (x, 1);
+- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check INF */
++ mpfr_set_inf (x, 1);
++ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (54);
++ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (55);
+
+- /* Check Zero */
+- MPFR_SET_ZERO (x);
+- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check Zero */
++ MPFR_SET_ZERO (x);
++ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (56);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (57);
+
+- /* Check small op */
+- mpfr_set_str1 (x, "1@-1");
+- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check positive small op */
++ mpfr_set_str1 (x, "1@-1");
++ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (58);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (59);
+
+- /* Check 17 */
+- mpfr_set_ui (x, 17, MPFR_RNDN);
+- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR2;
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
++ /* Check 17 */
++ mpfr_set_ui (x, 17, MPFR_RNDN);
++ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (60);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (61);
+
+- /* Check hugest */
+- mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
+- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR1;
+- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check hugest */
++ mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
++ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (62);
++ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (63);
+
+- /* Check all other values */
+- mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
+- mpfr_add_ui (x, x, 1, MPFR_RNDN);
+- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR1;
+- mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
+- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
+- mpfr_add_ui (x, x, 1, MPFR_RNDN);
+- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR1;
+- mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
+- mpfr_sub_ui (x, x, 1, MPFR_RNDN);
+- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check all other values */
++ mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
++ mpfr_add_ui (x, x, 1, MPFR_RNDN);
++ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (64);
++ mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
++ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (65);
++ mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
++ mpfr_add_ui (x, x, 1, MPFR_RNDN);
++ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (66);
++ mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (67);
++ mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (68);
++ mpfr_sub_ui (x, x, 1, MPFR_RNDN);
++ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (69);
+
+- /* Check negative value */
+- mpfr_set_si (x, -1, MPFR_RNDN);
+- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
+- ERROR2;
+- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
+- ERROR1;
++ /* Check negative op */
++ for (i = 1; i <= 4; i++)
++ {
++ int inv;
++
++ mpfr_set_si_2exp (x, -i, -2, MPFR_RNDN);
++ mpfr_rint (y, x, (mpfr_rnd_t) r);
++ inv = MPFR_NOTZERO (y);
++ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r) ^ inv)
++ ERROR1 (70);
++ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
++ ERROR1 (71);
++ }
++ }
+
+ mpfr_clear (x);
++ mpfr_clear (y);
+ #endif
+ }
+-
diff --git a/dev-libs/mpfr/files/3.1.2/patch03 b/dev-libs/mpfr/files/3.1.2/patch03
new file mode 100644
index 000000000000..8e0cd8e04b7e
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch03
@@ -0,0 +1,129 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2013-10-09 13:34:21.000000000 +0000
++++ mpfr-3.1.2-b/PATCHES 2013-10-09 13:34:21.000000000 +0000
+@@ -0,0 +1 @@
++clang-divby0
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/VERSION 2013-10-09 13:34:21.000000000 +0000
+@@ -1 +1 @@
+-3.1.2-p2
++3.1.2-p3
+diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h
+--- mpfr-3.1.2-a/src/mpfr-impl.h 2013-03-13 15:37:36.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr-impl.h 2013-10-09 13:34:21.000000000 +0000
+@@ -468,8 +468,16 @@
+ #define MPFR_LIMBS_PER_FLT ((IEEE_FLT_MANT_DIG-1)/GMP_NUMB_BITS+1)
+
+ /* Visual C++ doesn't support +1.0/0.0, -1.0/0.0 and 0.0/0.0
+- at compile time. */
+-#if defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)
++ at compile time.
++ Clang with -fsanitize=undefined is a bit similar due to a bug:
++ http://llvm.org/bugs/show_bug.cgi?id=17381
++ but even without its sanitizer, it may be better to use the
++ double_zero version until IEEE 754 division by zero is properly
++ supported:
++ http://llvm.org/bugs/show_bug.cgi?id=17000
++*/
++#if (defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)) || \
++ defined(__clang__)
+ static double double_zero = 0.0;
+ # define DBL_NAN (double_zero/double_zero)
+ # define DBL_POS_INF ((double) 1.0/double_zero)
+@@ -501,6 +509,8 @@
+ (with Xcode 2.4.1, i.e. the latest one). */
+ #define LVALUE(x) (&(x) == &(x) || &(x) != &(x))
+ #define DOUBLE_ISINF(x) (LVALUE(x) && ((x) > DBL_MAX || (x) < -DBL_MAX))
++/* The DOUBLE_ISNAN(x) macro is also valid on long double x
++ (assuming that the compiler isn't too broken). */
+ #ifdef MPFR_NANISNAN
+ /* Avoid MIPSpro / IRIX64 / gcc -ffast-math (incorrect) optimizations.
+ The + must not be replaced by a ||. With gcc -ffast-math, NaN is
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2013-10-09 13:34:21.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p2"
++#define MPFR_VERSION_STRING "3.1.2-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2013-09-26 10:52:52.000000000 +0000
++++ mpfr-3.1.2-b/src/version.c 2013-10-09 13:34:21.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p2";
++ return "3.1.2-p3";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/tget_flt.c mpfr-3.1.2-b/tests/tget_flt.c
+--- mpfr-3.1.2-a/tests/tget_flt.c 2013-03-13 15:37:44.000000000 +0000
++++ mpfr-3.1.2-b/tests/tget_flt.c 2013-10-09 13:34:21.000000000 +0000
+@@ -28,9 +28,17 @@
+ main (void)
+ {
+ mpfr_t x, y;
+- float f, g, infp;
++ float f, g;
+ int i;
++#if !defined(MPFR_ERRDIVZERO)
++ float infp;
++#endif
++
++ tests_start_mpfr ();
+
++#if !defined(MPFR_ERRDIVZERO)
++ /* The definition of DBL_POS_INF involves a division by 0. This makes
++ "clang -O2 -fsanitize=undefined -fno-sanitize-recover" fail. */
+ infp = (float) DBL_POS_INF;
+ if (infp * 0.5 != infp)
+ {
+@@ -38,8 +46,7 @@
+ fprintf (stderr, "(this is probably a compiler bug, please report)\n");
+ exit (1);
+ }
+-
+- tests_start_mpfr ();
++#endif
+
+ mpfr_init2 (x, 24);
+ mpfr_init2 (y, 24);
+@@ -353,6 +360,7 @@
+ printf ("expected %.8e, got %.8e\n", g, f);
+ exit (1);
+ }
++#if !defined(MPFR_ERRDIVZERO)
+ f = mpfr_get_flt (x, MPFR_RNDN); /* first round to 2^128 (even rule),
+ thus we should get +Inf */
+ g = infp;
+@@ -376,6 +384,7 @@
+ printf ("expected %.8e, got %.8e\n", g, f);
+ exit (1);
+ }
++#endif
+
+ mpfr_clear (x);
+ mpfr_clear (y);
+diff -Naurd mpfr-3.1.2-a/tests/tset_ld.c mpfr-3.1.2-b/tests/tset_ld.c
+--- mpfr-3.1.2-a/tests/tset_ld.c 2013-03-13 15:37:44.000000000 +0000
++++ mpfr-3.1.2-b/tests/tset_ld.c 2013-10-09 13:34:21.000000000 +0000
+@@ -47,8 +47,11 @@
+ static int
+ Isnan_ld (long double d)
+ {
+- double e = (double) d;
+- if (DOUBLE_ISNAN (e))
++ /* Do not convert d to double as this can give an overflow, which
++ may confuse compilers without IEEE 754 support (such as clang
++ -fsanitize=undefined), or trigger a trap if enabled.
++ The DOUBLE_ISNAN macro should work fine on long double. */
++ if (DOUBLE_ISNAN (d))
+ return 1;
+ LONGDOUBLE_NAN_ACTION (d, goto yes);
+ return 0;
diff --git a/dev-libs/mpfr/files/3.1.2/patch04 b/dev-libs/mpfr/files/3.1.2/patch04
new file mode 100644
index 000000000000..2451f36027e0
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch04
@@ -0,0 +1,84 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2013-11-15 00:51:49.211333830 +0000
++++ mpfr-3.1.2-b/PATCHES 2013-11-15 00:51:49.323334999 +0000
+@@ -0,0 +1 @@
++printf-alt0
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2013-11-15 00:51:49.211333830 +0000
++++ mpfr-3.1.2-b/VERSION 2013-11-15 00:51:49.323334999 +0000
+@@ -1 +1 @@
+-3.1.2-p3
++3.1.2-p4
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2013-11-15 00:51:49.211333830 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2013-11-15 00:51:49.323334999 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p3"
++#define MPFR_VERSION_STRING "3.1.2-p4"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/vasprintf.c mpfr-3.1.2-b/src/vasprintf.c
+--- mpfr-3.1.2-a/src/vasprintf.c 2013-03-13 15:37:37.000000000 +0000
++++ mpfr-3.1.2-b/src/vasprintf.c 2013-11-15 00:51:49.267334408 +0000
+@@ -1040,7 +1040,7 @@
+ }
+
+ /* Determine the different parts of the string representation of the regular
+- number P when SPEC.SPEC is 'e', 'E', 'g', or 'G'.
++ number P when spec.spec is 'e', 'E', 'g', or 'G'.
+ DEC_INFO contains the previously computed exponent and string or is NULL.
+
+ return -1 if some field > INT_MAX */
+@@ -1167,7 +1167,7 @@
+ }
+
+ /* Determine the different parts of the string representation of the regular
+- number P when SPEC.SPEC is 'f', 'F', 'g', or 'G'.
++ number P when spec.spec is 'f', 'F', 'g', or 'G'.
+ DEC_INFO contains the previously computed exponent and string or is NULL.
+
+ return -1 if some field of number_parts is greater than INT_MAX */
+@@ -1559,7 +1559,7 @@
+ /* fractional part */
+ {
+ np->point = MPFR_DECIMAL_POINT;
+- np->fp_trailing_zeros = (spec.spec == 'g' && spec.spec == 'G') ?
++ np->fp_trailing_zeros = (spec.spec == 'g' || spec.spec == 'G') ?
+ spec.prec - 1 : spec.prec;
+ }
+ else if (spec.alt)
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2013-11-15 00:51:49.211333830 +0000
++++ mpfr-3.1.2-b/src/version.c 2013-11-15 00:51:49.323334999 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p3";
++ return "3.1.2-p4";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/tsprintf.c mpfr-3.1.2-b/tests/tsprintf.c
+--- mpfr-3.1.2-a/tests/tsprintf.c 2013-03-13 15:37:44.000000000 +0000
++++ mpfr-3.1.2-b/tests/tsprintf.c 2013-11-15 00:51:49.267334408 +0000
+@@ -456,10 +456,16 @@
+ check_sprintf ("1.999900 ", "%-#10.7RG", x);
+ check_sprintf ("1.9999 ", "%-10.7RG", x);
+ mpfr_set_ui (x, 1, MPFR_RNDN);
++ check_sprintf ("1.", "%#.1Rg", x);
++ check_sprintf ("1. ", "%-#5.1Rg", x);
++ check_sprintf (" 1.0", "%#5.2Rg", x);
+ check_sprintf ("1.00000000000000000000000000000", "%#.30Rg", x);
+ check_sprintf ("1", "%.30Rg", x);
+ mpfr_set_ui (x, 0, MPFR_RNDN);
+- check_sprintf ("0.000000000000000000000000000000", "%#.30Rg", x);
++ check_sprintf ("0.", "%#.1Rg", x);
++ check_sprintf ("0. ", "%-#5.1Rg", x);
++ check_sprintf (" 0.0", "%#5.2Rg", x);
++ check_sprintf ("0.00000000000000000000000000000", "%#.30Rg", x);
+ check_sprintf ("0", "%.30Rg", x);
+
+ /* following tests with precision 53 bits */
diff --git a/dev-libs/mpfr/files/3.1.2/patch05 b/dev-libs/mpfr/files/3.1.2/patch05
new file mode 100644
index 000000000000..669b91d54dac
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch05
@@ -0,0 +1,42 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2013-12-01 11:07:49.575329762 +0000
++++ mpfr-3.1.2-b/PATCHES 2013-12-01 11:07:49.751331625 +0000
+@@ -0,0 +1 @@
++custom_init_set
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2013-12-01 11:07:49.571329714 +0000
++++ mpfr-3.1.2-b/VERSION 2013-12-01 11:07:49.747331585 +0000
+@@ -1 +1 @@
+-3.1.2-p4
++3.1.2-p5
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2013-12-01 11:07:49.571329714 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2013-12-01 11:07:49.747331585 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p4"
++#define MPFR_VERSION_STRING "3.1.2-p5"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+@@ -861,7 +861,7 @@
+ _t = (mpfr_kind_t) _k; \
+ _s = 1; \
+ } else { \
+- _t = (mpfr_kind_t) -k; \
++ _t = (mpfr_kind_t) - _k; \
+ _s = -1; \
+ } \
+ _e = _t == MPFR_REGULAR_KIND ? (e) : \
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2013-12-01 11:07:49.575329762 +0000
++++ mpfr-3.1.2-b/src/version.c 2013-12-01 11:07:49.747331585 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p4";
++ return "3.1.2-p5";
+ }
diff --git a/dev-libs/mpfr/files/3.1.2/patch06 b/dev-libs/mpfr/files/3.1.2/patch06
new file mode 100644
index 000000000000..50cd04d72491
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch06
@@ -0,0 +1,43 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2014-04-15 21:56:49.609057464 +0000
++++ mpfr-3.1.2-b/PATCHES 2014-04-15 21:56:49.697059857 +0000
+@@ -0,0 +1 @@
++li2-return
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2014-04-15 21:56:49.609057464 +0000
++++ mpfr-3.1.2-b/VERSION 2014-04-15 21:56:49.697059857 +0000
+@@ -1 +1 @@
+-3.1.2-p5
++3.1.2-p6
+diff -Naurd mpfr-3.1.2-a/src/li2.c mpfr-3.1.2-b/src/li2.c
+--- mpfr-3.1.2-a/src/li2.c 2013-03-13 15:37:32.000000000 +0000
++++ mpfr-3.1.2-b/src/li2.c 2014-04-15 21:56:49.653058661 +0000
+@@ -630,5 +630,5 @@
+ return mpfr_check_range (y, inexact, rnd_mode);
+ }
+
+- MPFR_ASSERTN (0); /* should never reach this point */
++ MPFR_RET_NEVER_GO_HERE ();
+ }
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 21:56:49.609057464 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 21:56:49.697059857 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p5"
++#define MPFR_VERSION_STRING "3.1.2-p6"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2014-04-15 21:56:49.609057464 +0000
++++ mpfr-3.1.2-b/src/version.c 2014-04-15 21:56:49.697059857 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p5";
++ return "3.1.2-p6";
+ }
diff --git a/dev-libs/mpfr/files/3.1.2/patch07 b/dev-libs/mpfr/files/3.1.2/patch07
new file mode 100644
index 000000000000..378c3bf4fcf0
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch07
@@ -0,0 +1,71 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2014-04-15 22:04:57.090286262 +0000
++++ mpfr-3.1.2-b/PATCHES 2014-04-15 22:04:57.162288198 +0000
+@@ -0,0 +1 @@
++exp3
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2014-04-15 22:04:57.086286154 +0000
++++ mpfr-3.1.2-b/VERSION 2014-04-15 22:04:57.162288198 +0000
+@@ -1 +1 @@
+-3.1.2-p6
++3.1.2-p7
+diff -Naurd mpfr-3.1.2-a/src/exp3.c mpfr-3.1.2-b/src/exp3.c
+--- mpfr-3.1.2-a/src/exp3.c 2013-03-13 15:37:34.000000000 +0000
++++ mpfr-3.1.2-b/src/exp3.c 2014-04-15 22:04:57.126287230 +0000
+@@ -283,7 +283,7 @@
+ }
+ }
+
+- if (mpfr_can_round (shift_x > 0 ? t : tmp, realprec, MPFR_RNDD, MPFR_RNDZ,
++ if (mpfr_can_round (shift_x > 0 ? t : tmp, realprec, MPFR_RNDN, MPFR_RNDZ,
+ MPFR_PREC(y) + (rnd_mode == MPFR_RNDN)))
+ {
+ inexact = mpfr_set (y, shift_x > 0 ? t : tmp, rnd_mode);
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 22:04:57.086286154 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 22:04:57.162288198 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p6"
++#define MPFR_VERSION_STRING "3.1.2-p7"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2014-04-15 22:04:57.090286262 +0000
++++ mpfr-3.1.2-b/src/version.c 2014-04-15 22:04:57.162288198 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p6";
++ return "3.1.2-p7";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/texp.c mpfr-3.1.2-b/tests/texp.c
+--- mpfr-3.1.2-a/tests/texp.c 2013-03-13 15:37:44.000000000 +0000
++++ mpfr-3.1.2-b/tests/texp.c 2014-04-15 22:04:57.126287230 +0000
+@@ -150,6 +150,22 @@
+ exit (1);
+ }
+
++ mpfr_set_prec (x, 118);
++ mpfr_set_str_binary (x, "0.1110010100011101010000111110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-86");
++ mpfr_set_prec (y, 118);
++ mpfr_exp_2 (y, x, MPFR_RNDU);
++ mpfr_exp_3 (x, x, MPFR_RNDU);
++ if (mpfr_cmp (x, y))
++ {
++ printf ("mpfr_exp_2 and mpfr_exp_3 differ for prec=118\n");
++ printf ("mpfr_exp_2 gives ");
++ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++ printf ("\nmpfr_exp_3 gives ");
++ mpfr_out_str (stdout, 2, 0, x, MPFR_RNDN);
++ printf ("\n");
++ exit (1);
++ }
++
+ mpfr_clear (x);
+ mpfr_clear (y);
+ return 0;
diff --git a/dev-libs/mpfr/files/3.1.2/patch08 b/dev-libs/mpfr/files/3.1.2/patch08
new file mode 100644
index 000000000000..2245c7c23ec4
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch08
@@ -0,0 +1,254 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2014-04-15 22:20:32.243481506 +0000
++++ mpfr-3.1.2-b/PATCHES 2014-04-15 22:22:32.418722707 +0000
+@@ -0,0 +1 @@
++gmp6-compat
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2014-04-15 22:20:20.755171478 +0000
++++ mpfr-3.1.2-b/VERSION 2014-04-15 22:21:45.225450147 +0000
+@@ -1 +1 @@
+-3.1.2-p7
++3.1.2-p8
+diff -Naurd mpfr-3.1.2-a/configure mpfr-3.1.2-b/configure
+--- mpfr-3.1.2-a/configure 2013-03-13 15:38:20.000000000 +0000
++++ mpfr-3.1.2-b/configure 2014-04-15 22:21:38.821277476 +0000
+@@ -14545,26 +14545,30 @@
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-if test "$use_gmp_build" = yes ; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid GMP_NUMB_BITS" >&5
+-$as_echo_n "checking for valid GMP_NUMB_BITS... " >&6; }
+- if test "$cross_compiling" = yes; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency" >&5
++$as_echo_n "checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency... " >&6; }
++if test "$cross_compiling" = yes; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: can't test" >&5
+ $as_echo "can't test" >&6; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++#include <stdio.h>
+ #include <limits.h>
+ #include "gmp.h"
+-#include "gmp-impl.h"
+
+ int
+ main ()
+ {
+
+- return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
+- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
++ if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT)
++ return 0;
++ fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS);
++ fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t));
++ fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n",
++ (long) (sizeof(mp_limb_t) * CHAR_BIT));
++ return 1;
+
+ ;
+ return 0;
+@@ -14577,14 +14581,14 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+- as_fn_error $? "GMP_NUMB_BITS is incorrect.
+-You probably need to change some of the GMP or MPFR compile options." "$LINENO" 5
++ as_fn_error $? "GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent.
++You probably need to change some of the GMP or MPFR compile options.
++See 'config.log' for details (search for GMP_NUMB_BITS)." "$LINENO" 5
+ fi
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+
+-fi
+
+
+ if test "$dont_link_with_gmp" = yes ; then
+diff -Naurd mpfr-3.1.2-a/configure.ac mpfr-3.1.2-b/configure.ac
+--- mpfr-3.1.2-a/configure.ac 2013-03-13 15:37:46.000000000 +0000
++++ mpfr-3.1.2-b/configure.ac 2013-03-13 15:37:46.000000000 +0000
+@@ -435,23 +435,29 @@
+ ])
+ fi
+
+-dnl Check for valid GMP_NUMB_BITS and BYTES_PER_MP_LIMB
++dnl Check for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency.
++dnl Problems may occur if gmp.h was generated with some ABI
++dnl and is used with another ABI (or if nails are used).
+ dnl This test doesn't need to link with libgmp (at least it shouldn't).
+-if test "$use_gmp_build" = yes ; then
+- AC_MSG_CHECKING(for valid GMP_NUMB_BITS)
+- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
++AC_MSG_CHECKING(for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency)
++AC_RUN_IFELSE([AC_LANG_PROGRAM([[
++#include <stdio.h>
+ #include <limits.h>
+ #include "gmp.h"
+-#include "gmp-impl.h"
+ ]], [[
+- return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
+- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
++ if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT)
++ return 0;
++ fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS);
++ fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t));
++ fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n",
++ (long) (sizeof(mp_limb_t) * CHAR_BIT));
++ return 1;
+ ]])], [AC_MSG_RESULT(yes)], [
+ AC_MSG_RESULT(no)
+- AC_MSG_ERROR([GMP_NUMB_BITS is incorrect.
+-You probably need to change some of the GMP or MPFR compile options.])],
++ AC_MSG_ERROR([GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent.
++You probably need to change some of the GMP or MPFR compile options.
++See 'config.log' for details (search for GMP_NUMB_BITS).])],
+ [AC_MSG_RESULT([can't test])])
+-fi
+
+
+ dnl We really need to link using libtool. But it is impossible with the current
+diff -Naurd mpfr-3.1.2-a/src/init2.c mpfr-3.1.2-b/src/init2.c
+--- mpfr-3.1.2-a/src/init2.c 2013-03-13 15:37:32.000000000 +0000
++++ mpfr-3.1.2-b/src/init2.c 2014-04-15 22:21:06.220398489 +0000
+@@ -30,11 +30,11 @@
+
+ /* Check if we can represent the number of limbs
+ * associated to the maximum of mpfr_prec_t*/
+- MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/BYTES_PER_MP_LIMB) );
++ MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/MPFR_BYTES_PER_MP_LIMB) );
+
+- /* Check for correct GMP_NUMB_BITS and BYTES_PER_MP_LIMB */
+- MPFR_ASSERTN( GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
+- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB );
++ /* Check for correct GMP_NUMB_BITS and MPFR_BYTES_PER_MP_LIMB */
++ MPFR_ASSERTN( GMP_NUMB_BITS == MPFR_BYTES_PER_MP_LIMB * CHAR_BIT
++ && sizeof(mp_limb_t) == MPFR_BYTES_PER_MP_LIMB );
+
+ MPFR_ASSERTN (mp_bits_per_limb == GMP_NUMB_BITS);
+
+diff -Naurd mpfr-3.1.2-a/src/mpfr-gmp.h mpfr-3.1.2-b/src/mpfr-gmp.h
+--- mpfr-3.1.2-a/src/mpfr-gmp.h 2013-03-13 15:37:32.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr-gmp.h 2014-04-15 22:21:06.220398489 +0000
+@@ -72,7 +72,6 @@
+ #endif
+
+ /* Define some macros */
+-#define BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT)
+
+ #define MP_LIMB_T_MAX (~(mp_limb_t)0)
+
+@@ -96,19 +95,19 @@
+ #define SHRT_HIGHBIT SHRT_MIN
+
+ /* MP_LIMB macros */
+-#define MPN_ZERO(dst, n) memset((dst), 0, (n)*BYTES_PER_MP_LIMB)
+-#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB)
+-#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB)
++#define MPN_ZERO(dst, n) memset((dst), 0, (n)*MPFR_BYTES_PER_MP_LIMB)
++#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB)
++#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB)
+ #define MPN_COPY(dst,src,n) \
+ do \
+ { \
+ if ((dst) != (src)) \
+ { \
+ MPFR_ASSERTD ((char *) (dst) >= (char *) (src) + \
+- (n) * BYTES_PER_MP_LIMB || \
++ (n) * MPFR_BYTES_PER_MP_LIMB || \
+ (char *) (src) >= (char *) (dst) + \
+- (n) * BYTES_PER_MP_LIMB); \
+- memcpy ((dst), (src), (n) * BYTES_PER_MP_LIMB); \
++ (n) * MPFR_BYTES_PER_MP_LIMB); \
++ memcpy ((dst), (src), (n) * MPFR_BYTES_PER_MP_LIMB); \
+ } \
+ } \
+ while (0)
+diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h
+--- mpfr-3.1.2-a/src/mpfr-impl.h 2013-10-09 13:34:21.000000000 +0000
++++ mpfr-3.1.2-b/src/mpfr-impl.h 2014-04-15 22:21:06.220398489 +0000
+@@ -191,7 +191,7 @@
+ # endif
+ #endif
+
+-
++#define MPFR_BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT)
+
+ /******************************************************
+ ******************** Check GMP ***********************
+@@ -930,7 +930,7 @@
+ #define MPFR_SET_ALLOC_SIZE(x, n) \
+ ( ((mp_size_t*) MPFR_MANT(x))[-1] = n)
+ #define MPFR_MALLOC_SIZE(s) \
+- ( sizeof(mpfr_size_limb_t) + BYTES_PER_MP_LIMB * ((size_t) s) )
++ ( sizeof(mpfr_size_limb_t) + MPFR_BYTES_PER_MP_LIMB * ((size_t) s) )
+ #define MPFR_SET_MANT_PTR(x,p) \
+ (MPFR_MANT(x) = (mp_limb_t*) ((mpfr_size_limb_t*) p + 1))
+ #define MPFR_GET_REAL_PTR(x) \
+@@ -964,7 +964,7 @@
+ #endif
+
+ #define MPFR_TMP_LIMBS_ALLOC(N) \
+- ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * BYTES_PER_MP_LIMB))
++ ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * MPFR_BYTES_PER_MP_LIMB))
+
+ /* temporary allocate 1 limb at xp, and initialize mpfr variable x */
+ /* The temporary var doesn't have any size field, but it doesn't matter
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 22:20:20.755171478 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 22:21:45.225450147 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p7"
++#define MPFR_VERSION_STRING "3.1.2-p8"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/mul.c mpfr-3.1.2-b/src/mul.c
+--- mpfr-3.1.2-a/src/mul.c 2013-03-13 15:37:37.000000000 +0000
++++ mpfr-3.1.2-b/src/mul.c 2014-04-15 22:21:06.224398597 +0000
+@@ -106,7 +106,7 @@
+ MPFR_ASSERTD(tn <= k);
+
+ /* Check for no size_t overflow*/
+- MPFR_ASSERTD((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB);
++ MPFR_ASSERTD((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB);
+ MPFR_TMP_MARK(marker);
+ tmp = MPFR_TMP_LIMBS_ALLOC (k);
+
+@@ -301,7 +301,7 @@
+ MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
+
+ /* Check for no size_t overflow*/
+- MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB);
++ MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB);
+ MPFR_TMP_MARK (marker);
+ tmp = MPFR_TMP_LIMBS_ALLOC (k);
+
+diff -Naurd mpfr-3.1.2-a/src/stack_interface.c mpfr-3.1.2-b/src/stack_interface.c
+--- mpfr-3.1.2-a/src/stack_interface.c 2013-03-13 15:37:32.000000000 +0000
++++ mpfr-3.1.2-b/src/stack_interface.c 2014-04-15 22:21:06.220398489 +0000
+@@ -26,7 +26,7 @@
+ size_t
+ mpfr_custom_get_size (mpfr_prec_t prec)
+ {
+- return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
++ return MPFR_PREC2LIMBS (prec) * MPFR_BYTES_PER_MP_LIMB;
+ }
+
+ #undef mpfr_custom_init
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2014-04-15 22:20:20.755171478 +0000
++++ mpfr-3.1.2-b/src/version.c 2014-04-15 22:21:45.225450147 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p7";
++ return "3.1.2-p8";
+ }
diff --git a/dev-libs/mpfr/files/3.1.2/patch09 b/dev-libs/mpfr/files/3.1.2/patch09
new file mode 100644
index 000000000000..6ff7c4ac92e7
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch09
@@ -0,0 +1,166 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2014-06-30 15:15:25.533266905 +0000
++++ mpfr-3.1.2-b/PATCHES 2014-06-30 15:15:25.617269178 +0000
+@@ -0,0 +1 @@
++div-overflow
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2014-06-30 15:15:25.529266797 +0000
++++ mpfr-3.1.2-b/VERSION 2014-06-30 15:15:25.617269178 +0000
+@@ -1 +1 @@
+-3.1.2-p8
++3.1.2-p9
+diff -Naurd mpfr-3.1.2-a/src/div.c mpfr-3.1.2-b/src/div.c
+--- mpfr-3.1.2-a/src/div.c 2013-03-13 15:37:33.000000000 +0000
++++ mpfr-3.1.2-b/src/div.c 2014-06-30 15:15:25.585268312 +0000
+@@ -750,7 +750,9 @@
+ truncate_check_qh:
+ if (qh)
+ {
+- qexp ++;
++ if (MPFR_LIKELY (qexp < MPFR_EXP_MAX))
++ qexp ++;
++ /* else qexp is now incorrect, but one will still get an overflow */
+ q0p[q0size - 1] = MPFR_LIMB_HIGHBIT;
+ }
+ goto truncate;
+@@ -765,7 +767,9 @@
+ inex = 1; /* always here */
+ if (mpn_add_1 (q0p, q0p, q0size, MPFR_LIMB_ONE << sh))
+ {
+- qexp ++;
++ if (MPFR_LIKELY (qexp < MPFR_EXP_MAX))
++ qexp ++;
++ /* else qexp is now incorrect, but one will still get an overflow */
+ q0p[q0size - 1] = MPFR_LIMB_HIGHBIT;
+ }
+
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2014-06-30 15:15:25.533266905 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2014-06-30 15:15:25.613269070 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p8"
++#define MPFR_VERSION_STRING "3.1.2-p9"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2014-06-30 15:15:25.533266905 +0000
++++ mpfr-3.1.2-b/src/version.c 2014-06-30 15:15:25.613269070 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p8";
++ return "3.1.2-p9";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/tdiv.c mpfr-3.1.2-b/tests/tdiv.c
+--- mpfr-3.1.2-a/tests/tdiv.c 2013-03-13 15:37:44.000000000 +0000
++++ mpfr-3.1.2-b/tests/tdiv.c 2014-06-30 15:15:25.585268312 +0000
+@@ -1104,6 +1104,96 @@
+ #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS)
+ #include "tgeneric.c"
+
++static void
++test_extreme (void)
++{
++ mpfr_t x, y, z;
++ mpfr_exp_t emin, emax;
++ mpfr_prec_t p[4] = { 8, 32, 64, 256 };
++ int xi, yi, zi, j, r;
++ unsigned int flags, ex_flags;
++
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
++ mpfr_set_emin (MPFR_EMIN_MIN);
++ mpfr_set_emax (MPFR_EMAX_MAX);
++
++ for (xi = 0; xi < 4; xi++)
++ {
++ mpfr_init2 (x, p[xi]);
++ mpfr_setmax (x, MPFR_EMAX_MAX);
++ MPFR_ASSERTN (mpfr_check (x));
++ for (yi = 0; yi < 4; yi++)
++ {
++ mpfr_init2 (y, p[yi]);
++ mpfr_setmin (y, MPFR_EMIN_MIN);
++ for (j = 0; j < 2; j++)
++ {
++ MPFR_ASSERTN (mpfr_check (y));
++ for (zi = 0; zi < 4; zi++)
++ {
++ mpfr_init2 (z, p[zi]);
++ RND_LOOP (r)
++ {
++ mpfr_clear_flags ();
++ mpfr_div (z, x, y, (mpfr_rnd_t) r);
++ flags = __gmpfr_flags;
++ MPFR_ASSERTN (mpfr_check (z));
++ ex_flags = MPFR_FLAGS_OVERFLOW | MPFR_FLAGS_INEXACT;
++ if (flags != ex_flags)
++ {
++ printf ("Bad flags in test_extreme on z = a/b"
++ " with %s and\n",
++ mpfr_print_rnd_mode ((mpfr_rnd_t) r));
++ printf ("a = ");
++ mpfr_dump (x);
++ printf ("b = ");
++ mpfr_dump (y);
++ printf ("Expected flags:");
++ flags_out (ex_flags);
++ printf ("Got flags: ");
++ flags_out (flags);
++ printf ("z = ");
++ mpfr_dump (z);
++ exit (1);
++ }
++ mpfr_clear_flags ();
++ mpfr_div (z, y, x, (mpfr_rnd_t) r);
++ flags = __gmpfr_flags;
++ MPFR_ASSERTN (mpfr_check (z));
++ ex_flags = MPFR_FLAGS_UNDERFLOW | MPFR_FLAGS_INEXACT;
++ if (flags != ex_flags)
++ {
++ printf ("Bad flags in test_extreme on z = a/b"
++ " with %s and\n",
++ mpfr_print_rnd_mode ((mpfr_rnd_t) r));
++ printf ("a = ");
++ mpfr_dump (y);
++ printf ("b = ");
++ mpfr_dump (x);
++ printf ("Expected flags:");
++ flags_out (ex_flags);
++ printf ("Got flags: ");
++ flags_out (flags);
++ printf ("z = ");
++ mpfr_dump (z);
++ exit (1);
++ }
++ }
++ mpfr_clear (z);
++ } /* zi */
++ mpfr_nextabove (y);
++ } /* j */
++ mpfr_clear (y);
++ } /* yi */
++ mpfr_clear (x);
++ } /* xi */
++
++ set_emin (emin);
++ set_emax (emax);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -1130,6 +1220,7 @@
+ test_20070603 ();
+ test_20070628 ();
+ test_generic (2, 800, 50);
++ test_extreme ();
+
+ tests_end_mpfr ();
+ return 0;
diff --git a/dev-libs/mpfr/files/3.1.2/patch10 b/dev-libs/mpfr/files/3.1.2/patch10
new file mode 100644
index 000000000000..43848f7b1166
--- /dev/null
+++ b/dev-libs/mpfr/files/3.1.2/patch10
@@ -0,0 +1,138 @@
+diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
+--- mpfr-3.1.2-a/PATCHES 2014-06-30 15:17:53.337268149 +0000
++++ mpfr-3.1.2-b/PATCHES 2014-06-30 15:17:53.417270314 +0000
+@@ -0,0 +1 @@
++vasprintf
+diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
+--- mpfr-3.1.2-a/VERSION 2014-06-30 15:17:53.337268149 +0000
++++ mpfr-3.1.2-b/VERSION 2014-06-30 15:17:53.413270206 +0000
+@@ -1 +1 @@
+-3.1.2-p9
++3.1.2-p10
+diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
+--- mpfr-3.1.2-a/src/mpfr.h 2014-06-30 15:17:53.337268149 +0000
++++ mpfr-3.1.2-b/src/mpfr.h 2014-06-30 15:17:53.413270206 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 2
+-#define MPFR_VERSION_STRING "3.1.2-p9"
++#define MPFR_VERSION_STRING "3.1.2-p10"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.2-a/src/vasprintf.c mpfr-3.1.2-b/src/vasprintf.c
+--- mpfr-3.1.2-a/src/vasprintf.c 2013-11-15 00:51:49.267334408 +0000
++++ mpfr-3.1.2-b/src/vasprintf.c 2014-06-30 15:17:53.377269231 +0000
+@@ -884,14 +884,18 @@
+ first digit, we want the exponent for radix two and the decimal
+ point AFTER the first digit. */
+ {
+- MPFR_ASSERTN (exp > MPFR_EMIN_MIN /4); /* possible overflow */
++ /* An integer overflow is normally not possible since MPFR_EXP_MIN
++ is twice as large as MPFR_EMIN_MIN. */
++ MPFR_ASSERTN (exp > (MPFR_EXP_MIN + 3) / 4);
+ exp = (exp - 1) * 4;
+ }
+ else
+ /* EXP is the exponent for decimal point BEFORE the first digit, we
+ want the exponent for decimal point AFTER the first digit. */
+ {
+- MPFR_ASSERTN (exp > MPFR_EMIN_MIN); /* possible overflow */
++ /* An integer overflow is normally not possible since MPFR_EXP_MIN
++ is twice as large as MPFR_EMIN_MIN. */
++ MPFR_ASSERTN (exp > MPFR_EXP_MIN);
+ --exp;
+ }
+ }
+diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
+--- mpfr-3.1.2-a/src/version.c 2014-06-30 15:17:53.337268149 +0000
++++ mpfr-3.1.2-b/src/version.c 2014-06-30 15:17:53.413270206 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.2-p9";
++ return "3.1.2-p10";
+ }
+diff -Naurd mpfr-3.1.2-a/tests/tsprintf.c mpfr-3.1.2-b/tests/tsprintf.c
+--- mpfr-3.1.2-a/tests/tsprintf.c 2013-11-15 00:51:49.267334408 +0000
++++ mpfr-3.1.2-b/tests/tsprintf.c 2014-06-30 15:17:53.377269231 +0000
+@@ -1184,6 +1184,69 @@
+ check_emax_aux (MPFR_EMAX_MAX);
+ }
+
++static void
++check_emin_aux (mpfr_exp_t e)
++{
++ mpfr_t x;
++ char *s1, s2[256];
++ int i;
++ mpfr_exp_t emin;
++ mpz_t ee;
++
++ MPFR_ASSERTN (e >= LONG_MIN);
++ emin = mpfr_get_emin ();
++ set_emin (e);
++
++ mpfr_init2 (x, 16);
++ mpz_init (ee);
++
++ mpfr_setmin (x, e);
++ mpz_set_si (ee, e);
++ mpz_sub_ui (ee, ee, 1);
++
++ i = mpfr_asprintf (&s1, "%Ra", x);
++ MPFR_ASSERTN (i > 0);
++
++ gmp_snprintf (s2, 256, "0x1p%Zd", ee);
++
++ if (strcmp (s1, s2) != 0)
++ {
++ printf ("Error in check_emin_aux for emin = %ld\n", (long) e);
++ printf ("Expected %s\n", s2);
++ printf ("Got %s\n", s1);
++ exit (1);
++ }
++
++ mpfr_free_str (s1);
++
++ i = mpfr_asprintf (&s1, "%Rb", x);
++ MPFR_ASSERTN (i > 0);
++
++ gmp_snprintf (s2, 256, "1p%Zd", ee);
++
++ if (strcmp (s1, s2) != 0)
++ {
++ printf ("Error in check_emin_aux for emin = %ld\n", (long) e);
++ printf ("Expected %s\n", s2);
++ printf ("Got %s\n", s1);
++ exit (1);
++ }
++
++ mpfr_free_str (s1);
++
++ mpfr_clear (x);
++ mpz_clear (ee);
++ set_emin (emin);
++}
++
++static void
++check_emin (void)
++{
++ check_emin_aux (-15);
++ check_emin_aux (mpfr_get_emin ());
++ check_emin_aux (MPFR_EMIN_MIN);
++}
++
+ int
+ main (int argc, char **argv)
+ {
+@@ -1203,6 +1266,7 @@
+ decimal ();
+ mixed ();
+ check_emax ();
++ check_emin ();
+
+ #if defined(HAVE_LOCALE_H) && defined(HAVE_SETLOCALE)
+ locale_da_DK ();
diff --git a/dev-libs/mpfr/metadata.xml b/dev-libs/mpfr/metadata.xml
new file mode 100644
index 000000000000..fb4199eb7afe
--- /dev/null
+++ b/dev-libs/mpfr/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+</pkgmetadata>
diff --git a/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild b/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild
new file mode 100644
index 000000000000..f97d812be714
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# this ebuild is only for the libmpfr.so.1 ABI SONAME
+
+EAPI="4"
+
+inherit eutils libtool flag-o-matic
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${MY_PV}/patch*
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -exec touch -r configure {} +
+ elibtoolize
+}
+
+src_configure() {
+ # Newer gmp has deleted this define, so export it for older mpfr.
+ append-cppflags -D__gmp_const=const
+ econf --disable-static
+}
+
+src_compile() {
+ emake libmpfr.la
+}
+
+src_install() {
+ emake install-libLTLIBRARIES DESTDIR="${D}"
+ rm -f "${ED}"/usr/*/libmpfr.{la,so,dylib,a}
+}
diff --git a/dev-libs/mpfr/mpfr-3.0.0_p3.ebuild b/dev-libs/mpfr/mpfr-3.0.0_p3.ebuild
new file mode 100644
index 000000000000..bb43fe2e90d0
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.0.0_p3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ rm "${D}"/usr/share/doc/${PN}/*.html || die
+ mv "${D}"/usr/share/doc/{${PN},${PF}} || die
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ dohtml *.html
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.0.1.ebuild b/dev-libs/mpfr/mpfr-3.0.1.ebuild
new file mode 100644
index 000000000000..0bfc5bbbe760
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.0.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ rm "${D}"/usr/share/doc/${PN}/*.html || die
+ mv "${D}"/usr/share/doc/{${PN},${PF}} || die
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ dohtml *.html
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.0.1_p4-r1.ebuild b/dev-libs/mpfr/mpfr-3.0.1_p4-r1.ebuild
new file mode 100644
index 000000000000..9f726f07915b
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.0.1_p4-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
+ rm "${D}"/usr/share/doc/${PN}/*.html || die
+ mv "${D}"/usr/share/doc/{${PN},${PF}} || die
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ dohtml *.html
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.0.1_p4.ebuild b/dev-libs/mpfr/mpfr-3.0.1_p4.ebuild
new file mode 100644
index 000000000000..bb43fe2e90d0
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.0.1_p4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ rm "${D}"/usr/share/doc/${PN}/*.html || die
+ mv "${D}"/usr/share/doc/{${PN},${PF}} || die
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ dohtml *.html
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.0.ebuild b/dev-libs/mpfr/mpfr-3.1.0.ebuild
new file mode 100644
index 000000000000..d44663f1c563
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -sparc-fbsd -x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${D}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.0_p7.ebuild b/dev-libs/mpfr/mpfr-3.1.0_p7.ebuild
new file mode 100644
index 000000000000..14cdee533be0
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.0_p7.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${D}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.1.ebuild b/dev-libs/mpfr/mpfr-3.1.1.ebuild
new file mode 100644
index 000000000000..8dd4b65ba214
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${D}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.1_p2.ebuild b/dev-libs/mpfr/mpfr-3.1.1_p2.ebuild
new file mode 100644
index 000000000000..cb40ece105a9
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.1_p2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ [[ ${PLEVEL} == ${PV} ]] && return 0
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${ED}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.2-r1.ebuild b/dev-libs/mpfr/mpfr-3.1.2-r1.ebuild
new file mode 100644
index 000000000000..1677e3bbcd8e
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils libtool multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ if [[ ${PLEVEL} != ${PV} ]] ; then
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ fi
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -exec touch -r configure {} +
+ elibtoolize
+}
+
+src_configure() {
+ # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
+ user_redefine_cc=yes \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${ED}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.2_p10.ebuild b/dev-libs/mpfr/mpfr-3.1.2_p10.ebuild
new file mode 100644
index 000000000000..90b92c02107d
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.2_p10.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils libtool multilib multilib-minimal
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ if [[ ${PLEVEL} != ${PV} ]] ; then
+ local i
+ for (( i = 1; i <= PLEVEL; ++i )) ; do
+ epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
+ done
+ fi
+ find . -type f -exec touch -r configure {} +
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
+ ECONF_SOURCE=${S} \
+ user_redefine_cc=yes \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+
+ # clean up html/license install
+ pushd "${ED}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.2_p5.ebuild b/dev-libs/mpfr/mpfr-3.1.2_p5.ebuild
new file mode 100644
index 000000000000..5bca7b2a1fc2
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.2_p5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils libtool multilib
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ if [[ ${PLEVEL} != ${PV} ]] ; then
+ for ((i=1; i<=PLEVEL; ++i)) ; do
+ patch=patch$(printf '%02d' ${i})
+ if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
+ epatch "${FILESDIR}"/${MY_PV}/${patch}
+ elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
+ epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
+ else
+ ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+ fi
+ sed -i '/if test/s:==:=:' configure #261016
+ find . -type f -exec touch -r configure {} +
+ elibtoolize
+}
+
+src_configure() {
+ # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
+ user_redefine_cc=yes \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
+
+ # clean up html/license install
+ pushd "${ED}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+ # some, but not all, are already installed
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ prepalldocs
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
diff --git a/dev-libs/mpfr/mpfr-3.1.3.ebuild b/dev-libs/mpfr/mpfr-3.1.3.ebuild
new file mode 100644
index 000000000000..89ceb0a5f7a5
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-3.1.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
+inherit eutils libtool multilib multilib-minimal
+
+MY_PV=${PV/_p*}
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="http://www.mpfr.org/"
+SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ if [[ ${PLEVEL} != ${PV} ]] ; then
+ local i
+ for (( i = 1; i <= PLEVEL; ++i )) ; do
+ epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
+ done
+ fi
+ find . -type f -exec touch -r configure {} +
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
+ ECONF_SOURCE=${S} \
+ user_redefine_cc=yes \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+
+ # clean up html/license install
+ pushd "${ED}"/usr/share/doc/${PF} >/dev/null
+ dohtml *.html && rm COPYING* *.html || die
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
+}
diff --git a/dev-libs/mps/Manifest b/dev-libs/mps/Manifest
new file mode 100644
index 000000000000..4da3795c018d
--- /dev/null
+++ b/dev-libs/mps/Manifest
@@ -0,0 +1,4 @@
+DIST mps-kit-1.106.2.tar.gz 1303450 SHA256 3b482620adb3e93610dc2b56a856a61f1eeb8c40d65e7bafd78bedf1294467ba SHA512 6d4a6441c4b0afd9daa0ef20a962fd9a5cd120ed324bfb7ece95ec7570f2907853ff4843fcb71537910d81339bb92cd612fa67ad0beb0ad89382339f39760a34 WHIRLPOOL 32bd80cd6ca987ccd995ed3b979855db56c996ff9d3a8de83e105ad4464fd80128c74c768d218f36953710277a880d609203ae9e92c010739137c02010fc87f6
+DIST mps-kit-1.110.0.tar.gz 1920116 SHA256 b31be25c2e180d2a09ee39464ad70d2f0dfb882002add5b63d00efe6e70fdffe SHA512 b613833a9b9a79547639337e4cda897b939c45cb84579521ec63b5560ad94cb7a8b4885b51eace119fc7c3ebf725433dfca41d96c8a773df94b37abb605bb07f WHIRLPOOL d62912c64546d6049ead5c8c11709d7f8a0cdfe5c24cfc7a29818985a50dbb00a63853713642dbae2778edd3101bdc84f5fa38e7c0561bb3167b41540e9298a0
+DIST mps-kit-1.111.0.tar.gz 3197286 SHA256 fefa1be5d873d151b2e211002994143583b4c8e0bf6e588e3f052b9c60bc8d8b SHA512 628ad619dbce1460265ffbfc76adb4a88a2168b80bd1d8de10509d7025e7f9cd240ccc7dda044119863d0f2db95792ca9c94a35271dac5a995e8609221d7e67b WHIRLPOOL 1092692325b210e9af1cf744629b643b0b47a7f9918a75043964f3cb1d9351dc716aacb7153c3c9859f440cb84fb2269e9fed84c37433d0972f4c6c3b08599f0
+DIST mps-kit-1.114.0.tar.gz 2461796 SHA256 108c055e910cc9b67ebb962e98434c655e14a37fa27229a2726045415acb60bd SHA512 78ec4f470a1c7e1aa377a61a6ccefbc77fa6e84de73b209cc3544452843ecb09a0d889121e51cfbe64d788c658c68b12a4ed150b7f82df78d4416987ded21fc9 WHIRLPOOL 17315a08e12146e0156428b804afb479557efab0202926700200a222f94fc09a2b4d50da5910ee134cfdcdb2da76b4012518b83883be6dca5fcd4b3eaac7fb1d
diff --git a/dev-libs/mps/metadata.xml b/dev-libs/mps/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/mps/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/mps/mps-1.106.2.ebuild b/dev-libs/mps/mps-1.106.2.ebuild
new file mode 100644
index 000000000000..6e6473f84519
--- /dev/null
+++ b/dev-libs/mps/mps-1.106.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Ravenbrook Memory Pool System"
+
+MY_P="${PN}-kit-${PV}"
+HOMEPAGE="http://www.ravenbrook.com/project/mps/"
+SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Sleepycat"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}/code
+
+src_prepare() {
+ # need to fix CFLAGS, it's still being silly
+ sed -i -e 's/-Werror//' gc.gmk
+}
+
+src_compile() {
+ emake -f lii4gc.gmk
+ emake -f lii4gc.gmk mpsplan.a
+ emake -f lii4gc.gmk mmdw.a
+}
+
+src_install() {
+ mkdir -p "${D}"/usr/include/mps
+ cp "${S}"/*.h "${D}"/usr/include/mps
+ dolib.a "${S}"/lii4gc/ci/*.a
+}
diff --git a/dev-libs/mps/mps-1.110.0.ebuild b/dev-libs/mps/mps-1.110.0.ebuild
new file mode 100644
index 000000000000..bd144b06fc63
--- /dev/null
+++ b/dev-libs/mps/mps-1.110.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Ravenbrook Memory Pool System"
+
+MY_P="${PN}-kit-${PV}"
+HOMEPAGE="http://www.ravenbrook.com/project/mps/"
+SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Sleepycat"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}/
+
+src_prepare() {
+ # need to fix CFLAGS, it's still being silly
+ sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
+}
diff --git a/dev-libs/mps/mps-1.111.0.ebuild b/dev-libs/mps/mps-1.111.0.ebuild
new file mode 100644
index 000000000000..4bb6e3d9e8a9
--- /dev/null
+++ b/dev-libs/mps/mps-1.111.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Ravenbrook Memory Pool System"
+
+MY_P="${PN}-kit-${PV}"
+HOMEPAGE="http://www.ravenbrook.com/project/mps/"
+SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Sleepycat"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}/
+
+src_prepare() {
+ # need to fix CFLAGS, it's still being silly
+ sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+}
diff --git a/dev-libs/mps/mps-1.114.0.ebuild b/dev-libs/mps/mps-1.114.0.ebuild
new file mode 100644
index 000000000000..f3c4e7add68d
--- /dev/null
+++ b/dev-libs/mps/mps-1.114.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Ravenbrook Memory Pool System"
+
+MY_P="${PN}-kit-${PV}"
+HOMEPAGE="http://www.ravenbrook.com/project/mps/"
+SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Sleepycat"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}/
+
+src_prepare() {
+ # need to fix CFLAGS, it's still being silly
+ sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+}
diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest
new file mode 100644
index 000000000000..2d692983c9d8
--- /dev/null
+++ b/dev-libs/msgpack/Manifest
@@ -0,0 +1,4 @@
+DIST msgpack-0.5.9.tar.gz 431625 SHA256 6139614b4142df3773d74e9d9a4dbb6dd0430103cfa7b083e723cde0ec1e7fdd SHA512 9488bf8d4aefb44ce7554cfc1e6a5fee50b774ca173a7cb8a344f421da64d51d5c60d58fd7aaf93490a33447ad2150098c164ef6a11b6b042c3b1b4a38d06435 WHIRLPOOL a618876b296f8ce40985c1d5e0830c21e3f24ad5baead765ed45712518f386aacafcc69335da77803a937961d8671cf1122105681dde626228557a10cf4ffa03
+DIST msgpack-1.0.0.tar.gz 478108 SHA256 494717d9837add0f686a77fc7ebffd7e39338cc7542cbb369aef4673eec1c3eb SHA512 afa9bf4e49fe619292e6bb59e11b0288381389d06b03778f77586ec61105a47c822eed4931a610495ac6965050266cd47c02a39095995abf702865a7b64abd88 WHIRLPOOL b5bde9267aa1c55925e154afa73fb9f1e24663b5be0242e989f1ec0d38799c84ce7a666374f1970bae94d8467f43d9b99557545f37115220a1f7d8284a34a90a
+DIST msgpack-1.0.1.tar.gz 484598 SHA256 a070d27d16133fe508fca72af434cd9e114709fffc1973de3dd3d3e6a987e250 SHA512 da20ddafe6ec4b61b1ea9cc9e79070c5ce7805974c0fd18ed46d6dc422732b93f29c6b28cf72ada3c77770d55f00f8b17655538535f46a60252083e2afe12545 WHIRLPOOL 409656d7d8ed66c115c27ff71ffa3efbbe47d8be215262b995220caa9c0ba9079731213080c1fd601717f8d13c7f109a0ff829aade09f324e00f297379856e76
+DIST msgpack-1.1.0.tar.gz 493551 SHA256 a8d400e2f0cae811a150f564d95c7ad6f30a77ad4584303de06467234b73f345 SHA512 6823fab090c2146f871a45736c29b8f81434f0d72c597ebea2e947e4a9a17554e163bc88fbbc3dd0805b2ef0df029b10ca30c09dfbd1111252b9861a1e373901 WHIRLPOOL 103e3152a31c66644afc5a6673a7700b7bc0b7af09e800e0efe161de73cc46e85015469bdb9688db6826a611db298e79b052fc0e0703f8534e7455130250e111
diff --git a/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch b/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
new file mode 100644
index 000000000000..fc6cacd0a03c
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
@@ -0,0 +1,25 @@
+--- msgpack-1.0.0/CMakeLists.txt
++++ msgpack-1.0.0/CMakeLists.txt
+@@ -213,10 +213,6 @@
+ ADD_SUBDIRECTORY (test)
+ ENDIF ()
+
+-IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- SET_PROPERTY (TARGET msgpack APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3 -DPIC")
+- SET_PROPERTY (TARGET msgpack-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3" )
+-ENDIF ()
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+ STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+--- msgpack-1.0.0/test/CMakeLists.txt
++++ msgpack-1.0.0/test/CMakeLists.txt
+@@ -52,9 +52,6 @@
+ ${CMAKE_THREAD_LIBS_INIT}
+ )
+ ADD_TEST (${source_file_we} ${source_file_we})
+- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3")
+- ENDIF ()
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+ STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
diff --git a/dev-libs/msgpack/files/msgpack-1.0.0-static.patch b/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
new file mode 100644
index 000000000000..e40a9deaaece
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
@@ -0,0 +1,40 @@
+--- msgpack-1.0.0/CMakeLists.txt
++++ msgpack-1.0.0/CMakeLists.txt
+@@ -17,6 +17,7 @@
+
+ OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
+ OPTION (MSGPACK_32BIT "32bit compile" OFF)
++OPTION (MSGPACK_STATIC "Build static library" ON)
+
+ IF (MSGPACK_CXX11)
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+@@ -196,12 +197,15 @@
+ ${msgpack_HEADERS}
+ )
+
+-ADD_LIBRARY (msgpack-static STATIC
+- ${msgpack_SOURCES}
+- ${msgpack_HEADERS}
+-)
++IF (MSGPACK_STATIC)
++ ADD_LIBRARY (msgpack-static STATIC
++ ${msgpack_SOURCES}
++ ${msgpack_HEADERS}
++ )
++ SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
++ INSTALL (TARGETS msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ENDIF ()
+
+-SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
+ SET_TARGET_PROPERTIES (msgpack PROPERTIES IMPORT_SUFFIX "_import.lib")
+ SET_TARGET_PROPERTIES (msgpack PROPERTIES SOVERSION 3 VERSION 4.0.0)
+
+@@ -233,7 +237,7 @@
+ SET(CMAKE_INSTALL_LIBDIR lib)
+ ENDIF ()
+
+-INSTALL (TARGETS msgpack msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++INSTALL (TARGETS msgpack DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ INSTALL (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX})
+ INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
diff --git a/dev-libs/msgpack/metadata.xml b/dev-libs/msgpack/metadata.xml
new file mode 100644
index 000000000000..578859624ee6
--- /dev/null
+++ b/dev-libs/msgpack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">msgpack/msgpack-c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/msgpack/msgpack-0.5.9.ebuild b/dev-libs/msgpack/msgpack-0.5.9.ebuild
new file mode 100644
index 000000000000..bfa421299fdc
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-0.5.9.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="test? ( >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}] )"
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_prepare() {
+ sed -i 's/-O3 //' configure.in || die
+ autotools-multilib_src_prepare
+}
diff --git a/dev-libs/msgpack/msgpack-1.0.0.ebuild b/dev-libs/msgpack/msgpack-1.0.0.ebuild
new file mode 100644
index 000000000000..31c42054687c
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+ "${FILESDIR}"/${P}-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-1.0.1.ebuild b/dev-libs/msgpack/msgpack-1.0.1.ebuild
new file mode 100644
index 000000000000..1752f869b0ac
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.0.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-cflags.patch
+ "${FILESDIR}"/${PN}-1.0.0-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-1.1.0.ebuild b/dev-libs/msgpack/msgpack-1.1.0.ebuild
new file mode 100644
index 000000000000..1752f869b0ac
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.1.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-cflags.patch
+ "${FILESDIR}"/${PN}-1.0.0-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/nanomsg/Manifest b/dev-libs/nanomsg/Manifest
new file mode 100644
index 000000000000..703d098654a9
--- /dev/null
+++ b/dev-libs/nanomsg/Manifest
@@ -0,0 +1,2 @@
+DIST nanomsg-0.5-beta.tar.gz 623927 SHA256 13bff7ae8f31957722ee62d50504ce1a0c590da908f8566f997e3e521abb089f SHA512 64bb658d80e94ec43e77b7a7c53a29e9b9cd02a7539e9c108b0bdfad8179af4202e11dcfdcb8400e3334931f61e59066fafe06c9df3bb4628dde6a047139ffe5 WHIRLPOOL 9b18a5b65d2ae321f112a5054fcfceda342c06a6745ba2eb8a4b4a64c40e0f47bc93b6da23202eeeef9b2992c842050cb53153293e79bda79f7b0aa86b26ca3d
+DIST nanomsg-0.6-beta.tar.gz 592512 SHA256 69e2098446c9cd2c067b5ba38567c9ba30bf861a515b3d0a9302cb21c1167a69 SHA512 3f0ac82013191a5352e9cf92b02fb620e705ae4e6cc9bdfd7bc37dd48faa652af5be3f8a3de111ca9bb93a3a06127e1f03ab3f7d48d7bb6ad0e16c0341915a50 WHIRLPOOL 9c26c755ad0f0a37994a744b2bf8fea77aba43b83ba3e231065c0f95a700ace93c5fec151a0ef4d0796fb4605c2259f36c8473072e2d6abffe31a61c8a039776
diff --git a/dev-libs/nanomsg/metadata.xml b/dev-libs/nanomsg/metadata.xml
new file mode 100644
index 000000000000..32621a5bf6a9
--- /dev/null
+++ b/dev-libs/nanomsg/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer>
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">nanomsg/nanomsg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/nanomsg/nanomsg-0.5-r1.ebuild b/dev-libs/nanomsg/nanomsg-0.5-r1.ebuild
new file mode 100644
index 000000000000..899cbfb27ed4
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-0.5-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="http://nanomsg.org/"
+SRC_URI="http://download.nanomsg.org/${P}-beta.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.2.1"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~s390 ~x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )"
+RDEPEND=""
+
+S="${WORKDIR}/${P}-beta"
+
+src_prepare() {
+ sed -i -e 's/doc_DATA/html_DATA/' Makefile.am || die
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --htmldir "/usr/share/doc/${PF}/html"
+ )
+ if multilib_is_native_abi; then
+ myeconfargs+=(
+ $(use_enable doc)
+ )
+ else
+ myeconfargs+=(
+ --disable-doc
+ --disable-nanocat
+ --disable-symlinks
+ )
+ fi
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/nanomsg/nanomsg-0.6.ebuild b/dev-libs/nanomsg/nanomsg-0.6.ebuild
new file mode 100644
index 000000000000..f2fe3a722e28
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-0.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="http://nanomsg.org/"
+SRC_URI="https://github.com/nanomsg/nanomsg/releases/download/0.6-beta/${P}-beta.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.2.2"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~s390 ~x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )"
+RDEPEND=""
+
+S="${WORKDIR}/${P}-beta"
+
+src_prepare() {
+ sed -i -e 's/doc_DATA/html_DATA/' Makefile.am || die
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --htmldir "/usr/share/doc/${PF}/html"
+ )
+ if multilib_is_native_abi; then
+ myeconfargs+=(
+ $(use_enable doc)
+ )
+ else
+ myeconfargs+=(
+ --disable-doc
+ --disable-nanocat
+ --disable-symlinks
+ )
+ fi
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/nettle/Manifest b/dev-libs/nettle/Manifest
new file mode 100644
index 000000000000..b153104d61d0
--- /dev/null
+++ b/dev-libs/nettle/Manifest
@@ -0,0 +1,2 @@
+DIST nettle-2.7.1.tar.gz 1558863 SHA256 bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40 SHA512 297c69e90bbd448f72e854abe5cc7868c08d710e1c1bcd6a14adf06e25629d58a3ef4d65ab588d001ec7091aa583032312ad15b416ea5479e5bf0ea63717f473 WHIRLPOOL 3a9bca1175652050ac8b96d85ee86dc40968fb56bad416ccdf6e57be85d4ab9f81f75647866c44810dad226830cbfe466cb37d1fdf40afb54b509de6f7a9bcee
+DIST nettle-3.1.1.tar.gz 1851876 SHA256 5fd4d25d64d8ddcb85d0d897572af73b05b4d163c6cc49438a5bfbb8ff293d4c SHA512 b0a52e1569ff11d871165a689fdc2a0b2f478bcc3122f39df9751b7b1c915d4240ec57d22e98034cf2b5130dddcf5dc57fe26278a2f41c15f669f65814768de1 WHIRLPOOL 8a429cd860ff717c225fbd576f6bcfc2c33809df5c346e3ced9fd75f89e0895f200ffbd0bec84bd74144e397d16d1f9ba56131c29a3d65cbc4189ef3dfd5fb99
diff --git a/dev-libs/nettle/files/nettle-2.7-shared.patch b/dev-libs/nettle/files/nettle-2.7-shared.patch
new file mode 100644
index 000000000000..9b9d6c884d14
--- /dev/null
+++ b/dev-libs/nettle/files/nettle-2.7-shared.patch
@@ -0,0 +1,77 @@
+--- nettle-2.7/examples/Makefile.in
++++ nettle-2.7/examples/Makefile.in
+@@ -8,7 +8,7 @@
+ include ../config.make
+
+ PRE_CPPFLAGS = -I.. -I$(top_srcdir)
+-PRE_LDFLAGS = -L..
++PRE_LDFLAGS = -L../.lib
+
+ OPENSSL_LIBFLAGS = @OPENSSL_LIBFLAGS@
+ BENCH_LIBS = @BENCH_LIBS@ -lm
+@@ -117,8 +117,8 @@
+ -lhogweed -lnettle $(BENCH_LIBS) $(LIBS) $(OPENSSL_LIBFLAGS) \
+ -o hogweed-benchmark$(EXEEXT)
+
+-$(TARGETS) : io.$(OBJEXT) ../libnettle.a
+-$(HOGWEED_TARGETS): ../libhogweed.a
++$(TARGETS) : io.$(OBJEXT) ../$(LIBNETTLE_FORLINK)
++$(HOGWEED_TARGETS): ../$(LIBHOGWEED_FORLINK)
+
+ check: $(TS_ALL)
+ LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \
+--- nettle-2.7/testsuite/Makefile.in
++++ nettle-2.7/testsuite/Makefile.in
+@@ -8,7 +8,7 @@
+ include ../config.make
+
+ PRE_CPPFLAGS = -I.. -I$(top_srcdir)
+-PRE_LDFLAGS = -L..
++PRE_LDFLAGS = -L../.lib
+
+ TS_NETTLE_SOURCES = aes-test.c arcfour-test.c arctwo-test.c \
+ blowfish-test.c cast128-test.c \
+@@ -96,7 +96,7 @@
+ include $(srcdir)/.test-rules.make
+
+ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
+- ../libnettle.a @IF_HOGWEED@ ../libhogweed.a
++ ../$(LIBNETTLE_FORLINK) @IF_HOGWEED@ ../$(LIBHOGWEED_FORLINK)
+
+ # For use as, e.g.,
+ #
+--- nettle-2.7/tools/Makefile.in
++++ nettle-2.7/tools/Makefile.in
+@@ -15,7 +15,7 @@
+ include ../config.make
+
+ PRE_CPPFLAGS = -I.. -I$(top_srcdir)
+-PRE_LDFLAGS = -L..
++PRE_LDFLAGS = -L../.lib
+
+ HOGWEED_TARGETS = pkcs1-conv$(EXEEXT)
+ TARGETS = sexp-conv$(EXEEXT) nettle-hash$(EXEEXT) nettle-lfib-stream$(EXEEXT) \
+@@ -34,19 +34,19 @@
+ DISTFILES = $(SOURCES) Makefile.in input.h misc.h output.h parse.h
+
+ sexp_conv_OBJS = $(sexp_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.a
++sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../$(LIBNETTLE_FORLINK)
+ $(LINK) $(sexp_conv_OBJS) -lnettle $(LIBS) -o $@
+
+-nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.a
++nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../$(LIBNETTLE_FORLINK)
+ $(LINK) nettle-lfib-stream.$(OBJEXT) -lnettle $(LIBS) -o $@
+
+ pkcs1_conv_OBJS = $(pkcs1_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.a ../libhogweed.a
++pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../$(LIBNETTLE_FORLINK) ../$(LIBHOGWEED_FORLINK)
+ $(LINK) $(pkcs1_conv_OBJS) -lhogweed -lnettle $(LIBS) -o $@
+
+ # FIXME: Avoid linking with gmp
+ nettle_hash_OBJS = $(nettle_hash_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
+-nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.a
++nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../$(LIBNETTLE_FORLINK)
+ $(LINK) $(nettle_hash_OBJS) -lnettle $(LIBS) -o $@
+
+
diff --git a/dev-libs/nettle/metadata.xml b/dev-libs/nettle/metadata.xml
new file mode 100644
index 000000000000..d68fe974c15a
--- /dev/null
+++ b/dev-libs/nettle/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/nettle/nettle-2.7.1-r4.ebuild b/dev-libs/nettle/nettle-2.7.1-r4.ebuild
new file mode 100644
index 000000000000..c4b23ea30c73
--- /dev/null
+++ b/dev-libs/nettle/nettle-2.7.1-r4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils autotools-multilib multilib toolchain-funcs
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="http://www.lysator.liu.se/~nisse/nettle/"
+SRC_URI="http://www.lysator.liu.se/~nisse/archive/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+SLOT="0/4" # subslot = libnettle soname version
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="doc +gmp neon static-libs test"
+
+DEPEND="gmp? ( dev-libs/gmp:0[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r17
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/nettle-stdint.h
+)
+
+src_prepare() {
+ tc-is-static-only || epatch "${FILESDIR}"/${PN}-2.7-shared.patch
+
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -e 's/solaris\*)/sunldsolaris*)/' \
+ -i configure.ac || die
+
+ # conditionally build tests and examples required by tests
+ use test || sed -i '/SUBDIRS/s/testsuite examples//' Makefile.in || die
+
+ autotools-utils_src_prepare
+}
+
+multilib_src_configure() {
+ # --disable-openssl bug #427526
+ ECONF_SOURCE="${S}" econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_enable gmp public-key) \
+ $(use_enable static-libs static) \
+ --disable-openssl \
+ $(tc-is-static-only && echo --disable-shared) \
+ $(use_enable doc documentation) \
+ $(use_enable neon arm-neon)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use doc ; then
+ dohtml nettle.html
+ dodoc nettle.pdf
+ fi
+}
diff --git a/dev-libs/nettle/nettle-3.1.1.ebuild b/dev-libs/nettle/nettle-3.1.1.ebuild
new file mode 100644
index 000000000000..44be5f082b75
--- /dev/null
+++ b/dev-libs/nettle/nettle-3.1.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=yes
+
+inherit eutils autotools-multilib multilib toolchain-funcs
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="http://www.lysator.liu.se/~nisse/nettle/"
+SRC_URI="http://www.lysator.liu.se/~nisse/archive/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+SLOT="0/6" # subslot = libnettle soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes"
+
+DEPEND="gmp? ( dev-libs/gmp:0[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r17
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/nettle-stdint.h
+ /usr/include/nettle/version.h
+)
+
+src_prepare() {
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -e 's/solaris\*)/sunldsolaris*)/' \
+ -i configure.ac || die
+
+ # conditionally build tests and examples required by tests
+ use test || sed -i '/SUBDIRS/s/testsuite examples//' Makefile.in || die
+
+ autotools-utils_src_prepare
+}
+
+multilib_src_configure() {
+ # --disable-openssl bug #427526
+ ECONF_SOURCE="${S}" econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --disable-openssl \
+ --disable-fat \
+ $(use_enable gmp public-key) \
+ $(use_enable static-libs static) \
+ $(tc-is-static-only && echo --disable-shared) \
+ $(use_enable doc documentation) \
+ $(use_enable neon arm-neon) \
+ $(use_enable cpu_flags_x86_aes x86-aesni)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use doc ; then
+ dohtml nettle.html
+ dodoc nettle.pdf
+ fi
+}
diff --git a/dev-libs/newt/Manifest b/dev-libs/newt/Manifest
new file mode 100644
index 000000000000..fc121d048fcf
--- /dev/null
+++ b/dev-libs/newt/Manifest
@@ -0,0 +1,2 @@
+DIST newt-0.52.15.tar.gz 183171 SHA256 7a6151923e7a8a950f9a8a21668a5780d09b0f35f9d76a7ec606c71c35a0e241 SHA512 f93798e8e9e33b4bc1bbb6039d94ccdf55be76a0e0f918eb32a241fe527ea61121a8fc35ccd699e3f6202eb367ba4b4025b30264bd9b0face7c16782f113051e WHIRLPOOL 3b23d149964bb63b6c1de2f84c7d8eaac4ecb004698135e41afd0e3ca2702f8687f9ca46a4bc10c2d4a372b9b10e7dd792a6d56deee59e2f30f942776f6d625b
+DIST newt-0.52.18.tar.gz 180425 SHA256 771b0e634ede56ae6a6acd910728bb5832ac13ddb0d1d27919d2498dab70c91e SHA512 223b4fba9568d7ddddd9292f52d5e556a24403642d1dac97b58c8ede698bc182ce7d5afd31df2cb1c5b8a8850529b50ce71d8ad84856be8d42fad0f1a33a48f8 WHIRLPOOL e4ca7b572579834df0f73f1bd65a19be48e186f253ac2e82713a0e5ed902ca1fcb8cec88da508519e6a0e88efcac77fbaa0000525bb7659264849322bc3c1c55
diff --git a/dev-libs/newt/files/newt-0.52.13-gold.patch b/dev-libs/newt/files/newt-0.52.13-gold.patch
new file mode 100644
index 000000000000..5781dbf550f4
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.13-gold.patch
@@ -0,0 +1,12 @@
+--- configure.ac~ 2011-11-09 23:50:21.000000000 +0900
++++ configure.ac 2011-11-09 23:54:54.139482817 +0900
+@@ -19,7 +19,8 @@
+ AC_MSG_CHECKING([for GNU ld])
+ LD=`$CC -print-prog-name=ld 2>&5`
+
+-if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then
++if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0 -a \
++ test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold"` = 0; then
+ # Not
+ GNU_LD=""
+ AC_MSG_RESULT([no])
diff --git a/dev-libs/newt/files/newt-0.52.14-tcl.patch b/dev-libs/newt/files/newt-0.52.14-tcl.patch
new file mode 100644
index 000000000000..4e10d2baae9e
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.14-tcl.patch
@@ -0,0 +1,108 @@
+diff --git a/whiptcl.c b/whiptcl.c
+index 8688780..7219911 100644
+--- a/whiptcl.c
++++ b/whiptcl.c
+@@ -137,45 +137,45 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
+
+ if (arg < -1) {
+ /* this could buffer oveflow, bug we're not setuid so I don't care */
+- interp->result = malloc(200);
+- interp->freeProc = TCL_DYNAMIC;
+- sprintf(interp->result, "%s: %s\n",
++ char *tmp = malloc(200);
++ sprintf(tmp, "%s: %s\n",
+ poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
+ poptStrerror(arg));
++ Tcl_SetResult(interp, tmp, TCL_DYNAMIC);
+
+ return TCL_ERROR;
+ }
+
+ if (mode == MODE_NONE) {
+- interp->result = "no dialog mode was specified";
++ Tcl_SetResultString(interp, "no dialog mode was specified");
+ return TCL_ERROR;
+ } else if (rc) {
+- interp->result = "multiple modes were specified";
++ Tcl_SetResultString(interp, "multiple modes were specified");
+ return TCL_ERROR;
+ }
+
+ if (!(text = poptGetArg(optCon))) {
+- interp->result = "missing text parameter";
++ Tcl_SetResultString(interp, "missing text parameter");
+ return TCL_ERROR;
+ }
+
+ if (!(nextArg = poptGetArg(optCon))) {
+- interp->result = "height missing";
++ Tcl_SetResultString(interp, "height missing");
+ return TCL_ERROR;
+ }
+ height = strtoul(nextArg, &end, 10);
+ if (*end) {
+- interp->result = "height is not a number";
++ Tcl_SetResultString(interp, "height is not a number");
+ return TCL_ERROR;
+ }
+
+ if (!(nextArg = poptGetArg(optCon))) {
+- interp->result = "width missing";
++ Tcl_SetResultString(interp, "width missing");
+ return TCL_ERROR;
+ }
+ width = strtoul(nextArg, &end, 10);
+ if (*end) {
+- interp->result = "width is not a number";
++ Tcl_SetResultString(interp, "width is not a number");
+ return TCL_ERROR;
+ }
+
+@@ -196,33 +196,30 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
+ case MODE_YESNO:
+ rc = messageBox(text, height, width, MSGBOX_YESNO, flags);
+ if (rc == DLG_OKAY)
+- interp->result = "yes";
++ Tcl_SetResultString(interp, "yes");
+ else
+- interp->result = "no";
++ Tcl_SetResultString(interp, "no");
+ if (rc == DLG_ERROR) rc = 0;
+ break;
+
+ case MODE_INPUTBOX:
+ rc = inputBox(text, height, width, optCon, flags, &result);
+ if (rc ==DLG_OKAY) {
+- interp->result = result;
+- interp->freeProc = TCL_DYNAMIC;
++ Tcl_SetResult(interp, result, TCL_DYNAMIC);
+ }
+ break;
+
+ case MODE_MENU:
+ rc = listBox(text, height, width, optCon, flags, default_item, &result);
+ if (rc==DLG_OKAY) {
+- interp->result = result;
+- interp->freeProc = TCL_DYNAMIC;
++ Tcl_SetResult(interp, result, TCL_DYNAMIC);
+ }
+ break;
+
+ case MODE_RADIOLIST:
+ rc = checkList(text, height, width, optCon, 1, flags, &selections);
+ if (rc==DLG_OKAY) {
+- interp->result = selections[0];
+- interp->freeProc = TCL_DYNAMIC;
++ Tcl_SetResult(interp, selections[0], TCL_DYNAMIC);
+
+ free(selections);
+ }
+@@ -247,7 +244,7 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
+ newtPopWindow();
+
+ if (rc == DLG_ERROR) {
+- interp->result = "bad paramter for whiptcl dialog box";
++ Tcl_SetResultString(interp, "bad paramter for whiptcl dialog box");
+ return TCL_ERROR;
+ }
+
diff --git a/dev-libs/newt/files/newt-0.52.15-makefile.patch b/dev-libs/newt/files/newt-0.52.15-makefile.patch
new file mode 100644
index 000000000000..55812bf10460
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.15-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index 4ae284b..cd5c4a7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -127,7 +127,7 @@ $(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
+ ln -fs $(LIBNEWTSONAME) libnewt.so
+ ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
+
+-$(SHAREDDIR)/%.o : %.c
++$(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
+ $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+ install: $(LIBNEWT) install-sh whiptail
diff --git a/dev-libs/newt/files/newt-0.52.15-snack.patch b/dev-libs/newt/files/newt-0.52.15-snack.patch
new file mode 100644
index 000000000000..dd2627538e6d
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.15-snack.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index 75764e1..ca95bb6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -90,7 +90,7 @@ _snackmodule.so: snackmodule.c $(LIBNEWTSH)
+ PLDFLAGS=`$$pyconfig --ldflags`; \
+ PLFLAGS=`$$pyconfig --libs`; \
+ echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snackmodule.o snackmodule.c; \
+- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snackmodule.o snackmodule.c; \
++ $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snackmodule.o snackmodule.c; \
+ echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snackmodule.so $$ver/snackmodule.o -L. -lnewt $(LIBS); \
+ $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snackmodule.so $$ver/snackmodule.o -L. -lnewt $(LIBS); \
+ done || :
diff --git a/dev-libs/newt/metadata.xml b/dev-libs/newt/metadata.xml
new file mode 100644
index 000000000000..a7d1f39f95a9
--- /dev/null
+++ b/dev-libs/newt/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>naota@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/newt/newt-0.52.15.ebuild b/dev-libs/newt/newt-0.52.15.ebuild
new file mode 100644
index 000000000000..62a94b60dd8d
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.15.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 eutils multilib autotools toolchain-funcs
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://fedorahosted.org/newt/"
+SRC_URI="https://fedorahosted.org/releases/n/e/newt/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="gpm tcl nls"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ elibc_uclibc? ( sys-libs/ncurses )
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # bug 73850
+ if use elibc_uclibc; then
+ sed -i -e 's:-lslang:-lslang -lncurses:g' Makefile.in || die
+ fi
+
+ sed -i Makefile.in \
+ -e 's|-ltcl8.4|-ltcl|g' \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ local langs=""
+ if [ -n "${LINGUAS}" ]; then
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.52.13-gold.patch \
+ "${FILESDIR}"/${PN}-0.52.15-snack.patch \
+ "${FILESDIR}"/${PN}-0.52.14-tcl.patch \
+ "${FILESDIR}"/${PN}-0.52.15-makefile.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+}
diff --git a/dev-libs/newt/newt-0.52.18.ebuild b/dev-libs/newt/newt-0.52.18.ebuild
new file mode 100644
index 000000000000..4d6c0416565a
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.18.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 eutils multilib autotools toolchain-funcs
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://fedorahosted.org/newt/"
+SRC_URI="https://fedorahosted.org/releases/n/e/newt/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="gpm tcl nls"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ elibc_uclibc? ( sys-libs/ncurses )
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # bug 73850
+ if use elibc_uclibc; then
+ sed -i -e 's:-lslang:-lslang -lncurses:g' Makefile.in || die
+ fi
+
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ local langs=""
+ if [ -n "${LINGUAS}" ]; then
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.52.13-gold.patch \
+ "${FILESDIR}"/${PN}-0.52.14-tcl.patch \
+ "${FILESDIR}"/${PN}-0.52.15-makefile.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+}
diff --git a/dev-libs/npth/Manifest b/dev-libs/npth/Manifest
new file mode 100644
index 000000000000..ade362fab573
--- /dev/null
+++ b/dev-libs/npth/Manifest
@@ -0,0 +1,3 @@
+DIST npth-0.91.tar.bz2 299702 SHA256 caef86ced4a331e162897818a5b924860c8d6003e52da5bdf76da00e8e0dfae1 SHA512 728ae7d5dadb253f0ca77fea455f81eed5fa437c6a85d3846d0bb00efd105a433d046a7b64df51f5de5f5535d983ac95d9f9f217b0c1b8b6321e6640eed71f83 WHIRLPOOL af61b2bda371eed6a6a6f4295532bf60f8e5cd0aeb8172c90b0630de6f364d816f6a7e05f0be134d39f5ad52990987f43d1a1ef8a5372a8cd8f8d3e9adc5c47c
+DIST npth-1.0.tar.bz2 292804 SHA256 9ad49de376310effab7fdad69581054b0fa9023d062032d06e73058146c8f76e SHA512 a95fc8426217e17d3f418ad7ac9c900ed53409a5b117aad87c94baf8ee68b46026ba4741d0e1de93161b419ba679b4109747ee37f6a723222f2f6d41a70e8d06 WHIRLPOOL 7c4767bb110047830b9919e4254c53cae263d5269661cd984c6dbc412ff105645af369c26bab9ebd5e4df700132be4f4714a255a3507a1dc436072d8bd7028b5
+DIST npth-1.1.tar.bz2 293362 SHA256 896c561eb2ec8da35f11828fb04a3fbff12d41ff657c799056d7dc4a66e5df7f SHA512 e2aef40d2ab6353e2bfc0442d6346f2b71c6a5ef0e0255b1402396002ac289b2613cc5c10ef56f44ddbe27425a98253d733937734b58f118715576eb7343a604 WHIRLPOOL 990c296d1f8a2ed5fcc3e10e00b1dfb50eed570a45d59623429b0afbaf19a466154945c07e8340f43d9cfeef6011d1c56ee12aa61d00fcf46acb5213e61a67d6
diff --git a/dev-libs/npth/metadata.xml b/dev-libs/npth/metadata.xml
new file mode 100644
index 000000000000..e70ecc2e1e74
--- /dev/null
+++ b/dev-libs/npth/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/npth/npth-0.91.ebuild b/dev-libs/npth/npth-0.91.ebuild
new file mode 100644
index 000000000000..2a41092574db
--- /dev/null
+++ b/dev-libs/npth/npth-0.91.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="http://thread.gmane.org/gmane.comp.encryption.gpg.announce/179"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/npth/npth-1.0.ebuild b/dev-libs/npth/npth-1.0.ebuild
new file mode 100644
index 000000000000..13f0380a978a
--- /dev/null
+++ b/dev-libs/npth/npth-1.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools-utils
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="http://thread.gmane.org/gmane.comp.encryption.gpg.announce/179"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
+IUSE="static-libs"
diff --git a/dev-libs/npth/npth-1.1.ebuild b/dev-libs/npth/npth-1.1.ebuild
new file mode 100644
index 000000000000..7972b9ff3221
--- /dev/null
+++ b/dev-libs/npth/npth-1.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools-utils
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="http://thread.gmane.org/gmane.comp.encryption.gpg.announce/179"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
+IUSE="static-libs"
diff --git a/dev-libs/nsgenbind/Manifest b/dev-libs/nsgenbind/Manifest
new file mode 100644
index 000000000000..109794b65ad1
--- /dev/null
+++ b/dev-libs/nsgenbind/Manifest
@@ -0,0 +1,4 @@
+DIST netsurf-buildsystem-1.2.tar.gz 38914 SHA256 3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61 SHA512 963e8a5033e8ef70595507f24fea3d9697eefb50ad7f92a6d3c913501c7026f12ec6d48f92b75e352b32f212f6216b8d8455aff25fa8d8d0fc12a3b19a875a1c WHIRLPOOL e56a520ae284089d0f36f06a6891ebb5b208ca847c74340c18581340e457c20ae9365999dc13284f438b965dcd7e85f04b93d1c1f22cadf6f7c1e2cef81d528c
+DIST netsurf-buildsystem-1.3.tar.gz 37906 SHA256 10bbe95ba07476208da6047bd3c74685b6e61ba9904975b5d5c9a2c79a84ac79 SHA512 79ef3e366c4798dbb88021fd05019ba9fe50539b7482bd3d07422f4c0dbf2047b906f39a0b48deebbdf111d84d93a9364d08e5c97f91609363c27641db15e6b5 WHIRLPOOL c8131d0ffb79b208b63bef94606735968584edfff8cb24b4c83cd747c5d65c2811004626840798047ffddf84556ef7d8e23242f60d01a4a046323df3c78b0980
+DIST nsgenbind-0.1.1-src.tar.gz 51146 SHA256 f504336ec5579026825df413216b25ff45c078f5d863815254a5faccce76bd71 SHA512 f4258518912474a8eef1c5f20337d36654236a0836a4b4a67329e23175fd1413adc26c7e64ed8272dc3e9c5e4fd60eb6e4ad35a8b88d7187cce4c8f5f97355ff WHIRLPOOL 5250b93a971035909a1ba6bc871bcc583f69300793b332cd3945cfea7b9e94f5340d7d7750ff13bdd05b093bd8865631bbded04dabf5ee7f6de5a503b65c40dc
+DIST nsgenbind-0.1.2-src.tar.gz 51159 SHA256 94a87e9a223791693724e929cc7b13e334d4baaf73f7d0a91fdf938c9a260a9a SHA512 90eb847d00816511e200ef97d001a714d6aab2997592def61c1fd078ee53d62d4f98ab621ea4d0716944ac9ddd3c6a012a6f9c3e01043313bf9817410323f533 WHIRLPOOL 139bbb6278dbd000b4ade5171696810d71020cd5b9c51cece07c3eb210539cf2eecc805796494fe056ceb153b76e9d33611049dbff51594aeb6d8518bcb1ad4d
diff --git a/dev-libs/nsgenbind/files/nsgenbind-0.1.1-glibc2.20.patch b/dev-libs/nsgenbind/files/nsgenbind-0.1.1-glibc2.20.patch
new file mode 100644
index 000000000000..05e0a3b962fb
--- /dev/null
+++ b/dev-libs/nsgenbind/files/nsgenbind-0.1.1-glibc2.20.patch
@@ -0,0 +1,17 @@
+--- nsgenbind-0.1.1/Makefile
++++ nsgenbind-0.1.1/Makefile
+@@ -16,13 +16,7 @@
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+-# BeOS/Haiku/AmigaOS have standard library errors that issue warnings.
+-ifneq ($(TARGET),beos)
+- ifneq ($(TARGET),amiga)
+-# WARNFLAGS := $(WARNFLAGS) -Werror
+- endif
+-endif
+-CFLAGS := -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/nsgenbind/files/nsgenbind-0.1.2-glibc2.20.patch b/dev-libs/nsgenbind/files/nsgenbind-0.1.2-glibc2.20.patch
new file mode 100644
index 000000000000..c9fce08ca97f
--- /dev/null
+++ b/dev-libs/nsgenbind/files/nsgenbind-0.1.2-glibc2.20.patch
@@ -0,0 +1,17 @@
+--- nsgenbind-0.1.2/Makefile
++++ nsgenbind-0.1.2/Makefile
+@@ -16,13 +16,7 @@
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs
+-# BeOS/Haiku/AmigaOS have standard library errors that issue warnings.
+-ifneq ($(BUILD),i586-pc-haiku)
+- ifneq ($(findstring amigaos,$(BUILD)),amigaos)
+-# WARNFLAGS := $(WARNFLAGS) -Werror
+- endif
+-endif
+-CFLAGS := -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -I$(CURDIR)/include/ \
++CFLAGS := -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+ CFLAGS := $(CFLAGS) -std=c99
diff --git a/dev-libs/nsgenbind/metadata.xml b/dev-libs/nsgenbind/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-libs/nsgenbind/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/nsgenbind/nsgenbind-0.1.1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.1.1.ebuild
new file mode 100644
index 000000000000..1cfcbca26597
--- /dev/null
+++ b/dev-libs/nsgenbind/nsgenbind-0.1.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+NETSURF_COMPONENT_TYPE=binary
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit netsurf
+
+DESCRIPTION="generate javascript to dom bindings from w3c webidl files"
+HOMEPAGE="http://www.netsurf-browser.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+DEPEND="virtual/yacc"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc2.20.patch )
diff --git a/dev-libs/nsgenbind/nsgenbind-0.1.2-r1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.1.2-r1.ebuild
new file mode 100644
index 000000000000..47d014325401
--- /dev/null
+++ b/dev-libs/nsgenbind/nsgenbind-0.1.2-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+NETSURF_COMPONENT_TYPE=binary
+NETSURF_BUILDSYSTEM=buildsystem-1.3
+inherit netsurf
+
+DESCRIPTION="generate javascript to dom bindings from w3c webidl files"
+HOMEPAGE="http://www.netsurf-browser.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+DEPEND="virtual/yacc"
+
+PATCHES=( "${FILESDIR}"/${P}-glibc2.20.patch )
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
new file mode 100644
index 000000000000..682a6b4bd127
--- /dev/null
+++ b/dev-libs/nspr/Manifest
@@ -0,0 +1,4 @@
+DIST nspr-4.10.2.tar.gz 1103130 SHA256 4d09ee67a6fb57d3c646098b0ac7fd1e31be1c2c2ca57cd2ad28b42e6d3cf400 SHA512 bb45c7a23c1bc38433520bfa71309085c25e65d004a3012c60e66c4f31fb6fdc45406cbd6228a5fdd89dfb02cd9badb5a3961186c32898aa456b04f0b6f53698 WHIRLPOOL 0cf2916c4cb595ee3ccd88da636a6599e2c3b5c51193608bbd2acfa9b3bcad89a7135af1f4cf42644495e17fc03c67a8b22719c0efb4faf8aacf1dcd0d0d9511
+DIST nspr-4.10.6.tar.gz 1131328 SHA256 df69ac8b0126f11907792384468adf42712b1d6db9772f4aa20c6d471594644a SHA512 a527a7123b4291903ac69899a82ea7e82a1945550b37f59199140a80d917540fb280172adeabf0fa09420debfd0d39c89c417166cd0a50e1eb6f1929a2a7460d WHIRLPOOL 6f7f422f50343f177896d9243a9ae89878823e92ffd3511131546a32b3cf481c9af34f5fef43c8a7c1d5974fc0959e1fa06ddd67133034563e06128e50a6f1f2
+DIST nspr-4.10.7.tar.gz 1131171 SHA256 389af5cfa863ea9bc6de7b30c15f8a4f9bddd8002f8c6fdc8b33caef43893938 SHA512 bc845b3983ed280dc691e81e08b94b34b8c175e18d455f9e1558a862045df29a3e5c7df291dff7caa0f9d4a9c7e5dd7eb316018f09b9ed444e91502d5a46013e WHIRLPOOL 7bdb1b0d52d2f14403cf93251ad7f6437d59532f50f5b41da9b3ec66f00f1875d624175301920b2f1a251fa27dd4953e15d4da20c131cd5b7b2d049606850869
+DIST nspr-4.10.8.tar.gz 1131130 SHA256 507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15 SHA512 f14e3bd46cd1dee9d7163adbf3b09a450ea8c6c65499c5b6696eba7e85b6b12d3f90561a1dfe0dc0dc5fe1b14758b4191e546d9f0e29a66f33c69dd6ed6f50d9 WHIRLPOOL 67be897d54e2446d563cfe505047b23880025bd3f1ea5492964f8d286f56776e41a8e63bd9d197d3115efae0d63bd0c7005fb9fc56abdfce0702c27e6a9e872c
diff --git a/dev-libs/nspr/files/nspr-4.10.6-solaris.patch b/dev-libs/nspr/files/nspr-4.10.6-solaris.patch
new file mode 100644
index 000000000000..3ae8052ec485
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.10.6-solaris.patch
@@ -0,0 +1,32 @@
+* drop Solaris linker stuff
+
+--- nspr-4.7.4/mozilla/nsprpub/configure.in
++++ nspr-4.7.4/mozilla/nsprpub/configure.in
+@@ -1988,26 +1988,14 @@
+ CPU_ARCH=`uname -p`
+ MDCPUCFG_H=_solaris.cfg
+ PR_MD_CSRCS=solaris.c
+- LD=/usr/ccs/bin/ld
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ RESOLVE_LINK_SYMBOLS=1
+- case "${OS_RELEASE}" in
+- 5.8|5.9)
+- ;;
+- *)
+- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
+- USE_B_DIRECT=1
+- ;;
+- esac
+ if test -n "$GNU_CC"; then
+ DSO_CFLAGS=-fPIC
+ if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+ GCC_USE_GNU_LD=1
+ fi
+- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
+- if test -n "$USE_B_DIRECT"; then
+- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+- fi
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ else
+ DSO_CFLAGS=-KPIC
+ DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
diff --git a/dev-libs/nspr/files/nspr-4.6.1-lang.patch b/dev-libs/nspr/files/nspr-4.6.1-lang.patch
new file mode 100644
index 000000000000..46fe15b810a8
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.6.1-lang.patch
@@ -0,0 +1,41 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/103483
+
+--- mozilla/nsprpub/configure
++++ mozilla/nsprpub/configure
+@@ -54,6 +54,16 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++# Only set these to C if already set. These must not be set unconditionally
++# because not all systems understand e.g. LANG=C (notably SCO).
++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
++# Non-C LC_CTYPE values break the ctype check.
++if test "${LANG+set}" = set; then LANG=C; export LANG; fi
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-libs/nspr/files/nspr-4.7.0-prtime.patch b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
new file mode 100644
index 000000000000..ac509ef23d5c
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
@@ -0,0 +1,26 @@
+--- mozilla/nsprpub/pr/src/misc/prtime.c.orig 2007-09-14 19:41:08.000000000 +0200
++++ mozilla/nsprpub/pr/src/misc/prtime.c 2007-09-14 19:42:17.000000000 +0200
+@@ -1536,7 +1536,7 @@
+ case TT_EET: zone_offset = 2 * 60; break;
+ case TT_JST: zone_offset = 9 * 60; break;
+ default:
+- PR_ASSERT (0);
++ return PR_FAILURE;
+ break;
+ }
+ }
+@@ -1578,11 +1578,12 @@
+ struct tm localTime;
+ time_t secs;
+
+- PR_ASSERT(result->tm_month > -1 &&
++ if (!(result->tm_month > -1 &&
+ result->tm_mday > 0 &&
+ result->tm_hour > -1 &&
+ result->tm_min > -1 &&
+- result->tm_sec > -1);
++ result->tm_sec > -1))
++ return PR_FAILURE;
+
+ /*
+ * To obtain time_t from a tm structure representing the local
diff --git a/dev-libs/nspr/files/nspr-4.7.1-solaris.patch b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch
new file mode 100644
index 000000000000..5d9e810a5fe7
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch
@@ -0,0 +1,14 @@
+Same magic as haubi did for glib compilation, which works again here
+resolving a linker problem on Solaris with GNU ld. Bug #222625
+
+--- mozilla/nsprpub/pr/src/Makefile.in.orig 2008-06-22 22:24:56.671065000 +0200
++++ mozilla/nsprpub/pr/src/Makefile.in 2008-06-23 14:38:52.320417000 +0200
+@@ -95,7 +95,7 @@
+ endif
+
+ ifdef USE_PTHREADS
+-OS_LIBS = -lpthread ${LIBRT} -lsocket -lnsl -ldl -lc
++OS_LIBS = -pthread ${LIBRT} -lsocket -lnsl -ldl -lc
+ else
+ ifdef LOCAL_THREADS_ONLY
+ OS_LIBS = -lsocket -lnsl -ldl -lc
diff --git a/dev-libs/nspr/files/nspr-4.7.4-solaris.patch b/dev-libs/nspr/files/nspr-4.7.4-solaris.patch
new file mode 100644
index 000000000000..a0f14d555a3f
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.7.4-solaris.patch
@@ -0,0 +1,62 @@
+* drop Solaris linker stuff
+
+--- nspr-4.7.4/mozilla/nsprpub/configure.in
++++ nspr-4.7.4/mozilla/nsprpub/configure.in
+@@ -1988,26 +1988,14 @@
+ CPU_ARCH=`uname -p`
+ MDCPUCFG_H=_solaris.cfg
+ PR_MD_CSRCS=solaris.c
+- LD=/usr/ccs/bin/ld
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ RESOLVE_LINK_SYMBOLS=1
+- case "${OS_RELEASE}" in
+- 5.8|5.9)
+- ;;
+- *)
+- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
+- USE_B_DIRECT=1
+- ;;
+- esac
+ if test -n "$GNU_CC"; then
+ DSO_CFLAGS=-fPIC
+ if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+ GCC_USE_GNU_LD=1
+ fi
+- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
+- if test -n "$USE_B_DIRECT"; then
+- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+- fi
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ else
+ DSO_CFLAGS=-KPIC
+ DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
+--- nspr-4.7.4/mozilla/nsprpub/configure
++++ nspr-4.7.4/mozilla/nsprpub/configure
+@@ -4765,26 +4765,14 @@
+ CPU_ARCH=`uname -p`
+ MDCPUCFG_H=_solaris.cfg
+ PR_MD_CSRCS=solaris.c
+- LD=/usr/ccs/bin/ld
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ RESOLVE_LINK_SYMBOLS=1
+- case "${OS_RELEASE}" in
+- 5.8|5.9)
+- ;;
+- *)
+- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
+- USE_B_DIRECT=1
+- ;;
+- esac
+ if test -n "$GNU_CC"; then
+ DSO_CFLAGS=-fPIC
+ if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+ GCC_USE_GNU_LD=1
+ fi
+- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
+- if test -n "$USE_B_DIRECT"; then
+- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+- fi
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ else
+ DSO_CFLAGS=-KPIC
+ DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
diff --git a/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
new file mode 100644
index 000000000000..1258b608aa68
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
@@ -0,0 +1,25 @@
+Don't use @executable_path, it messed up linking against nspr from e.g.
+nss.
+
+--- mozilla/nsprpub/configure.in
++++ mozilla/nsprpub/configure.in
+@@ -1007,7 +1007,7 @@
+ ;;
+ esac
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
+ _OPTIMIZE_FLAGS=-O2
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ STRIP="$STRIP -x -S"
+--- mozilla/nsprpub/configure
++++ mozilla/nsprpub/configure
+@@ -1007,7 +1007,7 @@
+ ;;
+ esac
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
+ _OPTIMIZE_FLAGS=-O2
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ STRIP="$STRIP -x -S"
diff --git a/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch b/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch
new file mode 100644
index 000000000000..dd3b132cb062
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch
@@ -0,0 +1,28 @@
+Use CFLAGS when linking. Some flags can add functionality to generated
+code that requires extra libs to be linked in (eg. libgomp when using
+autoparallelization). Other flags are required when building and linking
+(eg. -flto).
+
+https://bugs.gentoo.org/365975
+
+--- a/mozilla/nsprpub/config/autoconf.mk.in
++++ b/mozilla/nsprpub/config/autoconf.mk.in
+@@ -81,6 +81,7 @@ OS_DLLFLAGS = @OS_DLLFLAGS@
+ DLLFLAGS = @DLLFLAGS@
+ EXEFLAGS = @EXEFLAGS@
+ OPTIMIZER = @OPTIMIZER@
++LD_CFLAGS = @CFLAGS@
+
+ PROFILE_GEN_CFLAGS = @PROFILE_GEN_CFLAGS@
+ PROFILE_GEN_LDFLAGS = @PROFILE_GEN_LDFLAGS@
+--- a/mozilla/nsprpub/config/config.mk
++++ b/mozilla/nsprpub/config/config.mk
+@@ -72,7 +72,7 @@ NOMD_CFLAGS = $(CC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
+ NOMD_CCFLAGS = $(CCC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
+ $(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
+
+-LDFLAGS = $(OS_LDFLAGS)
++LDFLAGS = $(LD_CFLAGS) $(OS_LDFLAGS)
+
+ # Enable profile-guided optimization
+ ifdef MOZ_PROFILE_GENERATE
diff --git a/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch b/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch
new file mode 100644
index 000000000000..d4f9a7e50828
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch
@@ -0,0 +1,12 @@
+diff -urN a/mozilla/nsprpub/config/nspr-config.in b/mozilla/nsprpub/config/nspr-config.in
+--- a/mozilla/nsprpub/config/nspr-config.in 2012-03-06 07:13:39.000000000 -0600
++++ b/mozilla/nsprpub/config/nspr-config.in 2013-02-16 20:53:53.893489345 -0600
+@@ -126,7 +126,7 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- libdirs=-L$libdir
++ libdirs=""
+ if test -n "$lib_plds"; then
+ libdirs="$libdirs -lplds${major_version}"
+ fi
diff --git a/dev-libs/nspr/metadata.xml b/dev-libs/nspr/metadata.xml
new file mode 100644
index 000000000000..74d9257900cf
--- /dev/null
+++ b/dev-libs/nspr/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mozilla</herd>
+</pkgmetadata>
diff --git a/dev-libs/nspr/nspr-4.10.2.ebuild b/dev-libs/nspr/nspr-4.10.2.ebuild
new file mode 100644
index 000000000000..cb77f840e0bb
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.10.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+WANT_AUTOCONF="2.1"
+
+inherit autotools eutils multilib toolchain-funcs versionator
+
+MIN_PV="$(get_version_component_range 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug"
+
+src_prepare() {
+ mkdir build inst
+ cd "${S}"/nspr/
+ epatch "${FILESDIR}"/${PN}-4.6.1-lang.patch
+ epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
+ epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.7.4-solaris.patch
+ # epatch "${FILESDIR}"/${PN}-4.8.3-aix-gcc.patch
+ epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
+ # We do not need to pass -L$libdir via nspr-config --libs
+ epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
+
+ # We must run eautoconf to regenerate configure
+ eautoconf
+
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ "${S}"/nspr/config/rules.mk || die
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ # We use the standard BUILD_xxx but nspr uses HOST_xxx
+ tc-export_build_env BUILD_CC
+ export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
+ tc-export AR CC CXX RANLIB
+ [[ ${CBUILD} != ${CHOST} ]] \
+ && export CROSS_COMPILE=1 \
+ || unset CROSS_COMPILE
+
+ local myconf
+ echo > "${T}"/test.c
+ ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
+ case $(file "${T}"/test.o) in
+ *32-bit*x86-64*|*64-bit*|*ppc64*|*x86_64*) myconf+=" --enable-64bit";;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+
+ # Ancient autoconf needs help finding the right tools.
+ LC_ALL="C" ECONF_SOURCE="../nspr" \
+ ac_cv_path_AR="${AR}" \
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ ${myconf}
+}
+
+src_compile() {
+ cd "${S}"/build
+ emake || die "failed to build"
+}
+
+src_install() {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ cd "${S}"/build
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ cd "${ED}"/usr/$(get_libdir)
+ einfo "removing static libraries as upstream has requested!"
+ rm -f *.a || die "failed to remove static libraries."
+
+ # install nspr-config
+ dobin "${S}"/build/config/nspr-config || die "failed to install nspr-config"
+
+ # Remove stupid files in /usr/bin
+ rm -f "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files"
+}
diff --git a/dev-libs/nspr/nspr-4.10.6-r1.ebuild b/dev-libs/nspr/nspr-4.10.6-r1.ebuild
new file mode 100644
index 000000000000..727188bafc82
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.10.6-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.5"
+
+inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal
+
+MIN_PV="$(get_version_component_range 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nspr-config
+)
+
+src_prepare() {
+ cd "${S}"/nspr || die
+ epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
+ epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.10.6-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
+ # We do not need to pass -L$libdir via nspr-config --libs
+ epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
+
+ # We must run eautoconf to regenerate configure
+ eautoconf
+
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ "${S}"/nspr/config/rules.mk || die
+}
+
+multilib_src_configure() {
+ # We use the standard BUILD_xxx but nspr uses HOST_xxx
+ tc-export_build_env BUILD_CC
+ export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
+ tc-export AR CC CXX RANLIB
+ [[ ${CBUILD} != ${CHOST} ]] \
+ && export CROSS_COMPILE=1 \
+ || unset CROSS_COMPILE
+
+ local myconf=()
+
+ # The configure has some fancy --enable-{{n,x}32,64bit} switches
+ # that trigger some code conditional to platform & arch. This really
+ # matters for the few common arches (x86, ppc) but we pass a little
+ # more of them to be future-proof.
+
+ # use ABI first, this will work for most cases
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
+ n32) myconf+=( --enable-n32 );;
+ x32) myconf+=( --enable-x32 );;
+ s390x|*64) myconf+=( --enable-64bit );;
+ default) # no abi actually set, fall back to old check
+ einfo "Running a short build test to determine 64bit'ness"
+ echo > "${T}"/test.c || die
+ ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
+ case $(file "${T}"/test.o) in
+ *32-bit*x86-64*) myconf+=( --enable-x32 );;
+ *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac ;;
+ *) ;;
+ esac
+
+ # Ancient autoconf needs help finding the right tools.
+ LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
+ ac_cv_path_AR="${AR}" \
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ "${myconf[@]}"
+}
+
+multilib_src_install() {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ emake DESTDIR="${D}" install
+
+ einfo "removing static libraries as upstream has requested!"
+ rm -f "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
+
+ # install nspr-config
+ dobin config/nspr-config
+
+ # Remove stupid files in /usr/bin
+ rm "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files"
+}
diff --git a/dev-libs/nspr/nspr-4.10.7-r1.ebuild b/dev-libs/nspr/nspr-4.10.7-r1.ebuild
new file mode 100644
index 000000000000..6f418c33ef94
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.10.7-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.5"
+
+inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal
+
+MIN_PV="$(get_version_component_range 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nspr-config
+)
+
+src_prepare() {
+ cd "${S}"/nspr || die
+ epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
+ epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.10.6-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
+ # We do not need to pass -L$libdir via nspr-config --libs
+ epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
+
+ # We must run eautoconf to regenerate configure
+ eautoconf
+
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ "${S}"/nspr/config/rules.mk || die
+}
+
+multilib_src_configure() {
+ # We use the standard BUILD_xxx but nspr uses HOST_xxx
+ tc-export_build_env BUILD_CC
+ export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
+ tc-export AR CC CXX RANLIB
+ [[ ${CBUILD} != ${CHOST} ]] \
+ && export CROSS_COMPILE=1 \
+ || unset CROSS_COMPILE
+
+ local myconf=()
+
+ # The configure has some fancy --enable-{{n,x}32,64bit} switches
+ # that trigger some code conditional to platform & arch. This really
+ # matters for the few common arches (x86, ppc) but we pass a little
+ # more of them to be future-proof.
+
+ # use ABI first, this will work for most cases
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
+ n32) myconf+=( --enable-n32 );;
+ x32) myconf+=( --enable-x32 );;
+ s390x|*64) myconf+=( --enable-64bit );;
+ default) # no abi actually set, fall back to old check
+ einfo "Running a short build test to determine 64bit'ness"
+ echo > "${T}"/test.c || die
+ ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
+ case $(file "${T}"/test.o) in
+ *32-bit*x86-64*) myconf+=( --enable-x32 );;
+ *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac ;;
+ *) ;;
+ esac
+
+ # Ancient autoconf needs help finding the right tools.
+ LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
+ ac_cv_path_AR="${AR}" \
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ "${myconf[@]}"
+}
+
+multilib_src_install() {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ emake DESTDIR="${D}" install
+
+ einfo "removing static libraries as upstream has requested!"
+ rm -f "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
+
+ # install nspr-config
+ dobin config/nspr-config
+
+ # Remove stupid files in /usr/bin
+ rm "${ED}"/usr/bin/prerr.properties || die
+
+ # This is used only to generate prerr.c and prerr.h at build time.
+ # No other projects use it, and we don't want to depend on perl.
+ # Talked to upstream and they agreed w/punting.
+ rm "${ED}"/usr/bin/compile-et.pl || die
+}
diff --git a/dev-libs/nspr/nspr-4.10.8.ebuild b/dev-libs/nspr/nspr-4.10.8.ebuild
new file mode 100644
index 000000000000..773f04933e2c
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.10.8.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.5"
+
+inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal
+
+MIN_PV="$(get_version_component_range 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug"
+
+RDEPEND="
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nspr-config
+)
+
+src_prepare() {
+ cd "${S}"/nspr || die
+ epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
+ epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.10.6-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
+ # We do not need to pass -L$libdir via nspr-config --libs
+ epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
+
+ # We must run eautoconf to regenerate configure
+ eautoconf
+
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ "${S}"/nspr/config/rules.mk || die
+}
+
+multilib_src_configure() {
+ # We use the standard BUILD_xxx but nspr uses HOST_xxx
+ tc-export_build_env BUILD_CC
+ export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
+ tc-export AR CC CXX RANLIB
+ [[ ${CBUILD} != ${CHOST} ]] \
+ && export CROSS_COMPILE=1 \
+ || unset CROSS_COMPILE
+
+ local myconf=()
+
+ # The configure has some fancy --enable-{{n,x}32,64bit} switches
+ # that trigger some code conditional to platform & arch. This really
+ # matters for the few common arches (x86, ppc) but we pass a little
+ # more of them to be future-proof.
+
+ # use ABI first, this will work for most cases
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
+ n32) myconf+=( --enable-n32 );;
+ x32) myconf+=( --enable-x32 );;
+ s390x|*64) myconf+=( --enable-64bit );;
+ default) # no abi actually set, fall back to old check
+ einfo "Running a short build test to determine 64bit'ness"
+ echo > "${T}"/test.c || die
+ ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
+ case $(file "${T}"/test.o) in
+ *32-bit*x86-64*) myconf+=( --enable-x32 );;
+ *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac ;;
+ *) ;;
+ esac
+
+ # Ancient autoconf needs help finding the right tools.
+ LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
+ ac_cv_path_AR="${AR}" \
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ "${myconf[@]}"
+}
+
+multilib_src_install() {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ emake DESTDIR="${D}" install
+
+ einfo "removing static libraries as upstream has requested!"
+ rm -f "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
+
+ # install nspr-config
+ dobin config/nspr-config
+
+ # Remove stupid files in /usr/bin
+ rm "${ED}"/usr/bin/prerr.properties || die
+
+ # This is used only to generate prerr.c and prerr.h at build time.
+ # No other projects use it, and we don't want to depend on perl.
+ # Talked to upstream and they agreed w/punting.
+ rm "${ED}"/usr/bin/compile-et.pl || die
+}
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
new file mode 100644
index 000000000000..a2953229a960
--- /dev/null
+++ b/dev-libs/nss/Manifest
@@ -0,0 +1,3 @@
+DIST nss-3.14.1-add_spi+cacerts_ca_certs.patch 25018 SHA256 82ca25982828fd7153ad15fc6e81408c115476eeeb4045d3a71469380b56824b SHA512 2aafbd972b073061bfd66a66a4b50060691957f2910f716f7a69d22d655c499f186f05db2101bea5248a00949f339327ba8bfffec024c61c8ee908766201ae00 WHIRLPOOL c9fe397e316dac7983b187acf7227078ebd8f8da5df53f77f2564489e85f123c4d2afb88d56e8dc14b9ebfffe8a71ade4724b3c1ea683c5c4c487cb3a64eda43
+DIST nss-3.19.2.tar.gz 6953657 SHA256 1306663e8f61d8449ad8cbcffab743a604dcd9f6f34232c210847c51dce2c9ae SHA512 d3c45010f8dace58f9da9efe0f9792f8b8a69384e100663f33c949685cdd1ce70e5131f279bc82336622841c41dbc0a4d70a7cc6839a1782dbe8b3c3fd8bc59d WHIRLPOOL d69ab02e12f6b22f47df7be7925343c58e68a69b33833b85d6f2ca70f652d9d159accea45f2c141fa89245ab64dffff0f1289129427564203fe2faf3af1c11e3
+DIST nss-pem-015ae754dd9f6fbcd7e52030ec9732eb27fc06a8.tar.bz2 27506 SHA256 50d9ec26a75835e900302f631456e278e13d4b435b8f98aa69f79dd439ddc6ab SHA512 0158a140f112a905f7db5a4f4d04f49f6742db1d2665ddf6c32913c367f0b93a57f86ba13b9883a42a528aff44c48196941d7c0fd7a27005db6adaf07802e501 WHIRLPOOL 279ef11d2d6f0cb7c192189d64bc6971cdada7417b93a65a3ff0ba4548b736b53b9812803024c2349114e94e0864f2b58c23812687ed3f75cf28334b0f6e11ac
diff --git a/dev-libs/nss/files/nss-3.14.2-solaris-gcc.patch b/dev-libs/nss/files/nss-3.14.2-solaris-gcc.patch
new file mode 100644
index 000000000000..a23725da22a4
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.14.2-solaris-gcc.patch
@@ -0,0 +1,24 @@
+--- nss-3.14.2/mozilla/security/coreconf/SunOS5.mk
++++ nss-3.14.2/mozilla/security/coreconf/SunOS5.mk
+@@ -5,6 +5,9 @@
+
+ include $(CORE_DEPTH)/coreconf/UNIX.mk
+
++NS_USE_GCC = 1
++GCC_USE_GNU_LD = 1
++
+ # Sun's WorkShop defines v8, v8plus and v9 architectures.
+ # gcc on Solaris defines v8 and v9 "cpus".
+ # gcc's v9 is equivalent to Workshop's v8plus.
+@@ -71,11 +74,6 @@
+ NOMD_OS_CFLAGS += $(DSO_CFLAGS) $(OS_DEFINES) $(SOL_CFLAGS)
+
+ MKSHLIB = $(CC) $(DSO_LDOPTS) $(RPATH)
+-ifdef NS_USE_GCC
+-ifeq (GNU,$(findstring GNU,$(shell `$(CC) -print-prog-name=ld` -v 2>&1)))
+- GCC_USE_GNU_LD = 1
+-endif
+-endif
+ ifdef MAPFILE
+ ifdef NS_USE_GCC
+ ifdef GCC_USE_GNU_LD
diff --git a/dev-libs/nss/files/nss-3.15-gentoo-fixup-warnings.patch b/dev-libs/nss/files/nss-3.15-gentoo-fixup-warnings.patch
new file mode 100644
index 000000000000..3ce2c0e49769
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.15-gentoo-fixup-warnings.patch
@@ -0,0 +1,10 @@
+--- nss-3.15/nss/coreconf/Linux.mk
++++ nss-3.15/nss/coreconf/Linux.mk
+@@ -116,6 +116,7 @@
+ OPTIMIZER += -gdwarf-2
+ endif
+ endif
++OPTIMIZER += -fno-strict-aliasing
+ endif
+
+
diff --git a/dev-libs/nss/files/nss-3.15.4-enable-pem.patch b/dev-libs/nss/files/nss-3.15.4-enable-pem.patch
new file mode 100644
index 000000000000..8e6102439052
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.15.4-enable-pem.patch
@@ -0,0 +1,13 @@
+Patches taken from http://pkgs.fedoraproject.org/cgit/nss.git/
+
+--- nss/lib/ckfw/manifest.mn.libpem
++++ nss/lib/ckfw/manifest.mn
+@@ -5,7 +5,7 @@
+
+ CORE_DEPTH = ../..
+
+-DIRS = builtins
++DIRS = builtins pem
+
+ PRIVATE_EXPORTS = \
+ ck.h \
diff --git a/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch b/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch
new file mode 100644
index 000000000000..26b488acb5d8
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch
@@ -0,0 +1,241 @@
+--- nss-3.17.1/nss/config/Makefile
++++ nss-3.17.1/nss/config/Makefile
+@@ -0,0 +1,40 @@
++CORE_DEPTH = ..
++DEPTH = ..
++
++include $(CORE_DEPTH)/coreconf/config.mk
++
++NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
++PREFIX = /usr
++
++all: export libs
++
++export:
++ # Create the nss.pc file
++ mkdir -p $(DIST)/lib/pkgconfig
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@exec_prefix@,\$${prefix}," \
++ -e "s,@libdir@,\$${prefix}/lib64," \
++ -e "s,@includedir@,\$${prefix}/include/nss," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss.pc.in > nss.pc
++ chmod 0644 nss.pc
++ ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
++
++ # Create the nss-config script
++ mkdir -p $(DIST)/bin
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss-config.in > nss-config
++ chmod 0755 nss-config
++ ln -sf ../../../config/nss-config $(DIST)/bin
++
++libs:
++
++dummy: all export libs
++
+--- nss-3.17.1/nss/config/nss-config.in
++++ nss-3.17.1/nss/config/nss-config.in
+@@ -0,0 +1,145 @@
++#!/bin/sh
++
++prefix=@prefix@
++
++major_version=@NSS_MAJOR_VERSION@
++minor_version=@NSS_MINOR_VERSION@
++patch_version=@NSS_PATCH_VERSION@
++
++usage()
++{
++ cat <<EOF
++Usage: nss-config [OPTIONS] [LIBRARIES]
++Options:
++ [--prefix[=DIR]]
++ [--exec-prefix[=DIR]]
++ [--includedir[=DIR]]
++ [--libdir[=DIR]]
++ [--version]
++ [--libs]
++ [--cflags]
++Dynamic Libraries:
++ nss
++ ssl
++ smime
++ nssutil
++EOF
++ exit $1
++}
++
++if test $# -eq 0; then
++ usage 1 1>&2
++fi
++
++lib_ssl=yes
++lib_smime=yes
++lib_nss=yes
++lib_nssutil=yes
++
++while test $# -gt 0; do
++ case "$1" in
++ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++ *) optarg= ;;
++ esac
++
++ case $1 in
++ --prefix=*)
++ prefix=$optarg
++ ;;
++ --prefix)
++ echo_prefix=yes
++ ;;
++ --exec-prefix=*)
++ exec_prefix=$optarg
++ ;;
++ --exec-prefix)
++ echo_exec_prefix=yes
++ ;;
++ --includedir=*)
++ includedir=$optarg
++ ;;
++ --includedir)
++ echo_includedir=yes
++ ;;
++ --libdir=*)
++ libdir=$optarg
++ ;;
++ --libdir)
++ echo_libdir=yes
++ ;;
++ --version)
++ echo ${major_version}.${minor_version}.${patch_version}
++ ;;
++ --cflags)
++ echo_cflags=yes
++ ;;
++ --libs)
++ echo_libs=yes
++ ;;
++ ssl)
++ lib_ssl=yes
++ ;;
++ smime)
++ lib_smime=yes
++ ;;
++ nss)
++ lib_nss=yes
++ ;;
++ nssutil)
++ lib_nssutil=yes
++ ;;
++ *)
++ usage 1 1>&2
++ ;;
++ esac
++ shift
++done
++
++# Set variables that may be dependent upon other variables
++if test -z "$exec_prefix"; then
++ exec_prefix=`pkg-config --variable=exec_prefix nss`
++fi
++if test -z "$includedir"; then
++ includedir=`pkg-config --variable=includedir nss`
++fi
++if test -z "$libdir"; then
++ libdir=`pkg-config --variable=libdir nss`
++fi
++
++if test "$echo_prefix" = "yes"; then
++ echo $prefix
++fi
++
++if test "$echo_exec_prefix" = "yes"; then
++ echo $exec_prefix
++fi
++
++if test "$echo_includedir" = "yes"; then
++ echo $includedir
++fi
++
++if test "$echo_libdir" = "yes"; then
++ echo $libdir
++fi
++
++if test "$echo_cflags" = "yes"; then
++ echo -I$includedir
++fi
++
++if test "$echo_libs" = "yes"; then
++ libdirs=""
++ if test -n "$lib_ssl"; then
++ libdirs="$libdirs -lssl${major_version}"
++ fi
++ if test -n "$lib_smime"; then
++ libdirs="$libdirs -lsmime${major_version}"
++ fi
++ if test -n "$lib_nss"; then
++ libdirs="$libdirs -lnss${major_version}"
++ fi
++ if test -n "$lib_nssutil"; then
++ libdirs="$libdirs -lnssutil${major_version}"
++ fi
++ echo $libdirs
++fi
++
+--- nss-3.17.1/nss/config/nss.pc.in
++++ nss-3.17.1/nss/config/nss.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSS
++Description: Network Security Services
++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
++Requires: nspr >= 4.8
++Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
++Cflags: -I${includedir}
++
+--- nss-3.17.1/nss/Makefile
++++ nss-3.17.1/nss/Makefile
+@@ -44,7 +44,7 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-nss_build_all: build_nspr all
++nss_build_all: all
+
+ nss_clean_all: clobber_nspr clobber
+
+@@ -109,12 +109,6 @@
+ --with-dist-prefix='$(NSPR_PREFIX)' \
+ --with-dist-includedir='$(NSPR_PREFIX)/include'
+
+-build_nspr: $(NSPR_CONFIG_STATUS)
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
+-
+-clobber_nspr: $(NSPR_CONFIG_STATUS)
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
+-
+ build_docs:
+ $(MAKE) -C $(CORE_DEPTH)/doc
+
+--- nss-3.17.1/nss/manifest.mn
++++ nss-3.17.1/nss/manifest.mn
+@@ -10,7 +10,7 @@
+
+ RELEASE = nss
+
+-DIRS = coreconf lib cmd
++DIRS = coreconf lib cmd config
+
+ ifdef NSS_BUILD_GTESTS
+ DIRS += external_tests
diff --git a/dev-libs/nss/files/nss-cacert-class3.patch b/dev-libs/nss/files/nss-cacert-class3.patch
new file mode 100644
index 000000000000..47f4da54a639
--- /dev/null
+++ b/dev-libs/nss/files/nss-cacert-class3.patch
@@ -0,0 +1,204 @@
+diff -urN a/nss/lib/ckfw/builtins/certdata.txt b/nss/lib/ckfw/builtins/certdata.txt
+--- a/nss/lib/ckfw/builtins/certdata.txt 2015-01-22 13:49:26.000000000 -0600
++++ b/nss/lib/ckfw/builtins/certdata.txt 2015-03-21 20:24:59.913637329 -0500
+@@ -30320,3 +30320,200 @@
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "CAcert Inc."
++#
++# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
++# Serial Number: 672138 (0xa418a)
++# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
++# Not Valid Before: Mon May 23 17:48:02 2011
++# Not Valid After : Thu May 20 17:48:02 2021
++# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
++# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert Inc."
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143
++\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004
++\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101
++\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004
++\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040
++\063\040\122\157\157\164
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\003\012\101\212
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\007\131\060\202\005\101\240\003\002\001\002\002\003\012
++\101\212\060\015\006\011\052\206\110\206\367\015\001\001\013\005
++\000\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157
++\157\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025
++\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
++\164\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031
++\103\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040
++\101\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052
++\206\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162
++\164\100\143\141\143\145\162\164\056\157\162\147\060\036\027\015
++\061\061\060\065\062\063\061\067\064\070\060\062\132\027\015\062
++\061\060\065\062\060\061\067\064\070\060\062\132\060\124\061\024
++\060\022\006\003\125\004\012\023\013\103\101\143\145\162\164\040
++\111\156\143\056\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162\164
++\056\157\162\147\061\034\060\032\006\003\125\004\003\023\023\103
++\101\143\145\162\164\040\103\154\141\163\163\040\063\040\122\157
++\157\164\060\202\002\042\060\015\006\011\052\206\110\206\367\015
++\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
++\002\001\000\253\111\065\021\110\174\322\046\176\123\224\317\103
++\251\335\050\327\102\052\213\363\207\170\031\130\174\017\236\332
++\211\175\341\373\353\162\220\015\164\241\226\144\253\237\240\044
++\231\163\332\342\125\166\307\027\173\365\004\254\106\270\303\276
++\177\144\215\020\154\044\363\141\234\300\362\220\372\121\346\365
++\151\001\143\303\017\126\342\112\102\317\342\104\214\045\050\250
++\305\171\011\175\106\271\212\363\351\363\064\051\010\105\344\034
++\237\313\224\004\034\201\250\024\263\230\145\304\103\354\116\202
++\215\011\321\275\252\133\215\222\320\354\336\220\305\177\012\302
++\343\353\346\061\132\136\164\076\227\063\131\350\303\003\075\140
++\063\277\367\321\157\107\304\315\356\142\203\122\156\056\010\232
++\244\331\025\030\221\246\205\222\107\260\256\110\353\155\267\041
++\354\205\032\150\162\065\253\377\360\020\135\300\364\224\247\152
++\325\073\222\176\114\220\005\176\223\301\054\213\244\216\142\164
++\025\161\156\013\161\003\352\257\025\070\232\324\322\005\162\157
++\214\371\053\353\132\162\045\371\071\106\343\162\033\076\004\303
++\144\047\042\020\052\212\117\130\247\003\255\276\264\056\023\355
++\135\252\110\327\325\175\324\052\173\134\372\106\004\120\344\314
++\016\102\133\214\355\333\362\317\374\226\223\340\333\021\066\124
++\142\064\070\217\014\140\233\073\227\126\070\255\363\322\133\213
++\240\133\352\116\226\270\174\327\325\240\206\160\100\323\221\051
++\267\242\074\255\365\214\273\317\032\222\212\344\064\173\300\330
++\154\137\351\012\302\303\247\040\232\132\337\054\135\122\134\272
++\107\325\233\357\044\050\160\070\040\057\325\177\051\300\262\101
++\003\150\222\314\340\234\314\227\113\105\357\072\020\012\253\160
++\072\230\225\160\255\065\261\352\205\053\244\034\200\041\061\251
++\256\140\172\200\046\110\000\270\001\300\223\143\125\042\221\074
++\126\347\257\333\072\045\363\217\061\124\352\046\213\201\131\371
++\241\321\123\021\305\173\235\003\366\164\021\340\155\261\054\077
++\054\206\221\231\161\232\246\167\213\064\140\321\024\264\054\254
++\235\257\214\020\323\237\304\152\370\157\023\374\163\131\367\146
++\102\164\036\212\343\370\334\322\157\230\234\313\107\230\225\100
++\005\373\351\002\003\001\000\001\243\202\002\015\060\202\002\011
++\060\035\006\003\125\035\016\004\026\004\024\165\250\161\140\114
++\210\023\360\170\331\211\167\265\155\305\211\337\274\261\172\060
++\201\243\006\003\125\035\043\004\201\233\060\201\230\200\024\026
++\265\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262
++\071\030\321\241\175\244\173\060\171\061\020\060\016\006\003\125
++\004\012\023\007\122\157\157\164\040\103\101\061\036\060\034\006
++\003\125\004\013\023\025\150\164\164\160\072\057\057\167\167\167
++\056\143\141\143\145\162\164\056\157\162\147\061\042\060\040\006
++\003\125\004\003\023\031\103\101\040\103\145\162\164\040\123\151
++\147\156\151\156\147\040\101\165\164\150\157\162\151\164\171\061
++\041\060\037\006\011\052\206\110\206\367\015\001\011\001\026\022
++\163\165\160\160\157\162\164\100\143\141\143\145\162\164\056\157
++\162\147\202\001\000\060\017\006\003\125\035\023\001\001\377\004
++\005\060\003\001\001\377\060\135\006\010\053\006\001\005\005\007
++\001\001\004\121\060\117\060\043\006\010\053\006\001\005\005\007
++\060\001\206\027\150\164\164\160\072\057\057\157\143\163\160\056
++\103\101\143\145\162\164\056\157\162\147\057\060\050\006\010\053
++\006\001\005\005\007\060\002\206\034\150\164\164\160\072\057\057
++\167\167\167\056\103\101\143\145\162\164\056\157\162\147\057\143
++\141\056\143\162\164\060\112\006\003\125\035\040\004\103\060\101
++\060\077\006\010\053\006\001\004\001\201\220\112\060\063\060\061
++\006\010\053\006\001\005\005\007\002\001\026\045\150\164\164\160
++\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157\162
++\147\057\151\156\144\145\170\056\160\150\160\077\151\144\075\061
++\060\060\064\006\011\140\206\110\001\206\370\102\001\010\004\047
++\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101\143
++\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160\150
++\160\077\151\144\075\061\060\060\120\006\011\140\206\110\001\206
++\370\102\001\015\004\103\026\101\124\157\040\147\145\164\040\171
++\157\165\162\040\157\167\156\040\143\145\162\164\151\146\151\143
++\141\164\145\040\146\157\162\040\106\122\105\105\054\040\147\157
++\040\164\157\040\150\164\164\160\072\057\057\167\167\167\056\103
++\101\143\145\162\164\056\157\162\147\060\015\006\011\052\206\110
++\206\367\015\001\001\013\005\000\003\202\002\001\000\051\050\205
++\256\104\251\271\257\244\171\023\360\250\243\053\227\140\363\134
++\356\343\057\301\366\342\146\240\021\256\066\067\072\166\025\004
++\123\352\102\365\371\352\300\025\330\246\202\331\344\141\256\162
++\013\051\134\220\103\350\101\262\341\167\333\002\023\104\170\107
++\125\257\130\374\314\230\366\105\271\321\040\370\330\041\007\376
++\155\252\163\324\263\306\007\351\011\205\314\073\362\266\276\054
++\034\045\325\161\214\071\265\056\352\276\030\201\272\260\223\270
++\017\343\346\327\046\214\061\132\162\003\204\122\346\246\365\063
++\042\105\012\310\013\015\212\270\066\157\220\011\241\253\275\327
++\325\116\056\161\242\324\256\372\247\124\053\353\065\215\132\267
++\124\210\057\356\164\237\355\110\026\312\015\110\320\224\323\254
++\244\242\366\044\337\222\343\275\353\103\100\221\156\034\030\216
++\126\264\202\022\363\251\223\237\324\274\234\255\234\165\356\132
++\227\033\225\347\164\055\034\017\260\054\227\237\373\251\063\071
++\172\347\003\072\222\216\042\366\214\015\344\331\176\015\166\030
++\367\001\371\357\226\226\242\125\163\300\074\161\264\035\032\126
++\103\267\303\012\215\162\374\342\020\011\013\101\316\214\224\240
++\371\003\375\161\163\113\212\127\063\345\216\164\176\025\001\000
++\346\314\112\034\347\177\225\031\055\305\245\014\213\273\265\355
++\205\263\134\323\337\270\271\362\312\307\015\001\024\254\160\130
++\305\214\215\063\324\235\146\243\032\120\225\043\374\110\340\006
++\103\022\331\315\247\206\071\057\066\162\243\200\020\344\341\363
++\321\313\133\032\300\344\200\232\174\023\163\006\117\333\243\153
++\044\012\272\263\034\274\112\170\273\345\343\165\070\245\110\247
++\242\036\257\166\324\136\367\070\206\126\132\211\316\326\303\247
++\171\262\122\240\306\361\205\264\045\214\362\077\226\263\020\331
++\215\154\127\073\237\157\206\072\030\202\042\066\310\260\221\070
++\333\052\241\223\252\204\077\365\047\145\256\163\325\310\325\323
++\167\352\113\235\307\101\273\307\300\343\240\077\344\175\244\215
++\163\346\022\113\337\241\163\163\163\072\200\350\325\313\216\057
++\313\352\023\247\326\101\213\254\372\074\211\327\044\365\116\264
++\340\141\222\267\363\067\230\304\276\226\243\267\212
++END
++
++# Trust for "CAcert Inc."
++# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
++# Serial Number: 672138 (0xa418a)
++# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
++# Not Valid Before: Mon May 23 17:48:02 2011
++# Not Valid After : Thu May 20 17:48:02 2021
++# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
++# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
++CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert Inc."
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\255\174\077\144\374\104\071\376\364\351\013\350\364\174\154\372
++\212\255\375\316
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\367\045\022\202\116\147\265\320\215\222\267\174\013\206\172\102
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\003\012\101\212
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/dev-libs/nss/metadata.xml b/dev-libs/nss/metadata.xml
new file mode 100644
index 000000000000..36dc83178a9b
--- /dev/null
+++ b/dev-libs/nss/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mozilla</herd>
+<use>
+ <flag name='cacert'>
+ Include root certs from CAcert (http://http://www.cacert.org/) and
+ Software in the Public Interest (http://www.spi-inc.org/)
+ </flag>
+ <flag name='nss-pem'>Add support for libnsspem</flag>
+ <flag name='utils'>Install utilities included with the library</flag>
+</use>
+<upstream>
+ <remote-id type="cpe">cpe:/a:mozilla:nss</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-libs/nss/nss-3.19.2.ebuild b/dev-libs/nss/nss-3.19.2.ebuild
new file mode 100644
index 000000000000..5ffed79e18f4
--- /dev/null
+++ b/dev-libs/nss/nss-3.19.2.ebuild
@@ -0,0 +1,325 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.10.8"
+RTM_NAME="NSS_${PV//./_}_RTM"
+# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
+PEM_GIT_REV="015ae754dd9f6fbcd7e52030ec9732eb27fc06a8"
+PEM_P="${PN}-pem-${PEM_GIT_REV}"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( http://dev.gentoo.org/~anarchy/patches/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch )
+ nss-pem? ( https://git.fedorahosted.org/cgit/nss-pem.git/snapshot/${PEM_P}.tar.bz2 )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+cacert +nss-pem utils"
+CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
+DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ ${CDEPEND}"
+RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ ${CDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+src_unpack() {
+ unpack ${A}
+ if use nss-pem ; then
+ mv "${PEM_P}"/nss/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
+ fi
+}
+
+src_prepare() {
+ # Custom changes for gentoo
+ epatch "${FILESDIR}/${PN}-3.17.1-gentoo-fixups.patch"
+ epatch "${FILESDIR}/${PN}-3.15-gentoo-fixup-warnings.patch"
+ use cacert && epatch "${DISTDIR}/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch"
+ use nss-pem && epatch "${FILESDIR}/${PN}-3.15.4-enable-pem.patch"
+ epatch "${FILESDIR}/nss-3.14.2-solaris-gcc.patch"
+ epatch "${FILESDIR}/${PN}-cacert-class3.patch" # 521462
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ aarch64*)echo "aarch64";;
+ hppa*) echo "parisc";;
+ i?86*) echo "i686";;
+ x86_64*) echo "x86_64";;
+ *) tc-arch ${t};;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ # Do not let `uname` be used.
+ if use kernel_linux ; then
+ makeargs+=(
+ OS_TARGET=Linux
+ OS_RELEASE=2.6
+ OS_TEST="$(nssarch)"
+ )
+ fi
+
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export NSS_ENABLE_ECC=1
+ export FREEBL_NO_DEPEND=1
+ export ASFLAGS=""
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -j1 -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits:-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -j1 "${makeargs[@]}" -C ${d}
+ done
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ cp -L -t "${ED}"/usr/$(get_libdir) */lib/{libcrmf,libfreebl}.a || die "copying libs failed"
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.h
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils="shlibsign"
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ nssutils="addbuiltin atob baddbdir btoa certcgi certutil checkcert
+ cmsutil conflict crlutil derdump digest makepqg mangle modutil multinit
+ nonspr10 ocspclnt oidcalc p7content p7env p7sign p7verify pk11mode
+ pk12util pp rsaperf selfserv shlibsign signtool signver ssltap strsclnt
+ symkeyutil tstclnt vfychain vfyserv"
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+
+ # Prelink breaks the CHK files. We don't have any reliable way to run
+ # shlibsign after prelink.
+ local l libs=() liblist
+ for l in ${NSS_CHK_SIGN_LIBS} ; do
+ libs+=("${EPREFIX}/usr/$(get_libdir)/lib${l}.so")
+ done
+ liblist=$(printf '%s:' "${libs[@]}")
+ echo -e "PRELINK_PATH_MASK=${liblist%:}" > "${T}/90nss-${ABI}"
+ doenvd "${T}/90nss-${ABI}"
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/ntl/Manifest b/dev-libs/ntl/Manifest
new file mode 100644
index 000000000000..0a56760a6f54
--- /dev/null
+++ b/dev-libs/ntl/Manifest
@@ -0,0 +1,6 @@
+DIST ntl-5.5.2.tar.gz 707247 SHA256 ef7fe7c8b60ec6e05b2a279caad0081263f7fb68b7360120846644cde726ff56 SHA512 44892e00051ca743b1184c9ae30e62c8e2605edaa394358979ff990a535993a6f282d882871ca9ebb3c632971f806c41d9b8024c8fb2cc6fa0d22bc26c66db06 WHIRLPOOL 4587463c4b52be721a7feb164fab73341af97c6f451c0bb2fbf675503c8a5262a5d7615d628e97f082dde23ce49db0f0b314c625dae0526bb1abdfc88732896f
+DIST ntl-6.0.0.tar.gz 714741 SHA256 9342fa7d83a0ee6748ebae683368250eff06b19d7df5dfb85bcba8a896c0a29b SHA512 fa1f1745e75c7588ca5af437648ab0844281f5c6e6a22a3bcaf0409792f3d4c70f0b8050823d90d19673ebcecae18ce6d39e6c9b1fec9f2d79f87b788b58d261 WHIRLPOOL ba8d7355639d54c6b95b66f648330876a892223c2232ddd5dd7097c53b783f01a26c5da01e72c6ad4527c3829b3c9e7123b58e63ecb8d22b4940f71a9b8a422d
+DIST ntl-6.1.0.tar.gz 715439 SHA256 e16c30ceef1d47e94b8a37a8c4a1fb58729b8f8449c648e2a96280a3eecf9b6f SHA512 8c013bd4a250c8e29d57864585492be1f392c84356959d8100d5c45b420e411e5cd677524e2d50bbe265dda4c364185395780ba5d8490f6ac46da73c6a9728de WHIRLPOOL cf2a48cfe33cb58d8bda35d4a18d57a20ae23f2ba53f0f757d1bacc58ffa0bfdfd38363db38996e2e4069f5e3f2ad6a3ae9a859437a93404308512652190c765
+DIST ntl-8.1.2.tar.gz 865458 SHA256 35c71d63786a7d7aa60e70c838e662da771ff14c98d643213baeda09bcbbfab5 SHA512 40a3e9f49c8b0f654668ac2bbd4dc18824ede22841ab6c809886a4abbf2d0ce9e7e544be62cc705c31c452cac0e29be9f93345fcf4bb6554badcf17134c32f69 WHIRLPOOL 88d675cfc7153abce8bf409236eea86dcc9e649bf0028b5265f033316db399339a01196274379eb16793bbe538f4fb4a80af2f4ce50b18416eb52058fb75e543
+DIST ntl-9.0.2.tar.gz 872258 SHA256 9b961b5fef294784bd4ece994a8a623c90ae9f01231b269c390d44bb4be5e346 SHA512 c720b8e8d36e078e8d4f6f053bccc352758bac71ef868579482f4c847084cb4498b62e40a43de1bd7bcc2357a58f728fa092caef6019ec98f24853046549ba00 WHIRLPOOL b7cd955b7cd52252f1978aa85600105a21b3ecdc133b6af87ed171271f0a9c3144efa33325c2f1706efe059f0de4b198d713b69807314547e5c7f043bfa87294
+DIST ntl-9.3.0.tar.gz 888710 SHA256 8f31508a9176b3fc843f08468b1632017f2450677bfd5147ead5136e0f24b68f SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d WHIRLPOOL a1f7cf573d49a277f0b2f1d50d18e66ef83a54430c517fd5d3c75e800216b706e8b5ff10e6ed2dc02b6eb4f9290671b249c67f1937cced96ac987055aaa3ab99
diff --git a/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch b/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch
new file mode 100644
index 000000000000..fafa97356cd8
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch
@@ -0,0 +1,53 @@
+--- include/NTL/tools.h.orig 2008-05-06 22:14:06.000000000 +1200
++++ include/NTL/tools.h 2008-05-06 22:14:23.000000000 +1200
+@@ -249,6 +249,12 @@
+ char IntValToChar(long a);
+
+
++/*
++ This function is not present in vanilla NTL
++ See tools.c for documentation.
++ */
++void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context);
++
+
+ void Error(const char *s);
+
+--- src/tools.c.orig 2008-05-06 22:15:32.000000000 +1200
++++ src/tools.c 2008-05-06 22:15:45.000000000 +1200
+@@ -8,8 +8,35 @@
+ NTL_START_IMPL
+
+
++/*
++ The following code differs from vanilla NTL
++
++ We add a SetErrorCallbackFunction(). This sets a global callback function _function_,
++ which gets called with parameter _context_ and an error message string whenever Error()
++ gets called.
++
++ Note that if the custom error handler *returns*, then NTL will dump the error message
++ back to stderr and abort() as it habitually does.
++
++ -- David Harvey (2008-04-12)
++*/
++
++void (*ErrorCallbackFunction)(const char*, void*) = NULL;
++void *ErrorCallbackContext = NULL;
++
++
++void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context)
++{
++ ErrorCallbackFunction = function;
++ ErrorCallbackContext = context;
++}
++
++
+ void Error(const char *s)
+ {
++ if (ErrorCallbackFunction != NULL)
++ ErrorCallbackFunction(s, ErrorCallbackContext);
++
+ cerr << s << "\n";
+ abort();
+ }
diff --git a/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch b/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch
new file mode 100644
index 000000000000..1420f55f3285
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch
@@ -0,0 +1,151 @@
+--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100
++++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100
+@@ -25,14 +25,16 @@
+ 'LDFLAGS_CXX' => '$(LDFLAGS)',
+ 'LDLIBS' => '-lm',
+ 'LDLIBS_CXX' => '$(LDLIBS)',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100
++++ src/mfile 2009-08-10 20:31:36.000000000 +0100
+@@ -141,6 +146,16 @@
+ WIZARD=@{WIZARD}
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
+
+ #################################################################
+ #
+@@ -173,6 +188,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -320,7 +356,7 @@
+ LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+ LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
+
+-
++.SUFFIXES: .lo
+
+ # 'make all' does a complete make, including all setup.
+ # It also creates the file 'all', which means you should
+@@ -328,11 +364,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ $(MAKE) setup1
++ $(MAKE) setup2
++ $(MAKE) setup3
++ $(MAKE) setup4
++ $(MAKE) ntl.a
+ touch all
+
+
+@@ -378,18 +414,31 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo
++
++
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
++
+
+ GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
+-
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
+
+ .c.o:
+ $(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
++
+ .c:
+ @{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
+ @{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR
+@@ -403,7 +452,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ $(MAKE) QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -460,19 +509,18 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c
+ rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
++ rm -f libntl*.so*
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -549,3 +597,10 @@
+
+
+
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK_CXX) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK_CXX) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
diff --git a/dev-libs/ntl/files/ntl-5.5.2-shared.patch b/dev-libs/ntl/files/ntl-5.5.2-shared.patch
new file mode 100644
index 000000000000..1ddd74507cf5
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-5.5.2-shared.patch
@@ -0,0 +1,166 @@
+--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100
++++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100
+@@ -25,14 +25,16 @@
+ 'LDFLAGS_CXX' => '$(LDFLAGS)',
+ 'LDLIBS' => '-lm',
+ 'LDLIBS_CXX' => '$(LDLIBS)',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+@@ -87,11 +89,6 @@
+
+ foreach $arg (@ARGV) {
+
+- if ($arg =~ '-h|help|-help|--help') {
+- system("more ../doc/config.txt");
+- exit;
+- }
+-
+ if (($name, $val) = ($arg =~ /(.*?)=(.*)/)) {
+
+ if (exists($MakeFlag{$name}) && ($val =~ 'on|off')) {
+
+
+
+--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100
++++ src/mfile 2009-08-10 20:31:36.000000000 +0100
+@@ -141,6 +146,16 @@
+ WIZARD=@{WIZARD}
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
+
+ #################################################################
+ #
+@@ -173,6 +188,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -320,7 +356,7 @@
+ LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+ LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
+
+-
++.SUFFIXES: .lo
+
+ # 'make all' does a complete make, including all setup.
+ # It also creates the file 'all', which means you should
+@@ -328,11 +364,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ $(MAKE) setup1
++ $(MAKE) setup2
++ $(MAKE) setup3
++ $(MAKE) setup4
++ $(MAKE) ntl.a
+ touch all
+
+
+@@ -378,18 +414,31 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo
++
++
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
++
+
+ GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
+-
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
+
+ .c.o:
+ $(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
++
+ .c:
+ @{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
+ @{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR
+@@ -403,7 +452,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ $(MAKE) QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -460,19 +509,18 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c
+ rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
++ rm -f libntl*.so*
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -549,3 +597,10 @@
+
+
+
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK_CXX) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK_CXX) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
diff --git a/dev-libs/ntl/files/ntl-5.5.2-singular.patch b/dev-libs/ntl/files/ntl-5.5.2-singular.patch
new file mode 100644
index 000000000000..9f0d13140cee
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-5.5.2-singular.patch
@@ -0,0 +1,12 @@
+--- include/NTL/new.h.orig 2008-05-06 21:56:16.000000000 +1200
++++ include/NTL/new.h 2008-05-06 21:56:33.000000000 +1200
+@@ -12,7 +12,8 @@
+
+ #include <new>
+
+-#define NTL_NEW_OP new (std::nothrow)
++// uncommenting std::nothrow makes this ntl work properly with Singular
++#define NTL_NEW_OP new //(std::nothrow)
+
+
+ #else
diff --git a/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch b/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch
new file mode 100644
index 000000000000..e79731fc2fce
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch
@@ -0,0 +1,61 @@
+--- src.orig/src/tools.c 2012-08-06 11:54:53.652334400 +0200
++++ src/src/tools.c 2012-08-06 11:59:18.183993600 +0200
+@@ -18,8 +18,35 @@
+ void (*ErrorCallback)() = 0;
+
+
++/*
++ The following code differs from vanilla NTL.
++
++ We add a SetErrorCallbackFunction(). This sets a global callback function _function_,
++ which gets called with parameter _context_ and an error message string whenever Error()
++ gets called.
++
++ Note that if the custom error handler *returns*, then NTL will dump the error message
++ back to stderr and abort() as it habitually does.
++
++ -- David Harvey (2008-04-12)
++*/
++
++void (*ErrorCallbackFunction)(const char*, void*) = NULL;
++void *ErrorCallbackContext = NULL;
++
++
++void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context)
++{
++ ErrorCallbackFunction = function;
++ ErrorCallbackContext = context;
++}
++
++
+ void Error(const char *s)
+ {
++ if (ErrorCallbackFunction != NULL)
++ ErrorCallbackFunction(s, ErrorCallbackContext);
++
+ cerr << s << "\n";
+ _ntl_abort();
+ }
+--- src.orig/include/NTL/tools.h 2012-08-06 11:54:52.830333000 +0200
++++ src/include/NTL/tools.h 2012-08-06 11:59:18.143993600 +0200
+@@ -10,6 +10,7 @@
+
+ #include <cstdlib>
+ #include <cmath>
++#include <cstdio>
+ #include <iostream>
+
+ #else
+@@ -252,6 +253,12 @@
+ char IntValToChar(long a);
+
+
++/*
++ This function is not present in vanilla NTL.
++ See tools.c for documentation.
++ */
++void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context);
++
+
+ void Error(const char *s);
+
diff --git a/dev-libs/ntl/files/ntl-6.0.0-singular.patch b/dev-libs/ntl/files/ntl-6.0.0-singular.patch
new file mode 100644
index 000000000000..c172386f3102
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-6.0.0-singular.patch
@@ -0,0 +1,12 @@
+--- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200
++++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200
+@@ -12,7 +12,8 @@
+
+ #include <new>
+
+-#define NTL_NEW_OP new (std::nothrow)
++// commenting std::nothrow makes this ntl work properly with Singular
++#define NTL_NEW_OP new //(std::nothrow)
+
+
+ #else
diff --git a/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch
new file mode 100644
index 000000000000..a586887e7647
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch
@@ -0,0 +1,158 @@
+diff -U 3 -dHrN ntl-8.1.2/src/DoConfig ntl-8.1.2-shared/src/DoConfig
+--- ntl-8.1.2/src/DoConfig 2015-01-31 14:07:38.000000000 +0100
++++ ntl-8.1.2-shared/src/DoConfig 2015-03-26 10:23:41.117816775 +0100
+@@ -21,14 +21,16 @@
+
+ 'LDFLAGS' => '',
+ 'LDLIBS' => '-lm',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+diff -U 3 -dHrN ntl-8.1.2/src/mfile ntl-8.1.2-shared/src/mfile
+--- ntl-8.1.2/src/mfile 2015-01-31 14:07:38.000000000 +0100
++++ ntl-8.1.2-shared/src/mfile 2015-03-26 10:56:50.277826975 +0100
+@@ -109,6 +109,16 @@
+ WIZARD=@{WIZARD}
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
+
+ #################################################################
+ #
+@@ -141,6 +151,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -313,6 +325,8 @@
+
+ LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
+
++.SUFFIXES: .lo
++
+
+
+ # 'make all' does a complete make, including all setup.
+@@ -321,11 +335,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ ${MAKE} setup1
++ ${MAKE} setup2
++ ${MAKE} setup3
++ ${MAKE} setup4
++ ${MAKE} ntl.a
+ touch all
+
+
+@@ -369,21 +383,34 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
+
+-GetTime.o: GetTime.c
++GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
++
+ GetPID.o: GetPID.c
+ $(LCOMP) $(COMPILE) GetPID.c
+
+-
++GetPID.lo: GetPID.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
+
+ .c.o:
+ $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
++
+ .c:
+ @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
+ @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
+@@ -397,7 +424,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ ${MAKE} QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -454,19 +481,18 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
+ rm -f ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
++ rm -f libntl*.so*
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -551,4 +577,11 @@
+
+
+
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
+
diff --git a/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
new file mode 100644
index 000000000000..2e8b77ae4b92
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
@@ -0,0 +1,160 @@
+diff -Naur ntl-9.2.0.orig/src/DoConfig ntl-9.2.0/src/DoConfig
+--- ntl-9.2.0.orig/src/DoConfig 2015-07-09 21:45:26.959930693 +1200
++++ ntl-9.2.0/src/DoConfig 2015-07-09 21:46:52.250122780 +1200
+@@ -38,14 +38,16 @@
+
+ 'LDFLAGS' => '',
+ 'LDLIBS' => '-lm',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+diff -Naur ntl-9.2.0.orig/src/mfile ntl-9.2.0/src/mfile
+--- ntl-9.2.0.orig/src/mfile 2015-07-09 21:45:26.959930693 +1200
++++ ntl-9.2.0/src/mfile 2015-07-09 21:57:40.631583489 +1200
+@@ -109,6 +109,16 @@
+ WIZARD=@{WIZARD}
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
+
+ #################################################################
+ #
+@@ -141,6 +151,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -314,6 +326,8 @@
+
+ LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
+
++.SUFFIXES: .lo
++
+
+
+ # 'make all' does a complete make, including all setup.
+@@ -322,11 +336,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ ${MAKE} setup1
++ ${MAKE} setup2
++ ${MAKE} setup3
++ ${MAKE} setup4
++ ${MAKE} ntl.a
+ touch all
+
+
+@@ -373,22 +387,37 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
++
+
+ GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
++
+ GetPID.o: GetPID.c
+ $(LCOMP) $(COMPILE) GetPID.c
+
++GetPID.lo: GetPID.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
++
+ CheckPCLMUL: CheckPCLMUL.c
+ $(LINK) -o CheckPCLMUL CheckPCLMUL.c $(LDLIBS)
+
+ .c.o:
+ $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
+ .c:
+ @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
+ @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
+@@ -402,7 +431,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ ${MAKE} QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -459,21 +488,19 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
+ cp ../include/NTL/have_LL_no.h ../include/NTL/have_LL.h
+ cp ../include/NTL/have_builtin_clzl_no.h ../include/NTL/have_builtin_clzl.h
+ rm -f ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -558,4 +585,11 @@
+
+
+
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
+
diff --git a/dev-libs/ntl/files/ntl-9.2.0-singular.patch b/dev-libs/ntl/files/ntl-9.2.0-singular.patch
new file mode 100644
index 000000000000..58f9491c12a0
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-9.2.0-singular.patch
@@ -0,0 +1,13 @@
+Modfiy new.h to accomodate Singular.
+--- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200
++++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200
+@@ -12,7 +12,8 @@
+ #include <NTL/config.h>
+ #include <new>
+
+-#define NTL_NEW_OP new (std::nothrow)
++// commenting std::nothrow makes this ntl work properly with Singular
++#define NTL_NEW_OP new //(std::nothrow)
+
+
+ #endif
diff --git a/dev-libs/ntl/metadata.xml b/dev-libs/ntl/metadata.xml
new file mode 100644
index 000000000000..480588cfc0a6
--- /dev/null
+++ b/dev-libs/ntl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<herd>cpp</herd>
+<longdescription lang="en">
+ NTL is a high-performance, portable C++ library providing data
+ structures and algorithms for manipulating signed, arbitrary length
+ integers, and for vectors, matrices, and polynomials over the
+ integers and over finite fields.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/ntl/ntl-5.5.2.ebuild b/dev-libs/ntl/ntl-5.5.2.ebuild
new file mode 100644
index 000000000000..a25ddcf5969c
--- /dev/null
+++ b/dev-libs/ntl/ntl-5.5.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.3
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # enable compatibility with singular
+ epatch "$FILESDIR/${P}-singular.patch"
+ # implement a call back framework (submitted upstream)
+ epatch "$FILESDIR/${P}-sage-tools.patch"
+ # sanitize the makefile and allow the building of shared library
+ epatch "$FILESDIR/${P}-shared.patch"
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2 || die "emake setup failed"
+ emake setup3 || die "emake setup failed"
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs || use test; then
+ emake ntl.a || die "emake static failed"
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg} || die "emake shared failed"
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a || die "installation of static library failed"
+ fi
+ dolib.so lib*$(get_libname) || die "installation of shared library failed"
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL || die "installation of the headers failed"
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt || die
+ dohtml doc/* || die
+ fi
+}
diff --git a/dev-libs/ntl/ntl-6.0.0.ebuild b/dev-libs/ntl/ntl-6.0.0.ebuild
new file mode 100644
index 000000000000..967eac65e54a
--- /dev/null
+++ b/dev-libs/ntl/ntl-6.0.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc static-libs test"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/gf2x:0="
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # enable compatibility with singular
+ # implement a call back framework (submitted upstream)
+ # sanitize the makefile and allow the building of shared library
+ epatch \
+ "${FILESDIR}"/${PN}-6.0.0-singular.patch \
+ "${FILESDIR}"/${PN}-6.0.0-sage-tools.patch \
+ "${FILESDIR}"/${PN}-5.5.2-shared.patch
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2
+ emake setup3
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs || use test; then
+ emake ntl.a
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg}
+}
+
+src_install() {
+ dolib.so lib*$(get_libname)
+ use static-libs && newlib.a ntl.a libntl.a
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt
+ dohtml doc/*
+ fi
+}
diff --git a/dev-libs/ntl/ntl-6.1.0.ebuild b/dev-libs/ntl/ntl-6.1.0.ebuild
new file mode 100644
index 000000000000..dfaa592b2e3b
--- /dev/null
+++ b/dev-libs/ntl/ntl-6.1.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.3
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # enable compatibility with singular
+ epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
+ # implement a call back framework (submitted upstream)
+ epatch "$FILESDIR/${PN}-6.0.0-sage-tools.patch"
+ # sanitize the makefile and allow the building of shared library
+ epatch "$FILESDIR/${PN}-5.5.2-shared-r1.patch"
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2 || die "emake setup failed"
+ emake setup3 || die "emake setup failed"
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs || use test; then
+ emake ntl.a || die "emake static failed"
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg} || die "emake shared failed"
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a || die "installation of static library failed"
+ fi
+ dolib.so lib*$(get_libname) || die "installation of shared library failed"
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL || die "installation of the headers failed"
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt || die
+ dohtml doc/* || die
+ fi
+}
diff --git a/dev-libs/ntl/ntl-8.1.2.ebuild b/dev-libs/ntl/ntl-8.1.2.ebuild
new file mode 100644
index 000000000000..b8d31490b64a
--- /dev/null
+++ b/dev-libs/ntl/ntl-8.1.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.3
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # enable compatibility with singular
+ epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
+ # sanitize the makefile and allow the building of shared library
+ epatch "$FILESDIR/${PN}-8.1.2-sanitize-makefile.patch"
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2 || die "emake setup failed"
+ emake setup3 || die "emake setup failed"
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs || use test; then
+ emake ntl.a || die "emake static failed"
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg} || die "emake shared failed"
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a || die "installation of static library failed"
+ fi
+ dolib.so lib*$(get_libname) || die "installation of shared library failed"
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL || die "installation of the headers failed"
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt || die
+ dohtml doc/* || die
+ fi
+}
diff --git a/dev-libs/ntl/ntl-9.0.2.ebuild b/dev-libs/ntl/ntl-9.0.2.ebuild
new file mode 100644
index 000000000000..b8d31490b64a
--- /dev/null
+++ b/dev-libs/ntl/ntl-9.0.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.3
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # enable compatibility with singular
+ epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
+ # sanitize the makefile and allow the building of shared library
+ epatch "$FILESDIR/${PN}-8.1.2-sanitize-makefile.patch"
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2 || die "emake setup failed"
+ emake setup3 || die "emake setup failed"
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs || use test; then
+ emake ntl.a || die "emake static failed"
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg} || die "emake shared failed"
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a || die "installation of static library failed"
+ fi
+ dolib.so lib*$(get_libname) || die "installation of shared library failed"
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL || die "installation of the headers failed"
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt || die
+ dohtml doc/* || die
+ fi
+}
diff --git a/dev-libs/ntl/ntl-9.3.0.ebuild b/dev-libs/ntl/ntl-9.3.0.ebuild
new file mode 100644
index 000000000000..93a744b9580f
--- /dev/null
+++ b/dev-libs/ntl/ntl-9.3.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc static-libs test"
+
+RDEPEND="dev-libs/gmp:=
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # sanitize the makefile and allow the building of shared library
+ epatch "${FILESDIR}"/${PN}-9.2.0-sanitize-makefile.patch
+ # enable compatibility with singular
+ epatch "${FILESDIR}"/${PN}-9.2.0-singular.patch
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ NTL_GMP_LIP=on NTL_GF2X_LIB=on NTL_LEGACY_SP_MULMOD=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2
+ emake setup3
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs; then
+ emake ntl.a
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg}
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a
+ fi
+ dolib.so lib*$(get_libname)
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt
+ dohtml doc/*
+ fi
+}
+
+src_test(){
+ # the current ebuild need static library to run tests
+ emake ntl.a
+
+ default
+}
diff --git a/dev-libs/ocl-icd/Manifest b/dev-libs/ocl-icd/Manifest
new file mode 100644
index 000000000000..42e089fc5a91
--- /dev/null
+++ b/dev-libs/ocl-icd/Manifest
@@ -0,0 +1,2 @@
+DIST ocl-icd-2.1.3.tar.gz 419083 SHA256 8338c6ae5cb7a9b34dfe79922f5e32c4f78c535a2217321dae842f72e0a2b175 SHA512 5d0704bed8a664950131c985fc32ffe5e078874945642417122df79c66bad804307192db49a561330268664ceb59756b268cf52201b809398efe58c85f823ad3 WHIRLPOOL f2757e00dcd9d484b1536ebb6b776bf5b54cd3e13cfa1b56fc95ef1e71f3db36bdb4ff996b2ddfb18d63082ebfdf743b9aeb41ed76910020724cfde7839e741b
+DIST ocl-icd-2.2.3.tar.gz 446966 SHA256 93a5ac3b23fb10731cc9e6406a58f7a21825562877787ed08c3a41f08b504d0c SHA512 da890da32cd61e42f610df472ac651d47edb1b014d98c25a778551fe6973bdb47753417b2eeab220a07f2862468845e3ac31a2e9631eac5eed05153f09da2cb9 WHIRLPOOL 1025d9b10d0140777d50abef5049df033b5a3f405807997eef3c3d88c7d4c1bd568316a20a40f936eb253da5b473aedbc764702bf5145c6c4203d85b6b420239
diff --git a/dev-libs/ocl-icd/metadata.xml b/dev-libs/ocl-icd/metadata.xml
new file mode 100644
index 000000000000..6719fcd2bb35
--- /dev/null
+++ b/dev-libs/ocl-icd/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ocl-icd/ocl-icd-2.1.3.ebuild b/dev-libs/ocl-icd/ocl-icd-2.1.3.ebuild
new file mode 100644
index 000000000000..ceecc6091b40
--- /dev/null
+++ b/dev-libs/ocl-icd/ocl-icd-2.1.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib
+
+DESCRIPTION="Alternative to vendor specific OpenCL ICD loaders"
+HOMEPAGE="http://forge.imag.fr/projects/ocl-icd/"
+SRC_URI="https://forge.imag.fr/frs/download.php/524/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="dev-lang/ruby"
+RDEPEND="app-eselect/eselect-opencl"
+
+src_prepare() {
+ echo "/usr/$(get_libdir)/OpenCL/vendors/ocl-icd/libOpenCL.so" > ocl-icd.icd
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors/
+ doins ocl-icd.icd
+
+ emake DESTDIR="${D}" install
+
+ OCL_DIR="${D}"/usr/"$(get_libdir)"/OpenCL/vendors/ocl-icd/
+ mkdir -p ${OCL_DIR} || die "mkdir failed"
+
+ mv "${D}/usr/$(get_libdir)"/libOpenCL* "${OCL_DIR}"
+}
diff --git a/dev-libs/ocl-icd/ocl-icd-2.2.3.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.3.ebuild
new file mode 100644
index 000000000000..1cd0749aaf81
--- /dev/null
+++ b/dev-libs/ocl-icd/ocl-icd-2.2.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib
+
+DESCRIPTION="Alternative to vendor specific OpenCL ICD loaders"
+HOMEPAGE="http://forge.imag.fr/projects/ocl-icd/"
+SRC_URI="https://forge.imag.fr/frs/download.php/598/${P}.tar.gz"
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="dev-lang/ruby"
+RDEPEND="app-eselect/eselect-opencl"
+
+src_prepare() {
+ echo "/usr/$(get_libdir)/OpenCL/vendors/ocl-icd/libOpenCL.so" > ocl-icd.icd
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors/
+ doins ocl-icd.icd
+
+ emake DESTDIR="${D}" install
+
+ OCL_DIR="${D}"/usr/"$(get_libdir)"/OpenCL/vendors/ocl-icd/
+ mkdir -p ${OCL_DIR} || die "mkdir failed"
+
+ mv "${D}/usr/$(get_libdir)"/libOpenCL* "${OCL_DIR}"
+}
diff --git a/dev-libs/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
new file mode 100644
index 000000000000..7692eeb7991d
--- /dev/null
+++ b/dev-libs/oniguruma/Manifest
@@ -0,0 +1,4 @@
+DIST onig-5.9.2.tar.gz 539739 SHA256 10e7b04ca0baaef2c26f32b37bb70d898b3642d38aefd5ad5062a20f86b751f6 SHA512 fedc9ed663e9970c1f44647431085093f792af1273d5fd25713545e6770652f959a78fb059e44ec348f201f40b2aaa9ef8d081721842f4fa7c486def2a73a8e7 WHIRLPOOL 4fcdd5fcde4ab670b2e7e672b2187a488d698fd6172f9b0c1b237d680dc5cfecac4e9262d7b78e32eb782596cdf92a13f554b45ee5566eabf39349c1c7d8884b
+DIST onig-5.9.3.tar.gz 566875 SHA256 c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a SHA512 d673fbd12af78bbe36984eff2aab5e0c043a663f2fca248f7accc0e9d2c86144b5e9635c542ea6311574d680d628893128615dedc32adcbe62ac427f1ead2870 WHIRLPOOL 5b6bd7c5ff0e2b586af776d94351abe8c5203d40a37138386df19eb3877e3940708c0b272f0c3d88361ce26579bd1e253333ee7c30f0af92f69a185503f2f06a
+DIST onig-5.9.4.tar.gz 567985 SHA256 988221911ff865941a859096c39a532df77418cb6df513857428a41605130697 SHA512 d1a8492925c5f873a8bd8cd5b1a3da2c78392ca7160eeadb9c53cf08e0e6dcedf75f95c748595888d727395cd9226a784cdf38ef5d64665a3c4b27e45da84cb6 WHIRLPOOL 9dd36b4bc4408360baeac39ad9c7ee3f4e231dd9ca57ffc5d07598a7ad5d2f9b03ca37d63399aa78ef55c0264453f83cb82155c2d2e09d3c8804f4e6954f763f
+DIST onig-5.9.5.tar.gz 587874 SHA256 9f49ae7819a5f47e25449d0e4b010d479f7868a24a7b9884b47041b49a76438a SHA512 3ba3c94c5e52c80c680ebf1d19be53fa5a94a11d622e0282184c7a9c8cc6676f1926b97d12aafc66514071e65cd7de2bd4632afb053c69b01ddb8b581e878252 WHIRLPOOL 4f8a52fc682c15a96660049159e98ddd9f68170e2cba3948f73f3105a266bce8b4c42329b4dc0d6f94472fd9139bbd9a8ebbf3f7351a95c868e78999ce276ece
diff --git a/dev-libs/oniguruma/files/oniguruma-5.9.2-makefile.patch b/dev-libs/oniguruma/files/oniguruma-5.9.2-makefile.patch
new file mode 100644
index 000000000000..bd594e395631
--- /dev/null
+++ b/dev-libs/oniguruma/files/oniguruma-5.9.2-makefile.patch
@@ -0,0 +1,42 @@
+--- Makefile.am.orig 2012-08-08 10:29:20.313862377 +0100
++++ Makefile.am 2012-08-08 10:29:30.793762591 +0100
+@@ -5,7 +5,7 @@
+
+ #AM_CFLAGS = -DNOT_RUBY
+ AM_CFLAGS =
+-INCLUDES = -I$(top_srcdir) -I$(includedir)
++INCLUDES = -I$(top_srcdir)
+
+ SUBDIRS = . sample
+
+--- sample/Makefile.am.orig 2012-08-08 11:37:49.813512228 +0100
++++ sample/Makefile.am 2012-08-08 11:38:00.289410756 +0100
+@@ -2,7 +2,7 @@
+
+ libname = $(top_builddir)/libonig.la
+ LDADD = $(libname)
+-INCLUDES = -I$(top_srcdir) -I$(includedir)
++INCLUDES = -I$(top_srcdir)
+
+ encode_SOURCES = encode.c
+ listcap_SOURCES = listcap.c
+--- configure.in.orig
++++ configure.in
+@@ -23,7 +23,7 @@
+ AC_ARG_ENABLE(combination-explosion-check,
+ [ --enable-combination-explosion-check enable combination explosion check],
+ [comb_expl_check=$enableval])
+-if test $comb_expl_check = yes; then
++if test "x$comb_expl_check" = xyes; then
+ AC_DEFINE(USE_COMBINATION_EXPLOSION_CHECK,1,[Define if combination explosion check])
+ fi
+
+@@ -31,7 +31,7 @@
+ AC_ARG_ENABLE(crnl-as-line-terminator,
+ [ --enable-crnl-as-line-terminator enable CR+NL as line terminator],
+ [crnl_as_line_terminator=$enableval])
+-if test $crnl_as_line_terminator = yes; then
++if test "x$crnl_as_line_terminator" = xyes; then
+ AC_DEFINE(USE_CRNL_AS_LINE_TERMINATOR,1,[Define if enable CR+NL as line terminator])
+ fi
+
diff --git a/dev-libs/oniguruma/files/oniguruma-5.9.3-makefile.patch b/dev-libs/oniguruma/files/oniguruma-5.9.3-makefile.patch
new file mode 100644
index 000000000000..7003907f7850
--- /dev/null
+++ b/dev-libs/oniguruma/files/oniguruma-5.9.3-makefile.patch
@@ -0,0 +1,48 @@
+diff --git a/Makefile.am b/Makefile.am
+index 2865fb7..75cbd45 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,7 +6,7 @@ libname = libonig.la
+ ACLOCAL_AMFLAGS = -I m4
+ #AM_CFLAGS = -DNOT_RUBY
+ AM_CFLAGS =
+-INCLUDES = -I$(top_srcdir) -I$(includedir)
++INCLUDES = -I$(top_srcdir)
+
+ SUBDIRS = . sample
+
+diff --git a/configure.in b/configure.in
+index 1e21f96..51b56d8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -25,7 +25,7 @@ dnl check for COMBINATION_EXPLOSION
+ AC_ARG_ENABLE(combination-explosion-check,
+ [ --enable-combination-explosion-check enable combination explosion check],
+ [comb_expl_check=$enableval])
+-if test "${comb_expl_check}" = yes; then
++if test "x${comb_expl_check}" = xyes; then
+ AC_DEFINE(USE_COMBINATION_EXPLOSION_CHECK,1,[Define if combination explosion check])
+ fi
+
+@@ -33,7 +33,7 @@ dnl check for CRNL_AS_LINE_TERMINATOR
+ AC_ARG_ENABLE(crnl-as-line-terminator,
+ [ --enable-crnl-as-line-terminator enable CR+NL as line terminator],
+ [crnl_as_line_terminator=$enableval])
+-if test "${crnl_as_line_terminator}" = yes; then
++if test "x${crnl_as_line_terminator}" = xyes; then
+ AC_DEFINE(USE_CRNL_AS_LINE_TERMINATOR,1,[Define if enable CR+NL as line terminator])
+ fi
+
+diff --git a/sample/Makefile.am b/sample/Makefile.am
+index af33057..347af94 100644
+--- a/sample/Makefile.am
++++ b/sample/Makefile.am
+@@ -2,7 +2,7 @@ noinst_PROGRAMS = encode listcap names posix simple sql syntax crnl
+
+ libname = $(top_builddir)/libonig.la
+ LDADD = $(libname)
+-INCLUDES = -I$(top_srcdir) -I$(includedir)
++INCLUDES = -I$(top_srcdir)
+
+ encode_SOURCES = encode.c
+ listcap_SOURCES = listcap.c
diff --git a/dev-libs/oniguruma/metadata.xml b/dev-libs/oniguruma/metadata.xml
new file mode 100644
index 000000000000..cbabf9d6775f
--- /dev/null
+++ b/dev-libs/oniguruma/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+<longdescription>
+Oniguruma is a regular expression library. The characteristics of
+this library is that different character encoding for every regular
+expression object can be specified. (Supported character encodings:
+ASCII, UTF-8, EUC-JP, Shift_JIS)
+</longdescription>
+<use>
+ <flag name="combination-explosion-check">
+ enable combination explosion check
+ </flag>
+ <flag name="crnl-as-line-terminator">
+ enable CR+NL as line terminator
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/oniguruma/oniguruma-5.9.2-r1.ebuild b/dev-libs/oniguruma/oniguruma-5.9.2-r1.ebuild
new file mode 100644
index 000000000000..2cfa75a1ad58
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-5.9.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+# Needed for a sane .so versionning on fbsd, please dont drop
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils autotools-utils
+
+MY_P=onig-${PV}
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="http://www.geocities.jp/kosako3/oniguruma"
+SRC_URI="http://www.geocities.jp/kosako3/oniguruma/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
+DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable combination-explosion-check)
+ $(use_enable crnl-as-line-terminator)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use static-libs || prune_libtool_files
+}
diff --git a/dev-libs/oniguruma/oniguruma-5.9.2.ebuild b/dev-libs/oniguruma/oniguruma-5.9.2.ebuild
new file mode 100644
index 000000000000..39f55969e5c4
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-5.9.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit libtool
+
+MY_P=onig-${PV}
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="http://www.geocities.jp/kosako3/oniguruma"
+SRC_URI="http://www.geocities.jp/kosako3/oniguruma/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # Needed for a sane .so versionning on fbsd, please dont drop
+ elibtoolize
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc AUTHORS HISTORY README* doc/*
+}
diff --git a/dev-libs/oniguruma/oniguruma-5.9.3.ebuild b/dev-libs/oniguruma/oniguruma-5.9.3.ebuild
new file mode 100644
index 000000000000..b7d879e386ca
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-5.9.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+# Needed for a sane .so versionning on fbsd, please dont drop
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils autotools-utils
+
+MY_P=onig-${PV}
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="http://www.geocities.jp/kosako3/oniguruma"
+SRC_URI="http://www.geocities.jp/kosako3/oniguruma/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
+DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable combination-explosion-check)
+ $(use_enable crnl-as-line-terminator)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use static-libs || prune_libtool_files
+}
diff --git a/dev-libs/oniguruma/oniguruma-5.9.4.ebuild b/dev-libs/oniguruma/oniguruma-5.9.4.ebuild
new file mode 100644
index 000000000000..36cbe4775fbc
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-5.9.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+# Needed for a sane .so versionning on fbsd, please dont drop
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils autotools-utils
+
+MY_P=onig-${PV}
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="http://www.geocities.jp/kosako3/oniguruma"
+SRC_URI="http://www.geocities.jp/kosako3/oniguruma/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.9.3-makefile.patch )
+DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable combination-explosion-check)
+ $(use_enable crnl-as-line-terminator)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use static-libs || prune_libtool_files
+}
diff --git a/dev-libs/oniguruma/oniguruma-5.9.5.ebuild b/dev-libs/oniguruma/oniguruma-5.9.5.ebuild
new file mode 100644
index 000000000000..c5d6492fee5a
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-5.9.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+# Needed for a sane .so versionning on fbsd, please dont drop
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils autotools-multilib
+
+MY_P=onig-${PV}
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="http://www.geocities.jp/kosako3/oniguruma"
+SRC_URI="http://www.geocities.jp/kosako3/oniguruma/archive/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.9.3-makefile.patch )
+DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable combination-explosion-check)
+ $(use_enable crnl-as-line-terminator)
+ )
+ autotools-multilib_src_configure
+}
+
+src_install() {
+ autotools-multilib_src_install
+ use static-libs || prune_libtool_files
+}
diff --git a/dev-libs/opencryptoki/Manifest b/dev-libs/opencryptoki/Manifest
new file mode 100644
index 000000000000..9f7f457a7f92
--- /dev/null
+++ b/dev-libs/opencryptoki/Manifest
@@ -0,0 +1,5 @@
+DIST opencryptoki-2.3.3-backports-3.tar.bz2 5972 SHA256 fb913dbb5c2b0d87067d9738892b2a4c4a7c192d6335cc0bae2a7083e913aa74 SHA512 bff2b1cd907d814a61296a99eaa5cdcb983355def8022ec09620048415e66b5feea425cba2d19b9f023073165969e981358dc6e406b1bc62f1e00f49e91ef943 WHIRLPOOL c77b1aa0268043d31b3d9d9d53d6416d9d8af5fbb29b07f498aaed61807c1848961b046192ca7eab227f055ba829c13bfa2696d016795b4df71e467c2a0185cc
+DIST opencryptoki-2.3.3.tar.bz2 694854 SHA256 7ccae6350a7043c2abade1eb1517edb987f13e98584dd28733172e8d36600aa2 SHA512 2c7ea2f689daba92ec178198dc1a3ffbc4812f4547a574b86cc8b69ada4e3aefb2613d4d291829d81b97d91d5d3fbe1735bd9b3f99db415ddcb4ca03863ddc4a WHIRLPOOL 3a955b464ea44c1dc50ce9869bbc48ced2a3962ef533491aa53956cccbca1fcf9411ffcccd1839384e7f3ba87368dba4c8c415f283139169391224a1f4cf5092
+DIST opencryptoki-2.4.2.tar.gz 1083876 SHA256 0bfbcf956fec078af12c34cd447c6274a5e7e886335c3b8b81106d20ccefa0d9 SHA512 2f760968cec7f15f7de38f0c74e0444d75d1a247d1efd9fc17a17ac5f2bcc4fd283def49d46baeea0c5adb6e19236993b4e8937f0e32162bcc7dbac8066144b9 WHIRLPOOL d7df0db3450d33c3e28be0031b48f22d89387f12f35ca868f593f82a87abb9eea89f28be43fb4ce3b17dee6e1d226fc08586320fbce4e0bf7d57db871d3cd76c
+DIST opencryptoki-2.4.3.tar.gz 1111897 SHA256 3ddc0a0e96957e64e61a960c8a7bfcff0030564ebf4f6848abe0740491fd52bc SHA512 e33d8df344161909c1fc0626880d89e47ac902c5f780cc04af07691fff20c50bdea5bfa0368df39fff84b365342f704638e90b329a3ae12ab5fb5f668c50a164 WHIRLPOOL ab5836f30749e7bb56b1ba882c15098096d7c36e1f9dd65a83a93d9b497231258a54c5a60cf4847fce8267c086a3aea380c33380fcb9d7a20c770f5f922846d7
+DIST opencryptoki-v3.3.tgz 937619 SHA256 e1deac5edd571621dc1624e9b7af8d1632d6db6f18815f5ed8824fc78f354609 SHA512 53efbc6009da178473abf17d092249781b1eb465f68c83653bd5e88703b9ad74ce9e0128486dffec65beaf8b8974ea6852d206ec5bf035c7296a40c8f84791ab WHIRLPOOL d939eb97bb7f2b54d510326ac4dba4dc49f9f725fa8900687fd8ebe199ce1c2a797a6e514378995f24ef5b9e904b29434edf962537dc545c2fc2206d180b1d43
diff --git a/dev-libs/opencryptoki/files/opencryptoki-2.4.2-destdir.patch b/dev-libs/opencryptoki/files/opencryptoki-2.4.2-destdir.patch
new file mode 100644
index 000000000000..e1375c7130bc
--- /dev/null
+++ b/dev-libs/opencryptoki/files/opencryptoki-2.4.2-destdir.patch
@@ -0,0 +1,26 @@
+From fcc24176398ab2f40c33ebc686c2f803782af8d6 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sat, 15 Dec 2012 22:13:56 +0200
+Subject: [PATCH] Always use DESTDIR when installing
+
+---
+ usr/Makefile.am | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/usr/Makefile.am b/usr/Makefile.am
+index bced120..20352d5 100644
+--- a/usr/Makefile.am
++++ b/usr/Makefile.am
+@@ -5,6 +5,6 @@ endif
+ SUBDIRS = lib $(DAEMONDIRS)
+
+ install-data-hook:
+- $(MKDIR_P) $(lockdir)
+- $(CHGRP) pkcs11 $(lockdir)
+- $(CHMOD) 0770 $(lockdir)
++ $(MKDIR_P) $(DESTDIR)$(lockdir)
++ $(CHGRP) pkcs11 $(DESTDIR)$(lockdir)
++ $(CHMOD) 0770 $(DESTDIR)$(lockdir)
+--
+1.7.8.6
+
diff --git a/dev-libs/opencryptoki/files/pkcsslotd.init.2 b/dev-libs/opencryptoki/files/pkcsslotd.init.2
new file mode 100644
index 000000000000..dfeb6228b078
--- /dev/null
+++ b/dev-libs/opencryptoki/files/pkcsslotd.init.2
@@ -0,0 +1,27 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need localmount
+
+ # Optional services (see ebuild)
+ use tcsd
+}
+
+start() {
+ # detect available tokens and set up
+ # /var/lib/opencryptoki/pk_config_data
+ ebegin "Preparing pkcs configuration"
+ /usr/sbin/pkcs11_startup
+
+ ebegin "Starting pkcsslotd"
+ start-stop-daemon --start --exec /usr/sbin/pkcsslotd --pidfile /var/run/pkcsslotd.pid
+ eend $? "Check your logs to see why startup failed"
+}
+
+stop() {
+ ebegin "Stopping pkcsslotd"
+ start-stop-daemon --stop --exec /usr/sbin/pkcsslotd --pidfile /var/run/pkcsslotd.pid
+ eend $?
+}
diff --git a/dev-libs/opencryptoki/metadata.xml b/dev-libs/opencryptoki/metadata.xml
new file mode 100644
index 000000000000..83bdc03df715
--- /dev/null
+++ b/dev-libs/opencryptoki/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <use>
+ <flag name="tpm">
+ Enable support for Trusted Platform Module (TPM) using <pkg>app-crypt/trousers</pkg>
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">opencryptoki</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/opencryptoki/opencryptoki-2.3.3-r5.ebuild b/dev-libs/opencryptoki/opencryptoki-2.3.3-r5.ebuild
new file mode 100644
index 000000000000..04f97e0cce67
--- /dev/null
+++ b/dev-libs/opencryptoki/opencryptoki-2.3.3-r5.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+# backports are maintained as tags on Diego's repository on gitorious:
+# http://gitorious.org/~flameeyes/opencryptoki/flameeyess-opencryptoki
+BACKPORTS=3
+
+inherit autotools eutils multilib flag-o-matic user
+
+DESCRIPTION="PKCS#11 provider cryptographic hardware"
+HOMEPAGE="http://sourceforge.net/projects/opencryptoki"
+SRC_URI="mirror://sourceforge/opencryptoki/${P}.tar.bz2
+ ${BACKPORTS:+
+ http://dev.gentoo.org/~flameeyes/${PN}/${P}-backports-${BACKPORTS}.tar.bz2}"
+
+# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
+# token sources are under CPL-1.0 already.
+LICENSE="CPL-0.5"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+RDEPEND="tpm? ( app-crypt/trousers )
+ dev-libs/openssl"
+DEPEND="${RDEPEND}"
+
+IUSE="+tpm debug"
+
+# tests right now basically don't exist; the only available thing would
+# test against an installed copy and would kill a running pcscd, all
+# things that we're not interested to.
+RESTRICT=test
+
+pkg_setup() {
+ enewgroup pkcs11
+}
+
+src_prepare() {
+ [[ -n ${BACKPORTS} ]] && \
+ EPATCH_MULTI_MSG="Applying backports patches #${BACKPORTS} ..." \
+ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
+ epatch
+
+ eautoreconf
+}
+
+src_configure() {
+ # package uses ${localstatedir}/lib as the default path, so if we
+ # leave it to econf, it'll create /var/lib/lib.
+
+ # Since upstream by default seem to enable any possible token, even
+ # when they don't seem to be used, we limit ourselves to the
+ # software emulation token (swtok) and if the user enabled the tpm
+ # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
+ # software-dependent even when they build fine without their
+ # requirements, but until somebody asks for those, I'd rather not
+ # enable them.
+
+ # We don't use --enable-debug because that tinkers with the CFLAGS
+ # and we don't want that. Instead we append -DDEBUG which enables
+ # debug information.
+ use debug && append-flags -DDEBUG
+
+ econf \
+ --localstatedir=/var \
+ --enable-fast-install \
+ --disable-dependency-tracking \
+ --disable-debug \
+ --enable-daemon \
+ --enable-library \
+ --disable-icatok \
+ --enable-swtok \
+ $(use_enable tpm tpmtok) \
+ --disable-aeptok \
+ --disable-bcomtok \
+ --disable-ccatok \
+ --disable-crtok \
+ --disable-icctok \
+ --disable-pkcscca_migrate
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+
+ # Install libopencryptoki in the standard directory for libraries.
+ mv "${D}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${D}"/usr/$(get_libdir) || die
+ rm "${D}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
+ dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
+
+ # Remove compatibility symlinks as we _never_ required those and
+ # they seem unused even upstream.
+ find "${D}" -name 'PKCS11_*' -delete
+
+ # doesn't use libltdl; only dlopen()-based interfaces
+ find "${D}" -name '*.la' -delete
+
+ # We replace their ld.so and init files (mostly designed for RedHat
+ # as far as I can tell) with our own replacements.
+ rm -rf "${D}"/etc/ld.so.conf.d "${D}"/etc/rc.d
+
+ # make sure that we don't modify the init script if the USE flags
+ # are enabled for the needed services.
+ cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
+ use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
+ newinitd "${T}/pkcsslotd.init" pkcsslotd
+
+ dodoc README AUTHORS FAQ TODO doc/openCryptoki-HOWTO.pdf || die
+}
diff --git a/dev-libs/opencryptoki/opencryptoki-2.4.2.ebuild b/dev-libs/opencryptoki/opencryptoki-2.4.2.ebuild
new file mode 100644
index 000000000000..fb736c031f18
--- /dev/null
+++ b/dev-libs/opencryptoki/opencryptoki-2.4.2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools eutils multilib flag-o-matic user
+
+DESCRIPTION="PKCS#11 provider cryptographic hardware"
+HOMEPAGE="http://sourceforge.net/projects/opencryptoki"
+SRC_URI="mirror://sourceforge/opencryptoki/${P}.tar.gz"
+
+# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
+# token sources are under CPL-1.0 already.
+LICENSE="CPL-0.5"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+RDEPEND="tpm? ( app-crypt/trousers )
+ dev-libs/openssl"
+DEPEND="${RDEPEND}"
+
+IUSE="+tpm debug"
+
+# tests right now basically don't exist; the only available thing would
+# test against an installed copy and would kill a running pcscd, all
+# things that we're not interested to.
+RESTRICT=test
+
+pkg_setup() {
+ enewgroup pkcs11
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-destdir.patch"
+ eautoreconf
+}
+
+src_configure() {
+ # package uses ${localstatedir}/lib as the default path, so if we
+ # leave it to econf, it'll create /var/lib/lib.
+
+ # Since upstream by default seem to enable any possible token, even
+ # when they don't seem to be used, we limit ourselves to the
+ # software emulation token (swtok) and if the user enabled the tpm
+ # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
+ # software-dependent even when they build fine without their
+ # requirements, but until somebody asks for those, I'd rather not
+ # enable them.
+
+ # We don't use --enable-debug because that tinkers with the CFLAGS
+ # and we don't want that. Instead we append -DDEBUG which enables
+ # debug information.
+ use debug && append-flags -DDEBUG
+
+ econf \
+ --localstatedir=/var \
+ --enable-fast-install \
+ --disable-dependency-tracking \
+ --disable-debug \
+ --enable-daemon \
+ --enable-library \
+ --disable-icatok \
+ --enable-swtok \
+ $(use_enable tpm tpmtok) \
+ --disable-aeptok \
+ --disable-bcomtok \
+ --disable-ccatok \
+ --disable-crtok \
+ --disable-icctok \
+ --disable-pkcscca_migrate
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+
+ # Install libopencryptoki in the standard directory for libraries.
+ mv "${D}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${D}"/usr/$(get_libdir) || die
+ rm "${D}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
+ dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
+
+ # Remove compatibility symlinks as we _never_ required those and
+ # they seem unused even upstream.
+ find "${D}" -name 'PKCS11_*' -delete
+
+ # doesn't use libltdl; only dlopen()-based interfaces
+ find "${D}" -name '*.la' -delete
+
+ # We replace their ld.so and init files (mostly designed for RedHat
+ # as far as I can tell) with our own replacements.
+ rm -rf "${D}"/etc/ld.so.conf.d "${D}"/etc/rc.d
+
+ # make sure that we don't modify the init script if the USE flags
+ # are enabled for the needed services.
+ cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
+ use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
+ newinitd "${T}/pkcsslotd.init" pkcsslotd
+
+ dodoc README AUTHORS FAQ TODO doc/openCryptoki-HOWTO.pdf || die
+}
diff --git a/dev-libs/opencryptoki/opencryptoki-2.4.3.ebuild b/dev-libs/opencryptoki/opencryptoki-2.4.3.ebuild
new file mode 100644
index 000000000000..60a26ba9b41e
--- /dev/null
+++ b/dev-libs/opencryptoki/opencryptoki-2.4.3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools multilib flag-o-matic user
+
+DESCRIPTION="PKCS#11 provider cryptographic hardware"
+HOMEPAGE="http://sourceforge.net/projects/opencryptoki"
+SRC_URI="mirror://sourceforge/opencryptoki/${P}.tar.gz"
+
+# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
+# token sources are under CPL-1.0 already.
+LICENSE="CPL-0.5"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+RDEPEND="tpm? ( app-crypt/trousers )
+ dev-libs/openssl"
+DEPEND="${RDEPEND}"
+
+IUSE="+tpm debug"
+
+# tests right now basically don't exist; the only available thing would
+# test against an installed copy and would kill a running pcscd, all
+# things that we're not interested to.
+RESTRICT=test
+
+pkg_setup() {
+ enewgroup pkcs11
+}
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ # package uses ${localstatedir}/lib as the default path, so if we
+ # leave it to econf, it'll create /var/lib/lib.
+
+ # Since upstream by default seem to enable any possible token, even
+ # when they don't seem to be used, we limit ourselves to the
+ # software emulation token (swtok) and if the user enabled the tpm
+ # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
+ # software-dependent even when they build fine without their
+ # requirements, but until somebody asks for those, I'd rather not
+ # enable them.
+
+ # We don't use --enable-debug because that tinkers with the CFLAGS
+ # and we don't want that. Instead we append -DDEBUG which enables
+ # debug information.
+ use debug && append-flags -DDEBUG
+
+ econf \
+ --localstatedir=/var \
+ --enable-fast-install \
+ --disable-dependency-tracking \
+ --disable-debug \
+ --enable-daemon \
+ --enable-library \
+ --disable-icatok \
+ --enable-swtok \
+ $(use_enable tpm tpmtok) \
+ --disable-aeptok \
+ --disable-bcomtok \
+ --disable-ccatok \
+ --disable-crtok \
+ --disable-icctok \
+ --disable-pkcscca_migrate
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+
+ # Install libopencryptoki in the standard directory for libraries.
+ mv "${D}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${D}"/usr/$(get_libdir) || die
+ rm "${D}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
+ dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
+
+ # Remove compatibility symlinks as we _never_ required those and
+ # they seem unused even upstream.
+ find "${D}" -name 'PKCS11_*' -delete
+
+ # doesn't use libltdl; only dlopen()-based interfaces
+ find "${D}" -name '*.la' -delete
+
+ # We replace their ld.so and init files (mostly designed for RedHat
+ # as far as I can tell) with our own replacements.
+ rm -rf "${D}"/etc/ld.so.conf.d "${D}"/etc/rc.d
+
+ # make sure that we don't modify the init script if the USE flags
+ # are enabled for the needed services.
+ cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
+ use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
+ newinitd "${T}/pkcsslotd.init" pkcsslotd
+
+ # We create /var dirs at runtime as needed, so don't bother installing
+ # our own.
+ rm -r "${D}"/var/{lib,lock} || die
+
+ dodoc README AUTHORS FAQ TODO doc/openCryptoki-HOWTO.pdf || die
+}
diff --git a/dev-libs/opencryptoki/opencryptoki-3.3.ebuild b/dev-libs/opencryptoki/opencryptoki-3.3.ebuild
new file mode 100644
index 000000000000..48dbad594930
--- /dev/null
+++ b/dev-libs/opencryptoki/opencryptoki-3.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools multilib flag-o-matic user
+
+DESCRIPTION="PKCS#11 provider cryptographic hardware"
+HOMEPAGE="http://sourceforge.net/projects/opencryptoki"
+SRC_URI="mirror://sourceforge/opencryptoki/${PV}/${PN}-v${PV}.tgz"
+
+# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
+# token sources are under CPL-1.0 already.
+LICENSE="CPL-0.5"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+RDEPEND="tpm? ( app-crypt/trousers )
+ dev-libs/openssl:*"
+DEPEND="${RDEPEND}"
+
+IUSE="+tpm debug"
+
+S="${WORKDIR}/${PN}"
+
+# tests right now basically don't exist; the only available thing would
+# test against an installed copy and would kill a running pcscd, all
+# things that we're not interested to.
+RESTRICT=test
+
+pkg_setup() {
+ enewgroup pkcs11
+}
+
+src_prepare() {
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # package uses ${localstatedir}/lib as the default path, so if we
+ # leave it to econf, it'll create /var/lib/lib.
+
+ # Since upstream by default seem to enable any possible token, even
+ # when they don't seem to be used, we limit ourselves to the
+ # software emulation token (swtok) and if the user enabled the tpm
+ # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
+ # software-dependent even when they build fine without their
+ # requirements, but until somebody asks for those, I'd rather not
+ # enable them.
+
+ # We don't use --enable-debug because that tinkers with the CFLAGS
+ # and we don't want that. Instead we append -DDEBUG which enables
+ # debug information.
+ use debug && append-flags -DDEBUG
+
+ econf \
+ --localstatedir=/var \
+ --enable-fast-install \
+ --disable-dependency-tracking \
+ --disable-debug \
+ --enable-daemon \
+ --enable-library \
+ --disable-icatok \
+ --enable-swtok \
+ $(use_enable tpm tpmtok) \
+ --disable-ccatok \
+ --disable-pkcscca_migrate
+}
+
+src_install() {
+ emake install DESTDIR="${ED}"
+
+ # Install libopencryptoki in the standard directory for libraries.
+ mv "${D}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${D}"/usr/$(get_libdir) || die
+ rm "${D}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
+ dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
+
+ # Remove compatibility symlinks as we _never_ required those and
+ # they seem unused even upstream.
+ find "${D}" -name 'PKCS11_*' -delete
+
+ # doesn't use libltdl; only dlopen()-based interfaces
+ find "${D}" -name '*.la' -delete
+
+ # We replace their ld.so and init files (mostly designed for RedHat
+ # as far as I can tell) with our own replacements.
+ rm -rf "${D}"/etc/ld.so.conf.d "${D}"/etc/rc.d
+
+ # make sure that we don't modify the init script if the USE flags
+ # are enabled for the needed services.
+ cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
+ use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
+ newinitd "${T}/pkcsslotd.init" pkcsslotd
+
+ # We create /var dirs at runtime as needed, so don't bother installing
+ # our own.
+ rm -r "${D}"/var/{lib,lock} || die
+
+ dodoc README AUTHORS FAQ TODO doc/openCryptoki-HOWTO.pdf
+}
diff --git a/dev-libs/openct/Manifest b/dev-libs/openct/Manifest
new file mode 100644
index 000000000000..a4adefae8c41
--- /dev/null
+++ b/dev-libs/openct/Manifest
@@ -0,0 +1 @@
+DIST openct-0.6.20.tar.gz 702818 SHA256 6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68 SHA512 5175b418847200dbd4af0d8ab09546d94568639c67db67bdea93c68cb042c7ef901bb356784d6b1d9f4de914535eee5a450b39a15d1ab9a676ffce790a408a3e WHIRLPOOL 29348e495be182f4e4deb146dc292ef2fb8923b1212206c33486b38eaf65be1ac62105b6342a7970dce0346be5c863a518e1d148ed8e8f20e1d8af8dbce07ab5
diff --git a/dev-libs/openct/files/openct.rc b/dev-libs/openct/files/openct.rc
new file mode 100644
index 000000000000..b6a9a5ea9174
--- /dev/null
+++ b/dev-libs/openct/files/openct.rc
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+}
+
+checkconfig() {
+ if [ ! -e /etc/openct.conf ] ; then
+ eerror "You need an /etc/openct.conf file to run OpenCT"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting OpenCT"
+ /usr/sbin/openct-control init
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping OpenCT"
+ /usr/sbin/openct-control shutdown
+ eend $?
+}
diff --git a/dev-libs/openct/files/openct.rc.2 b/dev-libs/openct/files/openct.rc.2
new file mode 100644
index 000000000000..8c970395ac22
--- /dev/null
+++ b/dev-libs/openct/files/openct.rc.2
@@ -0,0 +1,32 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+}
+
+checkconfig() {
+ if [ ! -e /etc/openct.conf ] ; then
+ eerror "You need an /etc/openct.conf file to run OpenCT"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+
+ checkpath -d -m 0750 -o openctd:openct /var/run/openct
+
+ ebegin "Starting OpenCT"
+ /usr/sbin/openct-control init
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping OpenCT"
+ /usr/sbin/openct-control shutdown
+ eend $?
+}
diff --git a/dev-libs/openct/metadata.xml b/dev-libs/openct/metadata.xml
new file mode 100644
index 000000000000..a67417b00a07
--- /dev/null
+++ b/dev-libs/openct/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <use>
+ <flag name="pcsc-lite">
+ Build a driver library for <pkg>sys-apps/pcsc-lite</pkg>,
+ providing PC/SC API access to devices supported by OpenCT.
+ </flag>
+ <flag name="debug">
+ Add debug output to the driver library for pcsc-lite.
+ </flag>
+ <flag name="udev">
+ Install rules for <pkg>sys-fs/udev</pkg> to auto-start openct.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">OpenSC/openct</remote-id>
+ <remote-id type="sourceforge">opensc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/openct/openct-0.6.20-r3.ebuild b/dev-libs/openct/openct-0.6.20-r3.ebuild
new file mode 100644
index 000000000000..f3b0c65c3ad4
--- /dev/null
+++ b/dev-libs/openct/openct-0.6.20-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib udev user
+
+DESCRIPTION="library for accessing smart card terminals"
+HOMEPAGE="https://github.com/OpenSC/openct/wiki"
+
+SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.gz"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc pcsc-lite usb debug +udev"
+
+# Drop the libtool dep once libltdl goes stable.
+RDEPEND="pcsc-lite? ( >=sys-apps/pcsc-lite-1.7.2-r1 )
+ usb? ( virtual/libusb:0 )
+ || ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+# udev is not required at all at build-time as it's only a matter of
+# installing the rules; add openrc for the checkpath used in the new
+# init script
+RDEPEND="${RDEPEND}
+ udev? ( virtual/udev )
+ sys-apps/openrc"
+
+pkg_setup() {
+ enewgroup openct
+ enewuser openctd
+}
+
+src_configure() {
+ use debug && append-cppflags -DDEBUG_IFDH
+
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir="/usr/share/doc/${PF}/html" \
+ --localstatedir=/var \
+ --with-udev="$(get_udevdir)" \
+ --enable-non-privileged \
+ --with-daemon-user=openctd \
+ --with-daemon-groups=usb \
+ --enable-shared --disable-static \
+ $(use_enable doc) \
+ $(use_enable doc api-doc) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_with pcsc-lite bundle /usr/$(get_libdir)/readers/usb) \
+ $(use_enable usb)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files --all
+ rm "${D}"/usr/$(get_libdir)/openct-ifd.*
+
+ use udev && udev_newrules etc/openct.udev 70-openct.rules
+
+ newinitd "${FILESDIR}"/openct.rc.2 openct
+}
+
+pkg_postinst() {
+ elog
+ elog "You need to edit /etc/openct.conf to enable serial readers."
+ elog
+ elog "You should add \"openct\" to your default runlevel. To do so"
+ elog "type \"rc-update add openct default\"."
+ elog
+ elog "You need to be a member of the (newly created) group openct to"
+ elog "access smart card readers connected to this system. Set users'"
+ elog "groups with usermod -G. root always has access."
+ elog
+}
diff --git a/dev-libs/openct/openct-0.6.20-r4.ebuild b/dev-libs/openct/openct-0.6.20-r4.ebuild
new file mode 100644
index 000000000000..f3b0c65c3ad4
--- /dev/null
+++ b/dev-libs/openct/openct-0.6.20-r4.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib udev user
+
+DESCRIPTION="library for accessing smart card terminals"
+HOMEPAGE="https://github.com/OpenSC/openct/wiki"
+
+SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.gz"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc pcsc-lite usb debug +udev"
+
+# Drop the libtool dep once libltdl goes stable.
+RDEPEND="pcsc-lite? ( >=sys-apps/pcsc-lite-1.7.2-r1 )
+ usb? ( virtual/libusb:0 )
+ || ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+# udev is not required at all at build-time as it's only a matter of
+# installing the rules; add openrc for the checkpath used in the new
+# init script
+RDEPEND="${RDEPEND}
+ udev? ( virtual/udev )
+ sys-apps/openrc"
+
+pkg_setup() {
+ enewgroup openct
+ enewuser openctd
+}
+
+src_configure() {
+ use debug && append-cppflags -DDEBUG_IFDH
+
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir="/usr/share/doc/${PF}/html" \
+ --localstatedir=/var \
+ --with-udev="$(get_udevdir)" \
+ --enable-non-privileged \
+ --with-daemon-user=openctd \
+ --with-daemon-groups=usb \
+ --enable-shared --disable-static \
+ $(use_enable doc) \
+ $(use_enable doc api-doc) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_with pcsc-lite bundle /usr/$(get_libdir)/readers/usb) \
+ $(use_enable usb)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files --all
+ rm "${D}"/usr/$(get_libdir)/openct-ifd.*
+
+ use udev && udev_newrules etc/openct.udev 70-openct.rules
+
+ newinitd "${FILESDIR}"/openct.rc.2 openct
+}
+
+pkg_postinst() {
+ elog
+ elog "You need to edit /etc/openct.conf to enable serial readers."
+ elog
+ elog "You should add \"openct\" to your default runlevel. To do so"
+ elog "type \"rc-update add openct default\"."
+ elog
+ elog "You need to be a member of the (newly created) group openct to"
+ elog "access smart card readers connected to this system. Set users'"
+ elog "groups with usermod -G. root always has access."
+ elog
+}
diff --git a/dev-libs/openobex/Manifest b/dev-libs/openobex/Manifest
new file mode 100644
index 000000000000..e011096075a3
--- /dev/null
+++ b/dev-libs/openobex/Manifest
@@ -0,0 +1,2 @@
+DIST openobex-1.5.tar.gz 400876 SHA256 e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65 SHA512 a9b8a49a1146c4aa69eb2e1ccc56a2c7ad7e70762c51f66f2009c6711699dd16ffe2efd47ac372f5a4ce947e3ef8ffd646206d75e55899294b43c062e23faa25 WHIRLPOOL ea0453f54ae1e81504ea3308de1b2a169b11f148678b769357b723209f545090d04610dd2fcc4f22b48b2c207f4bcbd1475636694d2d2d310fc3ca9300a58c7b
+DIST openobex-1.7.1-Source.tar.gz 131091 SHA256 3b264665d90901ea4ff720332ffb9b6d1d8f67187463d3a3279caddc7205ea57 SHA512 df38b363bd4c6eb6c0181fc7858fb03ac2bdfa85d8496faaa514d5cc4473b33c883956d4e1c94c3fefa5e44e5eed35a8dfcab889ce6ca8c29694f2b18334754e WHIRLPOOL 26728f0bd9186d69bff408372db40f62dc1230772ebaea70892e91095d043526adf71d97b6fe2c9736256214cc969ead91df9f1c22247a6a137e9ec950ada57d
diff --git a/dev-libs/openobex/files/openobex-1.5-use-flags.patch b/dev-libs/openobex/files/openobex-1.5-use-flags.patch
new file mode 100644
index 000000000000..c2907752e839
--- /dev/null
+++ b/dev-libs/openobex/files/openobex-1.5-use-flags.patch
@@ -0,0 +1,224 @@
+diff -Nru openobex-1.5.orig/acinclude.m4 openobex-1.5/acinclude.m4
+--- openobex-1.5.orig/acinclude.m4 2009-09-20 12:13:44.000000000 +0200
++++ openobex-1.5/acinclude.m4 2009-09-20 12:18:38.000000000 +0200
+@@ -42,6 +42,52 @@
+ fi
+
+ AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}", [Directory for the configuration files])
++
++ fortify_enable=yes
++ irda_enable=yes
++ bluetooth_enable=yes
++ usb_enable=yes
++ glib_enable=no
++ apps_enable=no
++ debug_enable=no
++ syslog_enable=no
++ dump_enable=no
++
++ AC_ARG_ENABLE(fortify, AC_HELP_STRING([--disable-fortify], [disable compile time buffer checks]), [
++ fortify_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(irda, AC_HELP_STRING([--disable-irda], [disable IrDA support]), [
++ irda_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(bluetooth, AC_HELP_STRING([--disable-bluetooth], [disable Bluetooth support]), [
++ bluetooth_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(usb, AC_HELP_STRING([--disable-usb], [disable USB support]), [
++ usb_enable=${enableval}
++ ])
++
++ dnl AC_ARG_ENABLE(glib, AC_HELP_STRING([--enable-glib], [enable GLib bindings]), [
++ dnl glib_enable=${enableval}
++ dnl ])
++
++ AC_ARG_ENABLE(apps, AC_HELP_STRING([--enable-apps], [enable test applications]), [
++ apps_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable compiling with debugging information]), [
++ debug_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(syslog, AC_HELP_STRING([--enable-syslog], [enable debugging to the system logger]), [
++ syslog_enable=${enableval}
++ ])
++
++ AC_ARG_ENABLE(dump, AC_HELP_STRING([--enable-dump], [enable protocol dumping for debugging]), [
++ dump_enable=${enableval}
++ ])
+ ])
+
+ AC_DEFUN([AC_PATH_WIN32], [
+@@ -78,19 +124,21 @@
+ ])
+
+ AC_DEFUN([AC_PATH_IRDA], [
+- case $host in
+- *-*-linux*)
+- AC_PATH_IRDA_LINUX
+- ;;
+- *-*-mingw32*)
+- AC_PATH_IRDA_WIN32
+- ;;
+- *)
+- irda_found=no;
+- AC_MSG_CHECKING([for IrDA support])
+- AC_MSG_RESULT([$irda_found])
+- ;;
+- esac
++ if (test "$irda_enable" = 'yes'); then
++ case $host in
++ *-*-linux*)
++ AC_PATH_IRDA_LINUX
++ ;;
++ *-*-mingw32*)
++ AC_PATH_IRDA_WIN32
++ ;;
++ *)
++ irda_found=no;
++ AC_MSG_CHECKING([for IrDA support])
++ AC_MSG_RESULT([$irda_found])
++ ;;
++ esac
++ fi
+ ])
+
+ AC_DEFUN([AC_PATH_WINBT], [
+@@ -130,45 +178,48 @@
+ ])
+
+ AC_DEFUN([AC_PATH_BLUETOOTH], [
+- case $host in
+- *-*-linux*)
+- AC_PATH_BLUEZ
+- ;;
+- *-*-freebsd*)
+- AC_PATH_FREEBSDBT
+- ;;
+- *-*-netbsd*)
+- AC_PATH_NETBSDBT
+- ;;
+- *-*-mingw32*)
+- AC_PATH_WINBT
+- ;;
+- esac
++ if (test "$bluetooth_enable" = 'yes'); then
++ case $host in
++ *-*-linux*)
++ AC_PATH_BLUEZ
++ ;;
++ *-*-freebsd*)
++ AC_PATH_FREEBSDBT
++ ;;
++ *-*-netbsd*)
++ AC_PATH_NETBSDBT
++ ;;
++ *-*-mingw32*)
++ AC_PATH_WINBT
++ ;;
++ esac
++ fi
+ AC_SUBST(BLUETOOTH_CFLAGS)
+ AC_SUBST(BLUETOOTH_LIBS)
+ ])
+
+ AC_DEFUN([AC_PATH_USB], [
+ usb_lib_found=no
+- case $host in
+- *-*-mingw32*)
+- USB_CFLAGS=""
+- USB_LIBS="-lusb"
+- usb_lib_found=yes
+- ;;
+- *)
+- PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no))
+- AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb")
+- ;;
+- esac
+- AC_SUBST(USB_CFLAGS)
+- AC_SUBST(USB_LIBS)
+-
+ usb_get_busses=no
+- AC_CHECK_LIB(usb, usb_get_busses, usb_get_busses=yes, AC_DEFINE(NEED_USB_GET_BUSSES, 1, [Define to 1 if you need the usb_get_busses() function.]))
+-
+ usb_interrupt_read=no
+- AC_CHECK_LIB(usb, usb_interrupt_read, usb_interrupt_read=yes, AC_DEFINE(NEED_USB_INTERRUPT_READ, 1, [Define to 1 if you need the usb_interrupt_read() function.]))
++ if (test "$usb_enable" = 'yes'); then
++ case $host in
++ *-*-mingw32*)
++ USB_CFLAGS=""
++ USB_LIBS="-lusb"
++ usb_lib_found=yes
++ ;;
++ *)
++ PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no))
++ AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb")
++ ;;
++ esac
++
++ AC_CHECK_LIB(usb, usb_get_busses, usb_get_busses=yes, AC_DEFINE(NEED_USB_GET_BUSSES, 1, [Define to 1 if you need the usb_get_busses() function.]))
++ AC_CHECK_LIB(usb, usb_interrupt_read, usb_interrupt_read=yes, AC_DEFINE(NEED_USB_INTERRUPT_READ, 1, [Define to 1 if you need the usb_interrupt_read() function.]))
++ fi
++ AC_SUBST(USB_CFLAGS)
++ AC_SUBST(USB_LIBS)
+
+ if (test "$usb_lib_found" = "yes" && test "$usb_get_busses" = "yes" && test "$usb_interrupt_read" = "yes"); then
+ usb_found=yes
+@@ -201,52 +252,6 @@
+ ])
+
+ AC_DEFUN([AC_ARG_OPENOBEX], [
+- fortify_enable=yes
+- irda_enable=yes
+- bluetooth_enable=yes
+- usb_enable=yes
+- glib_enable=no
+- apps_enable=no
+- debug_enable=no
+- syslog_enable=no
+- dump_enable=no
+-
+- AC_ARG_ENABLE(fortify, AC_HELP_STRING([--disable-fortify], [disable compile time buffer checks]), [
+- fortify_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(irda, AC_HELP_STRING([--disable-irda], [disable IrDA support]), [
+- irda_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(bluetooth, AC_HELP_STRING([--disable-bluetooth], [disable Bluetooth support]), [
+- bluetooth_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(usb, AC_HELP_STRING([--disable-usb], [disable USB support]), [
+- usb_enable=${enableval}
+- ])
+-
+- dnl AC_ARG_ENABLE(glib, AC_HELP_STRING([--enable-glib], [enable GLib bindings]), [
+- dnl glib_enable=${enableval}
+- dnl ])
+-
+- AC_ARG_ENABLE(apps, AC_HELP_STRING([--enable-apps], [enable test applications]), [
+- apps_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable compiling with debugging information]), [
+- debug_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(syslog, AC_HELP_STRING([--enable-syslog], [enable debugging to the system logger]), [
+- syslog_enable=${enableval}
+- ])
+-
+- AC_ARG_ENABLE(dump, AC_HELP_STRING([--enable-dump], [enable protocol dumping for debugging]), [
+- dump_enable=${enableval}
+- ])
+-
+ if (test "${fortify_enable}" = "yes"); then
+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
+ fi
diff --git a/dev-libs/openobex/metadata.xml b/dev-libs/openobex/metadata.xml
new file mode 100644
index 000000000000..63e47fd2c4e3
--- /dev/null
+++ b/dev-libs/openobex/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Free open source implementation of the Object Exchange (OBEX) protocol,
+used for transferring data to/from mobile devices.</longdescription>
+ <use>
+ <flag name="irda">Enable IrDA support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">openobex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/openobex/openobex-1.5.ebuild b/dev-libs/openobex/openobex-1.5.ebuild
new file mode 100644
index 000000000000..4348c8dcad52
--- /dev/null
+++ b/dev-libs/openobex/openobex-1.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="An implementation of the OBEX protocol used for transferring data to mobile devices"
+HOMEPAGE="http://sourceforge.net/projects/openobex/"
+SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 sparc x86"
+IUSE="bluetooth debug irda syslog usb"
+
+RDEPEND="bluetooth? ( net-wireless/bluez )
+ usb? ( virtual/libusb:0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-use-flags.patch
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-apps \
+ $(use_enable irda) \
+ $(use_enable bluetooth) \
+ $(use_enable usb) \
+ $(use_enable debug) \
+ $(use_enable debug dump) \
+ $(use_enable syslog)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc README AUTHORS NEWS ChangeLog
+}
diff --git a/dev-libs/openobex/openobex-1.7.1.ebuild b/dev-libs/openobex/openobex-1.7.1.ebuild
new file mode 100644
index 000000000000..1a1d05d30960
--- /dev/null
+++ b/dev-libs/openobex/openobex-1.7.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils udev
+
+DESCRIPTION="An implementation of the OBEX protocol used for transferring data to mobile devices"
+HOMEPAGE="http://sourceforge.net/projects/openobex/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-Source.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="bluetooth irda usb"
+
+RDEPEND="bluetooth? ( net-wireless/bluez:= )
+ usb? ( virtual/libusb:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-Source
+
+src_prepare() {
+ # Some of the bundled macros require C++... so making the project
+ # C only makes it impossible to build. CMake is awesome, isn't it?
+ sed -i -e '/project/s:C::' CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOPENOBEX_BLUETOOTH=$(usex bluetooth)
+ -DOPENOBEX_IRDA=$(usex irda)
+ -DOPENOBEX_USB=$(usex usb)
+ # TODO: enable them. patch would be appreciated.
+ -DBUILD_DOCUMENTATION=OFF
+
+ -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)/rules.d"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/opensc/Manifest b/dev-libs/opensc/Manifest
new file mode 100644
index 000000000000..85aa3c0f6012
--- /dev/null
+++ b/dev-libs/opensc/Manifest
@@ -0,0 +1,3 @@
+DIST opensc-0.12.2.tar.gz 1738553 SHA256 50e7371c0f45a3ed887098b712554905e3ef639d4dfca5ac90b8af5f69f1e675 SHA512 544971f2c79723f618806c7043f0f1ffc25332752cbcaec97ffb1c99f9a2dff2237a6e5f5e020a4b9878921fec3a5234ca7e4fe9c8175c3f6142b169fcc65334 WHIRLPOOL 4969811d68d72e82c3a2b0297d5ff9aaca083b6ef8e66223d4385dce35cd9560cdda7cca8ccd38b52eb55465dbd6f8704485778b21d2a88bb548a5bbd87071e2
+DIST opensc-0.13.0.tar.gz 1946899 SHA256 abde46ae53b12b3273e40c532ffd4f7d423a51e0919a5234761453c17c089b14 SHA512 2d33088ff208f6a492dea896a0c0ccbf79b21bbcd953eb89cc7659fd60feb3e9258c2cdbb3112c30b16c3b4ef5bcfc914e0c3783894ac0b119a67116c1703a51 WHIRLPOOL 25934d790f3f855136aac263a49c0d49b604b748b9bad9f7de62d3781f37dc3e318c7fa9a20280fe7ca806ad6ea8d9ec104ba9a8a45b82237039fd965777d6e8
+DIST opensc-0.14.0.tar.gz 2039158 SHA256 facdca215f74d999b286ae246ada8d8fcb97ce58f0a6dd30d8b1c180101e9bf0 SHA512 f5b39ff5de13e9171dfd27953145abf2adf7beb3663094e43d5472a7d2c6a37c61b36993a67d3c362ff2ecf789b3b8fa4803038ba34e14f755f789c75e2978da WHIRLPOOL 1eba0c2bac92fe849e627dca4338332caff7919fd607118520352f3a69dde74adf9f7ef57e4314feceb777d8e17fe7a6abcc16f9094fc7e83287404a36b24cac
diff --git a/dev-libs/opensc/files/opensc-0.12.1-crossbuild.patch b/dev-libs/opensc/files/opensc-0.12.1-crossbuild.patch
new file mode 100644
index 000000000000..008fd3c35700
--- /dev/null
+++ b/dev-libs/opensc/files/opensc-0.12.1-crossbuild.patch
@@ -0,0 +1,38 @@
+--- src/pkcs11/Makefile.am 2011-05-17 13:07:00.000000000 -0400
++++ Makefile.am.new 2011-07-07 10:03:28.399185928 -0400
+@@ -14,9 +14,10 @@
+ mechanism.c openssl.c framework-pkcs15.c \
+ framework-pkcs15init.c debug.c opensc-pkcs11.exports \
+ pkcs11-display.c pkcs11-display.h
+-OPENSC_PKCS11_LIBS = $(OPTIONAL_OPENSSL_LIBS) $(PTHREAD_LIBS) $(LTLIB_LIBS) \
++OPENSC_PKCS11_LIBS = \
+ $(top_builddir)/src/common/libcompat.la \
+- $(top_builddir)/src/libopensc/libopensc.la
++ $(top_builddir)/src/libopensc/libopensc.la \
++ $(OPTIONAL_OPENSSL_LIBS) $(PTHREAD_LIBS) $(LTLIB_LIBS)
+
+ opensc_pkcs11_la_SOURCES = $(OPENSC_PKCS11_SRC) $(OPENSC_PKCS11_INC) hack-disabled.c
+ opensc_pkcs11_la_LIBADD = $(OPENSC_PKCS11_LIBS)
+@@ -31,7 +32,7 @@
+ -module -shared -avoid-version -no-undefined
+
+ pkcs11_spy_la_SOURCES = pkcs11-spy.c pkcs11-display.c pkcs11-display.h pkcs11-spy.exports
+-pkcs11_spy_la_LIBADD = $(OPTIONAL_OPENSSL_LIBS) $(LTLIB_LIBS) $(top_builddir)/src/common/libpkcs11.la
++pkcs11_spy_la_LIBADD = $(top_builddir)/src/common/libpkcs11.la $(OPTIONAL_OPENSSL_LIBS) $(LTLIB_LIBS)
+ pkcs11_spy_la_LDFLAGS = $(AM_LDFLAGS) \
+ -export-symbols "$(srcdir)/pkcs11-spy.exports" \
+ -module -shared -avoid-version -no-undefined
+--- src/tools/Makefile.am 2011-05-17 13:07:00.000000000 -0400
++++ Makefile.am.new 2011-07-07 10:06:08.710185925 -0400
+@@ -24,8 +24,9 @@
+ pkcs15_tool_SOURCES = pkcs15-tool.c util.c
+ pkcs15_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
+ pkcs11_tool_SOURCES = pkcs11-tool.c util.c
+-pkcs11_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS) $(LTLIB_LIBS) \
+- $(top_builddir)/src/common/libpkcs11.la
++pkcs11_tool_LDADD = \
++ $(top_builddir)/src/common/libpkcs11.la \
++ $(OPTIONAL_OPENSSL_LIBS) $(LTLIB_LIBS)
+ pkcs15_crypt_SOURCES = pkcs15-crypt.c util.c
+ pkcs15_crypt_LDADD = $(OPTIONAL_OPENSSL_LIBS)
+ cryptoflex_tool_SOURCES = cryptoflex-tool.c util.c
diff --git a/dev-libs/opensc/files/opensc-0.12.2-dl.patch b/dev-libs/opensc/files/opensc-0.12.2-dl.patch
new file mode 100644
index 000000000000..526ef8161a89
--- /dev/null
+++ b/dev-libs/opensc/files/opensc-0.12.2-dl.patch
@@ -0,0 +1,42 @@
+From 1b896582a0cd74854f99e08854554807a8f1f764 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 22 May 2012 14:12:23 -0400
+Subject: [PATCH] link against -ldl when -lltdl is not available
+
+If ltdl isn't found, the code will use dlopen if it's available.
+But it won't link to -ldl which can cause link errors like so:
+
+ CCLD opensc-tool
+../../src/libopensc/.libs/libopensc.so: error: undefined reference to 'dlopen'
+../../src/libopensc/.libs/libopensc.so: error: undefined reference to 'dlsym'
+../../src/libopensc/.libs/libopensc.so: error: undefined reference to 'dlerror'
+../../src/libopensc/.libs/libopensc.so: error: undefined reference to 'dlclose'
+collect2: ld returned 1 exit status
+make[3]: *** [opensc-tool] Error 1
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ configure.ac | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2751f0f..123aeb1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -277,6 +277,13 @@ if test -z "${LTLIB_LIBS}"; then
+ [LTLIB_LIBS="-lltdl"]
+ )
+ fi
++if test -z "${LTLIB_LIBS}"; then
++ AC_CHECK_LIB(
++ [dl],
++ [dlopen],
++ [LTLIB_LIBS="-ldl"]
++ )
++fi
+
+ saved_CFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} ${LTLIB_CFLAGS}"
+--
+1.7.8.6
+
diff --git a/dev-libs/opensc/files/opensc-0.12.2-parallelinstall.patch b/dev-libs/opensc/files/opensc-0.12.2-parallelinstall.patch
new file mode 100644
index 000000000000..3ef24ec3d254
--- /dev/null
+++ b/dev-libs/opensc/files/opensc-0.12.2-parallelinstall.patch
@@ -0,0 +1,67 @@
+From 4ede74dd803ddbc4d0686bec0749459f54854495 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu>
+Date: Sun, 13 May 2012 14:55:35 -0700
+Subject: [PATCH] build: fix parallel install by creating directory in the
+ rule
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Relying on the rule that creates the directory is a bad idea to be
+parallel safe.
+
+(Patch modified to use autoconf's MKDIR_P instead of automake's
+deprecated mkdir_p, allowing use of automake 1.12).
+
+Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+---
+ etc/Makefile.am | 4 ++--
+ src/pkcs11/Makefile.am | 7 ++++---
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/etc/Makefile.am b/etc/Makefile.am
+index 0ef546f..3b75995 100644
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -18,8 +18,8 @@ opensc.conf: opensc.conf.in force
+ -e 's|@DEFAULT_PCSC_PROVIDER[@]|$(DEFAULT_PCSC_PROVIDER)|g' \
+ < $< > $@
+
+-sysconf_DATA=#required in order to create dir
+-install-exec-hook: install-sysconfDATA opensc.conf
++install-exec-hook: opensc.conf
++ $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
+ if [ -f "$(DESTDIR)$(sysconfdir)/opensc.conf" ]; then \
+ $(INSTALL_DATA) opensc.conf "$(DESTDIR)$(sysconfdir)/opensc.conf.new"; \
+ else \
+diff --git a/src/pkcs11/Makefile.am b/src/pkcs11/Makefile.am
+index 8ff9abc..211055b 100644
+--- a/src/pkcs11/Makefile.am
++++ b/src/pkcs11/Makefile.am
+@@ -53,19 +53,20 @@ pkcs11-jar: jar-dir
+ -k"testcert" jar-dir
+
+ if WIN32
+-install-exec-hook: install-pkcs11DATA
++install-exec-hook:
++ $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ for l in opensc-pkcs11.dll onepin-opensc-pkcs11.dll pkcs11-spy.dll; do \
+ mv "$(DESTDIR)$(libdir)/$$l" "$(DESTDIR)$(bindir)/$$l"; \
+ done
+ else
+ # see http://wiki.cacert.org/wiki/Pkcs11TaskForce
+-pkcs11_DATA = #This will create the directory
+ if CYGWIN
+ PKCS11_SUFFIX=.dll
+ else
+ PKCS11_SUFFIX=.so
+ endif
+-install-exec-hook: install-pkcs11DATA
++install-exec-hook:
++ $(MKDIR_P) "$(DESTDIR)$(pkcs11dir)"
+ for l in opensc-pkcs11$(PKCS11_SUFFIX) onepin-opensc-pkcs11$(PKCS11_SUFFIX) pkcs11-spy$(PKCS11_SUFFIX); do \
+ rm -f "$(DESTDIR)$(pkcs11dir)/$$l"; \
+ $(LN_S) ../$$l "$(DESTDIR)$(pkcs11dir)/$$l"; \
+--
+1.7.8.6
+
diff --git a/dev-libs/opensc/files/opensc-0.13.0-openssl.patch b/dev-libs/opensc/files/opensc-0.13.0-openssl.patch
new file mode 100644
index 000000000000..1568493d757d
--- /dev/null
+++ b/dev-libs/opensc/files/opensc-0.13.0-openssl.patch
@@ -0,0 +1,27 @@
+diff -urNp opensc-0.13.0.old/src/libopensc/iasecc-sm.c opensc-0.13.0/src/libopensc/iasecc-sm.c
+--- opensc-0.13.0.old/src/libopensc/iasecc-sm.c 2012-12-04 16:43:40.000000000 +0200
++++ opensc-0.13.0/src/libopensc/iasecc-sm.c 2014-02-19 21:24:34.479234564 +0200
+@@ -26,10 +26,6 @@
+ #include "asn1.h"
+ #include "cardctl.h"
+
+-#ifndef ENABLE_OPENSSL
+-#error "Need OpenSSL"
+-#endif
+-
+ #include "sm.h"
+ #include "iasecc.h"
+ #include "authentic.h"
+diff -urNp opensc-0.13.0.old/src/pkcs11/framework-pkcs15.c opensc-0.13.0/src/pkcs11/framework-pkcs15.c
+--- opensc-0.13.0.old/src/pkcs11/framework-pkcs15.c 2012-12-04 16:43:40.000000000 +0200
++++ opensc-0.13.0/src/pkcs11/framework-pkcs15.c 2014-02-19 21:31:43.816108633 +0200
+@@ -2853,8 +2853,8 @@ struct sc_pkcs11_framework_ops framework
+ pkcs15_login,
+ pkcs15_logout,
+ pkcs15_change_pin,
+- pkcs15_initialize,
+ #ifdef USE_PKCS15_INIT
++ pkcs15_initialize,
+ pkcs15_init_pin,
+ pkcs15_create_object,
+ pkcs15_gen_keypair,
diff --git a/dev-libs/opensc/metadata.xml b/dev-libs/opensc/metadata.xml
new file mode 100644
index 000000000000..355eb11bd0c4
--- /dev/null
+++ b/dev-libs/opensc/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <longdescription>
+ OpenSC is a library for accessing SmartCard devices. It is also
+ the core library of the OpenSC project.
+
+ Basic functionality (e.g. SELECT FILE, READ BINARY) should work on
+ any ISO 7816-4 compatible SmartCard. Encryption and decryption
+ using private keys on the SmartCard is possible with PKCS #15
+ compatible cards, such as the FINEID (Finnish Electronic IDentity)
+ card.
+ </longdescription>
+ <use>
+ <flag name="libtool">
+ Use <pkg>sys-devel/libtool</pkg> for dynamically loading libraries
+ rather than the host libdl/dlopen helpers.
+ </flag>
+ <flag name="openct">
+ Use <pkg>dev-libs/openct</pkg> (and CT-API) for accessing
+ Smartcard hardware.
+ </flag>
+ <flag name="ctapi">
+ Use CT-API for accessing Smartcard hardware.
+ </flag>
+ <flag name="pcsc-lite">
+ Use <pkg>sys-apps/pcsc-lite</pkg> (and PC/SC API) for accessing
+ Smartcard hardware.
+ </flag>
+ <flag name="secure-messaging">
+ Enable secure messaging.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">OpenSC/OpenSC</remote-id>
+ <remote-id type="sourceforge">opensc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/opensc/opensc-0.12.2-r2.ebuild b/dev-libs/opensc/opensc-0.12.2-r2.ebuild
new file mode 100644
index 000000000000..2dc75cd58c8a
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.12.2-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="http://www.opensc-project.org/opensc/"
+SRC_URI="http://www.opensc-project.org/files/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ppc ppc64 s390 sh sparc x86"
+IUSE="doc libtool +pcsc-lite openct readline ssl zlib"
+
+# Drop the libtool dep once libltdl goes stable.
+RDEPEND="libtool? ( || ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 ) )
+ zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0 )
+ ssl? ( dev-libs/openssl:0 )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct )
+ openct? ( !pcsc-lite )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.12.1-crossbuild.patch
+ epatch "${FILESDIR}"/${P}-parallelinstall.patch
+ epatch "${FILESDIR}"/${P}-dl.patch
+ eautoreconf
+}
+
+src_configure() {
+ # disable everything, enable selectively
+ local myconf="--disable-pcsc --disable-openct --disable-ctapi"
+
+ if use pcsc-lite; then
+ myconf+=" --enable-pcsc"
+ elif use openct; then
+ myconf+=" --enable-openct"
+ else
+ myconf+=" --enable-ctapi"
+ fi
+
+ # the configure script prefers libtool's libltdl over
+ # the native system's dlopen ... so we have to manually
+ # control the behavior to something a bit more sane
+ export ac_cv_header_ltdl_h=$(usex libtool) \
+ ac_cv_lib_ltdl_lt_dlopen=$(usex libtool)
+
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ --disable-static \
+ $(use_enable doc) \
+ $(use_enable openct) \
+ $(use_enable readline) \
+ $(use_enable zlib) \
+ $(use_enable ssl openssl) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ find "${ED}"/usr -name '*.la' -delete
+}
diff --git a/dev-libs/opensc/opensc-0.13.0.ebuild b/dev-libs/opensc/opensc-0.13.0.ebuild
new file mode 100644
index 000000000000..e9e21587baeb
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.13.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="http://www.opensc-project.org/opensc/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +pcsc-lite secure-messaging openct ctapi readline ssl zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0 )
+ ssl? ( dev-libs/openssl:0 )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-openssl.patch"
+}
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ --disable-static \
+ $(use_enable doc) \
+ $(use_enable openct) \
+ $(use_enable readline) \
+ $(use_enable zlib) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable openct) \
+ $(use_enable ctapi)
+}
+
+src_install() {
+ default
+ find "${ED}"/usr -name '*.la' -delete
+}
diff --git a/dev-libs/opensc/opensc-0.14.0.ebuild b/dev-libs/opensc/opensc-0.14.0.ebuild
new file mode 100644
index 000000000000..3fc15f81db5f
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.14.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +pcsc-lite secure-messaging openct ctapi readline ssl zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? ( dev-libs/openssl:0= )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ --disable-static \
+ $(use_enable doc) \
+ $(use_enable openct) \
+ $(use_enable readline) \
+ $(use_enable zlib) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable openct) \
+ $(use_enable ctapi)
+}
+
+src_install() {
+ default
+ find "${ED}"/usr -name '*.la' -delete
+}
diff --git a/dev-libs/openspecfun/Manifest b/dev-libs/openspecfun/Manifest
new file mode 100644
index 000000000000..ebcdc4cb8804
--- /dev/null
+++ b/dev-libs/openspecfun/Manifest
@@ -0,0 +1 @@
+DIST openspecfun-0.4.tar.gz 127722 SHA256 bf98de20d429f6d9abedf47f2118350b3160875dd717b50a9f98415aa51c4a5b SHA512 51374e6e7c3b24967dbe7b670ee28282c769a9cffd48823968c632183f7a27ccd695bbe448d00af2a70cfe55eaa122bc62261532935a8be91ec9a9704a6818d7 WHIRLPOOL b3446fa952db8a8e065b3e2ef7cdd8abff9f29d69402dc94427d74d81511fbe0a35f560e839c054c208d37776af880a5a8bd74d3daf19aed35037b35759d0c57
diff --git a/dev-libs/openspecfun/metadata.xml b/dev-libs/openspecfun/metadata.xml
new file mode 100644
index 000000000000..3237bd77151c
--- /dev/null
+++ b/dev-libs/openspecfun/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="github">JuliaLang/openspecfun</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/openspecfun/openspecfun-0.4-r1.ebuild b/dev-libs/openspecfun/openspecfun-0.4-r1.ebuild
new file mode 100644
index 000000000000..2e6b99425dd4
--- /dev/null
+++ b/dev-libs/openspecfun/openspecfun-0.4-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fortran-2 multilib
+
+DESCRIPTION="A collection of special mathematical functions"
+HOMEPAGE="http://julialang.org/"
+SRC_URI="https://github.com/JuliaLang/openspecfun/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+src_prepare() {
+ sed -i "s:/lib:/$(get_libdir):" Make.inc || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="/usr" install
+}
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
new file mode 100644
index 000000000000..458ddc5751fc
--- /dev/null
+++ b/dev-libs/openssl/Manifest
@@ -0,0 +1,15 @@
+DIST openssl-0.9.8ze.tar.gz 3734873 SHA256 ee3da602826e975b47e4d7af8a27be8258c160876194898c58881eab814b55b8 SHA512 6ab08065ab2cdf6699e462e2a082e6d4c21f027383e12d4dd1d0dce2a4073ae52230494215b3fe24b8a8d73f5f5dd3a1fe53c66acd8db6e162e4bf3636e229c3 WHIRLPOOL 8a5de0aed7b48007b3b8092726c9c8eb6771c49d388baaff4d7ba3591be0b1856cb17842db5bc608994b38f5d87a8b07a441c874523e577b786a4612bba7789f
+DIST openssl-0.9.8zf.tar.gz 3822386 SHA256 d5245a29128984192acc5b1fc01e37429b7a01c53cadcb2645e546718b300edb SHA512 8a68f024c31b7de25e19732ad556a27d69cface8e7a546ca4221873053a270e5e36336626f7fe857bbbec5427204bddbb5fc9dea8d7a187a8db6719d970431ab WHIRLPOOL 842e5bc71a12bf363fe797e95faf988ae949aa15f8faee935ee8861e4093e9d4e0b766b24dda8d415f29d2ee2821050cfc3ce095d265d59574e7fe0af4024c66
+DIST openssl-0.9.8zg.tar.gz 3826891 SHA256 06500060639930e471050474f537fcd28ec934af92ee282d78b52460fbe8f580 SHA512 c757454de321d168ac6d89fe2859966a9f07a8b28305bf697af9018db13fc457e0883346b3d35977461ab058442375563554ecb2a8756a687ff9fc2fdd9103c9 WHIRLPOOL 55ecf50a264a2ddd9b5755b5d90b9b736d2f27e0ba2fd529ccff3b68bbd726d1f60460182a0d215ae6712dbc4d3ef2df11339fb2d8424e049f54c3e904fcfab0
+DIST openssl-1.0.0r.tar.gz 4095201 SHA256 6538b33a1b95681c86ac8c5cc54d22835f0f0a5bf42ee6df4138c672d7e75f17 SHA512 a65292a7b43f7d0637952476356a95908b5843ca17f717158dd4d2171113192f04c92f4f9133bb4750172f06367dae64733aa239b90c52d4d9323f467012428f WHIRLPOOL 71c7d726a3a5d70735d4b34c3e00c15fa2ef8640801f8a265e4e92cf01db4a517630084dd7632850f3df6f4dbd848a3a7ec908a71db996a45c29f1ac53ac7877
+DIST openssl-1.0.1l.tar.gz 4429979 SHA256 b2cf4d48fe5d49f240c61c9e624193a6f232b5ed0baf010681e725963c40d1d4 SHA512 27fe42f33815a3aafff75f2b9a5604c328fe5945c5cecaca74e5d2c2a1e066d64ddcc1fdb14b54fc7523cc730ab8a57d7d56b2879c289e86673f91fee0cca65e WHIRLPOOL 79f5698585c68ba647fcdfc4b342a43d06d69230658ca1bc265dd10d8da939c3e27b9a4125bd2adfbf50002b1dddef18be086dfc23a5050e69fb77350131909f
+DIST openssl-1.0.1m.tar.gz 4533406 SHA256 095f0b7b09116c0c5526422088058dc7e6e000aa14d22acca6a4e2babcdfef74 SHA512 f37b60cb4449674d5c06a4056acc3d11f1c9773da6111148fa3fbf8d14362ba1ff5eb5e0c0e06c2b5c84543b2b974584617e393ca83de2230cbbe69b52975afc WHIRLPOOL c33cc05debc31d5044be4de58267e1a07281f28f9d68f4288d3da1c3cdfcff6939a47abe1f50b377272d0dbd9475ae5fec84919b0c53d37e0bd3d94c44f68c91
+DIST openssl-1.0.1n.tar.gz 4545564 SHA256 3581a405ccbe0fd1f6f17ea41773f77cdd51db55c01e1b4d8549e519882c6caf SHA512 439e37879e379b77ae0e912222771ac54c0dcc4ad187b8e2eb6771df6cf71d56c4369931f4e16b8922b9d4a22e8f0aa9802c6828b8406fba7481426eade628aa WHIRLPOOL 8c08fc98863c444db3c1fee6970d1866123b7a525f4fe303016c0cf040351f7cb71f49a00ac1f1948ae9b7edaf9a4e5664814415447c8a88d4c49fe9014411d5
+DIST openssl-1.0.1o.tar.gz 4546659 SHA256 16e678c6a05f2502811e075f2c4059ac01c878d091c9c585afc49ebc541f7b13 SHA512 dc05fc6f47239330ad0c36f27049f02752bb168b7b1234b12760e42a920d41dd47d1e652dfee897b4c99729308fbb59cab80b93c8614acf498215a8b80607fbf WHIRLPOOL af7505625730ea6e59517289fcc6044b24e0826b2538463f36e876ae96ca7d591627ca09386e6a69e8234df88fec11fb9e2a098c2f6996592a0f74cecbf4af30
+DIST openssl-1.0.1p.tar.gz 4560208 SHA256 bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1 SHA512 64e475c53a85b78de7c5aa71a22d4bb3a456142842373ebf8f22e9857cb0352b646e591b21af866933baecdbdb5ac4a22aeb64914440c53a0f30cd25914029e5 WHIRLPOOL 2a81f3b9274e3fef37a2a88e3084d8283159b3a61db08e7805879905c87a74faa85bc6e570d18525741bd5c27c34fe09eeb58b2bfe500545d0f304716e14f819
+DIST openssl-1.0.2.tar.gz 5265809 SHA256 8c48baf3babe0d505d16cfc0cf272589c66d3624264098213db0fb00034728e9 SHA512 dea46225a5445edc4986b02b99fbc90153819374b9a9bfdd892b60cd18ac7fefaf21a7e9d2bb05d0e3bfa4d2704e0ee24b06cc8e7081a542d7598cc9e73c67c5 WHIRLPOOL fe628a38125390deb75728b31427c308efbf65637a569fd1f139f6313fea533514ef05bf3d01bbdc793f77eb259400c95c53074a294d32d73576939d16f22e25
+DIST openssl-1.0.2a.tar.gz 5262089 SHA256 15b6393c20030aab02c8e2fe0243cb1d1d18062f6c095d67bca91871dc7f324a SHA512 02d228578824add52b73433d64697706e6503c2334933fe8dd6b477f59c430977012c3c34da207096229a425e1dcb6f3ae806043894b5ac98c27bbcddb794dd4 WHIRLPOOL a590c71794f5d29b80afa28b18621b7535e96b714b3690d793c1422a90b09a89cbcb912841d400c5982a8197bb02c13051190e96ba0e4d530509b48b43067cd7
+DIST openssl-1.0.2b.tar.gz 5281009 SHA256 d5d488cc9f0a07974195a7427094ea3cab9800a4e90178b989aa621fbc238e3f SHA512 563eb662113668bb9ccf17a6e36697ad6392321ac1a32aa2cada9d8f4047651c2fa4da61f508ee3e1834fea343dbba189e09c1d6cabe5d1de5e3e6d022c31f4f WHIRLPOOL d828dc76842d25f02f211031b3ab9a2a8fd44975e9aaf87d0fd5fca9935a27b61c3e4f896a2186194f1a7b4d668fc48cafc5be9f7c670017ba342ce40113935f
+DIST openssl-1.0.2c.tar.gz 5280670 SHA256 0038ba37f35a6367c58f17a7a7f687953ef8ce4f9684bbdec63e62515ed36a83 SHA512 2a68e8b017d0d3e34e4f9d33b77abd960b3d04e418f106e852684a2ff247dc8ea390b7d6a42d130fd84d821a15e84e77b68b3677433433ef5c10d156333b9dae WHIRLPOOL c59878c3bd5e8904913b97d71a15ef1eaafcfb4eb58c691ba4fb38bf81752308d0ef4a902e53aec4c6e7585677f2404d29cdea0832d14206fabf28d744af2622
+DIST openssl-1.0.2d.tar.gz 5295447 SHA256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 SHA512 68a051e92aaed0e7a8b218c185427c534c32f30f50c45f5d2c1f5b7a26d1416e83863d2953c77486acde3b636a148f39faf48246d28a207607ec069f62b13d75 WHIRLPOOL e3d8f0784903c8d6aa05ada7b8b410517c99157a3c2f4ac34c8a9d80c77408bd6ff9e820ded47f6223ccac4a77413174aa625303166ec28fdbf8374a7d4659ec
+DIST openssl-c_rehash.sh.1.7 4167 SHA256 4999ee79892f52bd6a4a7baba9fac62262454d573bbffd72685d3aae9e48cee0 SHA512 55e8c2e827750a4f375cb83c86bfe2d166c01ffa5d7e9b16657b72b38b747c8985dd2c98f854c911dfbbee2ff3e92aff39fdf089d979b2e3534b7685ee8b80da WHIRLPOOL c88f06a3b8651f76b6289552cccceb64e13f6697c5f0ce3ff114c781ce1c218912b8ee308af9d087cd76a9600fdacda1953175bff07d7d3eb21b0c0b7f4f1ce1
diff --git a/dev-libs/openssl/files/gentoo.config-0.9.8 b/dev-libs/openssl/files/gentoo.config-0.9.8
new file mode 100755
index 000000000000..20d88a7d2acf
--- /dev/null
+++ b/dev-libs/openssl/files/gentoo.config-0.9.8
@@ -0,0 +1,145 @@
+#!/usr/bin/env bash
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+ case ${chost_machine} in
+ alphaev56*) machine=alpha+bwx-${compiler};;
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*) machine=elf;;
+ ia64*) machine=ia64;;
+ m68*) machine="generic32 -DB_ENDIAN";;
+ mips*el*) machine="generic32 -DL_ENDIAN";;
+ mips*) machine="generic32 -DB_ENDIAN";;
+ powerpc64*) machine=ppc64;;
+ powerpc*) machine=ppc;;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine="generic64 -DB_ENDIAN";;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*) machine=x86_64;;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.0 b/dev-libs/openssl/files/gentoo.config-1.0.0
new file mode 100755
index 000000000000..475bda37925a
--- /dev/null
+++ b/dev-libs/openssl/files/gentoo.config-1.0.0
@@ -0,0 +1,159 @@
+#!/usr/bin/env bash
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "s390x-linux-gnu |linux-s390x" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+ case ${chost_machine}:${ABI} in
+ alphaev56*) machine=alpha+bwx-${compiler};;
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
+ armv[4-9]*) machine="armv4 -DL_ENDIAN";;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ avr*) machine="generic32 -DL_ENDIAN";;
+ bfin*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*|\
+ x86_64*:x86) machine=elf;;
+ ia64*) machine=ia64;;
+ m68*) machine="generic32 -DB_ENDIAN";;
+ mips*el*) machine="generic32 -DL_ENDIAN";;
+ mips*) machine="generic32 -DB_ENDIAN";;
+ powerpc64*) machine=ppc64;;
+ powerpc*) machine=ppc;;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine=s390x;;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*:x32) machine=x32;;
+ x86_64*) machine=x86_64;;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+mingw*)
+ # special case ... no xxx-yyy style name
+ echo ${system}
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.1 b/dev-libs/openssl/files/gentoo.config-1.0.1
new file mode 100755
index 000000000000..24c995a04f15
--- /dev/null
+++ b/dev-libs/openssl/files/gentoo.config-1.0.1
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alpha-linux-gnu |linux-alpha-gcc" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "s390x-linux-gnu |linux64-s390x" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+ case ${chost_machine}:${ABI} in
+ aarch64*be) machine="generic64 -DB_ENDIAN";;
+ aarch64*) machine="generic64 -DL_ENDIAN";;
+ alphaev56*|\
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
+ armv[4-9]*) machine="armv4 -DL_ENDIAN";;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ avr*) machine="generic32 -DL_ENDIAN";;
+ bfin*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*|\
+ x86_64*:x86) machine=elf;;
+ ia64*) machine=ia64;;
+ m68*) machine="generic32 -DB_ENDIAN";;
+ mips*el*) machine="generic32 -DL_ENDIAN";;
+ mips*) machine="generic32 -DB_ENDIAN";;
+ powerpc64*le) machine="generic64 -DL_ENDIAN";;
+ powerpc64*) machine=ppc64;;
+ powerpc*le) machine="generic32 -DL_ENDIAN";;
+ powerpc*) machine=ppc;;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine=s390x system=linux64;;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*:x32) machine=x32;;
+ x86_64*) machine=x86_64;;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+mingw*)
+ # special case ... no xxx-yyy style name
+ echo ${system}
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl/files/openssl-0.9.8e-bsd-sparc64.patch b/dev-libs/openssl/files/openssl-0.9.8e-bsd-sparc64.patch
new file mode 100644
index 000000000000..a798164a9069
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-0.9.8e-bsd-sparc64.patch
@@ -0,0 +1,25 @@
+--- a/Configure
++++ b/Configure
+@@ -365,7 +365,7 @@
+ # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
+ # simply *happens* to work around a compiler bug in gcc 3.3.3,
+ # triggered by RIPEMD160 code.
+-"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:ULTRASPARC::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
+
+the -B flag is a no-op nowadays
+
+--- a/crypto/des/Makefile
++++ b/crypto/des/Makefile
+@@ -62,7 +62,7 @@
+ $(CC) $(CFLAGS) -o des des.o cbc3_enc.o $(LIB)
+
+ des_enc-sparc.S: asm/des_enc.m4
+- m4 -B 8192 asm/des_enc.m4 > des_enc-sparc.S
++ m4 asm/des_enc.m4 > des_enc-sparc.S
+
+ # ELF
+ dx86-elf.s: asm/des-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
diff --git a/dev-libs/openssl/files/openssl-0.9.8h-ldflags.patch b/dev-libs/openssl/files/openssl-0.9.8h-ldflags.patch
new file mode 100644
index 000000000000..64cc7bde0504
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-0.9.8h-ldflags.patch
@@ -0,0 +1,29 @@
+http://bugs.gentoo.org/181438
+http://bugs.gentoo.org/327421
+https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest
+
+make sure we respect LDFLAGS
+
+also make sure we don't add useless -rpath flags to the system libdir
+
+--- openssl-0.9.8h/Makefile.org
++++ openssl-0.9.8h/Makefile.org
+@@ -180,6 +181,7 @@
+ MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
+ DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
+ MAKEDEPPROG='${MAKEDEPPROG}' \
++ LDFLAGS='${LDFLAGS}' \
+ SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
+ KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
+ EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
+--- openssl-0.9.8h/Makefile.shared
++++ openssl-0.9.8h/Makefile.shared
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/dev-libs/openssl/files/openssl-0.9.8m-binutils.patch b/dev-libs/openssl/files/openssl-0.9.8m-binutils.patch
new file mode 100644
index 000000000000..9fa79b9a65fb
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-0.9.8m-binutils.patch
@@ -0,0 +1,24 @@
+http://bugs.gentoo.org/289130
+
+Ripped from Fedora
+
+--- openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl.binutils 2009-11-12 15:17:29.000000000 +0100
++++ openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl 2009-11-12 17:24:18.000000000 +0100
+@@ -150,7 +150,7 @@ ___
+ sub BODY_20_39 {
+ my ($i,$a,$b,$c,$d,$e,$f)=@_;
+ my $j=$i+1;
+-my $K=($i<40)?0x6ed9eba1:0xca62c1d6;
++my $K=($i<40)?0x6ed9eba1:-0x359d3e2a;
+ $code.=<<___ if ($i<79);
+ lea $K($xi,$e),$f
+ mov `4*($j%16)`(%rsp),$xi
+@@ -187,7 +187,7 @@ sub BODY_40_59 {
+ my ($i,$a,$b,$c,$d,$e,$f)=@_;
+ my $j=$i+1;
+ $code.=<<___;
+- lea 0x8f1bbcdc($xi,$e),$f
++ lea -0x70e44324($xi,$e),$f
+ mov `4*($j%16)`(%rsp),$xi
+ mov $b,$t0
+ mov $b,$t1
diff --git a/dev-libs/openssl/files/openssl-0.9.8ze-CVE-2015-0286.patch b/dev-libs/openssl/files/openssl-0.9.8ze-CVE-2015-0286.patch
new file mode 100644
index 000000000000..facb77d203a1
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-0.9.8ze-CVE-2015-0286.patch
@@ -0,0 +1,326 @@
+--- openssl-0.9.8ze/crypto/asn1/a_type.c
++++ openssl-0.9.8ze/crypto/asn1/a_type.c
+@@ -121,6 +121,9 @@
+ case V_ASN1_OBJECT:
+ result = OBJ_cmp(a->value.object, b->value.object);
+ break;
++ case V_ASN1_BOOLEAN:
++ result = a->value.boolean - b->value.boolean;
++ break;
+ case V_ASN1_NULL:
+ result = 0; /* They do not have content. */
+ break;
+--- openssl-0.9.8ze/crypto/asn1/tasn_dec.c
++++ openssl-0.9.8ze/crypto/asn1/tasn_dec.c
+@@ -128,11 +128,17 @@
+ {
+ ASN1_TLC c;
+ ASN1_VALUE *ptmpval = NULL;
+- if (!pval)
+- pval = &ptmpval;
+ c.valid = 0;
+- if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0)
+- return *pval;
++ if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE)
++ ptmpval = *pval;
++ if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) {
++ if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) {
++ if (*pval)
++ ASN1_item_free(*pval, it);
++ *pval = ptmpval;
++ }
++ return ptmpval;
++ }
+ return NULL;
+ }
+
+@@ -309,9 +315,16 @@
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it))
+ goto auxerr;
+
+- /* Allocate structure */
+- if (!*pval && !ASN1_item_ex_new(pval, it))
+- {
++ if (*pval) {
++ /* Free up and zero CHOICE value if initialised */
++ i = asn1_get_choice_selector(pval, it);
++ if ((i >= 0) && (i < it->tcount)) {
++ tt = it->templates + i;
++ pchptr = asn1_get_field_ptr(pval, tt);
++ ASN1_template_free(pchptr, tt);
++ asn1_set_choice_selector(pval, -1, it);
++ }
++ } else if (!ASN1_item_ex_new(pval, it)) {
+ ASN1err(ASN1_F_ASN1_ITEM_EX_D2I,
+ ERR_R_NESTED_ASN1_ERROR);
+ goto err;
+@@ -405,6 +418,17 @@
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it))
+ goto auxerr;
+
++ /* Free up and zero any ADB found */
++ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
++ if (tt->flags & ASN1_TFLG_ADB_MASK) {
++ const ASN1_TEMPLATE *seqtt;
++ ASN1_VALUE **pseqval;
++ seqtt = asn1_do_adb(pval, tt, 1);
++ pseqval = asn1_get_field_ptr(pval, seqtt);
++ ASN1_template_free(pseqval, seqtt);
++ }
++ }
++
+ /* Get each field entry */
+ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++)
+ {
+--- openssl-0.9.8ze/crypto/pkcs7/pk7_doit.c
++++ openssl-0.9.8ze/crypto/pkcs7/pk7_doit.c
+@@ -151,6 +151,25 @@
+ EVP_PKEY *pkey;
+ ASN1_OCTET_STRING *os=NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++ /*
++ * The content field in the PKCS7 ContentInfo is optional, but that really
++ * only applies to inner content (precisely, detached signatures).
++ *
++ * When reading content, missing outer content is therefore treated as an
++ * error.
++ *
++ * When creating content, PKCS7_content_new() must be called before
++ * calling this method, so a NULL p7->d is always an error.
++ */
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+
+@@ -344,6 +363,16 @@
+ STACK_OF(PKCS7_RECIP_INFO) *rsk=NULL;
+ PKCS7_RECIP_INFO *ri=NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+
+@@ -637,6 +666,16 @@
+ STACK_OF(PKCS7_SIGNER_INFO) *si_sk=NULL;
+ ASN1_OCTET_STRING *os=NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ EVP_MD_CTX_init(&ctx_tmp);
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+@@ -668,6 +707,7 @@
+ /* If detached data then the content is excluded */
+ if(PKCS7_type_is_data(p7->d.sign->contents) && p7->detached) {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.sign->contents->d.data = NULL;
+ }
+ break;
+@@ -678,6 +718,7 @@
+ if(PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
+ {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.digest->contents->d.data = NULL;
+ }
+ break;
+@@ -815,6 +856,11 @@
+
+ if (!PKCS7_is_detached(p7))
+ {
++ /*
++ * NOTE(emilia): I think we only reach os == NULL here because detached
++ */
++ if (os == NULL)
++ goto err;
+ btmp=BIO_find_type(bio,BIO_TYPE_MEM);
+ if (btmp == NULL)
+ {
+@@ -849,6 +895,16 @@
+ STACK_OF(X509) *cert;
+ X509 *x509;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ if (PKCS7_type_is_signed(p7))
+ {
+ cert=p7->d.sign->cert;
+--- openssl-0.9.8ze/crypto/pkcs7/pk7_lib.c
++++ openssl-0.9.8ze/crypto/pkcs7/pk7_lib.c
+@@ -70,6 +70,7 @@
+
+ switch (cmd)
+ {
++ /* NOTE(emilia): does not support detached digested data. */
+ case PKCS7_OP_SET_DETACHED_SIGNATURE:
+ if (nid == NID_pkcs7_signed)
+ {
+@@ -473,6 +474,8 @@
+
+ STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7)
+ {
++ if (p7 == NULL || p7->d.ptr == NULL)
++ return NULL;
+ if (PKCS7_type_is_signed(p7))
+ {
+ return(p7->d.sign->signer_info);
+--- openssl-0.9.8ze/doc/crypto/d2i_X509.pod
++++ openssl-0.9.8ze/doc/crypto/d2i_X509.pod
+@@ -199,6 +199,12 @@
+ persist if they are not present in the new one. As a result the use
+ of this "reuse" behaviour is strongly discouraged.
+
++Current versions of OpenSSL will not modify B<*px> if an error occurs.
++If parsing succeeds then B<*px> is freed (if it is not NULL) and then
++set to the value of the newly decoded structure. As a result B<*px>
++B<must not> be allocated on the stack or an attempt will be made to
++free an invalid pointer.
++
+ i2d_X509() will not return an error in many versions of OpenSSL,
+ if mandatory fields are not initialized due to a programming error
+ then the encoded structure may contain invalid data or omit the
+@@ -210,7 +216,9 @@
+
+ d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> structure
+ or B<NULL> if an error occurs. The error code that can be obtained by
+-L<ERR_get_error(3)|ERR_get_error(3)>.
++L<ERR_get_error(3)|ERR_get_error(3)>. If the "reuse" capability has been used
++with a valid X509 structure being passed in via B<px> then the object is not
++modified in the event of error.
+
+ i2d_X509() returns the number of bytes successfully encoded or a negative
+ value if an error occurs. The error code can be obtained by
+--- openssl-0.9.8ze/ssl/s2_lib.c
++++ openssl-0.9.8ze/ssl/s2_lib.c
+@@ -410,7 +410,7 @@
+
+ OPENSSL_assert(s->session->master_key_length >= 0
+ && s->session->master_key_length
+- < (int)sizeof(s->session->master_key));
++ <= (int)sizeof(s->session->master_key));
+ EVP_DigestUpdate(&ctx,s->session->master_key,s->session->master_key_length);
+ EVP_DigestUpdate(&ctx,&c,1);
+ c++;
+--- openssl-0.9.8ze/ssl/s2_srvr.c
++++ openssl-0.9.8ze/ssl/s2_srvr.c
+@@ -446,10 +446,6 @@
+ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_NO_PRIVATEKEY);
+ return(-1);
+ }
+- i=ssl_rsa_private_decrypt(s->cert,s->s2->tmp.enc,
+- &(p[s->s2->tmp.clear]),&(p[s->s2->tmp.clear]),
+- (s->s2->ssl2_rollback)?RSA_SSLV23_PADDING:RSA_PKCS1_PADDING);
+-
+ is_export=SSL_C_IS_EXPORT(s->session->cipher);
+
+ if (!ssl_cipher_get_evp(s->session,&c,&md,NULL))
+@@ -467,21 +463,59 @@
+ else
+ ek=5;
+
++ /*
++ * The format of the CLIENT-MASTER-KEY message is
++ * 1 byte message type
++ * 3 bytes cipher
++ * 2-byte clear key length (stored in s->s2->tmp.clear)
++ * 2-byte encrypted key length (stored in s->s2->tmp.enc)
++ * 2-byte key args length (IV etc)
++ * clear key
++ * encrypted key
++ * key args
++ *
++ * If the cipher is an export cipher, then the encrypted key bytes
++ * are a fixed portion of the total key (5 or 8 bytes). The size of
++ * this portion is in |ek|. If the cipher is not an export cipher,
++ * then the entire key material is encrypted (i.e., clear key length
++ * must be zero).
++ */
++ if ((!is_export && s->s2->tmp.clear != 0) ||
++ (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH);
++ return -1;
++ }
++ /*
++ * The encrypted blob must decrypt to the encrypted portion of the key.
++ * Decryption can't be expanding, so if we don't have enough encrypted
++ * bytes to fit the key in the buffer, stop now.
++ */
++ if ((is_export && s->s2->tmp.enc < ek) ||
++ (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT);
++ return -1;
++ }
++
++ i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
++ &(p[s->s2->tmp.clear]),
++ &(p[s->s2->tmp.clear]),
++ (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
++ RSA_PKCS1_PADDING);
++
+ /* bad decrypt */
+ #if 1
+ /* If a bad decrypt, continue with protocol but with a
+ * random master secret (Bleichenbacher attack) */
+- if ((i < 0) ||
+- ((!is_export && (i != EVP_CIPHER_key_length(c)))
+- || (is_export && ((i != ek) || (s->s2->tmp.clear+(unsigned int)i !=
+- (unsigned int)EVP_CIPHER_key_length(c))))))
+- {
++ if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c))
++ || (is_export && i != ek))) {
+ ERR_clear_error();
+ if (is_export)
+ i=ek;
+ else
+ i=EVP_CIPHER_key_length(c);
+- if (RAND_pseudo_bytes(p,i) <= 0)
++ if (RAND_pseudo_bytes(&p[s->s2->tmp.clear], i) <= 0)
+ return 0;
+ }
+ #else
+@@ -505,7 +539,8 @@
+ }
+ #endif
+
+- if (is_export) i+=s->s2->tmp.clear;
++ if (is_export)
++ i = EVP_CIPHER_key_length(c);
+
+ if (i > SSL_MAX_MASTER_KEY_LENGTH)
+ {
diff --git a/dev-libs/openssl/files/openssl-1.0.0a-ldflags.patch b/dev-libs/openssl/files/openssl-1.0.0a-ldflags.patch
new file mode 100644
index 000000000000..c99ef4abb852
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0a-ldflags.patch
@@ -0,0 +1,29 @@
+http://bugs.gentoo.org/181438
+http://bugs.gentoo.org/327421
+https://rt.openssl.org/Ticket/Display.html?id=3331&user=guest&pass=guest
+
+make sure we respect LDFLAGS
+
+also make sure we don't add useless -rpath flags to the system libdir
+
+--- Makefile.org
++++ Makefile.org
+@@ -189,6 +189,7 @@
+ MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
+ DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
+ MAKEDEPPROG='$(MAKEDEPPROG)' \
++ LDFLAGS='${LDFLAGS}' \
+ SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
+ KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
+ ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
+--- Makefile.shared
++++ Makefile.shared
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/dev-libs/openssl/files/openssl-1.0.0d-windres.patch b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch
new file mode 100644
index 000000000000..0b360d2b3bea
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch
@@ -0,0 +1,76 @@
+URL: http://rt.openssl.org/Ticket/Display.html?id=2558&user=guest&pass=guest
+Subject: make windres controllable via build env var settings
+
+atm, the windres code in openssl is only usable via the cross-compile prefix
+option unlike all the other build tools. so add support for the standard $RC
+/ $WINDRES env vars as well.
+
+Index: Configure
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Configure,v
+retrieving revision 1.621.2.40
+diff -u -p -r1.621.2.40 Configure
+--- Configure 30 Nov 2010 22:19:26 -0000 1.621.2.40
++++ Configure 4 Jul 2011 23:12:32 -0000
+@@ -1094,6 +1094,7 @@ my $shared_extension = $fields[$idx_shar
+ my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
+ my $ar = $ENV{'AR'} || "ar";
+ my $arflags = $fields[$idx_arflags];
++my $windres = $ENV{'RC'} || $ENV{'WINDRES'} || "windres";
+ my $multilib = $fields[$idx_multilib];
+
+ # if $prefix/lib$multilib is not an existing directory, then
+@@ -1511,12 +1512,14 @@ while (<IN>)
+ s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/;
+ s/^NM=\s*/NM= \$\(CROSS_COMPILE\)/;
+ s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/;
++ s/^WINDRES=\s*/WINDRES= \$\(CROSS_COMPILE\)/;
+ s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE\)$cc/ if $cc eq "gcc";
+ }
+ else {
+ s/^CC=.*$/CC= $cc/;
+ s/^AR=\s*ar/AR= $ar/;
+ s/^RANLIB=.*/RANLIB= $ranlib/;
++ s/^WINDRES=.*/WINDRES= $windres/;
+ s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
+ }
+ s/^CFLAG=.*$/CFLAG= $cflags/;
+Index: Makefile.org
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.org,v
+retrieving revision 1.295.2.10
+diff -u -p -r1.295.2.10 Makefile.org
+--- Makefile.org 27 Jan 2010 16:06:58 -0000 1.295.2.10
++++ Makefile.org 4 Jul 2011 23:13:08 -0000
+@@ -66,6 +66,7 @@ EXE_EXT=
+ ARFLAGS=
+ AR=ar $(ARFLAGS) r
+ RANLIB= ranlib
++WINDRES= windres
+ NM= nm
+ PERL= perl
+ TAR= tar
+@@ -180,6 +181,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESS
+ CC='$(CC)' CFLAG='$(CFLAG)' \
+ AS='$(CC)' ASFLAG='$(CFLAG) -c' \
+ AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \
++ WINDRES='$(WINDRES)' \
+ CROSS_COMPILE='$(CROSS_COMPILE)' \
+ PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \
+ SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \
+Index: Makefile.shared
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.shared,v
+retrieving revision 1.72.2.4
+diff -u -p -r1.72.2.4 Makefile.shared
+--- Makefile.shared 21 Aug 2010 11:36:49 -0000 1.72.2.4
++++ Makefile.shared 4 Jul 2011 23:13:52 -0000
+@@ -293,7 +293,7 @@ link_a.cygwin:
+ fi; \
+ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
+ $(PERL) util/mkrc.pl $$dll_name | \
+- $(CROSS_COMPILE)windres -o rc.o; \
++ $(WINDRES) -o rc.o; \
+ extras="$$extras rc.o"; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
diff --git a/dev-libs/openssl/files/openssl-1.0.0e-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.0e-parallel-build.patch
new file mode 100644
index 000000000000..e1a030f9ebf9
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0e-parallel-build.patch
@@ -0,0 +1,315 @@
+http://rt.openssl.org/Ticket/Display.html?id=2084
+
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -247,17 +247,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
++build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
++build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
++build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
++build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -497,9 +497,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -508,6 +508,13 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+@@ -511,7 +511,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; for i in $(LIBS) ;\
+ do \
+ if [ -f "$$i" ]; then \
+@@ -593,12 +600,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ $(RANLIB) $(LIB) || echo Never mind.
+
+@@ -110,7 +110,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -119,7 +119,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- a/engines/Makefile
++++ b/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -123,7 +123,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -345,106 +345,106 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(BUILD_CMD)
++ +@target=$(SSLTEST); $(BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -457,7 +457,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/dev-libs/openssl/files/openssl-1.0.0h-pkg-config.patch b/dev-libs/openssl/files/openssl-1.0.0h-pkg-config.patch
new file mode 100644
index 000000000000..66fd8220c5b0
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0h-pkg-config.patch
@@ -0,0 +1,34 @@
+https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest
+
+depend on other pc files rather than encoding library info directly in
+every pkg-config file
+
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -335,11 +335,11 @@ libssl.pc: Makefile
+ echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
+ echo 'includedir=$${prefix}/include'; \
+ echo ''; \
+- echo 'Name: OpenSSL'; \
++ echo 'Name: OpenSSL-libssl'; \
+ echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+ echo 'Version: '$(VERSION); \
+- echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
++ echo 'Requires.private: libcrypto'; \
++ echo 'Libs: -L$${libdir} -lssl'; \
+ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
+
+@@ -352,10 +353,7 @@ openssl.pc: Makefile
+ echo 'Name: OpenSSL'; \
+ echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
+ echo 'Version: '$(VERSION); \
+- echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
+- echo 'Libs.private: $(EX_LIBS)'; \
+- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
++ echo 'Requires: libssl libcrypto' ) > openssl.pc
+
+ Makefile: Makefile.org Configure config
+ @echo "Makefile is older than Makefile.org, Configure or config."
diff --git a/dev-libs/openssl/files/openssl-1.0.0r-x32.patch b/dev-libs/openssl/files/openssl-1.0.0r-x32.patch
new file mode 100644
index 000000000000..2d715eb5af0e
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0r-x32.patch
@@ -0,0 +1,76 @@
+--- openssl-1.0.0r/Configure
++++ openssl-1.0.0r/Configure
+@@ -353,6 +353,7 @@ my %table=(
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32", "gcc:-DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### SPARC Linux setups
+ # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
+--- openssl-1.0.0r/crypto/bn/asm/x86_64-gcc.c
++++ openssl-1.0.0r/crypto/bn/asm/x86_64-gcc.c
+@@ -55,7 +55,7 @@
+ * machine.
+ */
+
+-# ifdef _WIN64
++# if defined _WIN64 || !defined __LP64__
+ # define BN_ULONG unsigned long long
+ # else
+ # define BN_ULONG unsigned long
+@@ -211,9 +211,9 @@ BN_ULONG bn_add_words(BN_ULONG *rp, cons
+
+ asm volatile (" subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " adcq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " adcq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n":"=&a" (ret), "+c"(n),
+@@ -235,9 +235,9 @@ BN_ULONG bn_sub_words(BN_ULONG *rp, cons
+
+ asm volatile (" subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " sbbq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " sbbq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n":"=&a" (ret), "+c"(n),
+--- openssl-1.0.0r/crypto/bn/bn_exp.c
++++ openssl-1.0.0r/crypto/bn/bn_exp.c
+@@ -564,7 +564,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
+ * multiple.
+ */
+ #define MOD_EXP_CTIME_ALIGN(x_) \
+- ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ULONG)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
++ ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
+
+ /*
+ * This variant of BN_mod_exp_mont() uses fixed windows and the special
+--- openssl-1.0.0r/crypto/bn/bn.h
++++ openssl-1.0.0r/crypto/bn/bn.h
+@@ -174,6 +174,15 @@ extern "C" {
+ # endif
+
+ /*
++ * Address type.
++ */
++#ifdef _WIN64
++#define BN_ADDR unsigned long long
++#else
++#define BN_ADDR unsigned long
++#endif
++
++/*
+ * assuming long is 64bit - this is the DEC Alpha unsigned long long is only
+ * 64 bits :-(, don't define BN_LLONG for the DEC Alpha
+ */
diff --git a/dev-libs/openssl/files/openssl-1.0.1-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.1-parallel-build.patch
new file mode 100644
index 000000000000..19f859abb210
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1-parallel-build.patch
@@ -0,0 +1,354 @@
+http://rt.openssl.org/Ticket/Display.html?id=2084
+
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -247,17 +247,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
++build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
++build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
++build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
++build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -497,9 +497,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -508,6 +508,13 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+@@ -511,7 +511,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+@@ -593,12 +600,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--- a/Makefile.shared
++++ b/Makefile.shared
+@@ -105,6 +105,7 @@ LINK_SO= \
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +124,7 @@ SYMLINK_SO= \
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ $(RANLIB) $(LIB) || echo Never mind.
+
+@@ -110,7 +110,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -119,7 +119,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- a/engines/Makefile
++++ b/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -123,7 +123,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -365,109 +365,109 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -480,7 +480,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
+--- a/crypto/objects/Makefile
++++ b/crypto/objects/Makefile
+@@ -44,11 +44,11 @@ obj_dat.h: obj_dat.pl obj_mac.h
+ # objects.pl both reads and writes obj_mac.num
+ obj_mac.h: objects.pl objects.txt obj_mac.num
+ $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
+- @sleep 1; touch obj_mac.h; sleep 1
+
+-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
++# This doesn't really need obj_mac.h, but since that rule reads & writes
++# obj_mac.num, we can't run in parallel with it.
++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
+ $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
+- @sleep 1; touch obj_xref.h; sleep 1
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
diff --git a/dev-libs/openssl/files/openssl-1.0.1-x32.patch b/dev-libs/openssl/files/openssl-1.0.1-x32.patch
new file mode 100644
index 000000000000..5106cb6e82a3
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1-x32.patch
@@ -0,0 +1,79 @@
+http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=51bfed2e26fc13a66e8b5710aa2ce1d7a04af721
+
+UpstreamStatus: Pending
+
+Received from H J Liu @ Intel
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
+
+ported the patch to the 1.0.0e version
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
+Index: openssl-1.0.0e/Configure
+===================================================================
+--- openssl-1.0.0e.orig/Configure
++++ openssl-1.0.0e/Configure
+@@ -393,6 +393,7 @@ my %table=(
+ "debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32", "gcc:-DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "dist", "cc:-O::(unknown)::::::",
+
+ # Basic configs that should work on any (32 and less bit) box
+Index: openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
+===================================================================
+--- openssl-1.0.0e.orig/crypto/bn/asm/x86_64-gcc.c
++++ openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
+@@ -55,7 +55,7 @@
+ * machine.
+ */
+
+-#ifdef _WIN64
++#if defined _WIN64 || !defined __LP64__
+ #define BN_ULONG unsigned long long
+ #else
+ #define BN_ULONG unsigned long
+@@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con
+ asm (
+ " subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " adcq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " adcq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n"
+@@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con
+ asm (
+ " subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " sbbq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " sbbq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n"
+Index: openssl-1.0.0e/crypto/bn/bn.h
+===================================================================
+--- openssl-1.0.0e.orig/crypto/bn/bn.h
++++ openssl-1.0.0e/crypto/bn/bn.h
+@@ -172,6 +172,13 @@ extern "C" {
+ # endif
+ #endif
+
++/* Address type. */
++#ifdef _WIN64
++#define BN_ADDR unsigned long long
++#else
++#define BN_ADDR unsigned long
++#endif
++
+ /* assuming long is 64bit - this is the DEC Alpha
+ * unsigned long long is only 64 bits :-(, don't define
+ * BN_LLONG for the DEC Alpha */
diff --git a/dev-libs/openssl/files/openssl-1.0.1e-s_client-verify.patch b/dev-libs/openssl/files/openssl-1.0.1e-s_client-verify.patch
new file mode 100644
index 000000000000..03e4f59989cb
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1e-s_client-verify.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/472584
+http://rt.openssl.org/Ticket/Display.html?id=2387&user=guest&pass=guest
+
+fix verification handling in s_client. when loading paths, make sure
+we properly fallback to setting the default paths.
+
+--- a/apps/s_client.c
++++ b/apps/s_client.c
+@@ -899,7 +899,7 @@
+ if (!set_cert_key_stuff(ctx,cert,key))
+ goto end;
+
+- if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
++ if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) &&
+ (!SSL_CTX_set_default_verify_paths(ctx)))
+ {
+ /* BIO_printf(bio_err,"error setting default verify locations\n"); */
+
diff --git a/dev-libs/openssl/files/openssl-1.0.1f-revert-alpha-perl-generation.patch b/dev-libs/openssl/files/openssl-1.0.1f-revert-alpha-perl-generation.patch
new file mode 100644
index 000000000000..1a942d27ebd0
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1f-revert-alpha-perl-generation.patch
@@ -0,0 +1,84 @@
+https://bugs.gentoo.org/499086
+https://rt.openssl.org/Ticket/Display.html?id=3333&user=guest&pass=guest
+
+when gcc is given a .s file and told to preprocess it, it outputs nothing
+
+From a2976461784ce463fc7f336cd0dce607d21c2fad Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 25 Jan 2014 05:44:47 -0500
+Subject: [PATCH] Revert "Make Makefiles OSF-make-friendly."
+
+This reverts commit d1cf23ac86c05b22b8780e2c03b67230564d2d34.
+---
+ crypto/Makefile | 4 +---
+ crypto/bn/Makefile | 4 +---
+ crypto/evp/Makefile | 2 +-
+ crypto/modes/Makefile | 5 +----
+ crypto/sha/Makefile | 4 +---
+ util/shlib_wrap.sh | 6 +-----
+ 6 files changed, 6 insertions(+), 19 deletions(-)
+
+diff --git a/crypto/Makefile b/crypto/Makefile
+index b253f50..1de9d5f 100644
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -86,9 +86,7 @@ ia64cpuid.s: ia64cpuid.S; $(CC) $(CFLAGS) -E ia64cpuid.S > $@
+ ppccpuid.s: ppccpuid.pl; $(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
+ pariscid.s: pariscid.pl; $(PERL) pariscid.pl $(PERLASM_SCHEME) $@
+ alphacpuid.s: alphacpuid.pl
+- (preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+- $(PERL) alphacpuid.pl > $$preproc && \
+- $(CC) -E $$preproc > $@ && rm $$preproc)
++ $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+
+ subdirs:
+ @target=all; $(RECURSIVE_MAKE)
+diff --git a/crypto/bn/Makefile b/crypto/bn/Makefile
+index b62b676..6c03363 100644
+--- a/crypto/bn/Makefile
++++ b/crypto/bn/Makefile
+@@ -136,9 +136,7 @@ ppc-mont.s: asm/ppc-mont.pl;$(PERL) asm/ppc-mont.pl $(PERLASM_SCHEME) $@
+ ppc64-mont.s: asm/ppc64-mont.pl;$(PERL) asm/ppc64-mont.pl $(PERLASM_SCHEME) $@
+
+ alpha-mont.s: asm/alpha-mont.pl
+- (preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+- $(PERL) asm/alpha-mont.pl > $$preproc && \
+- $(CC) -E $$preproc > $@ && rm $$preproc)
++ $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+
+ # GNU make "catch all"
+ %-mont.S: asm/%-mont.pl; $(PERL) $< $(PERLASM_SCHEME) $@
+diff --git a/crypto/modes/Makefile b/crypto/modes/Makefile
+index ce0dcd6..88ac65e 100644
+--- a/crypto/modes/Makefile
++++ b/crypto/modes/Makefile
+@@ -55,10 +55,7 @@ aesni-gcm-x86_64.s: asm/aesni-gcm-x86_64.pl
+ ghash-sparcv9.s: asm/ghash-sparcv9.pl
+ $(PERL) asm/ghash-sparcv9.pl $@ $(CFLAGS)
+ ghash-alpha.s: asm/ghash-alpha.pl
+- (preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+- $(PERL) asm/ghash-alpha.pl > $$preproc && \
+- $(CC) -E $$preproc > $@ && rm $$preproc)
+-
++ $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+ ghash-parisc.s: asm/ghash-parisc.pl
+ $(PERL) asm/ghash-parisc.pl $(PERLASM_SCHEME) $@
+
+diff --git a/crypto/sha/Makefile b/crypto/sha/Makefile
+index 64eab6c..63fba69 100644
+--- a/crypto/sha/Makefile
++++ b/crypto/sha/Makefile
+@@ -60,9 +60,7 @@ sha256-armv4.S: asm/sha256-armv4.pl
+ $(PERL) $< $(PERLASM_SCHEME) $@
+
+ sha1-alpha.s: asm/sha1-alpha.pl
+- (preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+- $(PERL) asm/sha1-alpha.pl > $$preproc && \
+- $(CC) -E $$preproc > $@ && rm $$preproc)
++ $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+
+ # Solaris make has to be explicitly told
+ sha1-x86_64.s: asm/sha1-x86_64.pl; $(PERL) asm/sha1-x86_64.pl $(PERLASM_SCHEME) > $@
+--
+1.8.5.3
+
diff --git a/dev-libs/openssl/files/openssl-1.0.1h-ipv6.patch b/dev-libs/openssl/files/openssl-1.0.1h-ipv6.patch
new file mode 100644
index 000000000000..10c1ba222f1c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1h-ipv6.patch
@@ -0,0 +1,642 @@
+http://rt.openssl.org/Ticket/Display.html?id=2051&user=guest&pass=guest
+
+Forward ported from openssl-1.0.1e-ipv6.patch
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+
+--- openssl-1.0.1h/apps/s_apps.h
++++ openssl-1.0.1h/apps/s_apps.h
+@@ -148,7 +148,7 @@
+ #define PORT_STR "4433"
+ #define PROTOCOL "tcp"
+
+-int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
++int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context, int use_ipv4, int use_ipv6);
+ #ifdef HEADER_X509_H
+ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
+ #endif
+@@ -156,7 +156,7 @@
+ int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
+ int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key);
+ #endif
+-int init_client(int *sock, char *server, int port, int type);
++int init_client(int *sock, char *server, int port, int type, int use_ipv4, int use_ipv6);
+ int should_retry(int i);
+ int extract_port(char *str, short *port_ptr);
+ int extract_host_port(char *str,char **host_ptr,unsigned char *ip,short *p);
+--- openssl-1.0.1h/apps/s_client.c
++++ openssl-1.0.1h/apps/s_client.c
+@@ -285,6 +285,10 @@
+ {
+ BIO_printf(bio_err,"usage: s_client args\n");
+ BIO_printf(bio_err,"\n");
++ BIO_printf(bio_err," -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err," -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err," -host host - use -connect instead\n");
+ BIO_printf(bio_err," -port port - use -connect instead\n");
+ BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
+@@ -568,6 +572,7 @@
+ int sbuf_len,sbuf_off;
+ fd_set readfds,writefds;
+ short port=PORT;
++ int use_ipv4, use_ipv6;
+ int full_log=1;
+ char *host=SSL_HOST_NAME;
+ char *cert_file=NULL,*key_file=NULL;
+@@ -613,7 +618,11 @@
+ #endif
+ char *sess_in = NULL;
+ char *sess_out = NULL;
+- struct sockaddr peer;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage peer;
++#else
++ struct sockaddr_in peer;
++#endif
+ int peerlen = sizeof(peer);
+ int enable_timeouts = 0 ;
+ long socket_mtu = 0;
+@@ -628,6 +637,12 @@
+
+ meth=SSLv23_client_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
+ apps_startup();
+ c_Pause=0;
+ c_quiet=0;
+@@ -949,6 +964,18 @@
+ jpake_secret = *++argv;
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0)
++ {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0)
++ {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv,"-use_srtp") == 0)
+ {
+@@ -1260,7 +1287,7 @@
+
+ re_start:
+
+- if (init_client(&s,host,port,socket_type) == 0)
++ if (init_client(&s,host,port,socket_type,use_ipv4,use_ipv6) == 0)
+ {
+ BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
+ SHUTDOWN(s);
+@@ -1286,7 +1313,7 @@
+ {
+
+ sbio=BIO_new_dgram(s,BIO_NOCLOSE);
+- if (getsockname(s, &peer, (void *)&peerlen) < 0)
++ if (getsockname(s, (struct sockaddr *)&peer, (void *)&peerlen) < 0)
+ {
+ BIO_printf(bio_err, "getsockname:errno=%d\n",
+ get_last_socket_error());
+--- openssl-1.0.1h/apps/s_server.c
++++ openssl-1.0.1h/apps/s_server.c
+@@ -560,6 +560,10 @@
+ BIO_printf(bio_err," -use_srtp profiles - Offer SRTP key management with a colon-separated profile list\n");
+ # endif
+ #endif
++ BIO_printf(bio_err," -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err," -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err," -keymatexport label - Export keying material using label\n");
+ BIO_printf(bio_err," -keymatexportlen len - Export len bytes of keying material (default 20)\n");
+ }
+@@ -947,6 +951,7 @@
+ int state=0;
+ const SSL_METHOD *meth=NULL;
+ int socket_type=SOCK_STREAM;
++ int use_ipv4, use_ipv6;
+ ENGINE *e=NULL;
+ char *inrand=NULL;
+ int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
+@@ -975,6 +980,12 @@
+ #endif
+ meth=SSLv23_server_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
+ local_argc=argc;
+ local_argv=argv;
+
+@@ -1323,6 +1334,18 @@
+ jpake_secret = *(++argv);
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0)
++ {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0)
++ {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv,"-use_srtp") == 0)
+ {
+@@ -1881,9 +1904,9 @@
+ BIO_printf(bio_s_out,"ACCEPT\n");
+ (void)BIO_flush(bio_s_out);
+ if (www)
+- do_server(port,socket_type,&accept_socket,www_body, context);
++ do_server(port,socket_type,&accept_socket,www_body, context, use_ipv4, use_ipv6);
+ else
+- do_server(port,socket_type,&accept_socket,sv_body, context);
++ do_server(port,socket_type,&accept_socket,sv_body, context, use_ipv4, use_ipv6);
+ print_stats(bio_s_out,ctx);
+ ret=0;
+ end:
+--- openssl-1.0.1h/apps/s_socket.c
++++ openssl-1.0.1h/apps/s_socket.c
+@@ -97,16 +97,16 @@
+ #include "netdb.h"
+ #endif
+
+-static struct hostent *GetHostByName(char *name);
++static struct hostent *GetHostByName(char *name, int domain);
+ #if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
+ static void ssl_sock_cleanup(void);
+ #endif
+ static int ssl_sock_init(void);
+-static int init_client_ip(int *sock,unsigned char ip[4], int port, int type);
+-static int init_server(int *sock, int port, int type);
+-static int init_server_long(int *sock, int port,char *ip, int type);
++static int init_client_ip(int *sock,unsigned char *ip, int port, int type, int domain);
++static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6);
++static int init_server_long(int *sock, int port,char *ip, int type, int use_ipv4, int use_ipv6);
+ static int do_accept(int acc_sock, int *sock, char **host);
+-static int host_ip(char *str, unsigned char ip[4]);
++static int host_ip(char *str, unsigned char *ip, int domain);
+
+ #ifdef OPENSSL_SYS_WIN16
+ #define SOCKET_PROTOCOL 0 /* more microsoft stupidity */
+@@ -234,38 +234,68 @@
+ return(1);
+ }
+
+-int init_client(int *sock, char *host, int port, int type)
++int init_client(int *sock, char *host, int port, int type, int use_ipv4, int use_ipv6)
+ {
++#if OPENSSL_USE_IPV6
++ unsigned char ip[16];
++#else
+ unsigned char ip[4];
++#endif
+
+- memset(ip, '\0', sizeof ip);
+- if (!host_ip(host,&(ip[0])))
+- return 0;
+- return init_client_ip(sock,ip,port,type);
+- }
+-
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
+- {
+- unsigned long addr;
++ if (use_ipv4)
++ if (host_ip(host,ip,AF_INET))
++ return(init_client_ip(sock,ip,port,type,AF_INET));
++#if OPENSSL_USE_IPV6
++ if (use_ipv6)
++ if (host_ip(host,ip,AF_INET6))
++ return(init_client_ip(sock,ip,port,type,AF_INET6));
++#endif
++ return 0;
++ }
++
++static int init_client_ip(int *sock, unsigned char ip[4], int port, int type, int domain)
++ {
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage them;
++ struct sockaddr_in *them_in = (struct sockaddr_in *)&them;
++ struct sockaddr_in6 *them_in6 = (struct sockaddr_in6 *)&them;
++#else
+ struct sockaddr_in them;
++ struct sockaddr_in *them_in = &them;
++#endif
++ socklen_t addr_len;
+ int s,i;
+
+ if (!ssl_sock_init()) return(0);
+
+ memset((char *)&them,0,sizeof(them));
+- them.sin_family=AF_INET;
+- them.sin_port=htons((unsigned short)port);
+- addr=(unsigned long)
+- ((unsigned long)ip[0]<<24L)|
+- ((unsigned long)ip[1]<<16L)|
+- ((unsigned long)ip[2]<< 8L)|
+- ((unsigned long)ip[3]);
+- them.sin_addr.s_addr=htonl(addr);
++ if (domain == AF_INET)
++ {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ them_in->sin_family=AF_INET;
++ them_in->sin_port=htons((unsigned short)port);
++#ifndef BIT_FIELD_LIMITS
++ memcpy(&them_in->sin_addr.s_addr, ip, 4);
++#else
++ memcpy(&them_in->sin_addr, ip, 4);
++#endif
++ }
++ else
++#if OPENSSL_USE_IPV6
++ {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ them_in6->sin6_family=AF_INET6;
++ them_in6->sin6_port=htons((unsigned short)port);
++ memcpy(&(them_in6->sin6_addr), ip, sizeof(struct in6_addr));
++ }
++#else
++ return(0);
++#endif
+
+ if (type == SOCK_STREAM)
+- s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
++ s=socket(domain,SOCK_STREAM,SOCKET_PROTOCOL);
+ else /* ( type == SOCK_DGRAM) */
+- s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
++ s=socket(domain,SOCK_DGRAM,IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET) { perror("socket"); return(0); }
+
+@@ -277,29 +307,27 @@
+ if (i < 0) { closesocket(s); perror("keepalive"); return(0); }
+ }
+ #endif
+-
+- if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
++ if (connect(s,(struct sockaddr *)&them,addr_len) == -1)
+ { closesocket(s); perror("connect"); return(0); }
+ *sock=s;
+ return(1);
+ }
+
+-int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
++int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context, int use_ipv4, int use_ipv6)
+ {
+ int sock;
+ char *name = NULL;
+ int accept_socket = 0;
+ int i;
+
+- if (!init_server(&accept_socket,port,type)) return(0);
+-
++ if (!init_server(&accept_socket,port,type, use_ipv4, use_ipv6)) return(0);
+ if (ret != NULL)
+ {
+ *ret=accept_socket;
+ /* return(1);*/
+ }
+- for (;;)
+- {
++ for (;;)
++ {
+ if (type==SOCK_STREAM)
+ {
+ if (do_accept(accept_socket,&sock,&name) == 0)
+@@ -322,41 +350,88 @@
+ }
+ }
+
+-static int init_server_long(int *sock, int port, char *ip, int type)
++static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6)
+ {
+ int ret=0;
++ int domain;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage server;
++ struct sockaddr_in *server_in = (struct sockaddr_in *)&server;
++ struct sockaddr_in6 *server_in6 = (struct sockaddr_in6 *)&server;
++#else
+ struct sockaddr_in server;
++ struct sockaddr_in *server_in = &server;
++#endif
++ socklen_t addr_len;
+ int s= -1;
+
++ if (!use_ipv4 && !use_ipv6)
++ goto err;
++#if OPENSSL_USE_IPV6
++ /* we are fine here */
++#else
++ if (use_ipv6)
++ goto err;
++#endif
+ if (!ssl_sock_init()) return(0);
+
+- memset((char *)&server,0,sizeof(server));
+- server.sin_family=AF_INET;
+- server.sin_port=htons((unsigned short)port);
+- if (ip == NULL)
+- server.sin_addr.s_addr=INADDR_ANY;
+- else
+-/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
+-#ifndef BIT_FIELD_LIMITS
+- memcpy(&server.sin_addr.s_addr,ip,4);
++#if OPENSSL_USE_IPV6
++ domain = use_ipv6 ? AF_INET6 : AF_INET;
+ #else
+- memcpy(&server.sin_addr,ip,4);
++ domain = AF_INET;
+ #endif
+-
+- if (type == SOCK_STREAM)
+- s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
+- else /* type == SOCK_DGRAM */
+- s=socket(AF_INET, SOCK_DGRAM,IPPROTO_UDP);
++ if (type == SOCK_STREAM)
++ s=socket(domain,SOCK_STREAM,SOCKET_PROTOCOL);
++ else /* type == SOCK_DGRAM */
++ s=socket(domain, SOCK_DGRAM,IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET) goto err;
+ #if defined SOL_SOCKET && defined SO_REUSEADDR
++ {
++ int j = 1;
++ setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
++ (void *) &j, sizeof j);
++ }
++#endif
++#if OPENSSL_USE_IPV6
++ if ((use_ipv4 == 0) && (use_ipv6 == 1))
++ {
++ const int on = 1;
++
++ setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
++ (const void *) &on, sizeof(int));
++ }
++#endif
++ if (domain == AF_INET)
++ {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ memset(server_in, 0, sizeof(struct sockaddr_in));
++ server_in->sin_family=AF_INET;
++ server_in->sin_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in->sin_addr.s_addr = htonl(INADDR_ANY);
++ else
++/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
++#ifndef BIT_FIELD_LIMITS
++ memcpy(&server_in->sin_addr.s_addr, ip, 4);
++#else
++ memcpy(&server_in->sin_addr, ip, 4);
++#endif
++ }
++#if OPENSSL_USE_IPV6
++ else
+ {
+- int j = 1;
+- setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
+- (void *) &j, sizeof j);
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ memset(server_in6, 0, sizeof(struct sockaddr_in6));
++ server_in6->sin6_family = AF_INET6;
++ server_in6->sin6_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in6->sin6_addr = in6addr_any;
++ else
++ memcpy(&server_in6->sin6_addr, ip, sizeof(struct in6_addr));
+ }
+ #endif
+- if (bind(s,(struct sockaddr *)&server,sizeof(server)) == -1)
++ if (bind(s, (struct sockaddr *)&server, addr_len) == -1)
+ {
+ #ifndef OPENSSL_SYS_WINDOWS
+ perror("bind");
+@@ -375,16 +450,23 @@
+ return(ret);
+ }
+
+-static int init_server(int *sock, int port, int type)
++static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6)
+ {
+- return(init_server_long(sock, port, NULL, type));
++ return(init_server_long(sock, port, NULL, type, use_ipv4, use_ipv6));
+ }
+
+ static int do_accept(int acc_sock, int *sock, char **host)
+ {
+ int ret;
+ struct hostent *h1,*h2;
+- static struct sockaddr_in from;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage from;
++ struct sockaddr_in *from_in = (struct sockaddr_in *)&from;
++ struct sockaddr_in6 *from_in6 = (struct sockaddr_in6 *)&from;
++#else
++ struct sockaddr_in from;
++ struct sockaddr_in *from_in = &from;
++#endif
+ int len;
+ /* struct linger ling; */
+
+@@ -431,13 +513,23 @@
+ */
+
+ if (host == NULL) goto end;
++#if OPENSSL_USE_IPV6
++ if (from.ss_family == AF_INET)
++#else
++ if (from.sin_family == AF_INET)
++#endif
+ #ifndef BIT_FIELD_LIMITS
+- /* I should use WSAAsyncGetHostByName() under windows */
+- h1=gethostbyaddr((char *)&from.sin_addr.s_addr,
+- sizeof(from.sin_addr.s_addr),AF_INET);
++ /* I should use WSAAsyncGetHostByName() under windows */
++ h1=gethostbyaddr((char *)&from_in->sin_addr.s_addr,
++ sizeof(from_in->sin_addr.s_addr), AF_INET);
+ #else
+- h1=gethostbyaddr((char *)&from.sin_addr,
+- sizeof(struct in_addr),AF_INET);
++ h1=gethostbyaddr((char *)&from_in->sin_addr,
++ sizeof(struct in_addr), AF_INET);
++#endif
++#if OPENSSL_USE_IPV6
++ else
++ h1=gethostbyaddr((char *)&from_in6->sin6_addr,
++ sizeof(struct in6_addr), AF_INET6);
+ #endif
+ if (h1 == NULL)
+ {
+@@ -455,16 +547,25 @@
+ }
+ BUF_strlcpy(*host,h1->h_name,strlen(h1->h_name)+1);
+
+- h2=GetHostByName(*host);
++#if OPENSSL_USE_IPV6
++ h2=GetHostByName(*host, from.ss_family);
++#else
++ h2=GetHostByName(*host, from.sin_family);
++#endif
++
+ if (h2 == NULL)
+ {
+ BIO_printf(bio_err,"gethostbyname failure\n");
+ closesocket(ret);
+ return(0);
+ }
+- if (h2->h_addrtype != AF_INET)
++#if OPENSSL_USE_IPV6
++ if (h2->h_addrtype != from.ss_family)
++#else
++ if (h2->h_addrtype != from.sin_family)
++#endif
+ {
+- BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
++ BIO_printf(bio_err,"gethostbyname addr address is not correct\n");
+ closesocket(ret);
+ return(0);
+ }
+@@ -480,7 +581,7 @@
+ char *h,*p;
+
+ h=str;
+- p=strchr(str,':');
++ p=strrchr(str,':');
+ if (p == NULL)
+ {
+ BIO_printf(bio_err,"no port defined\n");
+@@ -488,7 +589,7 @@
+ }
+ *(p++)='\0';
+
+- if ((ip != NULL) && !host_ip(str,ip))
++ if ((ip != NULL) && !host_ip(str,ip,AF_INET))
+ goto err;
+ if (host_ptr != NULL) *host_ptr=h;
+
+@@ -499,48 +600,58 @@
+ return(0);
+ }
+
+-static int host_ip(char *str, unsigned char ip[4])
++static int host_ip(char *str, unsigned char *ip, int domain)
+ {
+- unsigned int in[4];
++ unsigned int in[4];
++ unsigned long l;
+ int i;
+
+- if (sscanf(str,"%u.%u.%u.%u",&(in[0]),&(in[1]),&(in[2]),&(in[3])) == 4)
++ if ((domain == AF_INET) &&
++ (sscanf(str,"%u.%u.%u.%u",&(in[0]),&(in[1]),&(in[2]),&(in[3])) == 4))
+ {
++
+ for (i=0; i<4; i++)
+ if (in[i] > 255)
+ {
+ BIO_printf(bio_err,"invalid IP address\n");
+ goto err;
+ }
+- ip[0]=in[0];
+- ip[1]=in[1];
+- ip[2]=in[2];
+- ip[3]=in[3];
+- }
++ l=htonl((in[0]<<24L)|(in[1]<<16L)|(in[2]<<8L)|in[3]);
++ memcpy(ip, &l, 4);
++ return 1;
++ }
++#if OPENSSL_USE_IPV6
++ else if ((domain == AF_INET6) &&
++ (inet_pton(AF_INET6, str, ip) == 1))
++ return 1;
++#endif
+ else
+ { /* do a gethostbyname */
+ struct hostent *he;
+
+ if (!ssl_sock_init()) return(0);
+
+- he=GetHostByName(str);
++ he=GetHostByName(str,domain);
+ if (he == NULL)
+ {
+ BIO_printf(bio_err,"gethostbyname failure\n");
+ goto err;
+ }
+ /* cast to short because of win16 winsock definition */
+- if ((short)he->h_addrtype != AF_INET)
++ if ((short)he->h_addrtype != domain)
+ {
+- BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
++ BIO_printf(bio_err,"gethostbyname addr family is not correct\n");
+ return(0);
+ }
+- ip[0]=he->h_addr_list[0][0];
+- ip[1]=he->h_addr_list[0][1];
+- ip[2]=he->h_addr_list[0][2];
+- ip[3]=he->h_addr_list[0][3];
++ if (domain == AF_INET)
++ memset(ip, 0, 4);
++#if OPENSSL_USE_IPV6
++ else
++ memset(ip, 0, 16);
++#endif
++ memcpy(ip, he->h_addr_list[0], he->h_length);
++ return 1;
+ }
+- return(1);
+ err:
+ return(0);
+ }
+@@ -577,7 +688,7 @@
+ static unsigned long ghbn_hits=0L;
+ static unsigned long ghbn_miss=0L;
+
+-static struct hostent *GetHostByName(char *name)
++static struct hostent *GetHostByName(char *name, int domain)
+ {
+ struct hostent *ret;
+ int i,lowi=0;
+@@ -592,14 +703,20 @@
+ }
+ if (ghbn_cache[i].order > 0)
+ {
+- if (strncmp(name,ghbn_cache[i].name,128) == 0)
++ if ((strncmp(name,ghbn_cache[i].name,128) == 0) &&
++ (ghbn_cache[i].ent.h_addrtype == domain))
+ break;
+ }
+ }
+ if (i == GHBN_NUM) /* no hit*/
+ {
+ ghbn_miss++;
+- ret=gethostbyname(name);
++ if (domain == AF_INET)
++ ret=gethostbyname(name);
++#if OPENSSL_USE_IPV6
++ else
++ ret=gethostbyname2(name, AF_INET6);
++#endif
+ if (ret == NULL) return(NULL);
+ /* else add to cache */
+ if(strlen(name) < sizeof ghbn_cache[0].name)
diff --git a/dev-libs/openssl/files/openssl-1.0.1l-CVE-2015-0286.patch b/dev-libs/openssl/files/openssl-1.0.1l-CVE-2015-0286.patch
new file mode 100644
index 000000000000..811f573a1107
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1l-CVE-2015-0286.patch
@@ -0,0 +1,356 @@
+--- openssl-1.0.1l/crypto/asn1/a_type.c
++++ openssl-1.0.1l/crypto/asn1/a_type.c
+@@ -124,6 +124,9 @@
+ case V_ASN1_OBJECT:
+ result = OBJ_cmp(a->value.object, b->value.object);
+ break;
++ case V_ASN1_BOOLEAN:
++ result = a->value.boolean - b->value.boolean;
++ break;
+ case V_ASN1_NULL:
+ result = 0; /* They do not have content. */
+ break;
+--- openssl-1.0.1l/crypto/asn1/tasn_dec.c
++++ openssl-1.0.1l/crypto/asn1/tasn_dec.c
+@@ -130,11 +130,17 @@
+ {
+ ASN1_TLC c;
+ ASN1_VALUE *ptmpval = NULL;
+- if (!pval)
+- pval = &ptmpval;
+ asn1_tlc_clear_nc(&c);
+- if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0)
+- return *pval;
++ if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE)
++ ptmpval = *pval;
++ if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) {
++ if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) {
++ if (*pval)
++ ASN1_item_free(*pval, it);
++ *pval = ptmpval;
++ }
++ return ptmpval;
++ }
+ return NULL;
+ }
+
+@@ -311,9 +317,16 @@
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
+ goto auxerr;
+
+- /* Allocate structure */
+- if (!*pval && !ASN1_item_ex_new(pval, it))
+- {
++ if (*pval) {
++ /* Free up and zero CHOICE value if initialised */
++ i = asn1_get_choice_selector(pval, it);
++ if ((i >= 0) && (i < it->tcount)) {
++ tt = it->templates + i;
++ pchptr = asn1_get_field_ptr(pval, tt);
++ ASN1_template_free(pchptr, tt);
++ asn1_set_choice_selector(pval, -1, it);
++ }
++ } else if (!ASN1_item_ex_new(pval, it)) {
+ ASN1err(ASN1_F_ASN1_ITEM_EX_D2I,
+ ERR_R_NESTED_ASN1_ERROR);
+ goto err;
+@@ -407,6 +420,17 @@
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
+ goto auxerr;
+
++ /* Free up and zero any ADB found */
++ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
++ if (tt->flags & ASN1_TFLG_ADB_MASK) {
++ const ASN1_TEMPLATE *seqtt;
++ ASN1_VALUE **pseqval;
++ seqtt = asn1_do_adb(pval, tt, 1);
++ pseqval = asn1_get_field_ptr(pval, seqtt);
++ ASN1_template_free(pseqval, seqtt);
++ }
++ }
++
+ /* Get each field entry */
+ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++)
+ {
+--- openssl-1.0.1l/crypto/pkcs7/pk7_doit.c
++++ openssl-1.0.1l/crypto/pkcs7/pk7_doit.c
+@@ -272,6 +272,25 @@
+ PKCS7_RECIP_INFO *ri=NULL;
+ ASN1_OCTET_STRING *os=NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++ /*
++ * The content field in the PKCS7 ContentInfo is optional, but that really
++ * only applies to inner content (precisely, detached signatures).
++ *
++ * When reading content, missing outer content is therefore treated as an
++ * error.
++ *
++ * When creating content, PKCS7_content_new() must be called before
++ * calling this method, so a NULL p7->d is always an error.
++ */
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+
+@@ -433,6 +452,16 @@
+ unsigned char *ek = NULL, *tkey = NULL;
+ int eklen = 0, tkeylen = 0;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+
+@@ -752,6 +781,16 @@
+ STACK_OF(PKCS7_SIGNER_INFO) *si_sk=NULL;
+ ASN1_OCTET_STRING *os=NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ EVP_MD_CTX_init(&ctx_tmp);
+ i=OBJ_obj2nid(p7->type);
+ p7->state=PKCS7_S_HEADER;
+@@ -796,6 +835,7 @@
+ /* If detached data then the content is excluded */
+ if(PKCS7_type_is_data(p7->d.sign->contents) && p7->detached) {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.sign->contents->d.data = NULL;
+ }
+ break;
+@@ -806,6 +846,7 @@
+ if(PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
+ {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.digest->contents->d.data = NULL;
+ }
+ break;
+@@ -878,24 +919,31 @@
+ M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
+ }
+
+- if (!PKCS7_is_detached(p7) && !(os->flags & ASN1_STRING_FLAG_NDEF))
+- {
++ if (!PKCS7_is_detached(p7)) {
++ /*
++ * NOTE(emilia): I think we only reach os == NULL here because detached
++ * digested data support is broken.
++ */
++ if (os == NULL)
++ goto err;
++ if (!(os->flags & ASN1_STRING_FLAG_NDEF)) {
+ char *cont;
+ long contlen;
+- btmp=BIO_find_type(bio,BIO_TYPE_MEM);
+- if (btmp == NULL)
+- {
+- PKCS7err(PKCS7_F_PKCS7_DATAFINAL,PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
+- goto err;
+- }
++ btmp = BIO_find_type(bio, BIO_TYPE_MEM);
++ if (btmp == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
++ goto err;
++ }
+ contlen = BIO_get_mem_data(btmp, &cont);
+- /* Mark the BIO read only then we can use its copy of the data
++ /*
++ * Mark the BIO read only then we can use its copy of the data
+ * instead of making an extra copy.
+ */
+ BIO_set_flags(btmp, BIO_FLAGS_MEM_RDONLY);
+ BIO_set_mem_eof_return(btmp, 0);
+ ASN1_STRING_set0(os, (unsigned char *)cont, contlen);
+- }
++ }
++ }
+ ret=1;
+ err:
+ EVP_MD_CTX_cleanup(&ctx_tmp);
+@@ -971,6 +1019,16 @@
+ STACK_OF(X509) *cert;
+ X509 *x509;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ if (PKCS7_type_is_signed(p7))
+ {
+ cert=p7->d.sign->cert;
+--- openssl-1.0.1l/crypto/pkcs7/pk7_lib.c
++++ openssl-1.0.1l/crypto/pkcs7/pk7_lib.c
+@@ -71,6 +71,7 @@
+
+ switch (cmd)
+ {
++ /* NOTE(emilia): does not support detached digested data. */
+ case PKCS7_OP_SET_DETACHED_SIGNATURE:
+ if (nid == NID_pkcs7_signed)
+ {
+@@ -459,6 +460,8 @@
+
+ STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7)
+ {
++ if (p7 == NULL || p7->d.ptr == NULL)
++ return NULL;
+ if (PKCS7_type_is_signed(p7))
+ {
+ return(p7->d.sign->signer_info);
+--- openssl-1.0.1l/doc/crypto/d2i_X509.pod
++++ openssl-1.0.1l/doc/crypto/d2i_X509.pod
+@@ -199,6 +199,12 @@
+ persist if they are not present in the new one. As a result the use
+ of this "reuse" behaviour is strongly discouraged.
+
++Current versions of OpenSSL will not modify B<*px> if an error occurs.
++If parsing succeeds then B<*px> is freed (if it is not NULL) and then
++set to the value of the newly decoded structure. As a result B<*px>
++B<must not> be allocated on the stack or an attempt will be made to
++free an invalid pointer.
++
+ i2d_X509() will not return an error in many versions of OpenSSL,
+ if mandatory fields are not initialized due to a programming error
+ then the encoded structure may contain invalid data or omit the
+@@ -210,7 +216,9 @@
+
+ d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> structure
+ or B<NULL> if an error occurs. The error code that can be obtained by
+-L<ERR_get_error(3)|ERR_get_error(3)>.
++L<ERR_get_error(3)|ERR_get_error(3)>. If the "reuse" capability has been used
++with a valid X509 structure being passed in via B<px> then the object is not
++modified in the event of error.
+
+ i2d_X509() returns the number of bytes successfully encoded or a negative
+ value if an error occurs. The error code can be obtained by
+--- openssl-1.0.1l/ssl/s2_lib.c
++++ openssl-1.0.1l/ssl/s2_lib.c
+@@ -488,7 +488,7 @@
+
+ OPENSSL_assert(s->session->master_key_length >= 0
+ && s->session->master_key_length
+- < (int)sizeof(s->session->master_key));
++ <= (int)sizeof(s->session->master_key));
+ EVP_DigestUpdate(&ctx,s->session->master_key,s->session->master_key_length);
+ EVP_DigestUpdate(&ctx,&c,1);
+ c++;
+--- openssl-1.0.1l/ssl/s2_srvr.c
++++ openssl-1.0.1l/ssl/s2_srvr.c
+@@ -454,10 +454,6 @@
+ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_NO_PRIVATEKEY);
+ return(-1);
+ }
+- i=ssl_rsa_private_decrypt(s->cert,s->s2->tmp.enc,
+- &(p[s->s2->tmp.clear]),&(p[s->s2->tmp.clear]),
+- (s->s2->ssl2_rollback)?RSA_SSLV23_PADDING:RSA_PKCS1_PADDING);
+-
+ is_export=SSL_C_IS_EXPORT(s->session->cipher);
+
+ if (!ssl_cipher_get_evp(s->session,&c,&md,NULL,NULL,NULL))
+@@ -475,21 +471,59 @@
+ else
+ ek=5;
+
++ /*
++ * The format of the CLIENT-MASTER-KEY message is
++ * 1 byte message type
++ * 3 bytes cipher
++ * 2-byte clear key length (stored in s->s2->tmp.clear)
++ * 2-byte encrypted key length (stored in s->s2->tmp.enc)
++ * 2-byte key args length (IV etc)
++ * clear key
++ * encrypted key
++ * key args
++ *
++ * If the cipher is an export cipher, then the encrypted key bytes
++ * are a fixed portion of the total key (5 or 8 bytes). The size of
++ * this portion is in |ek|. If the cipher is not an export cipher,
++ * then the entire key material is encrypted (i.e., clear key length
++ * must be zero).
++ */
++ if ((!is_export && s->s2->tmp.clear != 0) ||
++ (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH);
++ return -1;
++ }
++ /*
++ * The encrypted blob must decrypt to the encrypted portion of the key.
++ * Decryption can't be expanding, so if we don't have enough encrypted
++ * bytes to fit the key in the buffer, stop now.
++ */
++ if ((is_export && s->s2->tmp.enc < ek) ||
++ (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT);
++ return -1;
++ }
++
++ i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
++ &(p[s->s2->tmp.clear]),
++ &(p[s->s2->tmp.clear]),
++ (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
++ RSA_PKCS1_PADDING);
++
+ /* bad decrypt */
+ #if 1
+ /* If a bad decrypt, continue with protocol but with a
+ * random master secret (Bleichenbacher attack) */
+- if ((i < 0) ||
+- ((!is_export && (i != EVP_CIPHER_key_length(c)))
+- || (is_export && ((i != ek) || (s->s2->tmp.clear+(unsigned int)i !=
+- (unsigned int)EVP_CIPHER_key_length(c))))))
+- {
++ if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c))
++ || (is_export && i != ek))) {
+ ERR_clear_error();
+ if (is_export)
+ i=ek;
+ else
+ i=EVP_CIPHER_key_length(c);
+- if (RAND_pseudo_bytes(p,i) <= 0)
++ if (RAND_pseudo_bytes(&p[s->s2->tmp.clear], i) <= 0)
+ return 0;
+ }
+ #else
+@@ -513,7 +547,8 @@
+ }
+ #endif
+
+- if (is_export) i+=s->s2->tmp.clear;
++ if (is_export)
++ i = EVP_CIPHER_key_length(c);
+
+ if (i > SSL_MAX_MASTER_KEY_LENGTH)
+ {
diff --git a/dev-libs/openssl/files/openssl-1.0.1m-ipv6.patch b/dev-libs/openssl/files/openssl-1.0.1m-ipv6.patch
new file mode 100644
index 000000000000..34a7e53c08ca
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1m-ipv6.patch
@@ -0,0 +1,618 @@
+http://rt.openssl.org/Ticket/Display.html?id=2051&user=guest&pass=guest
+
+Forward ported from openssl-1.0.1h-ipv6.patch
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+
+--- openssl-1.0.1m/apps/s_apps.h
++++ openssl-1.0.1m/apps/s_apps.h
+@@ -153,7 +153,7 @@ typedef fd_mask fd_set;
+
+ int do_server(int port, int type, int *ret,
+ int (*cb) (char *hostname, int s, unsigned char *context),
+- unsigned char *context);
++ unsigned char *context, int use_ipv4, int use_ipv6);
+ #ifdef HEADER_X509_H
+ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
+ #endif
+@@ -161,7 +161,8 @@ int MS_CALLBACK verify_callback(int ok,
+ int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
+ int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key);
+ #endif
+-int init_client(int *sock, char *server, int port, int type);
++int init_client(int *sock, char *server, int port, int type,
++ int use_ipv4, int use_ipv6);
+ int should_retry(int i);
+ int extract_port(char *str, short *port_ptr);
+ int extract_host_port(char *str, char **host_ptr, unsigned char *ip,
+--- openssl-1.0.1m/apps/s_client.c
++++ openssl-1.0.1m/apps/s_client.c
+@@ -299,6 +299,10 @@ static void sc_usage(void)
+ {
+ BIO_printf(bio_err, "usage: s_client args\n");
+ BIO_printf(bio_err, "\n");
++ BIO_printf(bio_err," -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err," -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err, " -host host - use -connect instead\n");
+ BIO_printf(bio_err, " -port port - use -connect instead\n");
+ BIO_printf(bio_err,
+@@ -629,6 +633,7 @@ int MAIN(int argc, char **argv)
+ int sbuf_len, sbuf_off;
+ fd_set readfds, writefds;
+ short port = PORT;
++ int use_ipv4, use_ipv6;
+ int full_log = 1;
+ char *host = SSL_HOST_NAME;
+ char *cert_file = NULL, *key_file = NULL;
+@@ -673,7 +678,11 @@ int MAIN(int argc, char **argv)
+ #endif
+ char *sess_in = NULL;
+ char *sess_out = NULL;
+- struct sockaddr peer;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage peer;
++#else
++ struct sockaddr_in peer;
++#endif
+ int peerlen = sizeof(peer);
+ int fallback_scsv = 0;
+ int enable_timeouts = 0;
+@@ -689,6 +698,13 @@ int MAIN(int argc, char **argv)
+
+ meth = SSLv23_client_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
++
+ apps_startup();
+ c_Pause = 0;
+ c_quiet = 0;
+@@ -985,6 +1001,16 @@ int MAIN(int argc, char **argv)
+ jpake_secret = *++argv;
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0) {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0) {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv, "-use_srtp") == 0) {
+ if (--argc < 1)
+@@ -1256,7 +1282,7 @@ int MAIN(int argc, char **argv)
+
+ re_start:
+
+- if (init_client(&s, host, port, socket_type) == 0) {
++ if (init_client(&s, host, port, socket_type, use_ipv4, use_ipv6) == 0) {
+ BIO_printf(bio_err, "connect:errno=%d\n", get_last_socket_error());
+ SHUTDOWN(s);
+ goto end;
+@@ -1279,7 +1305,7 @@ int MAIN(int argc, char **argv)
+ if (SSL_version(con) == DTLS1_VERSION) {
+
+ sbio = BIO_new_dgram(s, BIO_NOCLOSE);
+- if (getsockname(s, &peer, (void *)&peerlen) < 0) {
++ if (getsockname(s, (struct sockaddr *)&peer, (void *)&peerlen) < 0) {
+ BIO_printf(bio_err, "getsockname:errno=%d\n",
+ get_last_socket_error());
+ SHUTDOWN(s);
+--- openssl-1.0.1m/apps/s_server.c
++++ openssl-1.0.1m/apps/s_server.c
+@@ -609,6 +609,10 @@ static void sv_usage(void)
+ " -use_srtp profiles - Offer SRTP key management with a colon-separated profile list\n");
+ # endif
+ #endif
++ BIO_printf(bio_err," -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err," -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err,
+ " -keymatexport label - Export keying material using label\n");
+ BIO_printf(bio_err,
+@@ -1003,6 +1007,7 @@ int MAIN(int argc, char *argv[])
+ int state = 0;
+ const SSL_METHOD *meth = NULL;
+ int socket_type = SOCK_STREAM;
++ int use_ipv4, use_ipv6;
+ ENGINE *e = NULL;
+ char *inrand = NULL;
+ int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
+@@ -1031,6 +1036,13 @@ int MAIN(int argc, char *argv[])
+ #endif
+ meth = SSLv23_server_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
++
+ local_argc = argc;
+ local_argv = argv;
+
+@@ -1356,6 +1368,16 @@ int MAIN(int argc, char *argv[])
+ jpake_secret = *(++argv);
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0) {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0) {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv, "-use_srtp") == 0) {
+ if (--argc < 1)
+@@ -1850,9 +1872,11 @@ int MAIN(int argc, char *argv[])
+ BIO_printf(bio_s_out, "ACCEPT\n");
+ (void)BIO_flush(bio_s_out);
+ if (www)
+- do_server(port, socket_type, &accept_socket, www_body, context);
++ do_server(port, socket_type, &accept_socket, www_body, context,
++ use_ipv4, use_ipv6);
+ else
+- do_server(port, socket_type, &accept_socket, sv_body, context);
++ do_server(port, socket_type, &accept_socket, sv_body, context,
++ use_ipv4, use_ipv6);
+ print_stats(bio_s_out, ctx);
+ ret = 0;
+ end:
+--- openssl-1.0.1m/apps/s_socket.c
++++ openssl-1.0.1m/apps/s_socket.c
+@@ -101,16 +101,16 @@ typedef unsigned int u_int;
+ # include "netdb.h"
+ # endif
+
+-static struct hostent *GetHostByName(char *name);
++static struct hostent *GetHostByName(char *name, int domain);
+ # if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
+ static void ssl_sock_cleanup(void);
+ # endif
+ static int ssl_sock_init(void);
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type);
+-static int init_server(int *sock, int port, int type);
+-static int init_server_long(int *sock, int port, char *ip, int type);
++static int init_client_ip(int *sock, unsigned char *ip, int port, int type, int domain);
++static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6);
++static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6);
+ static int do_accept(int acc_sock, int *sock, char **host);
+-static int host_ip(char *str, unsigned char ip[4]);
++static int host_ip(char *str, unsigned char *ip, int domain);
+
+ # ifdef OPENSSL_SYS_WIN16
+ # define SOCKET_PROTOCOL 0 /* more microsoft stupidity */
+@@ -231,38 +231,66 @@ static int ssl_sock_init(void)
+ return (1);
+ }
+
+-int init_client(int *sock, char *host, int port, int type)
++int init_client(int *sock, char *host, int port, int type, int use_ipv4, int use_ipv6)
+ {
++#if OPENSSL_USE_IPV6
++ unsigned char ip[16];
++#else
+ unsigned char ip[4];
++#endif
+
+- memset(ip, '\0', sizeof ip);
+- if (!host_ip(host, &(ip[0])))
+- return 0;
+- return init_client_ip(sock, ip, port, type);
+-}
+-
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
+-{
+- unsigned long addr;
++ if (use_ipv4)
++ if (host_ip(host,ip,AF_INET))
++ return(init_client_ip(sock,ip,port,type,AF_INET));
++#if OPENSSL_USE_IPV6
++ if (use_ipv6)
++ if (host_ip(host,ip,AF_INET6))
++ return(init_client_ip(sock,ip,port,type,AF_INET6));
++#endif
++ return 0;
++}
++
++static int init_client_ip(int *sock, unsigned char ip[4], int port, int type, int domain)
++{
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage them;
++ struct sockaddr_in *them_in = (struct sockaddr_in *)&them;
++ struct sockaddr_in6 *them_in6 = (struct sockaddr_in6 *)&them;
++#else
+ struct sockaddr_in them;
++ struct sockaddr_in *them_in = &them;
++#endif
++ socklen_t addr_len;
+ int s, i;
+
+ if (!ssl_sock_init())
+ return (0);
+
+ memset((char *)&them, 0, sizeof(them));
+- them.sin_family = AF_INET;
+- them.sin_port = htons((unsigned short)port);
+- addr = (unsigned long)
+- ((unsigned long)ip[0] << 24L) |
+- ((unsigned long)ip[1] << 16L) |
+- ((unsigned long)ip[2] << 8L) | ((unsigned long)ip[3]);
+- them.sin_addr.s_addr = htonl(addr);
++ if (domain == AF_INET) {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ them_in->sin_family=AF_INET;
++ them_in->sin_port=htons((unsigned short)port);
++#ifndef BIT_FIELD_LIMITS
++ memcpy(&them_in->sin_addr.s_addr, ip, 4);
++#else
++ memcpy(&them_in->sin_addr, ip, 4);
++#endif
++ } else {
++#if OPENSSL_USE_IPV6
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ them_in6->sin6_family=AF_INET6;
++ them_in6->sin6_port=htons((unsigned short)port);
++ memcpy(&(them_in6->sin6_addr), ip, sizeof(struct in6_addr));
++ }
++#else
++ return(0);
++#endif
+
+ if (type == SOCK_STREAM)
+- s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
++ s = socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
+ else /* ( type == SOCK_DGRAM) */
+- s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
++ s = socket(domain, SOCK_DGRAM, IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET) {
+ perror("socket");
+@@ -280,7 +308,7 @@ static int init_client_ip(int *sock, uns
+ }
+ # endif
+
+- if (connect(s, (struct sockaddr *)&them, sizeof(them)) == -1) {
++ if (connect(s, (struct sockaddr *)&them, addr_len) == -1) {
+ closesocket(s);
+ perror("connect");
+ return (0);
+@@ -291,14 +319,14 @@ static int init_client_ip(int *sock, uns
+
+ int do_server(int port, int type, int *ret,
+ int (*cb) (char *hostname, int s, unsigned char *context),
+- unsigned char *context)
++ unsigned char *context, int use_ipv4, int use_ipv6)
+ {
+ int sock;
+ char *name = NULL;
+ int accept_socket = 0;
+ int i;
+
+- if (!init_server(&accept_socket, port, type))
++ if (!init_server(&accept_socket, port, type, use_ipv4, use_ipv6))
+ return (0);
+
+ if (ret != NULL) {
+@@ -325,32 +353,45 @@ int do_server(int port, int type, int *r
+ }
+ }
+
+-static int init_server_long(int *sock, int port, char *ip, int type)
++static int init_server_long(int *sock, int port, char *ip, int type,
++ int use_ipv4, int use_ipv6)
+ {
+ int ret = 0;
++ int domain;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage server;
++ struct sockaddr_in *server_in = (struct sockaddr_in *)&server;
++ struct sockaddr_in6 *server_in6 = (struct sockaddr_in6 *)&server;
++#else
+ struct sockaddr_in server;
++ struct sockaddr_in *server_in = &server;
++#endif
++ socklen_t addr_len;
+ int s = -1;
+
++ if (!use_ipv4 && !use_ipv6)
++ goto err;
++#if OPENSSL_USE_IPV6
++ /*
++ * we are fine here
++ */
++#else
++ if (use_ipv6)
++ goto err;
++#endif
+ if (!ssl_sock_init())
+ return (0);
+
+- memset((char *)&server, 0, sizeof(server));
+- server.sin_family = AF_INET;
+- server.sin_port = htons((unsigned short)port);
+- if (ip == NULL)
+- server.sin_addr.s_addr = INADDR_ANY;
+- else
+-/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
+-# ifndef BIT_FIELD_LIMITS
+- memcpy(&server.sin_addr.s_addr, ip, 4);
++#if OPENSSL_USE_IPV6
++ domain = use_ipv6 ? AF_INET6 : AF_INET;
+ # else
+- memcpy(&server.sin_addr, ip, 4);
++ domain = AF_INET;
+ # endif
+
+ if (type == SOCK_STREAM)
+- s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
++ s = socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
+ else /* type == SOCK_DGRAM */
+- s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
++ s = socket(domain, SOCK_DGRAM, IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET)
+ goto err;
+@@ -360,7 +401,44 @@ static int init_server_long(int *sock, i
+ setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)&j, sizeof j);
+ }
+ # endif
+- if (bind(s, (struct sockaddr *)&server, sizeof(server)) == -1) {
++#if OPENSSL_USE_IPV6
++ if ((use_ipv4 == 0) && (use_ipv6 == 1)) {
++ const int on = 1;
++
++ setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
++ (const void *) &on, sizeof(int));
++ }
++#endif
++ if (domain == AF_INET) {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ memset(server_in, 0, sizeof(struct sockaddr_in));
++ server_in->sin_family=AF_INET;
++ server_in->sin_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in->sin_addr.s_addr = htonl(INADDR_ANY);
++ else
++/*
++ * Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov)
++ */
++#ifndef BIT_FIELD_LIMITS
++ memcpy(&server_in->sin_addr.s_addr, ip, 4);
++#else
++ memcpy(&server_in->sin_addr, ip, 4);
++#endif
++ }
++#if OPENSSL_USE_IPV6
++ else {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ memset(server_in6, 0, sizeof(struct sockaddr_in6));
++ server_in6->sin6_family = AF_INET6;
++ server_in6->sin6_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in6->sin6_addr = in6addr_any;
++ else
++ memcpy(&server_in6->sin6_addr, ip, sizeof(struct in6_addr));
++ }
++#endif
++ if (bind(s, (struct sockaddr *)&server, addr_len) == -1) {
+ # ifndef OPENSSL_SYS_WINDOWS
+ perror("bind");
+ # endif
+@@ -378,16 +456,24 @@ static int init_server_long(int *sock, i
+ return (ret);
+ }
+
+-static int init_server(int *sock, int port, int type)
++static int init_server(int *sock, int port, int type,
++ int use_ipv4, int use_ipv6)
+ {
+- return (init_server_long(sock, port, NULL, type));
++ return (init_server_long(sock, port, NULL, type, use_ipv4, use_ipv6));
+ }
+
+ static int do_accept(int acc_sock, int *sock, char **host)
+ {
+ int ret;
+ struct hostent *h1, *h2;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage from;
++ struct sockaddr_in *from_in = (struct sockaddr_in *)&from;
++ struct sockaddr_in6 *from_in6 = (struct sockaddr_in6 *)&from;
++#else
+ static struct sockaddr_in from;
++ struct sockaddr_in *from_in = &from;
++#endif
+ int len;
+ /* struct linger ling; */
+
+@@ -437,14 +523,24 @@ static int do_accept(int acc_sock, int *
+
+ if (host == NULL)
+ goto end;
++#if OPENSSL_USE_IPV6
++ if (from.ss_family == AF_INET)
++#else
++ if (from.sin_family == AF_INET)
++#endif
+ # ifndef BIT_FIELD_LIMITS
+ /* I should use WSAAsyncGetHostByName() under windows */
+- h1 = gethostbyaddr((char *)&from.sin_addr.s_addr,
+- sizeof(from.sin_addr.s_addr), AF_INET);
++ h1 = gethostbyaddr((char *)&from_in->sin_addr.s_addr,
++ sizeof(from_in->sin_addr.s_addr), AF_INET);
+ # else
+- h1 = gethostbyaddr((char *)&from.sin_addr,
++ h1 = gethostbyaddr((char *)&from_in->sin_addr,
+ sizeof(struct in_addr), AF_INET);
+ # endif
++#if OPENSSL_USE_IPV6
++ else
++ h1 = gethostbyaddr((char *)&from_in6->sin6_addr,
++ sizeof(struct in6_addr), AF_INET6);
++#endif
+ if (h1 == NULL) {
+ BIO_printf(bio_err, "bad gethostbyaddr\n");
+ *host = NULL;
+@@ -457,14 +553,23 @@ static int do_accept(int acc_sock, int *
+ }
+ BUF_strlcpy(*host, h1->h_name, strlen(h1->h_name) + 1);
+
+- h2 = GetHostByName(*host);
++#if OPENSSL_USE_IPV6
++ h2 = GetHostByName(*host, from.ss_family);
++#else
++ h2 = GetHostByName(*host, from.sin_family);
++#endif
++
+ if (h2 == NULL) {
+ BIO_printf(bio_err, "gethostbyname failure\n");
+ closesocket(ret);
+ return (0);
+ }
+- if (h2->h_addrtype != AF_INET) {
+- BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
++#if OPENSSL_USE_IPV6
++ if (h2->h_addrtype != from.ss_family) {
++#else
++ if (h2->h_addrtype != from.sin_family) {
++#endif
++ BIO_printf(bio_err, "gethostbyname addr address is not correct\n");
+ closesocket(ret);
+ return (0);
+ }
+@@ -480,14 +585,14 @@ int extract_host_port(char *str, char **
+ char *h, *p;
+
+ h = str;
+- p = strchr(str, ':');
++ p = strrchr(str, ':');
+ if (p == NULL) {
+ BIO_printf(bio_err, "no port defined\n");
+ return (0);
+ }
+ *(p++) = '\0';
+
+- if ((ip != NULL) && !host_ip(str, ip))
++ if ((ip != NULL) && !host_ip(str, ip, AF_INET))
+ goto err;
+ if (host_ptr != NULL)
+ *host_ptr = h;
+@@ -499,44 +604,54 @@ int extract_host_port(char *str, char **
+ return (0);
+ }
+
+-static int host_ip(char *str, unsigned char ip[4])
++static int host_ip(char *str, unsigned char *ip, int domain)
+ {
+ unsigned int in[4];
++ unsigned long l;
+ int i;
+
+- if (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) ==
+- 4) {
++ if ((domain == AF_INET) &&
++ (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) ==
++ 4)) {
+ for (i = 0; i < 4; i++)
+ if (in[i] > 255) {
+ BIO_printf(bio_err, "invalid IP address\n");
+ goto err;
+ }
+- ip[0] = in[0];
+- ip[1] = in[1];
+- ip[2] = in[2];
+- ip[3] = in[3];
+- } else { /* do a gethostbyname */
++ l=htonl((in[0]<<24L)|(in[1]<<16L)|(in[2]<<8L)|in[3]);
++ memcpy(ip, &l, 4);
++ return 1;
++ }
++#if OPENSSL_USE_IPV6
++ else if ((domain == AF_INET6) &&
++ (inet_pton(AF_INET6, str, ip) == 1))
++ return 1;
++#endif
++ else { /* do a gethostbyname */
+ struct hostent *he;
+
+ if (!ssl_sock_init())
+ return (0);
+
+- he = GetHostByName(str);
++ he = GetHostByName(str, domain);
+ if (he == NULL) {
+ BIO_printf(bio_err, "gethostbyname failure\n");
+ goto err;
+ }
+ /* cast to short because of win16 winsock definition */
+- if ((short)he->h_addrtype != AF_INET) {
+- BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
++ if ((short)he->h_addrtype != domain) {
++ BIO_printf(bio_err, "gethostbyname addr family is not correct\n");
+ return (0);
+ }
+- ip[0] = he->h_addr_list[0][0];
+- ip[1] = he->h_addr_list[0][1];
+- ip[2] = he->h_addr_list[0][2];
+- ip[3] = he->h_addr_list[0][3];
++ if (domain == AF_INET)
++ memset(ip, 0, 4);
++#if OPENSSL_USE_IPV6
++ else
++ memset(ip, 0, 16);
++#endif
++ memcpy(ip, he->h_addr_list[0], he->h_length);
++ return 1;
+ }
+- return (1);
+ err:
+ return (0);
+ }
+@@ -570,7 +685,7 @@ static struct ghbn_cache_st {
+ static unsigned long ghbn_hits = 0L;
+ static unsigned long ghbn_miss = 0L;
+
+-static struct hostent *GetHostByName(char *name)
++static struct hostent *GetHostByName(char *name, int domain)
+ {
+ struct hostent *ret;
+ int i, lowi = 0;
+@@ -582,13 +697,19 @@ static struct hostent *GetHostByName(cha
+ lowi = i;
+ }
+ if (ghbn_cache[i].order > 0) {
+- if (strncmp(name, ghbn_cache[i].name, 128) == 0)
++ if ((strncmp(name, ghbn_cache[i].name, 128) == 0) &&
++ (ghbn_cache[i].ent.h_addrtype == domain))
+ break;
+ }
+ }
+ if (i == GHBN_NUM) { /* no hit */
+ ghbn_miss++;
+- ret = gethostbyname(name);
++ if (domain == AF_INET)
++ ret = gethostbyname(name);
++#if OPENSSL_USE_IPV6
++ else
++ ret=gethostbyname2(name, AF_INET6);
++#endif
+ if (ret == NULL)
+ return (NULL);
+ /* else add to cache */
diff --git a/dev-libs/openssl/files/openssl-1.0.1m-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.1m-parallel-build.patch
new file mode 100644
index 000000000000..db92b79f6ae8
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1m-parallel-build.patch
@@ -0,0 +1,364 @@
+http://rt.openssl.org/Ticket/Display.html?id=2084
+
+--- openssl-1.0.1m/crypto/Makefile
++++ openssl-1.0.1m/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ [ -z "$(FIPSLIBDIR)" ] || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
+ $(RANLIB) $(LIB) || echo Never mind.
+@@ -111,7 +111,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -120,7 +120,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- openssl-1.0.1m/crypto/objects/Makefile
++++ openssl-1.0.1m/crypto/objects/Makefile
+@@ -44,11 +44,11 @@
+ # objects.pl both reads and writes obj_mac.num
+ obj_mac.h: objects.pl objects.txt obj_mac.num
+ $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
+- @sleep 1; touch obj_mac.h; sleep 1
+
+-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
++# This doesn't really need obj_mac.h, but since that rule reads & writes
++# obj_mac.num, we can't run in parallel with it.
++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
+ $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
+- @sleep 1; touch obj_xref.h; sleep 1
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+--- openssl-1.0.1m/engines/Makefile
++++ openssl-1.0.1m/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- openssl-1.0.1m/Makefile.org
++++ openssl-1.0.1m/Makefile.org
+@@ -273,17 +273,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
+- @dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
++build_ssl: build_crypto
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
++build_engines: build_crypto
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
++build_apps: build_libs
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
++build_tests: build_libs
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
++build_tools: build_libs
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -538,9 +538,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -549,12 +549,19 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+@@ -634,12 +641,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--- openssl-1.0.1m/Makefile.shared
++++ openssl-1.0.1m/Makefile.shared
+@@ -105,6 +105,7 @@
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +123,7 @@
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- openssl-1.0.1m/test/Makefile
++++ openssl-1.0.1m/test/Makefile
+@@ -130,7 +130,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -388,118 +388,118 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
+- @target=$(EVPEXTRATEST); $(BUILD_CMD)
++ +@target=$(EVPEXTRATEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
++ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
+
+ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
+- @target=$(CONSTTIMETEST) $(BUILD_CMD)
++ +@target=$(CONSTTIMETEST) $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -512,7 +512,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/dev-libs/openssl/files/openssl-1.0.1m-s_client-verify.patch b/dev-libs/openssl/files/openssl-1.0.1m-s_client-verify.patch
new file mode 100644
index 000000000000..8aa29e488f52
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1m-s_client-verify.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/472584
+http://rt.openssl.org/Ticket/Display.html?id=2387&user=guest&pass=guest
+
+fix verification handling in s_client. when loading paths, make sure
+we properly fallback to setting the default paths.
+
+Forward-ported from openssl-1.0.1e-s_client-verify.patch
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+
+--- openssl-1.0.1m/apps/s_client.c
++++ openssl-1.0.1m/apps/s_client.c
+@@ -1177,7 +1177,7 @@ int MAIN(int argc, char **argv)
+ if (!set_cert_key_stuff(ctx, cert, key))
+ goto end;
+
+- if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) ||
++ if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) &&
+ (!SSL_CTX_set_default_verify_paths(ctx))) {
+ /*
+ * BIO_printf(bio_err,"error setting default verify locations\n");
diff --git a/dev-libs/openssl/files/openssl-1.0.1m-x32.patch b/dev-libs/openssl/files/openssl-1.0.1m-x32.patch
new file mode 100644
index 000000000000..48717a569a23
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1m-x32.patch
@@ -0,0 +1,66 @@
+--- openssl-1.0.1m/Configure
++++ openssl-1.0.1m/Configure
+@@ -361,6 +361,7 @@ my %table=(
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-x86_64", "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32", "gcc:-DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux64-s390x", "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+--- openssl-1.0.1m/crypto/bn/asm/x86_64-gcc.c
++++ openssl-1.0.1m/crypto/bn/asm/x86_64-gcc.c
+@@ -55,7 +55,7 @@
+ * machine.
+ */
+
+-# ifdef _WIN64
++# if defined _WIN64 || !defined __LP64__
+ # define BN_ULONG unsigned long long
+ # else
+ # define BN_ULONG unsigned long
+@@ -211,9 +211,9 @@ BN_ULONG bn_add_words(BN_ULONG *rp, cons
+
+ asm volatile (" subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " adcq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " adcq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n":"=&a" (ret), "+c"(n),
+@@ -235,9 +235,9 @@ BN_ULONG bn_sub_words(BN_ULONG *rp, cons
+
+ asm volatile (" subq %2,%2 \n"
+ ".p2align 4 \n"
+- "1: movq (%4,%2,8),%0 \n"
+- " sbbq (%5,%2,8),%0 \n"
+- " movq %0,(%3,%2,8) \n"
++ "1: movq (%q4,%2,8),%0 \n"
++ " sbbq (%q5,%2,8),%0 \n"
++ " movq %0,(%q3,%2,8) \n"
+ " leaq 1(%2),%2 \n"
+ " loop 1b \n"
+ " sbbq %0,%0 \n":"=&a" (ret), "+c"(n),
+--- openssl-1.0.1m/crypto/bn/bn.h
++++ openssl-1.0.1m/crypto/bn/bn.h
+@@ -174,6 +174,16 @@ extern "C" {
+ # endif
+
+ /*
++ * Address type.
++ */
++#ifdef _WIN64
++#define BN_ADDR unsigned long long
++#else
++#define BN_ADDR unsigned long
++#endif
++
++
++/*
+ * assuming long is 64bit - this is the DEC Alpha unsigned long long is only
+ * 64 bits :-(, don't define BN_LLONG for the DEC Alpha
+ */
diff --git a/dev-libs/openssl/files/openssl-1.0.1p-default-source.patch b/dev-libs/openssl/files/openssl-1.0.1p-default-source.patch
new file mode 100644
index 000000000000..73029985ae09
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1p-default-source.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/554338
+https://rt.openssl.org/Ticket/Display.html?id=3934&user=guest&pass=guest
+
+From 7c2e97f8bbae517496fdc11f475b4ae54b2534f5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 10 Jul 2015 01:50:52 -0400
+Subject: [PATCH] test: use _DEFAULT_SOURCE with newer glibc versions
+
+The _BSD_SOURCE macro is replaced by the _DEFAULT_SOURCE macro. Using
+just the former with newer versions leads to a build time warning, so
+make sure to use the new macro too.
+---
+ ssl/ssltest.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ssl/ssltest.c b/ssl/ssltest.c
+index 26cf96c..b36f667 100644
+--- a/ssl/ssltest.c
++++ b/ssl/ssltest.c
+@@ -141,6 +141,7 @@
+ */
+
+ /* Or gethostname won't be declared properly on Linux and GNU platforms. */
++#define _DEFAULT_SOURCE 1
+ #define _BSD_SOURCE 1
+
+ #include <assert.h>
+--
+2.4.4
+
diff --git a/dev-libs/openssl/files/openssl-1.0.1p-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.1p-parallel-build.patch
new file mode 100644
index 000000000000..dfefd5675845
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.1p-parallel-build.patch
@@ -0,0 +1,359 @@
+http://rt.openssl.org/Ticket/Display.html?id=2084
+
+--- openssl-1.0.1p/crypto/Makefile
++++ openssl-1.0.1p/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ [ -z "$(FIPSLIBDIR)" ] || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
+ $(RANLIB) $(LIB) || echo Never mind.
+@@ -111,7 +111,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -120,7 +120,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- openssl-1.0.1p/crypto/objects/Makefile
++++ openssl-1.0.1p/crypto/objects/Makefile
+@@ -44,11 +44,11 @@
+ # objects.pl both reads and writes obj_mac.num
+ obj_mac.h: objects.pl objects.txt obj_mac.num
+ $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
+- @sleep 1; touch obj_mac.h; sleep 1
+
+-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
++# This doesn't really need obj_mac.h, but since that rule reads & writes
++# obj_mac.num, we can't run in parallel with it.
++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
+ $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
+- @sleep 1; touch obj_xref.h; sleep 1
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+--- openssl-1.0.1p/engines/Makefile
++++ openssl-1.0.1p/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- openssl-1.0.1p/Makefile.org
++++ openssl-1.0.1p/Makefile.org
+@@ -273,17 +273,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+ build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+ build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+ build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+ build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+ build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -538,9 +538,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -549,12 +549,19 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+@@ -634,12 +641,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--- openssl-1.0.1p/Makefile.shared
++++ openssl-1.0.1p/Makefile.shared
+@@ -105,6 +105,7 @@
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +123,7 @@
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- openssl-1.0.1p/test/Makefile
++++ openssl-1.0.1p/test/Makefile
+@@ -130,7 +130,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -388,118 +388,118 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
+- @target=$(EVPEXTRATEST); $(BUILD_CMD)
++ +@target=$(EVPEXTRATEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
++ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
+
+ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
+- @target=$(CONSTTIMETEST) $(BUILD_CMD)
++ +@target=$(CONSTTIMETEST) $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -512,7 +512,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0209.patch b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0209.patch
new file mode 100644
index 000000000000..6d396b42bef5
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0209.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/541502
+
+From 1b4a8df38fc9ab3c089ca5765075ee53ec5bd66a Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Mon, 9 Feb 2015 11:38:41 +0000
+Subject: [PATCH] Fix a failure to NULL a pointer freed on error.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Inspired by BoringSSL commit 517073cd4b by Eric Roman <eroman@chromium.org>
+
+CVE-2015-0209
+
+Reviewed-by: Emilia Käsper <emilia@openssl.org>
+---
+ crypto/ec/ec_asn1.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c
+index 30b7df4..d3e8316 100644
+--- a/crypto/ec/ec_asn1.c
++++ b/crypto/ec/ec_asn1.c
+@@ -1014,8 +1014,6 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len)
+ ECerr(EC_F_D2I_ECPRIVATEKEY, ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+- if (a)
+- *a = ret;
+ } else
+ ret = *a;
+
+@@ -1067,10 +1065,12 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len)
+ }
+ }
+
++ if (a)
++ *a = ret;
+ ok = 1;
+ err:
+ if (!ok) {
+- if (ret)
++ if (ret && (a == NULL || *a != ret))
+ EC_KEY_free(ret);
+ ret = NULL;
+ }
+--
+2.3.1
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0288.patch b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0288.patch
new file mode 100644
index 000000000000..a6a10b0a2ca1
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0288.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/542038
+
+From 28a00bcd8e318da18031b2ac8778c64147cd54f9 Mon Sep 17 00:00:00 2001
+From: "Dr. Stephen Henson" <steve@openssl.org>
+Date: Wed, 18 Feb 2015 00:34:59 +0000
+Subject: [PATCH] Check public key is not NULL.
+
+CVE-2015-0288
+PR#3708
+
+Reviewed-by: Matt Caswell <matt@openssl.org>
+---
+ crypto/x509/x509_req.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/crypto/x509/x509_req.c b/crypto/x509/x509_req.c
+index bc6e566..01795f4 100644
+--- a/crypto/x509/x509_req.c
++++ b/crypto/x509/x509_req.c
+@@ -92,6 +92,8 @@ X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
+ goto err;
+
+ pktmp = X509_get_pubkey(x);
++ if (pktmp == NULL)
++ goto err;
+ i = X509_REQ_set_pubkey(ret, pktmp);
+ EVP_PKEY_free(pktmp);
+ if (!i)
+--
+2.3.1
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0291.patch b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0291.patch
new file mode 100644
index 000000000000..852d06e9181a
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-CVE-2015-0291.patch
@@ -0,0 +1,459 @@
+--- openssl-1.0.2/crypto/asn1/a_type.c
++++ openssl-1.0.2/crypto/asn1/a_type.c
+@@ -119,6 +119,9 @@
+ case V_ASN1_OBJECT:
+ result = OBJ_cmp(a->value.object, b->value.object);
+ break;
++ case V_ASN1_BOOLEAN:
++ result = a->value.boolean - b->value.boolean;
++ break;
+ case V_ASN1_NULL:
+ result = 0; /* They do not have content. */
+ break;
+--- openssl-1.0.2/crypto/asn1/tasn_dec.c
++++ openssl-1.0.2/crypto/asn1/tasn_dec.c
+@@ -140,11 +140,17 @@
+ {
+ ASN1_TLC c;
+ ASN1_VALUE *ptmpval = NULL;
+- if (!pval)
+- pval = &ptmpval;
+ asn1_tlc_clear_nc(&c);
+- if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0)
+- return *pval;
++ if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE)
++ ptmpval = *pval;
++ if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) {
++ if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) {
++ if (*pval)
++ ASN1_item_free(*pval, it);
++ *pval = ptmpval;
++ }
++ return ptmpval;
++ }
+ return NULL;
+ }
+
+@@ -304,9 +310,16 @@
+ case ASN1_ITYPE_CHOICE:
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
+ goto auxerr;
+-
+- /* Allocate structure */
+- if (!*pval && !ASN1_item_ex_new(pval, it)) {
++ if (*pval) {
++ /* Free up and zero CHOICE value if initialised */
++ i = asn1_get_choice_selector(pval, it);
++ if ((i >= 0) && (i < it->tcount)) {
++ tt = it->templates + i;
++ pchptr = asn1_get_field_ptr(pval, tt);
++ ASN1_template_free(pchptr, tt);
++ asn1_set_choice_selector(pval, -1, it);
++ }
++ } else if (!ASN1_item_ex_new(pval, it)) {
+ ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
+ goto err;
+ }
+@@ -386,6 +399,17 @@
+ if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
+ goto auxerr;
+
++ /* Free up and zero any ADB found */
++ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
++ if (tt->flags & ASN1_TFLG_ADB_MASK) {
++ const ASN1_TEMPLATE *seqtt;
++ ASN1_VALUE **pseqval;
++ seqtt = asn1_do_adb(pval, tt, 1);
++ pseqval = asn1_get_field_ptr(pval, seqtt);
++ ASN1_template_free(pseqval, seqtt);
++ }
++ }
++
+ /* Get each field entry */
+ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
+ const ASN1_TEMPLATE *seqtt;
+--- openssl-1.0.2/crypto/pkcs7/pk7_doit.c
++++ openssl-1.0.2/crypto/pkcs7/pk7_doit.c
+@@ -261,6 +261,25 @@
+ PKCS7_RECIP_INFO *ri = NULL;
+ ASN1_OCTET_STRING *os = NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++ /*
++ * The content field in the PKCS7 ContentInfo is optional, but that really
++ * only applies to inner content (precisely, detached signatures).
++ *
++ * When reading content, missing outer content is therefore treated as an
++ * error.
++ *
++ * When creating content, PKCS7_content_new() must be called before
++ * calling this method, so a NULL p7->d is always an error.
++ */
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i = OBJ_obj2nid(p7->type);
+ p7->state = PKCS7_S_HEADER;
+
+@@ -411,6 +430,16 @@
+ unsigned char *ek = NULL, *tkey = NULL;
+ int eklen = 0, tkeylen = 0;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_INVALID_NULL_POINTER);
++ return NULL;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_NO_CONTENT);
++ return NULL;
++ }
++
+ i = OBJ_obj2nid(p7->type);
+ p7->state = PKCS7_S_HEADER;
+
+@@ -707,6 +736,16 @@
+ STACK_OF(PKCS7_SIGNER_INFO) *si_sk = NULL;
+ ASN1_OCTET_STRING *os = NULL;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ EVP_MD_CTX_init(&ctx_tmp);
+ i = OBJ_obj2nid(p7->type);
+ p7->state = PKCS7_S_HEADER;
+@@ -746,6 +785,7 @@
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached) {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.sign->contents->d.data = NULL;
+ }
+ break;
+@@ -755,6 +795,7 @@
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached) {
+ M_ASN1_OCTET_STRING_free(os);
++ os = NULL;
+ p7->d.digest->contents->d.data = NULL;
+ }
+ break;
+@@ -820,22 +861,30 @@
+ M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
+ }
+
+- if (!PKCS7_is_detached(p7) && !(os->flags & ASN1_STRING_FLAG_NDEF)) {
+- char *cont;
+- long contlen;
+- btmp = BIO_find_type(bio, BIO_TYPE_MEM);
+- if (btmp == NULL) {
+- PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
+- goto err;
+- }
+- contlen = BIO_get_mem_data(btmp, &cont);
++ if (!PKCS7_is_detached(p7)) {
+ /*
+- * Mark the BIO read only then we can use its copy of the data
+- * instead of making an extra copy.
++ * NOTE(emilia): I think we only reach os == NULL here because detached
++ * digested data support is broken.
+ */
+- BIO_set_flags(btmp, BIO_FLAGS_MEM_RDONLY);
+- BIO_set_mem_eof_return(btmp, 0);
+- ASN1_STRING_set0(os, (unsigned char *)cont, contlen);
++ if (os == NULL)
++ goto err;
++ if (!(os->flags & ASN1_STRING_FLAG_NDEF)) {
++ char *cont;
++ long contlen;
++ btmp = BIO_find_type(bio, BIO_TYPE_MEM);
++ if (btmp == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
++ goto err;
++ }
++ contlen = BIO_get_mem_data(btmp, &cont);
++ /*
++ * Mark the BIO read only then we can use its copy of the data
++ * instead of making an extra copy.
++ */
++ BIO_set_flags(btmp, BIO_FLAGS_MEM_RDONLY);
++ BIO_set_mem_eof_return(btmp, 0);
++ ASN1_STRING_set0(os, (unsigned char *)cont, contlen);
++ }
+ }
+ ret = 1;
+ err:
+@@ -910,6 +959,16 @@
+ STACK_OF(X509) *cert;
+ X509 *x509;
+
++ if (p7 == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_INVALID_NULL_POINTER);
++ return 0;
++ }
++
++ if (p7->d.ptr == NULL) {
++ PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_NO_CONTENT);
++ return 0;
++ }
++
+ if (PKCS7_type_is_signed(p7)) {
+ cert = p7->d.sign->cert;
+ } else if (PKCS7_type_is_signedAndEnveloped(p7)) {
+--- openssl-1.0.2/crypto/pkcs7/pk7_lib.c
++++ openssl-1.0.2/crypto/pkcs7/pk7_lib.c
+@@ -70,6 +70,7 @@
+ nid = OBJ_obj2nid(p7->type);
+
+ switch (cmd) {
++ /* NOTE(emilia): does not support detached digested data. */
+ case PKCS7_OP_SET_DETACHED_SIGNATURE:
+ if (nid == NID_pkcs7_signed) {
+ ret = p7->detached = (int)larg;
+@@ -444,6 +445,8 @@
+
+ STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7)
+ {
++ if (p7 == NULL || p7->d.ptr == NULL)
++ return NULL;
+ if (PKCS7_type_is_signed(p7)) {
+ return (p7->d.sign->signer_info);
+ } else if (PKCS7_type_is_signedAndEnveloped(p7)) {
+--- openssl-1.0.2/crypto/rsa/rsa_ameth.c
++++ openssl-1.0.2/crypto/rsa/rsa_ameth.c
+@@ -698,9 +698,10 @@
+ RSAerr(RSA_F_RSA_ITEM_VERIFY, RSA_R_UNSUPPORTED_SIGNATURE_TYPE);
+ return -1;
+ }
+- if (rsa_pss_to_ctx(ctx, NULL, sigalg, pkey))
++ if (rsa_pss_to_ctx(ctx, NULL, sigalg, pkey) > 0) {
+ /* Carry on */
+ return 2;
++ }
+ return -1;
+ }
+
+--- openssl-1.0.2/doc/crypto/d2i_X509.pod
++++ openssl-1.0.2/doc/crypto/d2i_X509.pod
+@@ -207,6 +207,12 @@
+ persist if they are not present in the new one. As a result the use
+ of this "reuse" behaviour is strongly discouraged.
+
++Current versions of OpenSSL will not modify B<*px> if an error occurs.
++If parsing succeeds then B<*px> is freed (if it is not NULL) and then
++set to the value of the newly decoded structure. As a result B<*px>
++B<must not> be allocated on the stack or an attempt will be made to
++free an invalid pointer.
++
+ i2d_X509() will not return an error in many versions of OpenSSL,
+ if mandatory fields are not initialized due to a programming error
+ then the encoded structure may contain invalid data or omit the
+@@ -233,7 +239,9 @@
+
+ d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> structure
+ or B<NULL> if an error occurs. The error code that can be obtained by
+-L<ERR_get_error(3)|ERR_get_error(3)>.
++L<ERR_get_error(3)|ERR_get_error(3)>. If the "reuse" capability has been used
++with a valid X509 structure being passed in via B<px> then the object is not
++modified in the event of error.
+
+ i2d_X509() returns the number of bytes successfully encoded or a negative
+ value if an error occurs. The error code can be obtained by
+--- openssl-1.0.2/ssl/d1_lib.c
++++ openssl-1.0.2/ssl/d1_lib.c
+@@ -543,6 +543,9 @@
+ {
+ int ret;
+
++ /* Ensure there is no state left over from a previous invocation */
++ SSL_clear(s);
++
+ SSL_set_options(s, SSL_OP_COOKIE_EXCHANGE);
+ s->d1->listen = 1;
+
+--- openssl-1.0.2/ssl/s2_lib.c
++++ openssl-1.0.2/ssl/s2_lib.c
+@@ -493,7 +493,7 @@
+
+ OPENSSL_assert(s->session->master_key_length >= 0
+ && s->session->master_key_length
+- < (int)sizeof(s->session->master_key));
++ <= (int)sizeof(s->session->master_key));
+ EVP_DigestUpdate(&ctx, s->session->master_key,
+ s->session->master_key_length);
+ EVP_DigestUpdate(&ctx, &c, 1);
+--- openssl-1.0.2/ssl/s2_srvr.c
++++ openssl-1.0.2/ssl/s2_srvr.c
+@@ -454,11 +454,6 @@
+ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY, SSL_R_NO_PRIVATEKEY);
+ return (-1);
+ }
+- i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
+- &(p[s->s2->tmp.clear]),
+- &(p[s->s2->tmp.clear]),
+- (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
+- RSA_PKCS1_PADDING);
+
+ is_export = SSL_C_IS_EXPORT(s->session->cipher);
+
+@@ -475,23 +470,61 @@
+ } else
+ ek = 5;
+
++ /*
++ * The format of the CLIENT-MASTER-KEY message is
++ * 1 byte message type
++ * 3 bytes cipher
++ * 2-byte clear key length (stored in s->s2->tmp.clear)
++ * 2-byte encrypted key length (stored in s->s2->tmp.enc)
++ * 2-byte key args length (IV etc)
++ * clear key
++ * encrypted key
++ * key args
++ *
++ * If the cipher is an export cipher, then the encrypted key bytes
++ * are a fixed portion of the total key (5 or 8 bytes). The size of
++ * this portion is in |ek|. If the cipher is not an export cipher,
++ * then the entire key material is encrypted (i.e., clear key length
++ * must be zero).
++ */
++ if ((!is_export && s->s2->tmp.clear != 0) ||
++ (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH);
++ return -1;
++ }
++ /*
++ * The encrypted blob must decrypt to the encrypted portion of the key.
++ * Decryption can't be expanding, so if we don't have enough encrypted
++ * bytes to fit the key in the buffer, stop now.
++ */
++ if ((is_export && s->s2->tmp.enc < ek) ||
++ (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) {
++ ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR);
++ SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT);
++ return -1;
++ }
++
++ i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
++ &(p[s->s2->tmp.clear]),
++ &(p[s->s2->tmp.clear]),
++ (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
++ RSA_PKCS1_PADDING);
++
+ /* bad decrypt */
+ # if 1
+ /*
+ * If a bad decrypt, continue with protocol but with a random master
+ * secret (Bleichenbacher attack)
+ */
+- if ((i < 0) || ((!is_export && (i != EVP_CIPHER_key_length(c)))
+- || (is_export && ((i != ek)
+- || (s->s2->tmp.clear +
+- (unsigned int)i != (unsigned int)
+- EVP_CIPHER_key_length(c)))))) {
++ if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c))
++ || (is_export && i != ek))) {
+ ERR_clear_error();
+ if (is_export)
+ i = ek;
+ else
+ i = EVP_CIPHER_key_length(c);
+- if (RAND_pseudo_bytes(p, i) <= 0)
++ if (RAND_pseudo_bytes(&p[s->s2->tmp.clear], i) <= 0)
+ return 0;
+ }
+ # else
+@@ -513,7 +546,7 @@
+ # endif
+
+ if (is_export)
+- i += s->s2->tmp.clear;
++ i = EVP_CIPHER_key_length(c);
+
+ if (i > SSL_MAX_MASTER_KEY_LENGTH) {
+ ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
+--- openssl-1.0.2/ssl/s3_pkt.c
++++ openssl-1.0.2/ssl/s3_pkt.c
+@@ -780,7 +780,7 @@
+
+ i = ssl3_write_pending(s, type, &buf[tot], nw);
+ if (i <= 0) {
+- if (i < 0) {
++ if (i < 0 && (!s->wbio || !BIO_should_retry(s->wbio))) {
+ OPENSSL_free(wb->buf);
+ wb->buf = NULL;
+ }
+--- openssl-1.0.2/ssl/s3_srvr.c
++++ openssl-1.0.2/ssl/s3_srvr.c
+@@ -2251,10 +2251,17 @@
+ if (alg_k & (SSL_kEDH | SSL_kDHr | SSL_kDHd)) {
+ int idx = -1;
+ EVP_PKEY *skey = NULL;
+- if (n)
++ if (n) {
+ n2s(p, i);
+- else
++ } else {
++ if (alg_k & SSL_kDHE) {
++ al = SSL_AD_HANDSHAKE_FAILURE;
++ SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
++ SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG);
++ goto f_err;
++ }
+ i = 0;
++ }
+ if (n && n != i + 2) {
+ if (!(s->options & SSL_OP_SSLEAY_080_CLIENT_DH_BUG)) {
+ SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
+--- openssl-1.0.2/ssl/t1_lib.c
++++ openssl-1.0.2/ssl/t1_lib.c
+@@ -2965,6 +2965,7 @@
+ if (s->cert->shared_sigalgs) {
+ OPENSSL_free(s->cert->shared_sigalgs);
+ s->cert->shared_sigalgs = NULL;
++ s->cert->shared_sigalgslen = 0;
+ }
+ /* Clear certificate digests and validity flags */
+ for (i = 0; i < SSL_PKEY_NUM; i++) {
+@@ -3618,6 +3619,7 @@
+ if (c->shared_sigalgs) {
+ OPENSSL_free(c->shared_sigalgs);
+ c->shared_sigalgs = NULL;
++ c->shared_sigalgslen = 0;
+ }
+ /* If client use client signature algorithms if not NULL */
+ if (!s->server && c->client_sigalgs && !is_suiteb) {
+@@ -3640,12 +3642,14 @@
+ preflen = c->peer_sigalgslen;
+ }
+ nmatch = tls12_do_shared_sigalgs(NULL, pref, preflen, allow, allowlen);
+- if (!nmatch)
+- return 1;
+- salgs = OPENSSL_malloc(nmatch * sizeof(TLS_SIGALGS));
+- if (!salgs)
+- return 0;
+- nmatch = tls12_do_shared_sigalgs(salgs, pref, preflen, allow, allowlen);
++ if (nmatch) {
++ salgs = OPENSSL_malloc(nmatch * sizeof(TLS_SIGALGS));
++ if (!salgs)
++ return 0;
++ nmatch = tls12_do_shared_sigalgs(salgs, pref, preflen, allow, allowlen);
++ } else {
++ salgs = NULL;
++ }
+ c->shared_sigalgs = salgs;
+ c->shared_sigalgslen = nmatch;
+ return 1;
diff --git a/dev-libs/openssl/files/openssl-1.0.2-ipv6.patch b/dev-libs/openssl/files/openssl-1.0.2-ipv6.patch
new file mode 100644
index 000000000000..27574ea616de
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-ipv6.patch
@@ -0,0 +1,611 @@
+http://rt.openssl.org/Ticket/Display.html?id=2051&user=guest&pass=guest
+
+--- openssl-1.0.2/apps/s_apps.h
++++ openssl-1.0.2/apps/s_apps.h
+@@ -154,7 +154,7 @@
+ int do_server(int port, int type, int *ret,
+ int (*cb) (char *hostname, int s, int stype,
+ unsigned char *context), unsigned char *context,
+- int naccept);
++ int naccept, int use_ipv4, int use_ipv6);
+ #ifdef HEADER_X509_H
+ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
+ #endif
+@@ -167,7 +167,8 @@
+ int ssl_print_curves(BIO *out, SSL *s, int noshared);
+ #endif
+ int ssl_print_tmp_key(BIO *out, SSL *s);
+-int init_client(int *sock, char *server, int port, int type);
++int init_client(int *sock, char *server, int port, int type,
++ int use_ipv4, int use_ipv6);
+ int should_retry(int i);
+ int extract_port(char *str, short *port_ptr);
+ int extract_host_port(char *str, char **host_ptr, unsigned char *ip,
+--- openssl-1.0.2/apps/s_client.c
++++ openssl-1.0.2/apps/s_client.c
+@@ -302,6 +302,10 @@
+ {
+ BIO_printf(bio_err, "usage: s_client args\n");
+ BIO_printf(bio_err, "\n");
++ BIO_printf(bio_err, " -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err, " -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err, " -host host - use -connect instead\n");
+ BIO_printf(bio_err, " -port port - use -connect instead\n");
+ BIO_printf(bio_err,
+@@ -658,6 +662,7 @@
+ int sbuf_len, sbuf_off;
+ fd_set readfds, writefds;
+ short port = PORT;
++ int use_ipv4, use_ipv6;
+ int full_log = 1;
+ char *host = SSL_HOST_NAME;
+ char *cert_file = NULL, *key_file = NULL, *chain_file = NULL;
+@@ -709,7 +714,11 @@
+ #endif
+ char *sess_in = NULL;
+ char *sess_out = NULL;
+- struct sockaddr peer;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage peer;
++#else
++ struct sockaddr_in peer;
++#endif
+ int peerlen = sizeof(peer);
+ int fallback_scsv = 0;
+ int enable_timeouts = 0;
+@@ -737,6 +746,12 @@
+
+ meth = SSLv23_client_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
+ apps_startup();
+ c_Pause = 0;
+ c_quiet = 0;
+@@ -1096,6 +1111,16 @@
+ jpake_secret = *++argv;
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0) {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0) {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv, "-use_srtp") == 0) {
+ if (--argc < 1)
+@@ -1421,7 +1446,7 @@
+
+ re_start:
+
+- if (init_client(&s, host, port, socket_type) == 0) {
++ if (init_client(&s, host, port, socket_type, use_ipv4, use_ipv6) == 0) {
+ BIO_printf(bio_err, "connect:errno=%d\n", get_last_socket_error());
+ SHUTDOWN(s);
+ goto end;
+@@ -1444,7 +1469,7 @@
+ if (socket_type == SOCK_DGRAM) {
+
+ sbio = BIO_new_dgram(s, BIO_NOCLOSE);
+- if (getsockname(s, &peer, (void *)&peerlen) < 0) {
++ if (getsockname(s, (struct sockaddr *)&peer, (void *)&peerlen) < 0) {
+ BIO_printf(bio_err, "getsockname:errno=%d\n",
+ get_last_socket_error());
+ SHUTDOWN(s);
+--- openssl-1.0.2/apps/s_server.c
++++ openssl-1.0.2/apps/s_server.c
+@@ -643,6 +643,10 @@
+ BIO_printf(bio_err,
+ " -alpn arg - set the advertised protocols for the ALPN extension (comma-separated list)\n");
+ #endif
++ BIO_printf(bio_err, " -4 - use IPv4 only\n");
++#if OPENSSL_USE_IPV6
++ BIO_printf(bio_err, " -6 - use IPv6 only\n");
++#endif
+ BIO_printf(bio_err,
+ " -keymatexport label - Export keying material using label\n");
+ BIO_printf(bio_err,
+@@ -1070,6 +1074,7 @@
+ int state = 0;
+ const SSL_METHOD *meth = NULL;
+ int socket_type = SOCK_STREAM;
++ int use_ipv4, use_ipv6;
+ ENGINE *e = NULL;
+ char *inrand = NULL;
+ int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
+@@ -1111,6 +1116,12 @@
+
+ meth = SSLv23_server_method();
+
++ use_ipv4 = 1;
++#if OPENSSL_USE_IPV6
++ use_ipv6 = 1;
++#else
++ use_ipv6 = 0;
++#endif
+ local_argc = argc;
+ local_argv = argv;
+
+@@ -1503,6 +1514,16 @@
+ jpake_secret = *(++argv);
+ }
+ #endif
++ else if (strcmp(*argv,"-4") == 0) {
++ use_ipv4 = 1;
++ use_ipv6 = 0;
++ }
++#if OPENSSL_USE_IPV6
++ else if (strcmp(*argv,"-6") == 0) {
++ use_ipv4 = 0;
++ use_ipv6 = 1;
++ }
++#endif
+ #ifndef OPENSSL_NO_SRTP
+ else if (strcmp(*argv, "-use_srtp") == 0) {
+ if (--argc < 1)
+@@ -2023,13 +2044,13 @@
+ (void)BIO_flush(bio_s_out);
+ if (rev)
+ do_server(port, socket_type, &accept_socket, rev_body, context,
+- naccept);
++ naccept, use_ipv4, use_ipv6);
+ else if (www)
+ do_server(port, socket_type, &accept_socket, www_body, context,
+- naccept);
++ naccept, use_ipv4, use_ipv6);
+ else
+ do_server(port, socket_type, &accept_socket, sv_body, context,
+- naccept);
++ naccept, use_ipv4, use_ipv6);
+ print_stats(bio_s_out, ctx);
+ ret = 0;
+ end:
+--- openssl-1.0.2/apps/s_socket.c
++++ openssl-1.0.2/apps/s_socket.c
+@@ -101,16 +101,16 @@
+ # include "netdb.h"
+ # endif
+
+-static struct hostent *GetHostByName(char *name);
++static struct hostent *GetHostByName(char *name, int domain);
+ # if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
+ static void ssl_sock_cleanup(void);
+ # endif
+ static int ssl_sock_init(void);
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type);
+-static int init_server(int *sock, int port, int type);
+-static int init_server_long(int *sock, int port, char *ip, int type);
++static int init_client_ip(int *sock, unsigned char *ip, int port, int type, int domain);
++static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6);
++static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6);
+ static int do_accept(int acc_sock, int *sock, char **host);
+-static int host_ip(char *str, unsigned char ip[4]);
++static int host_ip(char *str, unsigned char *ip, int domain);
+
+ # ifdef OPENSSL_SYS_WIN16
+ # define SOCKET_PROTOCOL 0 /* more microsoft stupidity */
+@@ -231,38 +231,68 @@
+ return (1);
+ }
+
+-int init_client(int *sock, char *host, int port, int type)
++int init_client(int *sock, char *host, int port, int type, int use_ipv4, int use_ipv6)
+ {
++# if OPENSSL_USE_IPV6
++ unsigned char ip[16];
++# else
+ unsigned char ip[4];
++# endif
+
+- memset(ip, '\0', sizeof ip);
+- if (!host_ip(host, &(ip[0])))
+- return 0;
+- return init_client_ip(sock, ip, port, type);
+-}
+-
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
+-{
+- unsigned long addr;
++ if (use_ipv4)
++ if (host_ip(host, ip, AF_INET))
++ return(init_client_ip(sock, ip, port, type, AF_INET));
++# if OPENSSL_USE_IPV6
++ if (use_ipv6)
++ if (host_ip(host, ip, AF_INET6))
++ return(init_client_ip(sock, ip, port, type, AF_INET6));
++# endif
++ return 0;
++}
++
++static int init_client_ip(int *sock, unsigned char ip[4], int port, int type, int domain)
++{
++# if OPENSSL_USE_IPV6
++ struct sockaddr_storage them;
++ struct sockaddr_in *them_in = (struct sockaddr_in *)&them;
++ struct sockaddr_in6 *them_in6 = (struct sockaddr_in6 *)&them;
++# else
+ struct sockaddr_in them;
++ struct sockaddr_in *them_in = &them;
++# endif
++ socklen_t addr_len;
+ int s, i;
+
+ if (!ssl_sock_init())
+ return (0);
+
+ memset((char *)&them, 0, sizeof(them));
+- them.sin_family = AF_INET;
+- them.sin_port = htons((unsigned short)port);
+- addr = (unsigned long)
+- ((unsigned long)ip[0] << 24L) |
+- ((unsigned long)ip[1] << 16L) |
+- ((unsigned long)ip[2] << 8L) | ((unsigned long)ip[3]);
+- them.sin_addr.s_addr = htonl(addr);
++ if (domain == AF_INET) {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ them_in->sin_family=AF_INET;
++ them_in->sin_port=htons((unsigned short)port);
++# ifndef BIT_FIELD_LIMITS
++ memcpy(&them_in->sin_addr.s_addr, ip, 4);
++# else
++ memcpy(&them_in->sin_addr, ip, 4);
++# endif
++ }
++ else
++# if OPENSSL_USE_IPV6
++ {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ them_in6->sin6_family=AF_INET6;
++ them_in6->sin6_port=htons((unsigned short)port);
++ memcpy(&(them_in6->sin6_addr), ip, sizeof(struct in6_addr));
++ }
++# else
++ return(0);
++# endif
+
+ if (type == SOCK_STREAM)
+- s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
++ s = socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
+ else /* ( type == SOCK_DGRAM) */
+- s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
++ s = socket(domain, SOCK_DGRAM, IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET) {
+ perror("socket");
+@@ -280,7 +310,7 @@
+ }
+ # endif
+
+- if (connect(s, (struct sockaddr *)&them, sizeof(them)) == -1) {
++ if (connect(s, (struct sockaddr *)&them, addr_len) == -1) {
+ closesocket(s);
+ perror("connect");
+ return (0);
+@@ -292,14 +322,14 @@
+ int do_server(int port, int type, int *ret,
+ int (*cb) (char *hostname, int s, int stype,
+ unsigned char *context), unsigned char *context,
+- int naccept)
++ int naccept, int use_ipv4, int use_ipv6)
+ {
+ int sock;
+ char *name = NULL;
+ int accept_socket = 0;
+ int i;
+
+- if (!init_server(&accept_socket, port, type))
++ if (!init_server(&accept_socket, port, type, use_ipv4, use_ipv6))
+ return (0);
+
+ if (ret != NULL) {
+@@ -328,32 +358,41 @@
+ }
+ }
+
+-static int init_server_long(int *sock, int port, char *ip, int type)
++static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6)
+ {
+ int ret = 0;
++ int domain;
++# if OPENSSL_USE_IPV6
++ struct sockaddr_storage server;
++ struct sockaddr_in *server_in = (struct sockaddr_in *)&server;
++ struct sockaddr_in6 *server_in6 = (struct sockaddr_in6 *)&server;
++# else
+ struct sockaddr_in server;
++ struct sockaddr_in *server_in = &server;
++# endif
++ socklen_t addr_len;
+ int s = -1;
+
++ if (!use_ipv4 && !use_ipv6)
++ goto err;
++# if OPENSSL_USE_IPV6
++ /* we are fine here */
++# else
++ if (use_ipv6)
++ goto err;
++# endif
+ if (!ssl_sock_init())
+ return (0);
+
+- memset((char *)&server, 0, sizeof(server));
+- server.sin_family = AF_INET;
+- server.sin_port = htons((unsigned short)port);
+- if (ip == NULL)
+- server.sin_addr.s_addr = INADDR_ANY;
+- else
+-/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
+-# ifndef BIT_FIELD_LIMITS
+- memcpy(&server.sin_addr.s_addr, ip, 4);
++#if OPENSSL_USE_IPV6
++ domain = use_ipv6 ? AF_INET6 : AF_INET;
+ # else
+- memcpy(&server.sin_addr, ip, 4);
++ domain = AF_INET;
+ # endif
+-
+ if (type == SOCK_STREAM)
+- s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
+- else /* type == SOCK_DGRAM */
+- s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
++ s=socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
++ else /* type == SOCK_DGRAM */
++ s=socket(domain, SOCK_DGRAM, IPPROTO_UDP);
+
+ if (s == INVALID_SOCKET)
+ goto err;
+@@ -363,7 +402,42 @@
+ setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)&j, sizeof j);
+ }
+ # endif
+- if (bind(s, (struct sockaddr *)&server, sizeof(server)) == -1) {
++# if OPENSSL_USE_IPV6
++ if ((use_ipv4 == 0) && (use_ipv6 == 1)) {
++ const int on = 1;
++
++ setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
++ (const void *) &on, sizeof(int));
++ }
++# endif
++ if (domain == AF_INET) {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in);
++ memset(server_in, 0, sizeof(struct sockaddr_in));
++ server_in->sin_family=AF_INET;
++ server_in->sin_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in->sin_addr.s_addr = htonl(INADDR_ANY);
++ else
++/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
++# ifndef BIT_FIELD_LIMITS
++ memcpy(&server_in->sin_addr.s_addr, ip, 4);
++# else
++ memcpy(&server_in->sin_addr, ip, 4);
++# endif
++ }
++# if OPENSSL_USE_IPV6
++ else {
++ addr_len = (socklen_t)sizeof(struct sockaddr_in6);
++ memset(server_in6, 0, sizeof(struct sockaddr_in6));
++ server_in6->sin6_family = AF_INET6;
++ server_in6->sin6_port = htons((unsigned short)port);
++ if (ip == NULL)
++ server_in6->sin6_addr = in6addr_any;
++ else
++ memcpy(&server_in6->sin6_addr, ip, sizeof(struct in6_addr));
++ }
++# endif
++ if (bind(s, (struct sockaddr *)&server, addr_len) == -1) {
+ # ifndef OPENSSL_SYS_WINDOWS
+ perror("bind");
+ # endif
+@@ -381,16 +455,23 @@
+ return (ret);
+ }
+
+-static int init_server(int *sock, int port, int type)
++static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6)
+ {
+- return (init_server_long(sock, port, NULL, type));
++ return (init_server_long(sock, port, NULL, type, use_ipv4, use_ipv6));
+ }
+
+ static int do_accept(int acc_sock, int *sock, char **host)
+ {
+ int ret;
+ struct hostent *h1, *h2;
+- static struct sockaddr_in from;
++#if OPENSSL_USE_IPV6
++ struct sockaddr_storage from;
++ struct sockaddr_in *from_in = (struct sockaddr_in *)&from;
++ struct sockaddr_in6 *from_in6 = (struct sockaddr_in6 *)&from;
++#else
++ struct sockaddr_in from;
++ struct sockaddr_in *from_in = &from;
++#endif
+ int len;
+ /* struct linger ling; */
+
+@@ -440,14 +521,25 @@
+
+ if (host == NULL)
+ goto end;
++# if OPENSSL_USE_IPV6
++ if (from.ss_family == AF_INET)
++# else
++ if (from.sin_family == AF_INET)
++# endif
+ # ifndef BIT_FIELD_LIMITS
+- /* I should use WSAAsyncGetHostByName() under windows */
+- h1 = gethostbyaddr((char *)&from.sin_addr.s_addr,
+- sizeof(from.sin_addr.s_addr), AF_INET);
++ /* I should use WSAAsyncGetHostByName() under windows */
++ h1 = gethostbyaddr((char *)&from_in->sin_addr.s_addr,
++ sizeof(from_in->sin_addr.s_addr), AF_INET);
+ # else
+- h1 = gethostbyaddr((char *)&from.sin_addr,
+- sizeof(struct in_addr), AF_INET);
++ h1 = gethostbyaddr((char *)&from_in->sin_addr,
++ sizeof(struct in_addr), AF_INET);
++# endif
++# if OPENSSL_USE_IPV6
++ else
++ h1 = gethostbyaddr((char *)&from_in6->sin6_addr,
++ sizeof(struct in6_addr), AF_INET6);
+ # endif
++
+ if (h1 == NULL) {
+ BIO_printf(bio_err, "bad gethostbyaddr\n");
+ *host = NULL;
+@@ -460,14 +552,22 @@
+ }
+ BUF_strlcpy(*host, h1->h_name, strlen(h1->h_name) + 1);
+
+- h2 = GetHostByName(*host);
++# if OPENSSL_USE_IPV6
++ h2=GetHostByName(*host, from.ss_family);
++# else
++ h2=GetHostByName(*host, from.sin_family);
++# endif
+ if (h2 == NULL) {
+ BIO_printf(bio_err, "gethostbyname failure\n");
+ closesocket(ret);
+ return (0);
+ }
+- if (h2->h_addrtype != AF_INET) {
+- BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
++# if OPENSSL_USE_IPV6
++ if (h2->h_addrtype != from.ss_family) {
++# else
++ if (h2->h_addrtype != from.sin_family) {
++# endif
++ BIO_printf(bio_err, "gethostbyname addr is not correct\n");
+ closesocket(ret);
+ return (0);
+ }
+@@ -483,14 +583,14 @@
+ char *h, *p;
+
+ h = str;
+- p = strchr(str, ':');
++ p = strrchr(str, ':');
+ if (p == NULL) {
+ BIO_printf(bio_err, "no port defined\n");
+ return (0);
+ }
+ *(p++) = '\0';
+
+- if ((ip != NULL) && !host_ip(str, ip))
++ if ((ip != NULL) && !host_ip(str, ip, AF_INET))
+ goto err;
+ if (host_ptr != NULL)
+ *host_ptr = h;
+@@ -502,44 +602,51 @@
+ return (0);
+ }
+
+-static int host_ip(char *str, unsigned char ip[4])
++static int host_ip(char *str, unsigned char *ip, int domain)
+ {
+ unsigned int in[4];
++ unsigned long l;
+ int i;
+
+- if (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) ==
+- 4) {
++ if ((domain == AF_INET) && (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) == 4)) {
+ for (i = 0; i < 4; i++)
+ if (in[i] > 255) {
+ BIO_printf(bio_err, "invalid IP address\n");
+ goto err;
+ }
+- ip[0] = in[0];
+- ip[1] = in[1];
+- ip[2] = in[2];
+- ip[3] = in[3];
+- } else { /* do a gethostbyname */
++ l=htonl((in[0]<<24L)|(in[1]<<16L)|(in[2]<<8L)|in[3]);
++ memcpy(ip, &l, 4);
++ return 1;
++ }
++# if OPENSSL_USE_IPV6
++ else if ((domain == AF_INET6) && (inet_pton(AF_INET6, str, ip) == 1))
++ return 1;
++# endif
++ else { /* do a gethostbyname */
+ struct hostent *he;
+
+ if (!ssl_sock_init())
+ return (0);
+
+- he = GetHostByName(str);
++ he = GetHostByName(str, domain);
+ if (he == NULL) {
+ BIO_printf(bio_err, "gethostbyname failure\n");
+ goto err;
+ }
+ /* cast to short because of win16 winsock definition */
+- if ((short)he->h_addrtype != AF_INET) {
+- BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
++ if ((short)he->h_addrtype != domain) {
++ BIO_printf(bio_err, "gethostbyname addr is not correct\n");
+ return (0);
+ }
+- ip[0] = he->h_addr_list[0][0];
+- ip[1] = he->h_addr_list[0][1];
+- ip[2] = he->h_addr_list[0][2];
+- ip[3] = he->h_addr_list[0][3];
++ if (domain == AF_INET)
++ memset(ip, 0, 4);
++# if OPENSSL_USE_IPV6
++ else
++ memset(ip, 0, 16);
++# endif
++ memcpy(ip, he->h_addr_list[0], he->h_length);
++ return 1;
+ }
+- return (1);
+ err:
+ return (0);
+ }
+@@ -573,7 +680,7 @@
+ static unsigned long ghbn_hits = 0L;
+ static unsigned long ghbn_miss = 0L;
+
+-static struct hostent *GetHostByName(char *name)
++static struct hostent *GetHostByName(char *name, int domain)
+ {
+ struct hostent *ret;
+ int i, lowi = 0;
+@@ -585,13 +692,18 @@
+ lowi = i;
+ }
+ if (ghbn_cache[i].order > 0) {
+- if (strncmp(name, ghbn_cache[i].name, 128) == 0)
++ if ((strncmp(name, ghbn_cache[i].name, 128) == 0) && (ghbn_cache[i].ent.h_addrtype == domain))
+ break;
+ }
+ }
+ if (i == GHBN_NUM) { /* no hit */
+ ghbn_miss++;
+- ret = gethostbyname(name);
++ if (domain == AF_INET)
++ ret = gethostbyname(name);
++# if OPENSSL_USE_IPV6
++ else
++ ret = gethostbyname2(name, AF_INET6);
++# endif
+ if (ret == NULL)
+ return (NULL);
+ /* else add to cache */
diff --git a/dev-libs/openssl/files/openssl-1.0.2-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.2-parallel-build.patch
new file mode 100644
index 000000000000..31d3f1d634de
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-parallel-build.patch
@@ -0,0 +1,354 @@
+http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
+
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -247,17 +247,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
++build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
++build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
++build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
++build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -497,9 +497,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -508,6 +508,13 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+@@ -511,7 +511,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+@@ -593,12 +600,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--- a/Makefile.shared
++++ b/Makefile.shared
+@@ -105,6 +105,7 @@ LINK_SO= \
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +124,7 @@ SYMLINK_SO= \
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ $(RANLIB) $(LIB) || echo Never mind.
+
+@@ -110,7 +110,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -119,7 +119,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- a/engines/Makefile
++++ b/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -123,7 +123,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -365,109 +365,109 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -480,7 +480,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
+--- a/crypto/objects/Makefile
++++ b/crypto/objects/Makefile
+@@ -44,11 +44,11 @@ obj_dat.h: obj_dat.pl obj_mac.h
+ # objects.pl both reads and writes obj_mac.num
+ obj_mac.h: objects.pl objects.txt obj_mac.num
+ $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
+- @sleep 1; touch obj_mac.h; sleep 1
+
+-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
++# This doesn't really need obj_mac.h, but since that rule reads & writes
++# obj_mac.num, we can't run in parallel with it.
++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
+ $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
+- @sleep 1; touch obj_xref.h; sleep 1
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
diff --git a/dev-libs/openssl/files/openssl-1.0.2-s_client-verify.patch b/dev-libs/openssl/files/openssl-1.0.2-s_client-verify.patch
new file mode 100644
index 000000000000..803a91dde99c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2-s_client-verify.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/472584
+http://rt.openssl.org/Ticket/Display.html?id=2387&user=guest&pass=guest
+
+fix verification handling in s_client. when loading paths, make sure
+we properly fallback to setting the default paths.
+
+--- openssl-1.0.2/apps/s_client.c
++++ openssl-1.0.2/apps/s_client.c
+@@ -1337,7 +1337,7 @@
+
+ SSL_CTX_set_verify(ctx, verify, verify_callback);
+
+- if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) ||
++ if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) &&
+ (!SSL_CTX_set_default_verify_paths(ctx))) {
+ /*
+ * BIO_printf(bio_err,"error setting default verify locations\n");
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-malloc-typo.patch b/dev-libs/openssl/files/openssl-1.0.2a-malloc-typo.patch
new file mode 100644
index 000000000000..831e5759a260
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-malloc-typo.patch
@@ -0,0 +1,38 @@
+https://rt.openssl.org/Ticket/Display.html?id=3758
+
+From 7b4152089fe39c3495508076ab81ed4aca3d65ba Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 21 Mar 2015 05:08:41 -0400
+Subject: [PATCH] fix malloc define typo
+
+Reported-by: Conrad Kostecki <ck+gentoobugzilla@bl4ckb0x.de>
+URL: https://bugs.gentoo.org/543828
+---
+ crypto/bio/bss_dgram.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c
+index aef8149..ed275d1 100644
+--- a/crypto/bio/bss_dgram.c
++++ b/crypto/bio/bss_dgram.c
+@@ -1338,7 +1338,7 @@ static int dgram_sctp_read(BIO *b, char *out, int outl)
+ (socklen_t) (sizeof(sctp_assoc_t) + 256 * sizeof(uint8_t));
+ authchunks = OPENSSL_malloc(optlen);
+ if (!authchunks) {
+- BIOerr(BIO_F_DGRAM_SCTP_READ, ERR_R_MALLOC_ERROR);
++ BIOerr(BIO_F_DGRAM_SCTP_READ, ERR_R_MALLOC_FAILURE);
+ return -1;
+ }
+ memset(authchunks, 0, optlen);
+@@ -1410,7 +1410,7 @@ static int dgram_sctp_write(BIO *b, const char *in, int inl)
+ char *tmp;
+ data->saved_message.bio = b;
+ if(!(tmp = OPENSSL_malloc(inl))) {
+- BIOerr(BIO_F_DGRAM_SCTP_WRITE, ERR_R_MALLOC_ERROR);
++ BIOerr(BIO_F_DGRAM_SCTP_WRITE, ERR_R_MALLOC_FAILURE);
+ return -1;
+ }
+ if (data->saved_message.data)
+--
+2.3.3
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch
new file mode 100644
index 000000000000..f4226c3b6d38
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch
@@ -0,0 +1,314 @@
+https://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
+https://rt.openssl.org/Ticket/Display.html?id=3738&user=guest&pass=guest
+
+--- openssl-1.0.2a/crypto/Makefile
++++ openssl-1.0.2a/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
+ $(RANLIB) $(LIB) || echo Never mind.
+@@ -111,7 +111,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -120,7 +120,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- openssl-1.0.2a/engines/Makefile
++++ openssl-1.0.2a/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- openssl-1.0.2a/Makefile.org
++++ openssl-1.0.2a/Makefile.org
+@@ -274,17 +274,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
++build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
++build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
++build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
++build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -555,7 +555,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+--- openssl-1.0.2a/Makefile.shared
++++ openssl-1.0.2a/Makefile.shared
+@@ -105,6 +105,7 @@
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +123,7 @@
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- openssl-1.0.2a/test/Makefile
++++ openssl-1.0.2a/test/Makefile
+@@ -133,7 +133,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -402,121 +402,121 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
+- @target=$(EVPEXTRATEST); $(BUILD_CMD)
++ +@target=$(EVPEXTRATEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
+- @target=$(V3NAMETEST); $(BUILD_CMD)
++ +@target=$(V3NAMETEST); $(BUILD_CMD)
+
+ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
++ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
+
+ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
+- @target=$(CONSTTIMETEST) $(BUILD_CMD)
++ +@target=$(CONSTTIMETEST) $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -529,7 +529,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch
new file mode 100644
index 000000000000..0198818c5fa3
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch
@@ -0,0 +1,64 @@
+https://rt.openssl.org/Ticket/Display.html?id=3736&user=guest&pass=guest
+
+From aba899f2eca21e11e5e9797bf8258e7265dea9f5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 8 Mar 2015 01:32:01 -0500
+Subject: [PATCH] fix parallel install with dir creation
+
+The mkdir-p.pl does not handle parallel creation of directories.
+This comes up when the install_sw and install_docs rules run and
+both call mkdir-p.pl on sibling directory trees.
+
+Instead, lets create a single install_dirs rule that makes all of
+the dirs we need, and have these two install steps depend on that.
+---
+ Makefile.org | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.org b/Makefile.org
+index a6d9471..78e6143 100644
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -536,9 +536,9 @@
+ dist_pem_h:
+ (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+
+-install: all install_docs install_sw
++install: install_docs install_sw
+
+-install_sw:
++install_dirs:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -547,6 +547,13 @@
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++ @$(PERL) $(TOP)/util/mkdir-p.pl \
++ $(INSTALL_PREFIX)$(MANDIR)/man1 \
++ $(INSTALL_PREFIX)$(MANDIR)/man3 \
++ $(INSTALL_PREFIX)$(MANDIR)/man5 \
++ $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+ @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+ do \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+@@ -636,12 +643,7 @@
+ done; \
+ done
+
+-install_docs:
+- @$(PERL) $(TOP)/util/mkdir-p.pl \
+- $(INSTALL_PREFIX)$(MANDIR)/man1 \
+- $(INSTALL_PREFIX)$(MANDIR)/man3 \
+- $(INSTALL_PREFIX)$(MANDIR)/man5 \
+- $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+ @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+ here="`pwd`"; \
+ filecase=; \
+--
+2.3.4
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch
new file mode 100644
index 000000000000..a7d6f4effea7
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch
@@ -0,0 +1,37 @@
+https://rt.openssl.org/Ticket/Display.html?id=3737&user=guest&pass=guest
+
+From ce279d4361e07e9af9ceca8a6e326e661758ad53 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 8 Mar 2015 01:34:48 -0500
+Subject: [PATCH] fix parallel generation of obj headers
+
+The current code has dummy sleep/touch commands to try and work
+around the parallel issue, but that is obviously racy. Instead
+lets force one of the files to depend on the other so we know
+they'll never run in parallel.
+---
+ crypto/objects/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/crypto/objects/Makefile b/crypto/objects/Makefile
+index ad2db1e..7d32504 100644
+--- a/crypto/objects/Makefile
++++ b/crypto/objects/Makefile
+@@ -44,11 +44,11 @@
+ # objects.pl both reads and writes obj_mac.num
+ obj_mac.h: objects.pl objects.txt obj_mac.num
+ $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
+- @sleep 1; touch obj_mac.h; sleep 1
+
+-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
++# This doesn't really need obj_mac.h, but since that rule reads & writes
++# obj_mac.num, we can't run in parallel with it.
++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
+ $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
+- @sleep 1; touch obj_xref.h; sleep 1
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+--
+2.3.4
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch
new file mode 100644
index 000000000000..f2be696b1068
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch
@@ -0,0 +1,63 @@
+https://rt.openssl.org/Ticket/Display.html?id=3780&user=guest&pass=guest
+
+From cc81af135bda47eaa6956a0329cbbc55bf993ac1 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 3 Apr 2015 01:16:23 -0400
+Subject: [PATCH] fix race when symlink shareds libs
+
+When the crypto/ssl targets attempt to build their shared libs, they run:
+ cd ..; make libcrypto.so.1.0.0
+The top level Makefile in turn runs the build-shared target for that lib.
+
+The build-shared target depends on both do_$(SHLIB_TARGET) & link-shared.
+When building in parallel, make is allowed to run both of these. They
+both run Makefile.shared for their respective targets:
+do_$(SHLIB_TARGET) ->
+ link_a.linux-shared ->
+ link_a.gnu ->
+ ...; $(LINK_SO_A) ->
+ $(LINK_SO) ->
+ $(SYMLINK_SO)
+link-shared ->
+ symlink.linux-shared ->
+ symlink.gnu ->
+ ...; $(SYMLINK_SO)
+
+The shell code for SYMLINK_SO attempts to do a [ -e lib ] check, but fails
+basic TOCTOU semantics. Depending on the load, that means two processes
+will run the sequence:
+ rm -f libcrypto.so
+ ln -s libcrypto.so.1.0.0 libcrypto.so
+
+Which obviously fails:
+ ln: failed to create symbolic link 'libcrypto.so': File exists
+
+Since we know do_$(SHLIB_TARGET) will create the symlink for us, don't
+bother depending on link-shared at all in the top level Makefile when
+building things.
+
+Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
+URL: https://bugs.gentoo.org/545028
+---
+ Makefile.org | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.org b/Makefile.org
+index 890bfe4..576c60e 100644
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -350,7 +350,10 @@ link-shared:
+ libs="$$libs -l$$i"; \
+ done
+
+-build-shared: do_$(SHLIB_TARGET) link-shared
++# The link target in Makefile.shared will create the symlink for us, so no need
++# to call link-shared directly. Doing so will cause races with two processes
++# trying to symlink the lib.
++build-shared: do_$(SHLIB_TARGET)
+
+ do_$(SHLIB_TARGET):
+ @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \
+--
+2.3.4
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch b/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch
new file mode 100644
index 000000000000..3a005c9b099d
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch
@@ -0,0 +1,43 @@
+https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
+
+From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 21 Mar 2015 06:01:25 -0400
+Subject: [PATCH] crypto: use bigint in x86-64 perl
+
+When building on x32 systems where the default type is 32bit, make sure
+we can transparently represent 64bit integers. Otherwise we end up with
+build errors like:
+/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
+Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
+...
+ghash-x86_64.s: Assembler messages:
+ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
+
+We don't enable this globally as there are some cases where we'd get
+32bit values interpreted as unsigned when we need them as signed.
+
+Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
+URL: https://bugs.gentoo.org/542618
+---
+ crypto/perlasm/x86_64-xlate.pl | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
+index aae8288..0bf9774 100755
+--- a/crypto/perlasm/x86_64-xlate.pl
++++ b/crypto/perlasm/x86_64-xlate.pl
+@@ -195,6 +195,10 @@ my %globals;
+ sub out {
+ my $self = shift;
+
++ # When building on x32 ABIs, the expanded hex value might be too
++ # big to fit into 32bits. Enable transparent 64bit support here
++ # so we can safely print it out.
++ use bigint;
+ if ($gas) {
+ # Solaris /usr/ccs/bin/as can't handle multiplications
+ # in $self->{value}
+--
+2.3.3
+
diff --git a/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch
new file mode 100644
index 000000000000..b7aa0ea8092c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch
@@ -0,0 +1,309 @@
+https://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
+https://rt.openssl.org/Ticket/Display.html?id=3738&user=guest&pass=guest
+
+--- openssl-1.0.2d/crypto/Makefile
++++ openssl-1.0.2d/crypto/Makefile
+@@ -85,11 +85,11 @@
+ @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+
+ subdirs:
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
+- @target=files; $(RECURSIVE_MAKE)
++ +@target=files; $(RECURSIVE_MAKE)
+
+ links:
+ @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -100,7 +100,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib: $(LIB)
+ @touch lib
+-$(LIB): $(LIBOBJ)
++$(LIB): $(LIBOBJ) | subdirs
+ $(AR) $(LIB) $(LIBOBJ)
+ test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
+ $(RANLIB) $(LIB) || echo Never mind.
+@@ -111,7 +111,7 @@
+ fi
+
+ libs:
+- @target=lib; $(RECURSIVE_MAKE)
++ +@target=lib; $(RECURSIVE_MAKE)
+
+ install:
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -120,7 +120,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ lint:
+ @target=lint; $(RECURSIVE_MAKE)
+--- openssl-1.0.2d/engines/Makefile
++++ openssl-1.0.2d/engines/Makefile
+@@ -72,7 +72,7 @@
+
+ all: lib subdirs
+
+-lib: $(LIBOBJ)
++lib: $(LIBOBJ) | subdirs
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+ for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+
+ subdirs:
+ echo $(EDIRS)
+- @target=all; $(RECURSIVE_MAKE)
++ +@target=all; $(RECURSIVE_MAKE)
+
+ files:
+ $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+- @target=install; $(RECURSIVE_MAKE)
++ +@target=install; $(RECURSIVE_MAKE)
+
+ tags:
+ ctags $(SRC)
+--- openssl-1.0.2d/Makefile.org
++++ openssl-1.0.2d/Makefile.org
+@@ -274,17 +274,17 @@
+ build_libs: build_crypto build_ssl build_engines
+
+ build_crypto:
+- @dir=crypto; target=all; $(BUILD_ONE_CMD)
++ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
+ build_ssl: build_crypto
+- @dir=ssl; target=all; $(BUILD_ONE_CMD)
++ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
+ build_engines: build_crypto
+- @dir=engines; target=all; $(BUILD_ONE_CMD)
++ +@dir=engines; target=all; $(BUILD_ONE_CMD)
+ build_apps: build_libs
+- @dir=apps; target=all; $(BUILD_ONE_CMD)
++ +@dir=apps; target=all; $(BUILD_ONE_CMD)
+ build_tests: build_libs
+- @dir=test; target=all; $(BUILD_ONE_CMD)
++ +@dir=test; target=all; $(BUILD_ONE_CMD)
+ build_tools: build_libs
+- @dir=tools; target=all; $(BUILD_ONE_CMD)
++ +@dir=tools; target=all; $(BUILD_ONE_CMD)
+
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -555,7 +555,7 @@
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+ done;
+- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+ do \
+ if [ -f "$$i" ]; then \
+--- openssl-1.0.2d/Makefile.shared
++++ openssl-1.0.2d/Makefile.shared
+@@ -105,6 +105,7 @@
+ SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ $${SHAREDCMD} $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +123,7 @@
+ done; \
+ fi; \
+ if [ -n "$$SHLIB_SOVER" ]; then \
++ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+ ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+ ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ fi; \
+--- openssl-1.0.2d/test/Makefile
++++ openssl-1.0.2d/test/Makefile
+@@ -133,7 +133,7 @@
+ tags:
+ ctags $(SRC)
+
+-tests: exe apps $(TESTS)
++tests: exe $(TESTS)
+
+ apps:
+ @(cd ..; $(MAKE) DIRS=apps all)
+@@ -402,121 +402,121 @@
+ link_app.$${shlib_target}
+
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+- @target=$(RSATEST); $(BUILD_CMD)
++ +@target=$(RSATEST); $(BUILD_CMD)
+
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+- @target=$(BNTEST); $(BUILD_CMD)
++ +@target=$(BNTEST); $(BUILD_CMD)
+
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+- @target=$(ECTEST); $(BUILD_CMD)
++ +@target=$(ECTEST); $(BUILD_CMD)
+
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+- @target=$(EXPTEST); $(BUILD_CMD)
++ +@target=$(EXPTEST); $(BUILD_CMD)
+
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+- @target=$(IDEATEST); $(BUILD_CMD)
++ +@target=$(IDEATEST); $(BUILD_CMD)
+
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+- @target=$(MD2TEST); $(BUILD_CMD)
++ +@target=$(MD2TEST); $(BUILD_CMD)
+
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+- @target=$(SHATEST); $(BUILD_CMD)
++ +@target=$(SHATEST); $(BUILD_CMD)
+
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+- @target=$(SHA1TEST); $(BUILD_CMD)
++ +@target=$(SHA1TEST); $(BUILD_CMD)
+
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+- @target=$(SHA256TEST); $(BUILD_CMD)
++ +@target=$(SHA256TEST); $(BUILD_CMD)
+
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+- @target=$(SHA512TEST); $(BUILD_CMD)
++ +@target=$(SHA512TEST); $(BUILD_CMD)
+
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+- @target=$(RMDTEST); $(BUILD_CMD)
++ +@target=$(RMDTEST); $(BUILD_CMD)
+
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+- @target=$(MDC2TEST); $(BUILD_CMD)
++ +@target=$(MDC2TEST); $(BUILD_CMD)
+
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+- @target=$(MD4TEST); $(BUILD_CMD)
++ +@target=$(MD4TEST); $(BUILD_CMD)
+
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+- @target=$(MD5TEST); $(BUILD_CMD)
++ +@target=$(MD5TEST); $(BUILD_CMD)
+
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+- @target=$(HMACTEST); $(BUILD_CMD)
++ +@target=$(HMACTEST); $(BUILD_CMD)
+
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+- @target=$(WPTEST); $(BUILD_CMD)
++ +@target=$(WPTEST); $(BUILD_CMD)
+
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+- @target=$(RC2TEST); $(BUILD_CMD)
++ +@target=$(RC2TEST); $(BUILD_CMD)
+
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+- @target=$(BFTEST); $(BUILD_CMD)
++ +@target=$(BFTEST); $(BUILD_CMD)
+
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+- @target=$(CASTTEST); $(BUILD_CMD)
++ +@target=$(CASTTEST); $(BUILD_CMD)
+
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+- @target=$(RC4TEST); $(BUILD_CMD)
++ +@target=$(RC4TEST); $(BUILD_CMD)
+
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+- @target=$(RC5TEST); $(BUILD_CMD)
++ +@target=$(RC5TEST); $(BUILD_CMD)
+
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+- @target=$(DESTEST); $(BUILD_CMD)
++ +@target=$(DESTEST); $(BUILD_CMD)
+
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+- @target=$(RANDTEST); $(BUILD_CMD)
++ +@target=$(RANDTEST); $(BUILD_CMD)
+
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+- @target=$(DHTEST); $(BUILD_CMD)
++ +@target=$(DHTEST); $(BUILD_CMD)
+
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+- @target=$(DSATEST); $(BUILD_CMD)
++ +@target=$(DSATEST); $(BUILD_CMD)
+
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+- @target=$(METHTEST); $(BUILD_CMD)
++ +@target=$(METHTEST); $(BUILD_CMD)
+
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+- @target=$(ENGINETEST); $(BUILD_CMD)
++ +@target=$(ENGINETEST); $(BUILD_CMD)
+
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+- @target=$(EVPTEST); $(BUILD_CMD)
++ +@target=$(EVPTEST); $(BUILD_CMD)
+
+ $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
+- @target=$(EVPEXTRATEST); $(BUILD_CMD)
++ +@target=$(EVPEXTRATEST); $(BUILD_CMD)
+
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+- @target=$(ECDSATEST); $(BUILD_CMD)
++ +@target=$(ECDSATEST); $(BUILD_CMD)
+
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+- @target=$(ECDHTEST); $(BUILD_CMD)
++ +@target=$(ECDHTEST); $(BUILD_CMD)
+
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+- @target=$(IGETEST); $(BUILD_CMD)
++ +@target=$(IGETEST); $(BUILD_CMD)
+
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+- @target=$(JPAKETEST); $(BUILD_CMD)
++ +@target=$(JPAKETEST); $(BUILD_CMD)
+
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+- @target=$(ASN1TEST); $(BUILD_CMD)
++ +@target=$(ASN1TEST); $(BUILD_CMD)
+
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+- @target=$(SRPTEST); $(BUILD_CMD)
++ +@target=$(SRPTEST); $(BUILD_CMD)
+
+ $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
+- @target=$(V3NAMETEST); $(BUILD_CMD)
++ +@target=$(V3NAMETEST); $(BUILD_CMD)
+
+ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
++ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
+
+ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
+- @target=$(CONSTTIMETEST) $(BUILD_CMD)
++ +@target=$(CONSTTIMETEST) $(BUILD_CMD)
+
+ #$(AESTEST).o: $(AESTEST).c
+ # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -529,7 +529,7 @@
+ # fi
+
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+- @target=dummytest; $(BUILD_CMD)
++ +@target=dummytest; $(BUILD_CMD)
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/dev-libs/openssl/metadata.xml b/dev-libs/openssl/metadata.xml
new file mode 100644
index 000000000000..5e30a851284c
--- /dev/null
+++ b/dev-libs/openssl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+<use>
+ <flag name='asm'>Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
+ <flag name='bindist'>Disable EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
+ <flag name='sctp'>Support for Stream Control Transmission Protocol</flag>
+ <flag name='rfc3779'>Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
+ <flag name='tls-heartbeat'>Enable the Heartbeat Extension in TLS and DTLS</flag>
+</use>
+<upstream>
+ <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-libs/openssl/openssl-0.9.8z_p5-r1.ebuild b/dev-libs/openssl/openssl-0.9.8z_p5-r1.ebuild
new file mode 100644
index 000000000000..12eb16d8fe17
--- /dev/null
+++ b/dev-libs/openssl/openssl-0.9.8z_p5-r1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# this ebuild is only for the libcrypto.so.0.9.8 and libssl.so.0.9.8 SONAME for ABI compat
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+PLEVEL=$(echo "${PV##*_p}" | tr '[1-9]' '[a-i]')
+MY_PV=${PV/_p*/${PLEVEL}}
+MY_P=${PN}-${MY_PV}
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
+
+LICENSE="openssl"
+SLOT="0.9.8"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test zlib"
+RESTRICT="!bindist? ( bindist )"
+
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r4
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !=dev-libs/openssl-0.9.8*:0"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+
+# Do not install any docs
+DOCS=()
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.9.8e-bsd-sparc64.patch
+ epatch "${FILESDIR}"/${PN}-0.9.8h-ldflags.patch #181438
+ epatch "${FILESDIR}"/${PN}-0.9.8m-binutils.patch #289130
+ epatch "${FILESDIR}"/${PN}-0.9.8ze-CVE-2015-0286.patch #543552
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \
+ Makefile{,.org} \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+ # update the enginedir path.
+ # punt broken config we don't care about as it fails sanity check.
+ sed -i \
+ -e '/^"debug-ben-debug-64"/d' \
+ -e "/foo.*engines/s|/lib/engines|/$(get_libdir)/engines|" \
+ Configure || die
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed"
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags -Wa,--noexecstack
+
+ sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906
+ sed -i '/^"debug-bodo/d' Configure # 0.9.8za shipped broken
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+
+ tc-export CC AR RANLIB
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl zlib) \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ shared threads \
+ || die "Configure failed"
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^LIBDIR=/s|=.*|=$(get_libdir)|" \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts
+ emake -j1 depend
+ emake -j1 build_libs
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ dolib.so lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-0.9.8z_p6.ebuild b/dev-libs/openssl/openssl-0.9.8z_p6.ebuild
new file mode 100644
index 000000000000..b2d9ea92642b
--- /dev/null
+++ b/dev-libs/openssl/openssl-0.9.8z_p6.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# this ebuild is only for the libcrypto.so.0.9.8 and libssl.so.0.9.8 SONAME for ABI compat
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+PLEVEL=$(echo "${PV##*_p}" | tr '[1-9]' '[a-i]')
+MY_PV=${PV/_p*/${PLEVEL}}
+MY_P=${PN}-${MY_PV}
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
+
+LICENSE="openssl"
+SLOT="0.9.8"
+KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test zlib"
+RESTRICT="!bindist? ( bindist )"
+
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r4
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !=dev-libs/openssl-0.9.8*:0"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+
+# Do not install any docs
+DOCS=()
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.9.8e-bsd-sparc64.patch
+ epatch "${FILESDIR}"/${PN}-0.9.8h-ldflags.patch #181438
+ epatch "${FILESDIR}"/${PN}-0.9.8m-binutils.patch #289130
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \
+ Makefile{,.org} \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+ # update the enginedir path.
+ # punt broken config we don't care about as it fails sanity check.
+ sed -i \
+ -e '/^"debug-ben-debug-64"/d' \
+ -e "/foo.*engines/s|/lib/engines|/$(get_libdir)/engines|" \
+ Configure || die
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed"
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags -Wa,--noexecstack
+
+ sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906
+ sed -i '/^"debug-bodo/d' Configure # 0.9.8za shipped broken
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+
+ tc-export CC AR RANLIB
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl zlib) \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ shared threads \
+ || die "Configure failed"
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^LIBDIR=/s|=.*|=$(get_libdir)|" \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts
+ emake -j1 depend
+ emake -j1 build_libs
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ dolib.so lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-0.9.8z_p7.ebuild b/dev-libs/openssl/openssl-0.9.8z_p7.ebuild
new file mode 100644
index 000000000000..d3807f00a998
--- /dev/null
+++ b/dev-libs/openssl/openssl-0.9.8z_p7.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# this ebuild is only for the libcrypto.so.0.9.8 and libssl.so.0.9.8 SONAME for ABI compat
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+PLEVEL=$(echo "${PV##*_p}" | tr '[1-9]' '[a-i]')
+MY_PV=${PV/_p*/${PLEVEL}}
+MY_P=${PN}-${MY_PV}
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
+
+LICENSE="openssl"
+SLOT="0.9.8"
+KEYWORDS="alpha amd64 arm ~hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test zlib"
+RESTRICT="!bindist? ( bindist )"
+
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r4
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !=dev-libs/openssl-0.9.8*:0"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+
+# Do not install any docs
+DOCS=()
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.9.8e-bsd-sparc64.patch
+ epatch "${FILESDIR}"/${PN}-0.9.8h-ldflags.patch #181438
+ epatch "${FILESDIR}"/${PN}-0.9.8m-binutils.patch #289130
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \
+ Makefile{,.org} \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+ # update the enginedir path.
+ # punt broken config we don't care about as it fails sanity check.
+ sed -i \
+ -e '/^"debug-ben-debug-64"/d' \
+ -e "/foo.*engines/s|/lib/engines|/$(get_libdir)/engines|" \
+ Configure || die
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed"
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags -Wa,--noexecstack
+
+ sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906
+ sed -i '/^"debug-bodo/d' Configure # 0.9.8za shipped broken
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+
+ tc-export CC AR RANLIB
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl zlib) \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ shared threads \
+ || die "Configure failed"
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^LIBDIR=/s|=.*|=$(get_libdir)|" \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts
+ emake -j1 depend
+ emake -j1 build_libs
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ dolib.so lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.0r.ebuild b/dev-libs/openssl/openssl-1.0.0r.ebuild
new file mode 100644
index 000000000000..e719253062c8
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.0r.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL v2/v3 and TLS v1)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# Have the sub-libs in RDEPEND with [static-libs] since, logically,
+# our libssl.a depends on libz.a/etc... at runtime.
+LIB_DEPEND="gmp? ( dev-libs/gmp[static-libs(+)] )
+ zlib? ( sys-libs/zlib[static-libs(+)] )
+ kerberos? ( app-crypt/mit-krb5 )"
+RDEPEND="static-libs? ( ${LIB_DEPEND} )
+ !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${SSL_CNF_DIR}:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ #epatch "${FILESDIR}"/${PN}-1.0.0d-fbsd-amd64.patch #363089
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.0e-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.0r-x32.patch
+ epatch_user #332661
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.0 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906
+ ./config --test-sanity || die "I AM NOT SANE"
+}
+
+src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl zlib) \
+ --prefix=/usr \
+ --openssldir=${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend || die
+ emake all || die
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash || die
+}
+
+src_test() {
+ emake -j1 test || die
+}
+
+src_install() {
+ emake INSTALL_PREFIX="${D}" install || die
+ dobin "${WORKDIR}"/c_rehash || die #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${D}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${D}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${D}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${D}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${D}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${ROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${ROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.1l-r1.ebuild b/dev-libs/openssl/openssl-1.0.1l-r1.ebuild
new file mode 100644
index 000000000000..8f063dc44e0d
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.1l-r1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1-x32.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1h-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1e-s_client-verify.patch #472584
+ epatch "${FILESDIR}"/${PN}-1.0.1f-revert-alpha-perl-generation.patch #499086
+ epatch "${FILESDIR}"/${PN}-1.0.1l-CVE-2015-0286.patch #543552
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.1m.ebuild b/dev-libs/openssl/openssl-1.0.1m.ebuild
new file mode 100644
index 000000000000..7f30b56b69af
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.1m.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-x32.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-s_client-verify.patch #472584
+ epatch "${FILESDIR}"/${PN}-1.0.1f-revert-alpha-perl-generation.patch #499086
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.1n.ebuild b/dev-libs/openssl/openssl-1.0.1n.ebuild
new file mode 100644
index 000000000000..0b33ee926ced
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.1n.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-x32.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1f-revert-alpha-perl-generation.patch #499086
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.1o.ebuild b/dev-libs/openssl/openssl-1.0.1o.ebuild
new file mode 100644
index 000000000000..f6c6c16f556f
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.1o.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-x32.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1f-revert-alpha-perl-generation.patch #499086
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.1p.ebuild b/dev-libs/openssl/openssl-1.0.1p.ebuild
new file mode 100644
index 000000000000..40a538fe2cf2
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.1p.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140406-r3
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+}
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.0h-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1p-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-x32.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1m-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.1f-revert-alpha-perl-generation.patch #499086
+ epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ $(use_ssl !bindist rc5) \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.2-r3.ebuild b/dev-libs/openssl/openssl-1.0.2-r3.ebuild
new file mode 100644
index 000000000000..231155dac067
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2-r3.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+MY_P=${P/_/-}
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ epatch "${FILESDIR}"/${P}-CVE-2015-0209.patch #541502
+ epatch "${FILESDIR}"/${P}-CVE-2015-0288.patch #542038
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.2-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2-s_client-verify.patch #472584
+ epatch "${FILESDIR}"/${PN}-1.0.2-CVE-2015-0291.patch
+
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: Expired http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use sctp && echo "sctp") \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.2a.ebuild b/dev-libs/openssl/openssl-1.0.2a.ebuild
new file mode 100644
index 000000000000..6c22a2e934e3
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2a.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+MY_P=${P/_/-}
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
+ epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2-s_client-verify.patch #472584
+ epatch "${FILESDIR}"/${P}-malloc-typo.patch #543828
+ epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
+
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: Expired http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.2b.ebuild b/dev-libs/openssl/openssl-1.0.2b.ebuild
new file mode 100644
index 000000000000..3ede9dd6398c
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2b.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+MY_P=${P/_/-}
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
+ epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
+
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: Expired http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.2c.ebuild b/dev-libs/openssl/openssl-1.0.2c.ebuild
new file mode 100644
index 000000000000..3ede9dd6398c
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2c.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+MY_P=${P/_/-}
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
+ epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
+
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: Expired http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/openssl/openssl-1.0.2d.ebuild b/dev-libs/openssl/openssl-1.0.2d.ebuild
new file mode 100644
index 000000000000..5a63f12b87ea
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2d.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+REV="1.7"
+MY_P=${P/_/-}
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
+RESTRICT="!bindist? ( bindist )"
+
+# The blocks are temporary just to make sure people upgrade to a
+# version that lack runtime version checking. We'll drop them in
+# the future.
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+ !<net-misc/openssh-5.9_p1-r4
+ !<net-libs/neon-0.29.6-r1"
+DEPEND="${RDEPEND}
+ sys-apps/diffutils
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ SSL_CNF_DIR="/etc/ssl"
+ sed \
+ -e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
+ -e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
+ "${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
+ > "${WORKDIR}"/c_rehash || die #416717
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
+ epatch "${FILESDIR}"/${PN}-1.0.2d-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
+ epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
+ epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
+ epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
+
+ epatch_user #332661
+ fi
+
+ # disable fips in the build
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ sed -i \
+ -e '/DIRS/s: fips : :g' \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
+ chmod a+rx gentoo.config
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ # Clean out patent-or-otherwise-encumbered code
+ # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)
+ # IDEA: Expired http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
+ # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
+ # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2
+ # RC5: Expired http://en.wikipedia.org/wiki/RC5
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ #if ! use bindist ; then
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ $(use_ssl !bindist ec) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl zlib) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -e 's:-fomit-frame-pointer ::g' \
+ -e 's:-O[0-9] ::g' \
+ -e 's:-march=[-a-z0-9]* ::g' \
+ -e 's:-mcpu=[-a-z0-9]* ::g' \
+ -e 's:-m[a-z0-9]* ::g' \
+ )
+ sed -i \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ emake INSTALL_PREFIX="${D}" install
+}
+
+multilib_src_install_all() {
+ dobin "${WORKDIR}"/c_rehash #333117
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
+ dohtml -r doc/*
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
+
+pkg_postinst() {
+ ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
+ c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
+ eend $?
+
+ has_version ${CATEGORY}/${PN}:0.9.8 && return 0
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
+}
diff --git a/dev-libs/ossp-uuid/Manifest b/dev-libs/ossp-uuid/Manifest
new file mode 100644
index 000000000000..e8d64aeb71d3
--- /dev/null
+++ b/dev-libs/ossp-uuid/Manifest
@@ -0,0 +1 @@
+DIST uuid-1.6.2.tar.gz 397048 SHA256 11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0 SHA512 16c7e016ce08d7679cc6ee7dec43a886a8c351960acdde99f8f9b590c7232d521bc6e66e4766d969d22c3f835dcc2814fdecc44eef1cd11e7b9b0f9c41b5c03e WHIRLPOOL 424a7e7e40e51aa7a516c129312548c315ab6581a567bab5ca7ea9289aa9b75ef58db12b947aa58e76d9d6bb151b2cad8709be11f068c43ab986a3396c3b2c4c
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch
new file mode 100644
index 000000000000..1f92cea3ae69
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch
@@ -0,0 +1,36 @@
+Description: Support dash-less args to from_string.
+Author: Tim Retout <diocles@debian.org>
+Bug-Debian: http://bugs.debian.org/635607
+
+The module Data::GUID depends on Data::UUID supporting this behaviour.
+
+--- a/perl/uuid_compat.pm
++++ b/perl/uuid_compat.pm
+@@ -93,7 +93,9 @@
+ $uuid->import('str',
+ $str =~ /^0x/
+ ? join '-', unpack('x2 a8 a4 a4 a4 a12', $str)
+- : $str
++ : $str =~ /-/
++ ? $str
++ : join '-', unpack('A8 A4 A4 A4 A12', $str)
+ );
+ return $uuid->export('bin');
+ }
+--- a/perl/uuid_compat.ts
++++ b/perl/uuid_compat.ts
+@@ -28,7 +28,7 @@
+ ## uuid_compat.ts: Data::UUID Backward Compatibility Perl API (Perl test suite part)
+ ##
+
+-use Test::More tests => 14;
++use Test::More tests => 16;
+
+ BEGIN {
+ use_ok('Data::UUID');
+@@ -53,3 +53,5 @@
+ ok($uuid8 = $ug->from_string("6ba7b811-9dad-11d1-80b4-00c04fd430c8"));
+ ok($ug->compare($uuid7, $uuid8) == 0);
+
++ok($uuid9 = $ug->from_string("6ba7b8119dad11d180b400c04fd430c8"));
++ok($ug->compare($uuid7, $uuid9) == 0);
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch
new file mode 100644
index 000000000000..060a7540f1f9
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch
@@ -0,0 +1,51 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Tue, 2 Feb 2010 12:16:49 +0100
+Subject: [PATCH] Fix whatis entries
+
+Fix whatis entry of uuid.1, uuid.3ossp and uuid++.3ossp manpages
+---
+ uuid++.pod | 2 +-
+ uuid.pod | 2 +-
+ uuid_cli.pod | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/uuid++.pod b/uuid++.pod
+index 8b5a4b1..89c5efb 100644
+--- a/uuid++.pod
++++ b/uuid++.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier> (C++ API)
++B<uuid++> - B<Universally Unique Identifier> (C++ API)
+
+ =head1 VERSION
+
+diff --git a/uuid.pod b/uuid.pod
+index 4ad3742..0179a46 100644
+--- a/uuid.pod
++++ b/uuid.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier>
++B<uuid> - B<Universally Unique Identifier>
+
+ =head1 VERSION
+
+diff --git a/uuid_cli.pod b/uuid_cli.pod
+index ddec6bb..df9dc83 100644
+--- a/uuid_cli.pod
++++ b/uuid_cli.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier Command-Line Tool>
++B<uuid> - B<Universally Unique Identifier Command-Line Tool>
+
+ =head1 VERSION
+
+--
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-perl.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-perl.patch
new file mode 100644
index 000000000000..a4fade8b088b
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-perl.patch
@@ -0,0 +1,24 @@
+--- tmp/uuid-1.6.2/perl/Makefile.PL 2007-01-01 18:13:18.000000000 +0000
++++ uuid-1.6.2/perl/Makefile.PL 2011-01-07 11:54:23.521585547 +0000
+@@ -33,9 +33,9 @@
+ use ExtUtils::MakeMaker;
+
+ # determine source directory
+-my ($srcdir) = map { my $d = $_; $d =~ s/\/libuuid\.la$//; $d }
+- grep { -f $_ } ("../libuuid.la", glob("../*/libuuid.la"))
+- or die "no source directory found (where libuuid.la is located)";
++my ($srcdir) = map { my $d = $_; $d =~ s/\/libossp-uuid\.la$//; $d }
++ grep { -f $_ } ("../libossp-uuid.la", glob("../*/libossp-uuid.la"))
++ or die "no source directory found (where libossp-uuid.la is located)";
+
+ # determine extra build options
+ my $compat = 0;
+@@ -47,7 +47,7 @@
+ VERSION_FROM => 'uuid.pm',
+ ABSTRACT_FROM => 'uuid.pod',
+ PREREQ_PM => {},
+- LIBS => [ "-L$srcdir/.libs -L$srcdir -luuid" ],
++ LIBS => [ "-L$srcdir/.libs -L$srcdir -lossp-uuid" ],
+ DEFINE => '',
+ INC => "-I. -I$srcdir",
+ PM => { 'uuid.pm' => '$(INST_LIBDIR)/uuid.pm',
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch
new file mode 100644
index 000000000000..69c788bf1a05
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch
@@ -0,0 +1,42 @@
+diff -Naur uuid-1.6.2.orig/php/config.m4 uuid-1.6.2/php/config.m4
+--- uuid-1.6.2.orig/php/config.m4 2009-03-21 12:52:49.142847389 +0100
++++ uuid-1.6.2/php/config.m4 2009-03-21 12:53:06.282809038 +0100
+@@ -33,10 +33,10 @@
+ if test "$PHP_UUID" != "no"; then
+ PHP_NEW_EXTENSION(uuid, uuid.c, $ext_shared)
+ AC_DEFINE(HAVE_UUID, 1, [Have OSSP uuid library])
+- PHP_ADD_LIBPATH([..], )
+- PHP_ADD_LIBRARY([uuid],, UUID_SHARED_LIBADD)
++ PHP_ADD_LIBRARY([ossp-uuid],, UUID_SHARED_LIBADD)
+- PHP_ADD_INCLUDE([..])
++ PHP_ADD_INCLUDE([../uuid-1.6.2])
+ PHP_SUBST(UUID_SHARED_LIBADD)
++ LDFLAGS="$LDFLAGS -L../uuid-1.6.2/.libs"
+
+ dnl avoid linking conflict with a potentially existing uuid_create(3) in libc
+ AC_CHECK_FUNC(uuid_create,[
+diff -Naur uuid-1.6.2.orig/php/Makefile.local uuid-1.6.2/php/Makefile.local
+--- uuid-1.6.2.orig/php/Makefile.local 2009-03-21 12:52:49.142847389 +0100
++++ uuid-1.6.2/php/Makefile.local 2009-03-21 12:53:06.282809038 +0100
+@@ -42,7 +42,7 @@
+
+ test: build
+ @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; \
+- $(PHP) -q -d "safe_mode=0" -d "extension_dir=./" uuid.ts $$version
++ $(PHP) -q -d "safe_mode=0" -d "extension_dir=./modules/" uuid.ts $$version
+
+ install: build
+ @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; extdir="$(EXTDIR)"; \
+diff -Naur uuid-1.6.2.orig/php/uuid.ts uuid-1.6.2/php/uuid.ts
+--- uuid-1.6.2.orig/php/uuid.ts 2009-03-21 12:52:49.142847389 +0100
++++ uuid-1.6.2/php/uuid.ts 2009-03-21 12:53:06.282809038 +0100
+@@ -36,7 +36,7 @@
+
+ print "++ loading DSO uuid.so (low-level API)\n";
+ if (!extension_loaded('uuid')) {
+- dl('modules/uuid.so');
++ dl('uuid.so');
+ }
+
+ print "++ loading PHP uuid.php${php_version} (high-level API)\n";
+
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-r1.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-r1.patch
new file mode 100644
index 000000000000..d24fcba721b5
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-r1.patch
@@ -0,0 +1,70 @@
+--- uuid-1.6.2.orig/Makefile.in 2009-03-21 12:52:49.142847389 +0100
++++ uuid-1.6.2.orig/Makefile.in 2009-03-21 12:53:54.201971177 +0100
+@@ -62,13 +62,13 @@
+ PHP = @PHP@
+ PG_CONFIG = @PG_CONFIG@
+
+-LIB_NAME = libuuid.la
++LIB_NAME = libossp-uuid.la
+ LIB_OBJS = uuid.lo uuid_md5.lo uuid_sha1.lo uuid_prng.lo uuid_mac.lo uuid_time.lo uuid_ui64.lo uuid_ui128.lo uuid_str.lo
+
+-DCE_NAME = libuuid_dce.la
++DCE_NAME = libossp-uuid_dce.la
+ DCE_OBJS = uuid_dce.lo $(LIB_OBJS)
+
+-CXX_NAME = libuuid++.la
++CXX_NAME = libossp-uuid++.la
+ CXX_OBJS = uuid++.lo $(LIB_OBJS)
+
+ PRG_NAME = uuid
+@@ -112,15 +112,15 @@
+ @$(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
+
+ $(LIB_NAME): $(LIB_OBJS)
+- @$(LIBTOOL) --mode=link $(CC) -o $(LIB_NAME) $(LIB_OBJS) -rpath $(libdir) \
++ @$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) -rpath $(libdir) \
+ -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
+
+ $(DCE_NAME): $(DCE_OBJS)
+- @$(LIBTOOL) --mode=link $(CC) -o $(DCE_NAME) $(DCE_OBJS) -rpath $(libdir) \
++ @$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $(DCE_NAME) $(DCE_OBJS) -rpath $(libdir) \
+ -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
+
+ $(CXX_NAME): $(CXX_OBJS)
+- @$(LIBTOOL) --mode=link $(CXX) -o $(CXX_NAME) $(CXX_OBJS) -rpath $(libdir) \
++ @$(LIBTOOL) --mode=link $(CXX) $(LDFLAGS) -o $(CXX_NAME) $(CXX_OBJS) -rpath $(libdir) \
+ -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
+
+ $(PRG_NAME): $(PRG_OBJS) $(LIB_NAME)
+@@ -253,7 +253,7 @@
+ -@if [ ".$(WITH_CXX)" = .yes ]; then \
+ $(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 $(CXX_NAME) $(DESTDIR)$(libdir)/; \
+ fi
+- @$(LIBTOOL) --mode=install $(SHTOOL) install -c -s -m 755 uuid $(DESTDIR)$(bindir)/
++ @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 755 uuid $(DESTDIR)$(bindir)/
+ $(SHTOOL) install -c -m 644 $(S)/uuid.1 $(DESTDIR)$(mandir)/man1/
+ -@if [ ".$(WITH_PERL)" = .yes ]; then \
+ (cd $(S)/perl && $(MAKE) $(MFLAGS) install DESTDIR=$(DESTDIR)); \
+--- uuid-1.6.2.orig/uuid-config.in 2009-03-21 12:52:49.146166177 +0100
++++ uuid-1.6.2.orig/uuid-config.in 2009-03-21 12:53:06.282809038 +0100
+@@ -121,7 +121,7 @@
+ output_extra="$output_extra $uuid_ldflags"
+ ;;
+ --libs)
+- output="$output -luuid"
++ output="$output -lossp-uuid"
+ output_extra="$output_extra $uuid_libs"
+ ;;
+ * )
+--- uuid-1.6.2.orig/uuid.pc.in 2009-03-21 12:52:49.146166177 +0100
++++ uuid-1.6.2.orig/uuid.pc.in 2009-03-21 12:53:06.282809038 +0100
+@@ -36,7 +36,7 @@
+ Description: Universally Unique Identifier (UUID) Library
+ Version: @UUID_VERSION_RAW@
+ URL: http://www.ossp.org/pkg/lib/uuid/
+-Cflags: -I${includedir}
+-Libs: -L${libdir} -luuid
++Cflags: -I${includedir}/ossp
++Libs: -L${libdir} -lossp-uuid
+ Libs.private: @LIBS@
+
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch
new file mode 100644
index 000000000000..0adc837ae163
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch
@@ -0,0 +1,116 @@
+diff -urN uuid-1.6.2/configure uuid-1.6.2/configure
+--- uuid-1.6.2/configure 2008-07-04 15:43:09.000000000 -0600
++++ uuid-1.6.2/configure 2012-06-06 19:19:41.659880386 -0600
+@@ -14208,7 +14208,7 @@
+
+
+
+-for ac_header in netdb.h ifaddrs.h net/if.h net/if_dl.h net/if_arp.h netinet/in.h arpa/inet.h
++for ac_header in netdb.h ifaddrs.h net/if.h net/if_dl.h net/if_arp.h netinet/in.h arpa/inet.h netpacket/packet.h
+ do
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+diff -urN uuid-1.6.2/uuid.c uuid-1.6.2/uuid.c
+--- uuid-1.6.2/uuid.c 2008-03-07 03:49:59.000000000 -0700
++++ uuid-1.6.2/uuid.c 2012-06-06 15:50:30.060881473 -0600
+@@ -72,6 +72,8 @@
+ /* IEEE 802 MAC address octet length */
+ #define IEEE_MAC_OCTETS 6
+
++static unsigned char mac_unset[IEEE_MAC_OCTETS] = {BM_OCTET(1,0,0,0,0,0,0,0), 0x00, 0x00, 0x00, 0x00, 0x00};
++
+ /* UUID binary representation according to UUID standards */
+ typedef struct {
+ uuid_uint32_t time_low; /* bits 0-31 of time field */
+@@ -967,7 +969,7 @@
+ * GENERATE NODE
+ */
+
+- if ((mode & UUID_MAKE_MC) || (uuid->mac[0] & BM_OCTET(1,0,0,0,0,0,0,0))) {
++ if ((mode & UUID_MAKE_MC) || !memcmp(uuid->mac, mac_unset, IEEE_MAC_OCTETS)) {
+ /* generate random IEEE 802 local multicast MAC address */
+ if (prng_data(uuid->prng, (void *)&(uuid->obj.node), sizeof(uuid->obj.node)) != PRNG_RC_OK)
+ return UUID_RC_INT;
+diff -urN uuid-1.6.2/uuid_mac.c uuid-1.6.2/uuid_mac.c
+--- uuid-1.6.2/uuid_mac.c 2008-03-07 03:49:59.000000000 -0700
++++ uuid-1.6.2/uuid_mac.c 2012-06-06 19:30:49.050879930 -0600
+@@ -76,6 +76,9 @@
+ #ifdef HAVE_IFADDRS_H
+ #include <ifaddrs.h>
+ #endif
++#ifdef HAVE_NETPACKET_PACKET_H
++#include <netpacket/packet.h>
++#endif
+
+ /* own headers (part (1/2) */
+ #include "uuid_mac.h"
+@@ -87,6 +90,10 @@
+ #define TRUE (/*lint -save -e506*/ !FALSE /*lint -restore*/)
+ #endif
+
++#if !defined(min)
++#define min(a,b) ((a) < (b) ? (a) : (b))
++#endif
++
+ /* return the Media Access Control (MAC) address of
+ the FIRST network interface card (NIC) */
+ int mac_address(unsigned char *data_ptr, size_t data_len)
+@@ -95,28 +102,41 @@
+ if (data_ptr == NULL || data_len < MAC_LEN)
+ return FALSE;
+
+-#if defined(HAVE_IFADDRS_H) && defined(HAVE_NET_IF_DL_H) && defined(HAVE_GETIFADDRS)
++#if defined(HAVE_IFADDRS_H) && (defined(HAVE_NET_IF_DL_H) || defined(HAVE_NETPACKET_PACKET_H)) && defined(HAVE_GETIFADDRS)
+ /* use getifaddrs(3) on BSD class platforms (xxxBSD, MacOS X, etc) */
+ {
+ struct ifaddrs *ifap;
+ struct ifaddrs *ifap_head;
++#if defined(HAVE_NET_IF_DL_H)
+ const struct sockaddr_dl *sdl;
+ unsigned char *ucp;
+- int i;
++#else
++ const struct sockaddr_ll *sll;
++#endif
+
+ if (getifaddrs(&ifap_head) < 0)
+ return FALSE;
+ for (ifap = ifap_head; ifap != NULL; ifap = ifap->ifa_next) {
++#if defined(HAVE_NET_IF_DL_H)
+ if (ifap->ifa_addr != NULL && ifap->ifa_addr->sa_family == AF_LINK) {
+ sdl = (const struct sockaddr_dl *)(void *)ifap->ifa_addr;
+ ucp = (unsigned char *)(sdl->sdl_data + sdl->sdl_nlen);
+ if (sdl->sdl_alen > 0) {
+- for (i = 0; i < MAC_LEN && i < sdl->sdl_alen; i++, ucp++)
+- data_ptr[i] = (unsigned char)(*ucp & 0xff);
++ memcpy(data_ptr, ucp, min(sdl->sdl_alen, MAC_LEN));
+ freeifaddrs(ifap_head);
+ return TRUE;
+ }
+ }
++#else
++ if (ifap->ifa_addr != NULL && ifap->ifa_addr->sa_family == AF_PACKET) {
++ sll = (const struct sockaddr_ll *)(void *)ifap->ifa_addr;
++ if (sll->sll_hatype == ARPHRD_ETHER) {
++ memcpy(data_ptr, sll->sll_addr, min(sll->sll_halen, MAC_LEN));
++ freeifaddrs(ifap_head);
++ return TRUE;
++ }
++ }
++#endif
+ }
+ freeifaddrs(ifap_head);
+ }
+diff -urN uuid-1.6.2/config.h.in uuid-1.6.2/config.h.in
+--- uuid-1.6.2/config.h.in 2008-07-04 15:43:10.000000000 -0600
++++ uuid-1.6.2/config.h.in 2012-06-06 21:59:03.370227352 -0600
+@@ -75,6 +75,9 @@
+ /* Define to 1 if you have the <netinet/in.h> header file. */
+ #undef HAVE_NETINET_IN_H
+
++/* Define to 1 if you have the <netpacket/packet.h> header file. */
++#undef HAVE_NETPACKET_PACKET_H
++
+ /* Define to 1 if you have the <net/if_arp.h> header file. */
+ #undef HAVE_NET_IF_ARP_H
+
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch
new file mode 100644
index 000000000000..c191e17df863
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch
@@ -0,0 +1,13 @@
+diff -up uuid-1.6.2/uuid.1.manfix uuid-1.6.2/uuid.1
+--- uuid-1.6.2/uuid.1.manfix 2013-05-30 15:56:38.630003125 +0200
++++ uuid-1.6.2/uuid.1 2013-05-30 16:00:57.145127756 +0200
+@@ -238,6 +238,9 @@ value representation of a \s-1UUID\s0. E
+ .IP "\fB\-o\fR \fIfilename\fR" 3
+ .IX Item "-o filename"
+ Write output to \fIfilename\fR instead of to \fIstdout\fR.
++.IP "\fB\-r\fR" 3
++.IX Item "-r"
++This is equivalent to \fB-F BIN\fR.
+ .IP "\fB\-d\fR" 3
+ .IX Item "-d"
+ Decode a given \s-1UUID\s0 (given as a command line argument or if the command
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php.patch
new file mode 100644
index 000000000000..d57e8939f154
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php.patch
@@ -0,0 +1,13 @@
+diff --git a/php/uuid.c b/php/uuid.c
+index b76b718..455611a 100644
+--- a/php/uuid.c
++++ b/php/uuid.c
+@@ -496,7 +496,7 @@ PHP_FUNCTION(uuid_version)
+ }
+
+ /* module function table */
+-static function_entry uuid_functions[] = {
++static zend_function_entry uuid_functions[] = {
+ PHP_FE(uuid_create, NULL)
+ PHP_FE(uuid_destroy, NULL)
+ PHP_FE(uuid_clone, NULL)
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch
new file mode 100644
index 000000000000..1467207f51f5
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch
@@ -0,0 +1,55 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Wed, 27 Jan 2010 19:46:21 +0100
+Subject: [PATCH] uuid: preserve -m option status in -v option handling
+
+Bug: 531396
+---
+ uuid_cli.c | 19 ++++++++++---------
+ 1 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/uuid_cli.c b/uuid_cli.c
+index d1b0b11..14a67fe 100644
+--- a/uuid_cli.c
++++ b/uuid_cli.c
+@@ -140,11 +140,12 @@ int main(int argc, char *argv[])
+ i = strtol(optarg, &p, 10);
+ if (*p != '\0')
+ usage("invalid argument to option 'v'");
++ version &= ~(UUID_MAKE_V1|UUID_MAKE_V3|UUID_MAKE_V4|UUID_MAKE_V5);
+ switch (i) {
+- case 1: version = UUID_MAKE_V1; break;
+- case 3: version = UUID_MAKE_V3; break;
+- case 4: version = UUID_MAKE_V4; break;
+- case 5: version = UUID_MAKE_V5; break;
++ case 1: version |= UUID_MAKE_V1; break;
++ case 3: version |= UUID_MAKE_V3; break;
++ case 4: version |= UUID_MAKE_V4; break;
++ case 5: version |= UUID_MAKE_V5; break;
+ default:
+ usage("invalid version on option 'v'");
+ break;
+@@ -213,10 +214,10 @@ int main(int argc, char *argv[])
+ }
+ else {
+ /* encoding */
+- if ( (version == UUID_MAKE_V1 && argc != 0)
+- || (version == UUID_MAKE_V3 && argc != 2)
+- || (version == UUID_MAKE_V4 && argc != 0)
+- || (version == UUID_MAKE_V5 && argc != 2))
++ if ( (version & UUID_MAKE_V1 && argc != 0)
++ || (version & UUID_MAKE_V3 && argc != 2)
++ || (version & UUID_MAKE_V4 && argc != 0)
++ || (version & UUID_MAKE_V5 && argc != 2))
+ usage("invalid number of arguments");
+ if ((rc = uuid_create(&uuid)) != UUID_RC_OK)
+ error(1, "uuid_create: %s", uuid_error(rc));
+@@ -232,7 +233,7 @@ int main(int argc, char *argv[])
+ if ((rc = uuid_load(uuid, "nil")) != UUID_RC_OK)
+ error(1, "uuid_load: %s", uuid_error(rc));
+ }
+- if (version == UUID_MAKE_V3 || version == UUID_MAKE_V5) {
++ if (version & UUID_MAKE_V3 || version & UUID_MAKE_V5) {
+ if ((rc = uuid_create(&uuid_ns)) != UUID_RC_OK)
+ error(1, "uuid_create: %s", uuid_error(rc));
+ if ((rc = uuid_load(uuid_ns, argv[0])) != UUID_RC_OK) {
+--
diff --git a/dev-libs/ossp-uuid/metadata.xml b/dev-libs/ossp-uuid/metadata.xml
new file mode 100644
index 000000000000..31c8b99f54a1
--- /dev/null
+++ b/dev-libs/ossp-uuid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r2.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r2.ebuild
new file mode 100644
index 000000000000..9b4202440308
--- /dev/null
+++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PHP_EXT_NAME="uuid"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+USE_PHP="php5-4"
+
+MY_P="uuid-${PV}"
+PHP_EXT_S="${WORKDIR}/${MY_P}/php"
+PHP_EXT_OPTIONAL_USE="php"
+
+inherit eutils multilib php-ext-source-r2
+
+DESCRIPTION="An ISO-C:1999 API and corresponding CLI for the generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122 compliant UUID"
+HOMEPAGE="http://www.ossp.org/pkg/lib/uuid/"
+SRC_URI="ftp://ftp.ossp.org/pkg/lib/uuid/${MY_P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+IUSE="+cxx perl php static-libs"
+
+DEPEND="perl? ( dev-lang/perl )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+
+ epatch \
+ "${FILESDIR}/${P}-gentoo-r1.patch" \
+ "${FILESDIR}/${P}-gentoo-perl.patch"
+
+ if use php; then
+ local slot
+ for slot in $(php_get_slots); do
+ php_init_slot_env ${slot}
+ epatch \
+ "${FILESDIR}/${P}-gentoo-php.patch" \
+ "${FILESDIR}/${P}-php.patch"
+ done
+
+ php-ext-source-r2_src_prepare
+ fi
+}
+
+src_configure() {
+ # Notes:
+ # * collides with e2fstools libs and includes if not moved around
+ # * pgsql-bindings need PostgreSQL-sources and are included since PostgreSQL 8.3
+ econf \
+ --includedir="${EPREFIX}"/usr/include/ossp \
+ --with-dce \
+ --without-pgsql \
+ --without-php \
+ $(use_with cxx) \
+ $(use_with perl) \
+ $(use_enable static-libs static)
+
+ if use php; then
+ php-ext-source-r2_src_configure
+ fi
+}
+
+src_compile() {
+ default
+
+ if use php; then
+ php-ext-source-r2_src_compile
+ fi
+}
+
+src_install() {
+ DOCS="AUTHORS BINDINGS ChangeLog HISTORY NEWS OVERVIEW PORTING README SEEALSO THANKS TODO USERS"
+ default
+
+ if use php ; then
+ php-ext-source-r2_src_install
+ cd "${S}/php"
+ insinto /usr/share/php
+ newins uuid.php5 uuid.php
+ fi
+
+ use static-libs || rm -rf "${ED}"/usr/lib*/*.la
+
+ mv "${ED}/usr/$(get_libdir)/pkgconfig"/{,ossp-}uuid.pc
+ mv "${ED}/usr/share/man/man3"/uuid.3{,ossp}
+ mv "${ED}/usr/share/man/man3"/uuid++.3{,ossp}
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${S}/.libs" # required for the perl-bindings to load the (correct) library
+ default
+}
diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r4.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r4.ebuild
new file mode 100644
index 000000000000..097104758186
--- /dev/null
+++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r4.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="uuid-${PV}"
+
+PHP_EXT_NAME="uuid"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_EXT_S="${WORKDIR}/${MY_P}/php"
+PHP_EXT_OPTIONAL_USE="php"
+USE_PHP="php5-5 php5-4"
+
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit eutils multilib perl-module php-ext-source-r2
+
+DESCRIPTION="An ISO-C:1999 API and corresponding CLI for the generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122 compliant UUID"
+HOMEPAGE="http://www.ossp.org/pkg/lib/uuid/"
+SRC_URI="ftp://ftp.ossp.org/pkg/lib/uuid/${MY_P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+IUSE="+cxx perl php static-libs"
+
+DEPEND="perl? ( dev-lang/perl:= )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+
+ epatch \
+ "${FILESDIR}/${P}-gentoo-r1.patch" \
+ "${FILESDIR}/${P}-gentoo-perl.patch" \
+ "${FILESDIR}/${P}-hwaddr.patch" \
+ "${FILESDIR}/${P}-manfix.patch" \
+ "${FILESDIR}/${P}-uuid-preserve-m-option-status-in-v-option-handling.patch" \
+ "${FILESDIR}/${P}-fix-whatis-entries.patch" \
+ "${FILESDIR}/${P}-fix-data-uuid-from-string.patch"
+
+ if use php; then
+ local slot
+ for slot in $(php_get_slots); do
+ php_init_slot_env ${slot}
+ epatch \
+ "${FILESDIR}/${P}-gentoo-php.patch" \
+ "${FILESDIR}/${P}-php.patch"
+ done
+
+ php-ext-source-r2_src_prepare
+ fi
+}
+
+src_configure() {
+ # Notes:
+ # * collides with e2fstools libs and includes if not moved around
+ # * pgsql-bindings need PostgreSQL-sources and are included since PostgreSQL 8.3
+ econf \
+ --includedir="${EPREFIX}"/usr/include/ossp \
+ --with-dce \
+ --without-pgsql \
+ --without-perl \
+ --without-php \
+ $(use_with cxx) \
+ $(use_enable static-libs static)
+
+ if use php; then
+ php-ext-source-r2_src_configure
+ fi
+}
+
+src_compile() {
+ default
+
+ if use perl; then
+ cd perl
+ # configure needs the ossp-uuid.la generated by `make` in $S
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+
+ if use php; then
+ php-ext-source-r2_src_compile
+ fi
+}
+
+src_install() {
+ DOCS="AUTHORS BINDINGS ChangeLog HISTORY NEWS OVERVIEW PORTING README SEEALSO THANKS TODO USERS"
+ default
+
+ if use perl ; then
+ cd perl
+ perl-module_src_install
+ fi
+
+ if use php ; then
+ php-ext-source-r2_src_install
+ cd "${S}/php"
+ insinto /usr/share/php
+ newins uuid.php5 uuid.php
+ fi
+
+ use static-libs || rm -rf "${ED}"/usr/lib*/*.la
+
+ mv "${ED}/usr/$(get_libdir)/pkgconfig"/{,ossp-}uuid.pc
+ mv "${ED}/usr/share/man/man3"/uuid.3{,ossp}
+ mv "${ED}/usr/share/man/man3"/uuid++.3{,ossp}
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${S}/.libs" # required for the perl-bindings to load the (correct) library
+ default
+
+ use perl && emake -C perl test
+}
diff --git a/dev-libs/pakchois/Manifest b/dev-libs/pakchois/Manifest
new file mode 100644
index 000000000000..c1fb3bce658c
--- /dev/null
+++ b/dev-libs/pakchois/Manifest
@@ -0,0 +1 @@
+DIST pakchois-0.4.tar.gz 371126 SHA256 d73dc5f235fe98e4d1e8c904f40df1cf8af93204769b97dbb7ef7a4b5b958b9a SHA512 b4322cf58124aa05b6f34155a4eea753c6eae2fbbe57436491caf0549d79598c95f4d4fefa4a823ead341ab66a9e1a3f437d5278e449ca0d088a4a971d244160 WHIRLPOOL f8173af64be38fcc87d76a3bc16abed7224a3ab8a0b7848ea754dfe02a42d271619c4e967a28400962b68ec9fbed93d1fbeee5a2c847e76917f5e9840520c4bd
diff --git a/dev-libs/pakchois/metadata.xml b/dev-libs/pakchois/metadata.xml
new file mode 100644
index 000000000000..b02ffbb5d348
--- /dev/null
+++ b/dev-libs/pakchois/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/pakchois/pakchois-0.4-r2.ebuild b/dev-libs/pakchois/pakchois-0.4-r2.ebuild
new file mode 100644
index 000000000000..db6f35cce179
--- /dev/null
+++ b/dev-libs/pakchois/pakchois-0.4-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit multilib-minimal
+
+DESCRIPTION="PaKChoiS - PKCS #11 wrapper library"
+HOMEPAGE="http://www.manyfish.co.uk/pakchois/"
+SRC_URI="http://www.manyfish.co.uk/pakchois/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="nls"
+
+DEPEND=""
+RDEPEND=""
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable nls)
+}
diff --git a/dev-libs/papi/Manifest b/dev-libs/papi/Manifest
new file mode 100644
index 000000000000..6bae30620498
--- /dev/null
+++ b/dev-libs/papi/Manifest
@@ -0,0 +1,2 @@
+DIST papi-5.3.0.tar.gz 3928589 SHA256 99f2f36398b370e75d100b4a189d5bc0ac4f5dd66df44d441f88fd32e1421524 SHA512 a88d28d895a1b44b0d05ac90c39406b7e9806a1d865b39df405e55b27d7f6bb191330ed7df52d4f3f04f46ff94ce867e6c1bdd9b38c314652cff1ee9d838b226 WHIRLPOOL cf1074f259831283292b57b636b6b0083a11ec6084bce2361eabe3ca706fd3d2420d3ab4074c8024296b06d11223a1dcc9782040ab08502481498b84bb2517e6
+DIST papi-5.4.0.tar.gz 4075657 SHA256 537bc209ad05050399d5f268ba8f40e499f457cab9b3503f57600f9893819195 SHA512 be4a929208a83765f99f2f34e98d6770bf46d4f336e492506cc86d6a34fbf84754b05cfd22db0949b382bb8f24ad0ed7f5e7c90941baad2593b82827ee27eb4a WHIRLPOOL 291d087c23b30a5f9f696771b62204ebe030ab731c35b9613a7821d110b920fcef777b0cfbbd136fe3838acf14631527055e0cf0c99624dfbbcd7c40cc4f4d99
diff --git a/dev-libs/papi/metadata.xml b/dev-libs/papi/metadata.xml
new file mode 100644
index 000000000000..1847f17d2266
--- /dev/null
+++ b/dev-libs/papi/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/papi/papi-5.3.0.ebuild b/dev-libs/papi/papi-5.3.0.ebuild
new file mode 100644
index 000000000000..1c32b5e29037
--- /dev/null
+++ b/dev-libs/papi/papi-5.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils fortran-2 versionator
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="http://icl.cs.utk.edu/papi/"
+SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND="
+ dev-libs/libpfm[static-libs]
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)/src"
+
+src_configure() {
+ local myeconfargs=(
+ --with-shlib
+ --with-perf-events
+ --with-pfm-prefix="${EPREFIX}/usr"
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ dodoc ../RE*
+}
diff --git a/dev-libs/papi/papi-5.4.0.ebuild b/dev-libs/papi/papi-5.4.0.ebuild
new file mode 100644
index 000000000000..9ed3357af1cb
--- /dev/null
+++ b/dev-libs/papi/papi-5.4.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils fortran-2 versionator
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="http://icl.cs.utk.edu/papi/"
+SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND="
+ dev-libs/libpfm[static-libs]
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)/src"
+
+src_configure() {
+ local myeconfargs=(
+ --with-shlib
+ --with-perf-events
+ --with-pfm-prefix="${EPREFIX}/usr"
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ dodoc ../RE*
+}
diff --git a/dev-libs/pcc-libs/Manifest b/dev-libs/pcc-libs/Manifest
new file mode 100644
index 000000000000..1e76bd5fff90
--- /dev/null
+++ b/dev-libs/pcc-libs/Manifest
@@ -0,0 +1,4 @@
+DIST pcc-libs-1.0.0.tgz 190238 SHA256 f89ac94e30927a28c78fc8b8b7fef617eeaf843e2268063d43e414cf3179dd62 SHA512 619e65bb4b6c979864a2bd800f2b2abf2702bea2d091f884e9c9d5a2fcf9ff999faf45006bf83cd363f95bf60789e118e82cf24bcb0666758686061baa9cc624 WHIRLPOOL 365b354d8f1081dfa7d75468598d87200155dba8679800177b97084f85fe85b5db8e369f94be777f69f3a33dfb300b01bda5d982e7ae0efd600b4ddc4b8a3094
+DIST pcc-libs-1.1.0.tgz 198204 SHA256 dd4cb124da0b2edcda6ceb823c3ca8fc05919d35c89c34dec617517afe6bbfee SHA512 89d90f246300ab1da652f652c685756aa038017f5b7d57d050bb5c88e01e70b594ffaef8772230fbeb9461e07c5b1df60e85e550ec4717008159218d50c8697a WHIRLPOOL 8f90f2e8a963105d08642a49005d296f5dabd01472d221fe965de2b19d537b5e257b62bd440e85356aecf9d0eb0690cdefd57c9e25dd922b3cfb4d192b19654e
+DIST pcc-libs-20121112.tgz 190520 SHA256 f467beaaa9aa611aa6d7b8a4db5c1792f25933219899fb391dd41b97a6aa06ec SHA512 15524bd09be9cafc95f1c28102f357db0ac27148062dc2b003f9e20aa8055871da7efa833c27a77920ee2ec4b8a68d2d7553f13095c5575efc3acd176fd2a21f WHIRLPOOL bbbe715f547e5e2198e6b2c11c2a84773ce3273c25213cc03e10185c34c95f97c596d94b66dc481f943c0c20c97a4471f593acaa1790b61c89bdf52b6876f498
+DIST pcc-libs-20131013.tgz 190540 SHA256 c455212f60be26787ba48d1dc575d1667535479b83329c9de2c23f8237167804 SHA512 f1fd0bd0cd01d25da044b8b78b7782f9103d2a56eb1b9f6e29fffb102c9a1012f428a1b2ab2b111426312a46b0ffce3b1b811fcd9fa10859cb105caf37313329 WHIRLPOOL 318875e412ab9017d5423df198393b6dea97493b14f62919b4b5209424b6c7c4f7e875cc094a59e5bf29c162734586ae160b09e4de9d439a0d524f580305dd1d
diff --git a/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch b/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch
new file mode 100644
index 000000000000..335f2d774b8c
--- /dev/null
+++ b/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch
@@ -0,0 +1,62 @@
+diff --git a/libpcc/bitcnt.c b/libpcc/bitcnt.c
+index 26ecc01..c3bd54e 100644
+--- a/libpcc/bitcnt.c
++++ b/libpcc/bitcnt.c
+@@ -1,9 +1,22 @@
++// Only use __has_builtin in compilers that support it.
++#ifndef __has_builtin
++ #define __has_builtin(x) 0
++#endif
+
++#if !__has_builtin(__builtin_clz)
+ int __builtin_clz(unsigned int);
++#endif
++#if !__has_builtin(__builtin_ctz)
+ int __builtin_ctz(unsigned int);
++#endif
++#if !__has_builtin(__builtin_clzl)
+ int __builtin_clzl(unsigned long);
++#endif
++#if !__has_builtin(__builtin_ctzl)
+ int __builtin_ctzl(unsigned long);
++#endif
+
++#if !__has_builtin(__builtin_clz)
+ int
+ __builtin_clz(unsigned int v)
+ {
+@@ -14,7 +27,9 @@ __builtin_clz(unsigned int v)
+ break;
+ return i;
+ }
++#endif
+
++#if !__has_builtin(__builtin_ctz)
+ int
+ __builtin_ctz(unsigned int v)
+ {
+@@ -25,7 +40,9 @@ __builtin_ctz(unsigned int v)
+ break;
+ return i;
+ }
++#endif
+
++#if !__has_builtin(__builtin_clzl)
+ int
+ __builtin_clzl(unsigned long v)
+ {
+@@ -37,7 +54,9 @@ __builtin_clzl(unsigned long v)
+ break;
+ return i;
+ }
++#endif
+
++#if !__has_builtin(__builtin_ctzl)
+ int
+ __builtin_ctzl(unsigned long v)
+ {
+@@ -48,3 +67,4 @@ __builtin_ctzl(unsigned long v)
+ break;
+ return i;
+ }
++#endif
diff --git a/dev-libs/pcc-libs/metadata.xml b/dev-libs/pcc-libs/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/pcc-libs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/pcc-libs/pcc-libs-1.0.0.ebuild b/dev-libs/pcc-libs/pcc-libs-1.0.0.ebuild
new file mode 100644
index 000000000000..c0606a846d47
--- /dev/null
+++ b/dev-libs/pcc-libs/pcc-libs-1.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils versionator
+
+DESCRIPTION="pcc compiler support libs"
+HOMEPAGE="http://pcc.ludd.ltu.se"
+
+SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~amd64-fbsd"
+
+IUSE=""
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}-check-builtin.patch"
+}
+
+src_compile() {
+ # not parallel-safe yet
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20121112.ebuild b/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20121112.ebuild
new file mode 100644
index 000000000000..7e8f640cd63c
--- /dev/null
+++ b/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20121112.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils versionator
+
+DESCRIPTION="pcc compiler support libs"
+HOMEPAGE="http://pcc.ludd.ltu.se"
+
+SRC_URI="ftp://pcc.ludd.ltu.se/pub/${PN}/${PN}-${PVR/*_pre/}.tgz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~amd64-fbsd"
+
+IUSE=""
+DEPEND=""
+RDEPEND="${DEPEND}"
+S=${WORKDIR}/${PN}-${PVR/*_pre/}/
+
+src_compile() {
+ # not parallel-safe yet
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20131013.ebuild b/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20131013.ebuild
new file mode 100644
index 000000000000..7e8f640cd63c
--- /dev/null
+++ b/dev-libs/pcc-libs/pcc-libs-1.0.1_pre20131013.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils versionator
+
+DESCRIPTION="pcc compiler support libs"
+HOMEPAGE="http://pcc.ludd.ltu.se"
+
+SRC_URI="ftp://pcc.ludd.ltu.se/pub/${PN}/${PN}-${PVR/*_pre/}.tgz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~amd64-fbsd"
+
+IUSE=""
+DEPEND=""
+RDEPEND="${DEPEND}"
+S=${WORKDIR}/${PN}-${PVR/*_pre/}/
+
+src_compile() {
+ # not parallel-safe yet
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild b/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild
new file mode 100644
index 000000000000..119e46e495c5
--- /dev/null
+++ b/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+DESCRIPTION="pcc compiler support libs"
+HOMEPAGE="http://pcc.ludd.ltu.se"
+
+SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~amd64-fbsd"
+
+IUSE=""
+DEPEND=""
+RDEPEND="${DEPEND}"
+S=${WORKDIR}/${PN}-${PVR/*_pre/}/
+
+src_compile() {
+ # not parallel-safe yet
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/pcc-libs/pcc-libs-9999.ebuild b/dev-libs/pcc-libs/pcc-libs-9999.ebuild
new file mode 100644
index 000000000000..1875798849ca
--- /dev/null
+++ b/dev-libs/pcc-libs/pcc-libs-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+DESCRIPTION="pcc compiler support libs"
+HOMEPAGE="http://pcc.ludd.ltu.se"
+
+if [[ ${PV} = 9999 ]]; then
+ inherit cvs
+ ECVS_SERVER="pcc.ludd.ltu.se:/cvsroot"
+ ECVS_MODULE="${PN}"
+ S="${WORKDIR}/${PN}"
+ KEYWORDS=""
+else
+ SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
+ KEYWORDS="~x86 ~amd64 ~amd64-fbsd"
+fi
+LICENSE="BSD"
+SLOT="0"
+
+IUSE=""
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ # not parallel-safe yet
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/dev-libs/pcre++/Manifest b/dev-libs/pcre++/Manifest
new file mode 100644
index 000000000000..17959326dc8d
--- /dev/null
+++ b/dev-libs/pcre++/Manifest
@@ -0,0 +1,2 @@
+DIST pcre++-0.9.5-patches.tar.bz2 3733 SHA256 d7c5e7881f56cbb11109313375893b95358e3cf4922ffaf0fa812e1df6ff4226 SHA512 ddfb13575f7950c7298ddce5fd603c8f34c1e901c8fef71f7591d0c4a49dc36cf5204240dbb23078346a4497f69b541374633e9f3f17b045fc58ba3ccd0f8019 WHIRLPOOL 2fd628f2ebdc9dda64125468c014f54316110270c9841d45dfe26c47030fc3016d9cdb2500a47d1114b2a7e639169a5a3919821a811da130cb5882769487e9b7
+DIST pcre++-0.9.5.tar.gz 381589 SHA256 77ee9fc1afe142e4ba2726416239ced66c3add4295ab1e5ed37ca8a9e7bb638a SHA512 509080e31483ea82f13873423b48adfcf78ff8d4b5480fb8d46f6bb4a596a0480e4ae32da9e5518b1a6e98679b4e1a523cc9d6f8d8373dcec6f73d18479712e5 WHIRLPOOL 8fc722852bb7b0d46ae7569f08b15eea6ddd0861a0dea25b77874ffbdf62b54a121a2052ff0fc429673654cbd575ba277b69fec91ea5a220b3ee9941a640c177
diff --git a/dev-libs/pcre++/files/pcre++-0.9.5-nodoc.patch b/dev-libs/pcre++/files/pcre++-0.9.5-nodoc.patch
new file mode 100644
index 000000000000..cddae01421c2
--- /dev/null
+++ b/dev-libs/pcre++/files/pcre++-0.9.5-nodoc.patch
@@ -0,0 +1,12 @@
+diff -Naur pcre++-0.9.5.orig/Makefile.in pcre++-0.9.5/Makefile.in
+--- pcre++-0.9.5.orig/Makefile.in 2004-08-24 16:38:03.000000000 -0700
++++ pcre++-0.9.5/Makefile.in 2004-09-05 16:16:58.818627842 -0700
+@@ -77,7 +77,7 @@
+ STRIP = @STRIP@
+ VERSION = @VERSION@
+
+-SUBDIRS = libpcre++ doc examples test
++SUBDIRS = libpcre++
+
+ bin_SCRIPTS = pcre++-config
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
diff --git a/dev-libs/pcre++/metadata.xml b/dev-libs/pcre++/metadata.xml
new file mode 100644
index 000000000000..8434377a6047
--- /dev/null
+++ b/dev-libs/pcre++/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild b/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..8a8b374be09c
--- /dev/null
+++ b/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils autotools
+
+DESCRIPTION="A C++ support library for libpcre"
+HOMEPAGE="http://www.daemon.de/PCRE"
+SRC_URI="http://www.daemon.de/files/mirror/ftp.daemon.de/scip/Apps/${PN}/${P}.tar.gz
+ mirror://gentoo/${P}-patches.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE=""
+
+DEPEND="dev-libs/libpcre"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ EPATCH_SUFFIX="patch" \
+ EPATCH_SOURCE="${WORKDIR}/${P}-patches" \
+ EPATCH_FORCE="yes" \
+ epatch
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make failed"
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ dohtml -r doc/html/.
+ doman doc/man/man3/Pcre.3
+
+ rm -rf "${D}/usr/doc"
+}
diff --git a/dev-libs/pkcs11-helper/Manifest b/dev-libs/pkcs11-helper/Manifest
new file mode 100644
index 000000000000..09868444195c
--- /dev/null
+++ b/dev-libs/pkcs11-helper/Manifest
@@ -0,0 +1 @@
+DIST pkcs11-helper-1.11.tar.bz2 380697 SHA256 05a078efe1261247f26751fa616de732a64dbe1ed6c83e8ea5e6e85d8f70ff2f SHA512 cab34a6c3336cf4077d5b7face9e4b8eeb12f0edb6e265704e481b5ef9738495a45d61a99153b244a91960ed353d79edb99b30f01b0e00efc524542c2a1ac4e1 WHIRLPOOL 8deacedebef01974faecc6861bee27626317379d922f774758fcbd1ec93cf4dc5d1a335144fe85764e92ed985193b5b81b8439b54c953e201b0f17e6b44f4cc8
diff --git a/dev-libs/pkcs11-helper/metadata.xml b/dev-libs/pkcs11-helper/metadata.xml
new file mode 100644
index 000000000000..0f458687a8b8
--- /dev/null
+++ b/dev-libs/pkcs11-helper/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <use>
+ <flag name="nss">Enable NSS crypto engine</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">opensc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.11.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.11.ebuild
new file mode 100644
index 000000000000..dee06e31f68d
--- /dev/null
+++ b/dev-libs/pkcs11-helper/pkcs11-helper-1.11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="PKCS#11 helper library"
+HOMEPAGE="http://www.opensc-project.org/opensc/wiki/pkcs11-helper"
+SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc gnutls nss static-libs"
+
+RDEPEND=">=dev-libs/openssl-0.9.7
+ gnutls? ( >=net-libs/gnutls-1.4.4 )
+ nss? ( dev-libs/nss )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( >=app-doc/doxygen-1.4.7 )"
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ $(use_enable doc) \
+ $(use_enable gnutls crypto-engine-gnutls) \
+ $(use_enable nss crypto-engine-nss) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest
new file mode 100644
index 000000000000..666dbdb0af5e
--- /dev/null
+++ b/dev-libs/poco/Manifest
@@ -0,0 +1,2 @@
+DIST poco-1.4.6-all-doc.zip 2072762 SHA256 a1cfb143a671bcef7a2bafcbba095edf8ed21e51a30ae7eb19955e73bb23067d SHA512 458e1a3c6a6017b5ae5efcbd0d7b2bbf50aedd6ddc7ae7befddac07ed133b7243208aadd6ecdb17b3fa273e04eb0da4d73b1d3e5591aee98b754e430b2248e52 WHIRLPOOL af52385b3557853ea4fcd1a31092a5e1fa009e082bc4fcec8e51e42207147400eca7c26c9a65c84de24d322677fcfaa364207dc83f88299ddca2fd06cf9a26af
+DIST poco-1.4.6p4-all.tar.bz2 3158594 SHA256 e48ce805702048e099eee4965f3db573728e32bd9a15ff643f5ea856926f2dd6 SHA512 ae4e1190a0ba719f807d0abaf1c47ff445a8f5867157f209260672546f3755ff021c7073bc8d5e656be383d5667dc15ad7eae8208728053fb61439c4c80a7fca WHIRLPOOL fd4efd270103dc7ce248481d5e9048a88caf1ece985384fdd2385d381a3d0bc5cad124b6230dbc6ba9679c3ae4ce69dbe77ae5d684798eb2c4a916d373f87e4a
diff --git a/dev-libs/poco/files/1.3.3_p1-gcc44.patch b/dev-libs/poco/files/1.3.3_p1-gcc44.patch
new file mode 100644
index 000000000000..990aff1c4b61
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-gcc44.patch
@@ -0,0 +1,16 @@
+diff -NrU5 poco-1.3.3p1-all.orig/Foundation/src/Environment.cpp poco-1.3.3p1-all/Foundation/src/Environment.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/Environment.cpp 2009-05-15 20:44:37.000000000 -0600
++++ poco-1.3.3p1-all/Foundation/src/Environment.cpp 2009-05-15 20:46:12.000000000 -0600
+@@ -34,11 +34,11 @@
+ //
+
+
+ #include "Poco/Environment.h"
+ #include <cstdlib>
+-
++#include <cstdio>
+
+ #if defined(POCO_OS_FAMILY_VMS)
+ #include "Environment_VMS.cpp"
+ #elif defined(POCO_OS_FAMILY_UNIX)
+ #include "Environment_UNIX.cpp"
diff --git a/dev-libs/poco/files/1.3.3_p1-gentoo.patch b/dev-libs/poco/files/1.3.3_p1-gentoo.patch
new file mode 100644
index 000000000000..f162cd1d222e
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-gentoo.patch
@@ -0,0 +1,80 @@
+diff -Naur poco-1.3.3p1-all.orig/components poco-1.3.3p1-all/components
+--- poco-1.3.3p1-all.orig/components 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/components 2008-10-20 20:11:19.000000000 +0200
+@@ -1,12 +1,6 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+-Crypto
+ Zip
+diff -Naur poco-1.3.3p1-all.orig/Data/ODBC/Makefile poco-1.3.3p1-all/Data/ODBC/Makefile
+--- poco-1.3.3p1-all.orig/Data/ODBC/Makefile 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/Data/ODBC/Makefile 2008-10-20 19:54:07.000000000 +0200
+@@ -11,19 +11,19 @@
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+ else
+-ifeq (0, $(shell test -e /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -Naur poco-1.3.3p1-all.orig/Makefile poco-1.3.3p1-all/Makefile
+--- poco-1.3.3p1-all.orig/Makefile 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/Makefile 2008-10-20 20:12:09.000000000 +0200
+@@ -21,7 +21,7 @@
+
+ .PHONY: all libexecs cppunit tests samples clean distclean install
+
+-all: libexecs tests samples
++all: libexecs
+
+ INSTALLDIR = $(DESTDIR)$(POCO_PREFIX)
+ COMPONENTS = Foundation XML Util Net NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL Crypto Zip
+@@ -31,7 +31,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -41,11 +41,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Crypto-libexec Zip-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Crypto-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples NetSSL_OpenSSL-samples Data-samples Crypto-samples Zip-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.3.3_p1-openssl-1.patch b/dev-libs/poco/files/1.3.3_p1-openssl-1.patch
new file mode 100644
index 000000000000..2377edd85a63
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-openssl-1.patch
@@ -0,0 +1,16 @@
+http://bugs.gentoo.org/327769
+
+--- NetSSL_OpenSSL/src/SecureSocketImpl.cpp
++++ NetSSL_OpenSSL/src/SecureSocketImpl.cpp
+@@ -430,7 +430,11 @@
+
+ if (!strcmp(extstr, "subjectAltName"))
+ {
++ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const X509V3_EXT_METHOD* meth = X509V3_EXT_get(ext);
++ #else
+ X509V3_EXT_METHOD* meth = X509V3_EXT_get(ext);
++ #endif
+ if (!meth)
+ break;
+
diff --git a/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch b/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch
new file mode 100644
index 000000000000..2ec2067b318a
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch
@@ -0,0 +1,197 @@
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/Makefile poco-1.3.3p1-all/Data/SQLite/Makefile
+--- poco-1.3.3p1-all.orig/Data/SQLite/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/Makefile 2008-11-23 10:27:53.000000000 +0100
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ SYSFLAGS += -DTHREADSAFE -DNO_TCL -DSQLITE_DISABLE_LFS
++SYSLIBS += -lsqlite3
+
+ objects = Binder Extractor SessionImpl Connector \
+- SQLiteException SQLiteStatementImpl Utility \
+- sqlite3
++ SQLiteException SQLiteStatementImpl Utility
+
+ target = PocoSQLite
+ target_version = $(LIBVERSION)
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Binder.cpp poco-1.3.3p1-all/Data/SQLite/src/Binder.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Binder.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Binder.cpp 2008-11-23 10:30:43.000000000 +0100
+@@ -38,7 +38,7 @@
+ #include "Poco/Data/SQLite/Utility.h"
+ #include "Poco/Data/BLOB.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Connector.cpp poco-1.3.3p1-all/Data/SQLite/src/Connector.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Connector.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Connector.cpp 2008-11-23 10:29:32.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/Data/SQLite/Connector.h"
+ #include "Poco/Data/SQLite/SessionImpl.h"
+ #include "Poco/Data/SessionFactory.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Extractor.cpp poco-1.3.3p1-all/Data/SQLite/src/Extractor.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Extractor.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Extractor.cpp 2008-11-23 10:29:44.000000000 +0100
+@@ -39,7 +39,7 @@
+ #include "Poco/Data/BLOB.h"
+ #include "Poco/Data/DataException.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/SessionImpl.cpp poco-1.3.3p1-all/Data/SQLite/src/SessionImpl.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/SessionImpl.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/SessionImpl.cpp 2008-11-23 10:30:05.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/Data/SQLite/SessionImpl.h"
+ #include "Poco/Data/SQLite/Utility.h"
+ #include "Poco/Data/SQLite/SQLiteStatementImpl.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/SQLiteStatementImpl.cpp poco-1.3.3p1-all/Data/SQLite/src/SQLiteStatementImpl.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/SQLiteStatementImpl.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/SQLiteStatementImpl.cpp 2008-11-23 10:30:34.000000000 +0100
+@@ -40,7 +40,7 @@
+ #include "Poco/String.h"
+ #include <cstdlib>
+ #include <cstring>
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Utility.cpp poco-1.3.3p1-all/Data/SQLite/src/Utility.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Utility.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Utility.cpp 2008-11-23 10:29:22.000000000 +0100
+@@ -41,7 +41,7 @@
+ #include "Poco/NumberFormatter.h"
+ #include "Poco/String.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/include/Poco/DeflatingStream.h poco-1.3.3p1-all/Foundation/include/Poco/DeflatingStream.h
+--- poco-1.3.3p1-all.orig/Foundation/include/Poco/DeflatingStream.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/include/Poco/DeflatingStream.h 2008-11-22 22:13:50.000000000 +0100
+@@ -44,7 +44,7 @@
+ #include "Poco/BufferedStreamBuf.h"
+ #include <istream>
+ #include <ostream>
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/include/Poco/InflatingStream.h poco-1.3.3p1-all/Foundation/include/Poco/InflatingStream.h
+--- poco-1.3.3p1-all.orig/Foundation/include/Poco/InflatingStream.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/include/Poco/InflatingStream.h 2008-11-22 22:13:50.000000000 +0100
+@@ -44,7 +44,7 @@
+ #include "Poco/BufferedStreamBuf.h"
+ #include <istream>
+ #include <ostream>
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/Makefile poco-1.3.3p1-all/Foundation/Makefile
+--- poco-1.3.3p1-all.orig/Foundation/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/Makefile 2008-11-23 10:04:10.000000000 +0100
+@@ -8,6 +8,8 @@
+
+ include $(POCO_BASE)/build/rules/global
+
++SYSLIBS += -lpcre -lz
++
+ objects = ArchiveStrategy ASCIIEncoding AsyncChannel Base64Decoder Base64Encoder \
+ BinaryReader BinaryWriter Bugcheck ByteOrder Channel Checksum Configurable ConsoleChannel \
+ CountingStream DateTime LocalDateTime DateTimeFormat DateTimeFormatter DateTimeParser \
+@@ -30,12 +32,7 @@
+ FileStreamFactory URIStreamFactory URIStreamOpener UTF16Encoding Windows1252Encoding \
+ UTF8Encoding UnicodeConverter UUID UUIDGenerator Void Format \
+ Pipe PipeImpl PipeStream DynamicAny DynamicAnyHolder SharedMemory \
+- FileStream Unicode UTF8String \
+- adler32 compress crc32 deflate gzio infback inffast inflate inftrees \
+- trees zutil \
+- pcre_chartables pcre_compile pcre_globals pcre_maketables pcre_study \
+- pcre_tables pcre_try_flipped pcre_ucd pcre_valid_utf8 \
+- pcre_exec pcre_ord2utf8 pcre_newline pcre_fullinfo pcre_xclass
++ FileStream Unicode UTF8String
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ objects += EventLogChannel WindowsConsoleChannel
+diff -Naur poco-1.3.3p1-all.orig/Foundation/src/Checksum.cpp poco-1.3.3p1-all/Foundation/src/Checksum.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/Checksum.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/src/Checksum.cpp 2008-11-22 22:13:50.000000000 +0100
+@@ -35,7 +35,7 @@
+
+
+ #include "Poco/Checksum.h"
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/src/RegularExpression.cpp poco-1.3.3p1-all/Foundation/src/RegularExpression.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/RegularExpression.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/src/RegularExpression.cpp 2008-11-22 22:13:50.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/RegularExpression.h"
+ #include "Poco/Exception.h"
+ #include <sstream>
+-#include "pcre.h"
++#include <pcre.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/XML/include/Poco/XML/ParserEngine.h poco-1.3.3p1-all/XML/include/Poco/XML/ParserEngine.h
+--- poco-1.3.3p1-all.orig/XML/include/Poco/XML/ParserEngine.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/XML/include/Poco/XML/ParserEngine.h 2008-11-22 22:13:50.000000000 +0100
+@@ -40,7 +40,7 @@
+
+
+ #include "Poco/XML/XML.h"
+-#include "Poco/XML/expat.h"
++#include <expat.h>
+ #include "Poco/XML/XMLString.h"
+ #include "Poco/XML/XMLStream.h"
+ #include "Poco/SAX/Locator.h"
+diff -Naur poco-1.3.3p1-all.orig/XML/Makefile poco-1.3.3p1-all/XML/Makefile
+--- poco-1.3.3p1-all.orig/XML/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/XML/Makefile 2008-11-23 10:04:25.000000000 +0100
+@@ -8,7 +8,9 @@
+
+ include $(POCO_BASE)/build/rules/global
+
+-COMMONFLAGS += -DXML_NS -DXML_DTD -DHAVE_EXPAT_CONFIG_H
++COMMONFLAGS += -DXML_NS -DXML_DTD
++
++SYSLIBS += -lexpat
+
+ objects = AbstractContainerNode AbstractNode Attr AttrMap Attributes \
+ AttributesImpl CDATASection CharacterData ChildNodesList Comment \
+@@ -22,7 +24,7 @@
+ NamespaceSupport Node NodeFilter NodeIterator NodeList Notation \
+ ParserEngine ProcessingInstruction SAXException SAXParser Text \
+ TreeWalker WhitespaceFilter XMLException XMLFilter XMLFilterImpl XMLReader \
+- XMLString XMLWriter NodeAppender xmlparse xmlrole xmltok
++ XMLString XMLWriter NodeAppender
+
+ target = PocoXML
+ target_version = $(LIBVERSION)
diff --git a/dev-libs/poco/files/1.3.6_p2-gentoo.patch b/dev-libs/poco/files/1.3.6_p2-gentoo.patch
new file mode 100644
index 000000000000..ec466f8567c5
--- /dev/null
+++ b/dev-libs/poco/files/1.3.6_p2-gentoo.patch
@@ -0,0 +1,85 @@
+diff -ur poco-1.3.6p2-all.orig//components poco-1.3.6p2-all/components
+--- poco-1.3.6p2-all.orig//components 2010-07-19 13:52:31.936802078 +0200
++++ poco-1.3.6p2-all/components 2010-07-19 13:59:37.351927395 +0200
+@@ -1,13 +1,7 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+diff -ur poco-1.3.6p2-all.orig//Data/ODBC/Makefile poco-1.3.6p2-all/Data/ODBC/Makefile
+--- poco-1.3.6p2-all.orig//Data/ODBC/Makefile 2010-07-19 13:52:31.932802424 +0200
++++ poco-1.3.6p2-all/Data/ODBC/Makefile 2010-07-19 13:55:24.976677962 +0200
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ # adjust for the target system (usually '/usr/lib' or '/usr/local/lib')
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+
+ INCLUDE += -I/usr/local/include -I/usr/include -I/usr/include/odbc -I/usr/local/include/odbc
+-SYSLIBS += -L/usr/local/lib/odbc -L/usr/lib/odbc -L/usr/lib -L/usr/local/lib
++SYSLIBS += -L/usr/local/$(LIBDIR)/odbc -L/usr/$(LIBDIR)/odbc -L/usr/$(LIBDIR) -L/usr/local/$(LIBDIR)
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+@@ -24,19 +24,19 @@
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -ur poco-1.3.6p2-all.orig//Makefile poco-1.3.6p2-all/Makefile
+--- poco-1.3.6p2-all.orig//Makefile 2010-07-19 13:52:31.908802377 +0200
++++ poco-1.3.6p2-all/Makefile 2010-07-19 14:00:03.814676950 +0200
+@@ -31,7 +31,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -41,11 +41,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.4.3_p1-gentoo.patch b/dev-libs/poco/files/1.4.3_p1-gentoo.patch
new file mode 100644
index 000000000000..727015ad5335
--- /dev/null
+++ b/dev-libs/poco/files/1.4.3_p1-gentoo.patch
@@ -0,0 +1,85 @@
+diff -ur poco-1.3.6p2-all.orig//components poco-1.3.6p2-all/components
+--- poco-1.3.6p2-all.orig//components 2010-07-19 13:52:31.936802078 +0200
++++ poco-1.3.6p2-all/components 2010-07-19 13:59:37.351927395 +0200
+@@ -1,13 +1,7 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+diff -ur poco-1.3.6p2-all.orig//Data/ODBC/Makefile poco-1.3.6p2-all/Data/ODBC/Makefile
+--- poco-1.3.6p2-all.orig//Data/ODBC/Makefile 2010-07-19 13:52:31.932802424 +0200
++++ poco-1.3.6p2-all/Data/ODBC/Makefile 2010-07-19 13:55:24.976677962 +0200
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ # adjust for the target system (usually '/usr/lib' or '/usr/local/lib')
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+
+ INCLUDE += -I/usr/local/include -I/usr/include -I/usr/include/odbc -I/usr/local/include/odbc
+-SYSLIBS += -L/usr/local/lib/odbc -L/usr/lib/odbc -L/usr/lib -L/usr/local/lib
++SYSLIBS += -L/usr/local/$(LIBDIR)/odbc -L/usr/$(LIBDIR)/odbc -L/usr/$(LIBDIR) -L/usr/local/$(LIBDIR)
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+@@ -24,19 +24,19 @@
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -ur poco-1.3.6p2-all.orig//Makefile poco-1.3.6p2-all/Makefile
+--- poco-1.3.6p2-all.orig//Makefile 2010-07-19 13:52:31.908802377 +0200
++++ poco-1.3.6p2-all/Makefile 2010-07-19 14:00:03.814676950 +0200
+@@ -31,7 +31,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -41,11 +41,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.4.5-gentoo.patch b/dev-libs/poco/files/1.4.5-gentoo.patch
new file mode 100644
index 000000000000..243ee924b16b
--- /dev/null
+++ b/dev-libs/poco/files/1.4.5-gentoo.patch
@@ -0,0 +1,74 @@
+diff -Nur poco-1.4.5-all_old/components poco-1.4.5-all/components
+--- poco-1.4.5-all_old/components 2012-11-18 16:56:59.000000000 +0100
++++ poco-1.4.5-all/components 2012-12-06 12:29:07.779546771 +0100
+@@ -1,14 +1,8 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+ PageCompiler/File2Page
+diff -Nur poco-1.4.5-all_old/Data/ODBC/ODBC.make poco-1.4.5-all/Data/ODBC/ODBC.make
+--- poco-1.4.5-all_old/Data/ODBC/ODBC.make 2012-11-18 16:56:57.000000000 +0100
++++ poco-1.4.5-all/Data/ODBC/ODBC.make 2012-12-06 12:29:07.779546771 +0100
+@@ -14,9 +14,9 @@
+ ifeq (0, $(shell test -d /usr/lib/$(OSARCH)-linux-gnu; echo $$?))
+ ODBCLIBDIR = /usr/lib/$(OSARCH)-linux-gnu
+ else ifeq (0, $(shell test -d /usr/lib64; echo $$?))
+-ODBCLIBDIR = /usr/lib64
++ODBCLIBDIR = /usr/$(LIBDIR)
+ else
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+ endif
+ endif
+
+@@ -39,10 +39,10 @@
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc
+ else
+diff -Nur poco-1.4.5-all_old/Makefile poco-1.4.5-all/Makefile
+--- poco-1.4.5-all_old/Makefile 2012-11-18 16:57:00.000000000 +0100
++++ poco-1.4.5-all/Makefile 2012-12-06 12:29:07.779546771 +0100
+@@ -33,7 +33,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -43,11 +43,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.4.6_p1-gentoo.patch b/dev-libs/poco/files/1.4.6_p1-gentoo.patch
new file mode 100644
index 000000000000..243ee924b16b
--- /dev/null
+++ b/dev-libs/poco/files/1.4.6_p1-gentoo.patch
@@ -0,0 +1,74 @@
+diff -Nur poco-1.4.5-all_old/components poco-1.4.5-all/components
+--- poco-1.4.5-all_old/components 2012-11-18 16:56:59.000000000 +0100
++++ poco-1.4.5-all/components 2012-12-06 12:29:07.779546771 +0100
+@@ -1,14 +1,8 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+ PageCompiler/File2Page
+diff -Nur poco-1.4.5-all_old/Data/ODBC/ODBC.make poco-1.4.5-all/Data/ODBC/ODBC.make
+--- poco-1.4.5-all_old/Data/ODBC/ODBC.make 2012-11-18 16:56:57.000000000 +0100
++++ poco-1.4.5-all/Data/ODBC/ODBC.make 2012-12-06 12:29:07.779546771 +0100
+@@ -14,9 +14,9 @@
+ ifeq (0, $(shell test -d /usr/lib/$(OSARCH)-linux-gnu; echo $$?))
+ ODBCLIBDIR = /usr/lib/$(OSARCH)-linux-gnu
+ else ifeq (0, $(shell test -d /usr/lib64; echo $$?))
+-ODBCLIBDIR = /usr/lib64
++ODBCLIBDIR = /usr/$(LIBDIR)
+ else
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+ endif
+ endif
+
+@@ -39,10 +39,10 @@
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc
+ else
+diff -Nur poco-1.4.5-all_old/Makefile poco-1.4.5-all/Makefile
+--- poco-1.4.5-all_old/Makefile 2012-11-18 16:57:00.000000000 +0100
++++ poco-1.4.5-all/Makefile 2012-12-06 12:29:07.779546771 +0100
+@@ -33,7 +33,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -43,11 +43,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.4.6_p4-gentoo.patch b/dev-libs/poco/files/1.4.6_p4-gentoo.patch
new file mode 100644
index 000000000000..8cfc9237db01
--- /dev/null
+++ b/dev-libs/poco/files/1.4.6_p4-gentoo.patch
@@ -0,0 +1,71 @@
+--- components 2012-11-18 16:56:59.000000000 +0100
++++ components 2012-12-06 12:29:07.779546771 +0100
+@@ -1,14 +1,8 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+ PageCompiler/File2Page
+--- Data/ODBC/ODBC.make 2014-04-18 13:41:55.000000000 +0200
++++ Data/ODBC/ODBC.make.new 2014-12-29 13:44:03.000000000 +0100
+@@ -14,9 +14,9 @@
+ ifeq (0, $(shell test -d /usr/lib/$(OSARCH)-linux-gnu; echo $$?))
+ ODBCLIBDIR = /usr/lib/$(OSARCH)-linux-gnu
+ else ifeq (0, $(shell test -d /usr/lib64; echo $$?))
+-ODBCLIBDIR = /usr/lib64
++ODBCLIBDIR = /usr/$(LIBDIR)
+ else
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+ endif
+ endif
+
+@@ -35,10 +35,10 @@
+ # -DODBCVER=0x0300: SQLHandle declaration issue
+ # -DNOMINMAX : MIN/MAX macros defined in windows conflict with libstdc++
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc
+ COMMONFLAGS += -DPOCO_UNIXODBC
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc
+ else
+--- Makefile 2012-11-18 16:57:00.000000000 +0100
++++ Makefile 2012-12-06 12:29:07.779546771 +0100
+@@ -33,7 +33,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -43,11 +43,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/libpcre-8.13.patch b/dev-libs/poco/files/libpcre-8.13.patch
new file mode 100644
index 000000000000..e46dd5b16be4
--- /dev/null
+++ b/dev-libs/poco/files/libpcre-8.13.patch
@@ -0,0 +1,10 @@
+--- Foundation/Makefile 2012-01-23 15:12:27.000000000 +0100
++++ Foundation/Makefile.new 2012-04-11 14:58:14.000000000 +0200
+@@ -43,7 +43,6 @@
+ pcre_utf8_objects = pcre_ucd pcre_tables
+
+ ifdef POCO_UNBUNDLED
+- objects += $(pcre_utf8_objects)
+ SYSLIBS += -lpcre -lz
+ else
+ objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
diff --git a/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch b/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
new file mode 100644
index 000000000000..d2654b59edec
--- /dev/null
+++ b/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
@@ -0,0 +1,45 @@
+Index: poco-1.5.0/Foundation/Makefile
+===================================================================
+--- poco-1.5.0.orig/Foundation/Makefile
++++ poco-1.5.0/Foundation/Makefile
+@@ -45,6 +45,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
+
+ ifdef POCO_UNBUNDLED
+ SYSLIBS += -lpcre -lz
++ objects += $(pcre_utf8_objects) # unicode.cpp uses internal pcre tables
+ else
+ objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
+ endif
+Index: poco-1.5.0/Foundation/src/pcre_internal.h
+===================================================================
+--- poco-1.5.0.orig/Foundation/src/pcre_internal.h
++++ poco-1.5.0/Foundation/src/pcre_internal.h
+@@ -1109,6 +1109,16 @@ typedef struct {
+ } ucp_type_table;
+
+
++/* renamed to avoid clashes with system pcre */
++#define _pcre_utf8_table1 _poco__pcre_utf8_table1
++#define _pcre_utf8_table1_size _poco__pcre_utf8_table1_size
++#define _pcre_utf8_table2 _poco__pcre_utf8_table2
++#define _pcre_utf8_table3 _poco__pcre_utf8_table3
++#define _pcre_utf8_table4 _poco__pcre_utf8_table4
++#define _pcre_utt _poco__pcre_utt
++#define _pcre_utt_size _poco__pcre_utt_size
++#define _pcre_utt_names _poco__pcre_utt_names
++#define _pcre_OP_lengths _poco__pcre_OP_lengths
+ /* Internal shared data tables. These are tables that are used by more than one
+ of the exported public functions. They have to be "external" in the C sense,
+ but are not part of the PCRE public API. The data for these tables is in the
+@@ -1153,6 +1163,11 @@ typedef struct {
+ pcre_int32 other_case;
+ } ucd_record;
+
++/* renamed to avoid clashes with system pcre */
++#define _pcre_ucd_records _poco__pcre_ucd_records
++#define _pcre_ucd_stage1 _poco__pcre_ucd_stage1
++#define _pcre_ucd_stage2 _poco__pcre_ucd_stage2
++#define _pcre_ucp_gentype _poco__pcre_ucp_gentype
+ extern const ucd_record _pcre_ucd_records[];
+ extern const uschar _pcre_ucd_stage1[];
+ extern const pcre_uint16 _pcre_ucd_stage2[];
diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml
new file mode 100644
index 000000000000..ef852f1d155f
--- /dev/null
+++ b/dev-libs/poco/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tommy@gentoo.org</email>
+ <name>Thomas Sachau (Tommy[D])</name>
+ </maintainer>
+ <herd>cpp</herd>
+ <longdescription>
+POCO, the C++ Portable Components, is a collection of open source
+C++ class libraries that simplify and accelerate the development of
+network-centric, portable applications in C++. The libraries integrate
+perfectly with the C++ Standard Library and fill many of the functional
+gaps left open by it. Their modular and efficient design and implementation
+makes the C++ Portable Components extremely well suited for embedded
+development, an area where the C++ programming language is becoming
+increasingly popular, due to its suitability for both low-level (device
+I/O, interrupt handlers, etc.) and high-level object-oriented development.
+Of course, POCO is also ready for enterprise-level challenges.
+
+The POCO libraries free developers from re-inventing the wheel, and allow
+them to spend their time on more worthwhile areas, such as getting things
+done quickly and working on the features that make their application unique.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">poco</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/poco/poco-1.4.6_p4.ebuild b/dev-libs/poco/poco-1.4.6_p4.ebuild
new file mode 100644
index 000000000000..5123adb01484
--- /dev/null
+++ b/dev-libs/poco/poco-1.4.6_p4.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs flag-o-matic multilib versionator
+
+MY_P="${P/_}"
+MY_DOCP="${PN}-$(get_version_component_range 1-3)-all-doc"
+
+DESCRIPTION="C++ class libraries to simplify the development of network-centric, portable applications"
+HOMEPAGE="http://pocoproject.org/"
+SRC_URI="http://pocoproject.org/releases/poco-$(get_version_component_range 1-3)/${MY_P}-all.tar.bz2
+ doc? ( mirror://sourceforge/poco/${MY_DOCP}.zip )"
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="doc examples iodbc mysql odbc sqlite ssl test"
+
+DEPEND=">=dev-libs/libpcre-8.13
+ dev-libs/expat
+ sys-libs/zlib
+ mysql? ( virtual/mysql )
+ odbc? ( iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC ) )
+ ssl? ( dev-libs/openssl )
+ sqlite? ( dev-db/sqlite:3 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}-all"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gentoo.patch \
+ "${FILESDIR}"/poco-1.4.4-patch-for-libpcre-8.32.patch
+}
+
+src_configure() {
+ targets="libexecs"
+ odbc="unixodbc"
+
+ if use ssl; then
+ targets="${targets} NetSSL_OpenSSL-libexec Crypto-libexec"
+ echo NetSSL_OpenSSL >> components
+ echo Crypto >> components
+ fi
+ if use odbc; then
+ targets="${targets} Data/ODBC-libexec"
+ echo Data/ODBC >> components
+ if use iodbc; then
+ append-flags "-I/usr/include/iodbc"
+ odbc="iodbc"
+ fi
+ fi
+ if use sqlite; then
+ targets="${targets} Data/SQLite-libexec"
+ echo Data/SQLite >> components
+ fi
+ if use mysql; then
+ targets="${targets} Data/MySQL-libexec"
+ echo Data/MySQL >> components
+ fi
+
+ if use test; then
+ targets="${targets} cppunit tests"
+ echo CppUnit >> components
+ use ssl && targets="${targets} NetSSL_OpenSSL-tests Crypto-tests"
+ use odbc && targets="${targets} Data/ODBC-tests"
+ use sqlite && targets="${targets} Data/SQLite-tests"
+ use mysql && targets="${targets} Data/MySQL-tests"
+ fi
+
+ local myconf
+ use test || myconf="--no-tests"
+ # not autoconf
+ ./configure \
+ --no-samples ${myconf} \
+ --prefix=/usr \
+ --unbundled \
+ || die "configure failed"
+
+ sed -i \
+ -e 's|-O2||g' \
+ -e "s|CC = .*|CC = $(tc-getCC)|" \
+ -e "s|CXX = .*|CXX = $(tc-getCXX)|" \
+ -e "s|RANLIB = .*|RANLIB = $(tc-getRANLIB)|" \
+ -e "s|LIB = ar|LIB = $(tc-getAR)|" \
+ -e "s|STRIP = .*|STRIP = /bin/true|" \
+ -e "s|CFLAGS = |CFLAGS = ${CFLAGS}|" \
+ -e "s|CXXFLAGS = |CXXFLAGS = ${CXXFLAGS} |" \
+ -e "s|LINKFLAGS =|LINKFLAGS = ${LDFLAGS} |" \
+ -e "s|SHAREDOPT_LINK = -Wl,-rpath,\$(LIBPATH)|SHAREDOPT_LINK =|" \
+ build/config/Linux build/config/FreeBSD || die "sed failed"
+ sed -i -e "s|SHLIBFLAGS)|SHLIBFLAGS) ${LDFLAGS}|" build/rules/lib || die
+}
+
+src_compile() {
+ emake POCO_PREFIX=/usr GENTOO_ODBC="${odbc}" LIBDIR="$(get_libdir)" ${targets} || die "emake failed"
+}
+
+src_install() {
+ emake POCO_PREFIX=/usr LIBDIR="$(get_libdir)" DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc CHANGELOG CONTRIBUTORS NEWS README
+
+ use doc && dohtml -r "${WORKDIR}/${MY_DOCP}"/*
+
+ if use examples ; then
+ for d in Net XML Data Util NetSSL_OpenSSL Foundation ; do
+ insinto /usr/share/doc/${PF}/examples/${d}
+ doins -r ${d}/samples
+ done
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm
+ fi
+}
diff --git a/dev-libs/polylib/files/polylib-9999-headers.patch b/dev-libs/polylib/files/polylib-9999-headers.patch
new file mode 100644
index 000000000000..69b7b271a926
--- /dev/null
+++ b/dev-libs/polylib/files/polylib-9999-headers.patch
@@ -0,0 +1,10 @@
+--- a/applications/ehrhart_union.c
++++ b/applications/ehrhart_union.c
+@@ -1,6 +1,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <unistd.h>
+
+ #include <polylib/polylib.h>
+
diff --git a/dev-libs/polylib/metadata.xml b/dev-libs/polylib/metadata.xml
new file mode 100644
index 000000000000..effbbf33eac8
--- /dev/null
+++ b/dev-libs/polylib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/dev-libs/polylib/polylib-9999.ebuild b/dev-libs/polylib/polylib-9999.ebuild
new file mode 100644
index 000000000000..d1bbe4695696
--- /dev/null
+++ b/dev-libs/polylib/polylib-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EGIT_REPO_URI="git://repo.or.cz/${PN}.git
+ http://repo.or.cz/r/${PN}.git"
+EGIT_BOOTSTRAP="eautoreconf && cd cln && eautoreconf"
+inherit git-2 autotools eutils
+
+DESCRIPTION="ppl port of cloog"
+HOMEPAGE="http://icps.u-strasbg.fr/polylib/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+src_unpack() {
+ git-2_src_unpack
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-headers.patch
+ # strip LDFLAGS from pkgconfig .pc file
+ sed -i '/Libs:/s:@LDFLAGS@::' configure
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc doc/Changes
+}
diff --git a/dev-libs/popt/Manifest b/dev-libs/popt/Manifest
new file mode 100644
index 000000000000..b7a63bae47e1
--- /dev/null
+++ b/dev-libs/popt/Manifest
@@ -0,0 +1 @@
+DIST popt-1.16.tar.gz 702769 SHA256 e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8 SHA512 bae2dd4e5d682ef023fdc77ae60c4aad01a3a576d45af9d78d22490c11e410e60edda37ede171920746d4ae0d5de3c060d15cecfd41ba75b727a811be828d694 WHIRLPOOL 0f6ffe7dcab6dcca718f0c79a30d620d0cc2583d2c1018e4eb2357d7594df6b282c68a9e9b14f5c00731ef3abb0a39c98c3f8fa5a7331137702aea34682c7b4c
diff --git a/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch b/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch
new file mode 100644
index 000000000000..32e1bb353037
--- /dev/null
+++ b/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch
@@ -0,0 +1,12 @@
+diff -u popt-1.16.orig/Makefile.in popt-1.16/Makefile.in
+--- popt-1.16.orig/Makefile.in 2010-05-04 16:55:59.000000000 -0400
++++ popt-1.16/Makefile.in 2010-12-23 22:45:42.843131000 -0500
+@@ -370,7 +370,7 @@
+ libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c
+ libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ \
+ $(am__append_1)
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = popt.pc
+ man_MANS = popt.3
+ BUILT_SOURCES = popt.pc # popt.lcd
diff --git a/dev-libs/popt/metadata.xml b/dev-libs/popt/metadata.xml
new file mode 100644
index 000000000000..bee9f9ae6f02
--- /dev/null
+++ b/dev-libs/popt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+</pkgmetadata>
diff --git a/dev-libs/popt/popt-1.16-r1.ebuild b/dev-libs/popt/popt-1.16-r1.ebuild
new file mode 100644
index 000000000000..1f6c1ae77251
--- /dev/null
+++ b/dev-libs/popt/popt-1.16-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils
+
+DESCRIPTION="Parse Options - Command line parser"
+HOMEPAGE="http://rpm5.org/"
+SRC_URI="http://rpm5.org/files/popt/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="nls static-libs"
+
+RDEPEND="nls? ( virtual/libintl )"
+DEPEND="nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/fix-popt-pkgconfig-libdir.patch #349558
+ sed -i -e 's:lt-test1:test1:' testit.sh || die
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc CHANGES README || die
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/popt/popt-1.16-r2.ebuild b/dev-libs/popt/popt-1.16-r2.ebuild
new file mode 100644
index 000000000000..044b9b18e3da
--- /dev/null
+++ b/dev-libs/popt/popt-1.16-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib-minimal
+
+DESCRIPTION="Parse Options - Command line parser"
+HOMEPAGE="http://rpm5.org/"
+SRC_URI="http://rpm5.org/files/popt/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/fix-popt-pkgconfig-libdir.patch #349558
+ sed -i -e 's:lt-test1:test1:' testit.sh || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static) \
+ $(use_enable nls)
+}
+
+multilib_src_install_all() {
+ dodoc CHANGES README
+ prune_libtool_files --all
+}
diff --git a/dev-libs/ppl/Manifest b/dev-libs/ppl/Manifest
new file mode 100644
index 000000000000..fcf76d38880b
--- /dev/null
+++ b/dev-libs/ppl/Manifest
@@ -0,0 +1,2 @@
+DIST ppl-0.12.1.tar.bz2 14938132 SHA256 4022e54772f81c8ef66d3dd4c3d8dca48f72f9af614d8a36d05fbf5917f2b198 SHA512 e8a4c92271f608e79c5828c71ff2d36c681dd4bd48b5d31353b2a27bcf827a5cb8f0dcdfee3e13cf9f202f35a7693ddf9880dc4d5b8445ec558cef1319f43925 WHIRLPOOL 6616253d5c02c84294ec63e0601fa7bc65772fc72e6cea68f1300fa2b46f551311589813268d8e869cb59295d8fdc5be17a5b3d0cbb7b62fe0bc06a8bf9e1f39
+DIST ppl-1.1.tar.xz 14734820 SHA256 c48ccd74664ec2cd3cdb5e37f287974ccb062f0384dc658d4053c424b19ad178 SHA512 ae0503fb3eac494fa3edf5d5c9ec61e2419e6e2fa57d30323f7d0360ff080b033686410c7462f5b2ff5514803451cb91e9c0fc14cf953485c5f5fd664448cc27 WHIRLPOOL d1b85fe9b44195f7fdc0573b32291a70183ce9de5e29fbb502a5d181a6e0ae11998dd5cfb52ec7ce3e1aed36433a823484488bfaf93362ac3b45a7556a2e9b6a
diff --git a/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch b/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch
new file mode 100644
index 000000000000..ff2423e93c79
--- /dev/null
+++ b/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch
@@ -0,0 +1,41 @@
+--- src/p_std_bits.cc.org 2012-12-30 00:37:03.033948083 +0100
++++ src/mp_std_bits.cc 2012-12-30 00:44:12.893019313 +0100
+@@ -25,6 +25,9 @@
+ #include "ppl-config.h"
+ #include "mp_std_bits.defs.hh"
+
++#if __GNU_MP_VERSION < 5 \
++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ const bool std::numeric_limits<mpz_class>::is_specialized;
+ const int std::numeric_limits<mpz_class>::digits;
+ const int std::numeric_limits<mpz_class>::digits10;
+@@ -70,3 +73,6 @@
+ const bool std::numeric_limits<mpq_class>::traps;
+ const bool std::numeric_limits<mpq_class>::tininess_before;
+ const std::float_round_style std::numeric_limits<mpq_class>::round_style;
++
++#endif // __GNU_MP_VERSION < 5
++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+--- src/mp_std_bits.defs.hh.org 2012-12-30 00:37:03.037948187 +0100
++++ src/mp_std_bits.defs.hh 2012-12-30 00:42:32.002424189 +0100
+@@ -38,6 +38,9 @@
+ #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+ void swap(mpq_class& x, mpq_class& y);
+
++#if __GNU_MP_VERSION < 5 \
++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ namespace std {
+
+ #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+@@ -164,6 +167,9 @@
+
+ } // namespace std
+
++#endif // __GNU_MP_VERSION < 5
++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ #include "mp_std_bits.inlines.hh"
+
+ #endif // !defined(PPL_mp_std_bits_defs_hh)
diff --git a/dev-libs/ppl/metadata.xml b/dev-libs/ppl/metadata.xml
new file mode 100644
index 000000000000..f109b1b3feb7
--- /dev/null
+++ b/dev-libs/ppl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+<use>
+ <flag name='lpsol'>Build the ppl_lpsol linear programming problem solver</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/ppl/ppl-0.12.1-r1.ebuild b/dev-libs/ppl/ppl-0.12.1-r1.ebuild
new file mode 100644
index 000000000000..a28652f7f7c5
--- /dev/null
+++ b/dev-libs/ppl/ppl-0.12.1-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="The Parma Polyhedra Library provides numerical abstractions for analysis of complex systems"
+HOMEPAGE="http://bugseng.com/products/ppl"
+SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
+IUSE="doc lpsol pch static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.1.3[cxx]
+ lpsol? ( <=sci-mathematics/glpk-4.48 )
+ !<dev-libs/cloog-ppl-0.15.10"
+DEPEND="${RDEPEND}
+ sys-devel/m4"
+
+pkg_setup() {
+ if use test; then
+ ewarn "The PPL testsuite will be run."
+ ewarn "Note that this can take several hours to complete on a fast machine."
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/ppl-fix-gmp-5.1.0.patch" || die "Failed to patch"
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --disable-debugging \
+ --disable-optimization \
+ $(use_enable doc documentation) \
+ $(use_enable lpsol ppl_lpsol) \
+ $(use_enable pch) \
+ $(use_enable static-libs static) \
+ --enable-interfaces="c cxx" \
+ $(use test && echo --enable-check=quick)
+}
+
+src_test() {
+ # default src_test runs with -j1, overriding it here saves about
+ # 30 minutes and is recommended by upstream
+ if emake -j1 check -n &> /dev/null; then
+ emake check || die "tests failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ use static-libs || rm -f "${D}"/usr/lib*/libppl*.la
+
+ local docsdir="${ED}/usr/share/doc/${PF}"
+ rm "${docsdir}"/gpl* "${docsdir}"/fdl* || die
+
+ if ! use doc; then
+ rm -r "${docsdir}"/*-html/ || die
+ fi
+
+ dodoc NEWS README* STANDARDS TODO
+}
+
+pkg_postinst() {
+ echo
+ ewarn "After an upgrade of PPL it is important that you rebuild"
+ ewarn "dev-libs/cloog-ppl."
+ ewarn
+ ewarn "If you use gcc-config to switch to an older compiler version than"
+ ewarn "the one PPL was built with, PPL must be rebuilt with that version."
+ ewarn
+ ewarn "In both cases failure to do this will get you this error when"
+ ewarn "graphite flags are used:"
+ ewarn
+ ewarn " sorry, unimplemented: Graphite loop optimizations cannot be used"
+ ewarn
+ echo
+}
diff --git a/dev-libs/ppl/ppl-1.1.ebuild b/dev-libs/ppl/ppl-1.1.ebuild
new file mode 100644
index 000000000000..58a2abe9db26
--- /dev/null
+++ b/dev-libs/ppl/ppl-1.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="The Parma Polyhedra Library provides numerical abstractions for analysis of complex systems"
+HOMEPAGE="http://bugseng.com/products/ppl"
+SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0/4.13" # SONAMEs
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
+IUSE="+cxx doc lpsol pch static-libs test"
+
+RDEPEND=">=dev-libs/gmp-6[cxx]
+ lpsol? ( sci-mathematics/glpk )
+ !dev-libs/cloog-ppl"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ sys-devel/m4"
+
+pkg_setup() {
+ if use test ; then
+ ewarn "The PPL testsuite will be run."
+ ewarn "Note that this can take several hours to complete on a fast machine."
+ fi
+}
+
+src_configure() {
+ local interfaces=( c )
+ use cxx && interfaces+=( cxx )
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --disable-debugging \
+ --disable-optimization \
+ $(use_enable doc documentation) \
+ $(use_enable lpsol ppl_lpsol) \
+ $(use_enable pch) \
+ $(use_enable static-libs static) \
+ --enable-interfaces="${interfaces[*]}" \
+ $(use test && echo --enable-check=quick)
+}
+
+src_test() {
+ # default src_test runs with -j1, overriding it here saves about
+ # 30 minutes and is recommended by upstream
+ emake check
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}"/usr -name 'libppl*.la' -delete
+
+ pushd "${ED}/usr/share/doc/${PF}" >/dev/null || die
+ rm gpl* fdl* || die
+ if ! use doc; then
+ rm -r *-html/ *.ps.gz *.pdf || die
+ fi
+}
diff --git a/dev-libs/protobuf-c/Manifest b/dev-libs/protobuf-c/Manifest
new file mode 100644
index 000000000000..71d72293780c
--- /dev/null
+++ b/dev-libs/protobuf-c/Manifest
@@ -0,0 +1,3 @@
+DIST protobuf-c-0.15.tar.gz 500911 SHA256 8fcb538e13a5431c46168fc8f2e6ad2574e2db9b684c0c72b066e24f010a0036 SHA512 a51b9977ca4a6a73dffe92c7f8f5526f5dd3561b5139df290bafe5093d0fd6ace701d9fa1ee92a9dc8394960efd48f739c44ac17a74a7acd8c365d63e6312e9e WHIRLPOOL 3fd2ab0e0008dfabb7d21e30601422fee5b069981d015eff5ada5857621904f339c63f09eedeb6271a8b35a4570e4dad614f58888bfb708e43c5991f6af8568a
+DIST protobuf-c-1.0.2.tar.gz 449923 SHA256 db771f7b0e76d5bb14140a50df4a32553288fd3e701b60e90e034e22f411ef76 SHA512 d748712f4216015802ffeff1072266da98ba9d9a4dfdaecd1c1b9d76f15403112b5cc2563a54390653c5eb82d7b51caf4c1f595cf1287bcbb123efb646e12f33 WHIRLPOOL 7a18446fc7ea27c10cbc0393f96859f237fcf29c962e982270b8f4cd10e27366b42cc38d418e973d4295e41e7da522fc577df296063e8f723a51415a6783d48d
+DIST protobuf-c-1.1.1.tar.gz 454913 SHA256 09c5bb187b7a8e86bc0ff860f7df86370be9e8661cdb99c1072dcdab0763562c SHA512 9eeb3165ca53c57091503866e2600d675e03d79c22dbd41bd3c4ebf8e569ed147f0b832e8b68dcdaece2f151798e7e0589fdf975e9a04fae9904991e89ea0465 WHIRLPOOL 4e117812916d5f54432edc01437e5c4a35dd953f2da2a94d312ee8ebfba1523e74c13012120532cd1d7bd90a0f0717804e53366f128bd8fc909fffd271044e4f
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.1.0-no-build-tests.patch b/dev-libs/protobuf-c/files/protobuf-c-1.1.0-no-build-tests.patch
new file mode 100644
index 000000000000..4e611d710705
--- /dev/null
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.1.0-no-build-tests.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/518440
+
+avoid compiling tests when we aren't actually testing, especially since it
+requires a compiler to execute which fails when cross-compiling
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -135,7 +135,7 @@ t_generated_code2_test_generated_code2_SOURCES = \
+ t_generated_code2_test_generated_code2_LDADD = \
+ protobuf-c/libprotobuf-c.la
+
+-noinst_PROGRAMS += \
++check_PROGRAMS += \
+ t/generated-code2/cxx-generate-packed-data
+
+ t_generated_code2_cxx_generate_packed_data_SOURCES = \
+@@ -160,12 +160,6 @@ t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
+ t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
+ $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
+
+-BUILT_SOURCES += \
+- t/test.pb-c.c t/test.pb-c.h \
+- t/test-full.pb-c.c t/test-full.pb-c.h \
+- t/test-full.pb.cc t/test-full.pb.h \
+- t/generated-code2/test-full-cxx-output.inc
+-
+ t_version_version_SOURCES = \
+ t/version/version.c
+ t_version_version_LDADD = \
diff --git a/dev-libs/protobuf-c/metadata.xml b/dev-libs/protobuf-c/metadata.xml
new file mode 100644
index 000000000000..8d8d65211c36
--- /dev/null
+++ b/dev-libs/protobuf-c/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">protobuf-c/protobuf-c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/protobuf-c/protobuf-c-0.15.ebuild b/dev-libs/protobuf-c/protobuf-c-0.15.ebuild
new file mode 100644
index 000000000000..abe9a85b8d33
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-0.15.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="code generator and runtime libraries to use Protocol Buffers (protobuf) from pure C"
+HOMEPAGE="http://code.google.com/p/protobuf-c/"
+SRC_URI="http://protobuf-c.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/protobuf"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/dev-libs/protobuf-c/protobuf-c-1.0.2-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..d1d76a7f8ccf
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.0.2-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-multilib
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="code generator and runtime libraries to use Protocol Buffers (protobuf) from pure C"
+HOMEPAGE="https://github.com/protobuf-c/protobuf-c/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/protobuf-2.5.0-r2[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-libs/protobuf-c/protobuf-c-1.1.1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.1.1.ebuild
new file mode 100644
index 000000000000..e6635c42041c
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.1.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-multilib
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="code generator and runtime libraries to use Protocol Buffers (protobuf) from pure C"
+HOMEPAGE="https://github.com/protobuf-c/protobuf-c/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 sparc ~x86"
+IUSE="static-libs test"
+
+RDEPEND=">=dev-libs/protobuf-2.6.0[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( ${AUTOTOOLS_DEPEND} )
+ virtual/pkgconfig[${MULTILIB_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ if ! use test ; then
+ epatch "${FILESDIR}"/${PN}-1.1.0-no-build-tests.patch
+ AUTOTOOLS_AUTORECONF=true
+ fi
+ autotools-multilib_src_prepare
+}
diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest
new file mode 100644
index 000000000000..5cda08f0e35f
--- /dev/null
+++ b/dev-libs/protobuf/Manifest
@@ -0,0 +1,3 @@
+DIST protobuf-2.4.1.tar.bz2 1440188 SHA256 cf8452347330834bbf9c65c2e68b5562ba10c95fa40d4f7ec0d2cb332674b0bf SHA512 52b0208c685e44126cb3915a74bde692ef91430f0407144b6c30b72a9f143b1ee4f1eea47a550184c689a1758b92582e7f26f0683c2d387205b957a69830f2f3 WHIRLPOOL e5462ff35f63413aff58640c24b9b561ac55749c489803ae009de21bf5d954a77516714361353ef02cfeb3c2d762620c89dc08a5fdee571e3a33b6f5c20edf6e
+DIST protobuf-2.5.0.tar.bz2 1866763 SHA256 13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 SHA512 5994b3669808b82fef5c860ecad36358c0767f84acac877e7bfcf722e59d972835a955714149bdd4158fbd1328a51d01397a563991d26475351ee72be48142ee WHIRLPOOL 7e6786e1f20bf253d0e386a95c2bbfe1b443f484d492f97552cadcea62c24461436aa88130e3ff20b4dc9f352c101458cb8c03686f1cc4e6e2133b6e78f5b70d
+DIST protobuf-2.6.1.tar.bz2 2021416 SHA256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 SHA512 8b092b87fcd79223db199cd3d330f3d43689b47f345aa4e34028dcf1680d609a5d5a89ab08588e817b566d3b265834c38f1db580bc1c144b512ce74d35f2a174 WHIRLPOOL b8d7f5e6b85670520435fd1107eb67035c822c2dad9689dadc29754de3bf8076ac256cf3fe3e719e99c0ccb03ed78edecb91afbe96b611073b60ae3fb3f29b1a
diff --git a/dev-libs/protobuf/files/70protobuf-gentoo.el b/dev-libs/protobuf/files/70protobuf-gentoo.el
new file mode 100644
index 000000000000..51370527f6f2
--- /dev/null
+++ b/dev-libs/protobuf/files/70protobuf-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'auto-mode-alist '("\\.proto\\'" . protobuf-mode))
+(autoload 'protobuf-mode "protobuf-mode" "Google protobuf mode." t)
diff --git a/dev-libs/protobuf/files/proto.vim b/dev-libs/protobuf/files/proto.vim
new file mode 100644
index 000000000000..6d26809efee6
--- /dev/null
+++ b/dev-libs/protobuf/files/proto.vim
@@ -0,0 +1 @@
+au BufRead,BufNewFile *.proto set filetype=proto
diff --git a/dev-libs/protobuf/files/protobuf-2.3.0-asneeded-2.patch b/dev-libs/protobuf/files/protobuf-2.3.0-asneeded-2.patch
new file mode 100644
index 000000000000..418622e547f4
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-2.3.0-asneeded-2.patch
@@ -0,0 +1,28 @@
+Fixing as-needed issue
+
+http://bugs.gentoo.org/show_bug.cgi?id=271509
+
+--- m4/acx_pthread.m4
++++ m4/acx_pthread.m4
+@@ -278,7 +278,8 @@
+ fi
+ fi
+
+- if test x"$done" = xno; then
++ if test x"$done" = xyes; then
++ done="no"
+ AC_MSG_CHECKING([whether -pthread is sufficient with -shared])
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_t th; pthread_join(th, 0);
+--- gtest/m4/acx_pthread.m4
++++ gtest/m4/acx_pthread.m4
+@@ -278,7 +278,8 @@
+ fi
+ fi
+
+- if test x"$done" = xno; then
++ if test x"$done" = xyes; then
++ done="no"
+ AC_MSG_CHECKING([whether -pthread is sufficient with -shared])
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_t th; pthread_join(th, 0);
diff --git a/dev-libs/protobuf/files/protobuf-2.5.0-emacs-24.4.patch b/dev-libs/protobuf/files/protobuf-2.5.0-emacs-24.4.patch
new file mode 100644
index 000000000000..77d624938243
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-2.5.0-emacs-24.4.patch
@@ -0,0 +1,14 @@
+Fix build with emacs-24.4.
+
+http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18845
+
+--- protobuf-2.5.0/editors/protobuf-mode.el
++++ protobuf-2.5.0/editors/protobuf-mode.el
+@@ -66,6 +66,7 @@
+ (require 'cc-mode)
+
+ (eval-when-compile
++ (require 'cl)
+ (require 'cc-langs)
+ (require 'cc-fonts))
+
diff --git a/dev-libs/protobuf/files/protobuf-2.5.0-x32.patch b/dev-libs/protobuf/files/protobuf-2.5.0-x32.patch
new file mode 100644
index 000000000000..5c8d47831807
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-2.5.0-x32.patch
@@ -0,0 +1,15 @@
+fix from upstream for building w/x32
+
+https://code.google.com/p/protobuf/issues/detail?id=474
+
+--- src/google/protobuf/stubs/atomicops.h (revision 491)
++++ src/google/protobuf/stubs/atomicops.h (revision 492)
+@@ -66,7 +66,7 @@ typedef int32 Atomic32;
+ #ifdef GOOGLE_PROTOBUF_ARCH_64_BIT
+ // We need to be able to go between Atomic64 and AtomicWord implicitly. This
+ // means Atomic64 and AtomicWord should be the same type on 64-bit.
+-#if defined(GOOGLE_PROTOBUF_OS_NACL)
++#if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL)
+ // NaCl's intptr_t is not actually 64-bits on 64-bit!
+ // http://code.google.com/p/nativeclient/issues/detail?id=1162
+ typedef int64 Atomic64;
diff --git a/dev-libs/protobuf/files/protobuf-2.6.1-protoc-cmdline.patch b/dev-libs/protobuf/files/protobuf-2.6.1-protoc-cmdline.patch
new file mode 100644
index 000000000000..60151e8f6b2a
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-2.6.1-protoc-cmdline.patch
@@ -0,0 +1,256 @@
+https://github.com/google/protobuf/pull/235
+
+From 18f71a50a9000e7558ae48a971fa301d76220ff0 Mon Sep 17 00:00:00 2001
+From: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Tue, 10 Mar 2015 17:04:40 -0400
+Subject: [PATCH] protoc: Add options to redirect input/output to files.
+
+When using protoc to encode/decode protobufs, the input/output was from
+stdin/stdout only. This patch adds command line flags to specify files to read
+the protobuf from and and write the encoded/decoded protobuf to.
+---
+ .../protobuf/compiler/command_line_interface.cc | 99 +++++++++++++++++-----
+ .../protobuf/compiler/command_line_interface.h | 11 ++-
+ .../compiler/command_line_interface_unittest.cc | 25 +++++-
+ 3 files changed, 110 insertions(+), 25 deletions(-)
+
+diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc
+index 567238a..1db85c9 100644
+--- a/src/google/protobuf/compiler/command_line_interface.cc
++++ b/src/google/protobuf/compiler/command_line_interface.cc
+@@ -745,6 +745,28 @@ int CommandLineInterface::Run(int argc, const char* const argv[]) {
+ }
+
+ if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) {
++ bool success = false;
++ int in_fd = STDIN_FILENO;
++ int out_fd = STDOUT_FILENO;
++
++ if (!protobuf_in_path_.empty()) {
++ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY);
++ if (in_fd == -1) {
++ cerr << protobuf_in_path_ << ": error: failed to open file." << endl;
++ return 1;
++ }
++ }
++ if (!protobuf_out_path_.empty()) {
++ out_fd = open(protobuf_out_path_.c_str(),
++ O_WRONLY | O_CREAT | O_TRUNC,
++ 0644);
++ if (out_fd == -1) {
++ cerr << protobuf_out_path_ << ": error: failed to open file." << endl;
++ close(in_fd);
++ return 1;
++ }
++ }
++
+ if (codec_type_.empty()) {
+ // HACK: Define an EmptyMessage type to use for decoding.
+ DescriptorPool pool;
+@@ -753,13 +775,20 @@ int CommandLineInterface::Run(int argc, const char* const argv[]) {
+ file.add_message_type()->set_name("EmptyMessage");
+ GOOGLE_CHECK(pool.BuildFile(file) != NULL);
+ codec_type_ = "EmptyMessage";
+- if (!EncodeOrDecode(&pool)) {
+- return 1;
+- }
++ success = EncodeOrDecode(&pool, in_fd, out_fd);
+ } else {
+- if (!EncodeOrDecode(importer.pool())) {
+- return 1;
+- }
++ success = EncodeOrDecode(importer.pool(), in_fd, out_fd);
++ }
++
++ if (in_fd != STDIN_FILENO) {
++ close(in_fd);
++ }
++ if (out_fd != STDOUT_FILENO) {
++ close(out_fd);
++ }
++
++ if (!success) {
++ return 1;
+ }
+ }
+
+@@ -873,6 +902,11 @@ CommandLineInterface::ParseArguments(int argc, const char* const argv[]) {
+ if (status != PARSE_ARGUMENT_DONE_AND_CONTINUE)
+ return status;
+ }
++ if (mode_ == MODE_COMPILE &&
++ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) {
++ cerr << "--protobuf_in and --protobuf_out are only valid with "
++ << "decode operations. Ignoring.";
++ }
+
+ // If no --proto_path was given, use the current working directory.
+ if (proto_path_.empty()) {
+@@ -1123,6 +1157,12 @@ CommandLineInterface::InterpretArgument(const string& name,
+
+ codec_type_ = value;
+
++ } else if (name == "--protobuf_in") {
++ protobuf_in_path_ = value;
++
++ } else if (name == "--protobuf_out") {
++ protobuf_out_path_ = value;
++
+ } else if (name == "--error_format") {
+ if (value == "gcc") {
+ error_format_ = ERROR_FORMAT_GCC;
+@@ -1238,18 +1278,29 @@ void CommandLineInterface::PrintHelpText() {
+ " --version Show version info and exit.\n"
+ " -h, --help Show this text and exit.\n"
+ " --encode=MESSAGE_TYPE Read a text-format message of the given type\n"
+-" from standard input and write it in binary\n"
+-" to standard output. The message type must\n"
+-" be defined in PROTO_FILES or their imports.\n"
+-" --decode=MESSAGE_TYPE Read a binary message of the given type from\n"
+-" standard input and write it in text format\n"
+-" to standard output. The message type must\n"
++" an write it in binary. The message type must\n"
+ " be defined in PROTO_FILES or their imports.\n"
+-" --decode_raw Read an arbitrary protocol message from\n"
+-" standard input and write the raw tag/value\n"
+-" pairs in text format to standard output. No\n"
++" The input/output protobuf files are specified\n"
++" using the --protobuf_in and --protobuf_out\n"
++" command line flags.\n"
++" --decode=MESSAGE_TYPE Read a binary message of the given type and\n"
++" write it in text format. The message type\n"
++" must be defined in PROTO_FILES or their\n"
++" imports. The input/output protobuf files are\n"
++" specified using the --protobuf_in and \n"
++" --protobuf_out command line flags.\n"
++" --decode_raw Read an arbitrary protocol message and write\n"
++" the raw tag/value pairs in text format. No\n"
+ " PROTO_FILES should be given when using this\n"
+-" flag.\n"
++" flag. The input/output protobuf files are\n"
++" specified using the --protobuf_in and \n"
++" --protobuf_out command line flags.\n"
++" --protobuf_in Absolute path to the protobuf file to read to\n"
++" encode/decode. If omitted, file will be read\n"
++" from STDIN.\n"
++" --protobuf_out Absolute path to the protobuf file to write to\n"
++" after encode/decode operation. If omitted,\n"
++" output is written to STDOUT.\n"
+ " -oFILE, Writes a FileDescriptorSet (a protocol buffer,\n"
+ " --descriptor_set_out=FILE defined in descriptor.proto) containing all of\n"
+ " the input files to FILE.\n"
+@@ -1490,7 +1541,9 @@ bool CommandLineInterface::GeneratePluginOutput(
+ return true;
+ }
+
+-bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
++bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
++ int in_fd,
++ int out_fd) {
+ // Look up the type.
+ const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
+ if (type == NULL) {
+@@ -1502,15 +1555,15 @@ bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
+ google::protobuf::scoped_ptr<Message> message(dynamic_factory.GetPrototype(type)->New());
+
+ if (mode_ == MODE_ENCODE) {
+- SetFdToTextMode(STDIN_FILENO);
+- SetFdToBinaryMode(STDOUT_FILENO);
++ SetFdToTextMode(in_fd);
++ SetFdToBinaryMode(out_fd);
+ } else {
+- SetFdToBinaryMode(STDIN_FILENO);
+- SetFdToTextMode(STDOUT_FILENO);
++ SetFdToBinaryMode(in_fd);
++ SetFdToTextMode(out_fd);
+ }
+
+- io::FileInputStream in(STDIN_FILENO);
+- io::FileOutputStream out(STDOUT_FILENO);
++ io::FileInputStream in(in_fd);
++ io::FileOutputStream out(out_fd);
+
+ if (mode_ == MODE_ENCODE) {
+ // Input is text.
+diff --git a/src/google/protobuf/compiler/command_line_interface.h b/src/google/protobuf/compiler/command_line_interface.h
+index 7e611c4..b6fc38a 100644
+--- a/src/google/protobuf/compiler/command_line_interface.h
++++ b/src/google/protobuf/compiler/command_line_interface.h
+@@ -244,7 +244,9 @@ class LIBPROTOC_EXPORT CommandLineInterface {
+ string* error);
+
+ // Implements --encode and --decode.
+- bool EncodeOrDecode(const DescriptorPool* pool);
++ bool EncodeOrDecode(const DescriptorPool* pool,
++ int in_fd,
++ int out_fd);
+
+ // Implements the --descriptor_set_out option.
+ bool WriteDescriptorSet(const vector<const FileDescriptor*> parsed_files);
+@@ -357,6 +359,13 @@ class LIBPROTOC_EXPORT CommandLineInterface {
+ // decoding. (Empty string indicates --decode_raw.)
+ string codec_type_;
+
++ // When using --encode / --decode / --decode_raw absolute path to the output
++ // file. (Empty string indicates write to STDOUT).
++ string protobuf_out_path_;
++ // When using --encode / --decode / --decode_raw, absolute path to the input
++ // file. (Empty string indicates read from STDIN).
++ string protobuf_in_path_;
++
+ // If --descriptor_set_out was given, this is the filename to which the
+ // FileDescriptorSet should be written. Otherwise, empty.
+ string descriptor_set_name_;
+diff --git a/src/google/protobuf/compiler/command_line_interface_unittest.cc b/src/google/protobuf/compiler/command_line_interface_unittest.cc
+index 2b26f3b..78ff2cf 100644
+--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
++++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
+@@ -94,7 +94,7 @@ class CommandLineInterfaceTest : public testing::Test {
+ virtual void SetUp();
+ virtual void TearDown();
+
+- // Runs the CommandLineInterface with the given command line. The
++ // Run the CommandLineInterface with the given command line. The
+ // command is automatically split on spaces, and the string "$tmpdir"
+ // is replaced with TestTempDir().
+ void Run(const string& command);
+@@ -1680,6 +1680,17 @@ class EncodeDecodeTest : public testing::Test {
+ EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_));
+ }
+
++ void ExpectBinaryFilesMatch(const string &expected_file,
++ const string &actual_file) {
++ string expected_output, actual_output;
++ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output));
++ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output));
++
++ // Don't use EXPECT_EQ because we don't want to print raw binary data to
++ // stdout on failure.
++ EXPECT_TRUE(expected_output == actual_output);
++ }
++
+ private:
+ int duped_stdin_;
+ string captured_stdout_;
+@@ -1745,6 +1756,18 @@ TEST_F(EncodeDecodeTest, ProtoParseError) {
+ "google/protobuf/no_such_file.proto: File not found.\n");
+ }
+
++TEST_F(EncodeDecodeTest, RedirectInputOutput) {
++ string out_file = TestTempDir() + "/golden_message_out.pbf";
++ string cmd = "";
++ cmd += "google/protobuf/unittest.proto ";
++ cmd += "--encode=protobuf_unittest.TestAllTypes ";
++ cmd += "--protobuf_in=" + TestSourceDir() +
++ "/google/protobuf/testdata/text_format_unittest_data.txt ";
++ cmd += "--protobuf_out=" + out_file;
++ EXPECT_TRUE(Run(cmd));
++ ExpectBinaryFilesMatch(out_file, "google/protobuf/testdata/golden_message");
++}
++
+ } // anonymous namespace
+
+ } // namespace compiler
+--
+2.3.1
+
diff --git a/dev-libs/protobuf/metadata.xml b/dev-libs/protobuf/metadata.xml
new file mode 100644
index 000000000000..b890438d0008
--- /dev/null
+++ b/dev-libs/protobuf/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/protobuf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/protobuf/protobuf-2.4.1.ebuild b/dev-libs/protobuf/protobuf-2.4.1.ebuild
new file mode 100644
index 000000000000..e7ea1f3f5c8c
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-2.4.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+JAVA_PKG_IUSE="source"
+PYTHON_DEPEND="python? 2"
+DISTUTILS_SRC_TEST="setup.py"
+
+inherit autotools eutils distutils java-pkg-opt-2 elisp-common
+
+DESCRIPTION="Google's Protocol Buffers -- an efficient method of encoding structured data"
+HOMEPAGE="http://code.google.com/p/protobuf/"
+SRC_URI="http://protobuf.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm -hppa ~ia64 ~mips ppc ppc64 x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos"
+IUSE="emacs examples java python static-libs vim-syntax"
+
+DEPEND="${DEPEND} java? ( >=virtual/jdk-1.5 )
+ python? ( dev-python/setuptools )
+ emacs? ( virtual/emacs )"
+RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.5 )
+ emacs? ( virtual/emacs )"
+
+DISTUTILS_SETUP_FILES=("python|setup.py")
+PYTHON_MODNAME="google/protobuf"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.0-asneeded-2.patch
+ eautoreconf
+
+ if use python; then
+ python_convert_shebangs -r 2 .
+ distutils_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ if use python; then
+ einfo "Compiling Python library ..."
+ distutils_src_compile
+ fi
+
+ if use java; then
+ einfo "Compiling Java library ..."
+ src/protoc --java_out=java/src/main/java --proto_path=src src/google/protobuf/descriptor.proto
+ mkdir java/build
+ pushd java/src/main/java
+ ejavac -d ../../../build $(find . -name '*.java') || die "java compilation failed"
+ popd
+ jar cf "${PN}.jar" -C java/build . || die "jar failed"
+ fi
+
+ if use emacs; then
+ elisp-compile "${S}/editors/protobuf-mode.el" || die "elisp-compile failed!"
+ fi
+}
+
+src_test() {
+ emake check || die "emake check failed"
+
+ if use python; then
+ distutils_src_test
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc CHANGES.txt CONTRIBUTORS.txt README.txt
+
+ use static-libs || rm -rf "${D}"/usr/lib*/*.la
+
+ if use python; then
+ distutils_src_install
+ fi
+
+ if use java; then
+ java-pkg_dojar ${PN}.jar
+ use source && java-pkg_dosrc java/src/main/java/*
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect/
+ doins "${FILESDIR}/proto.vim"
+ fi
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/* || die "doins examples failed"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+ use python && distutils_pkg_postinst
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+ use python && distutils_pkg_postrm
+}
diff --git a/dev-libs/protobuf/protobuf-2.5.0-r2.ebuild b/dev-libs/protobuf/protobuf-2.5.0-r2.ebuild
new file mode 100644
index 000000000000..d4d0b3a121bf
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-2.5.0-r2.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
+JAVA_PKG_IUSE="source"
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools-multilib eutils flag-o-matic distutils-r1 java-pkg-opt-2 elisp-common
+
+DESCRIPTION="Google's Protocol Buffers -- an efficient method of encoding structured data"
+HOMEPAGE="http://code.google.com/p/protobuf/"
+SRC_URI="http://protobuf.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0/8" # subslot = soname major version
+KEYWORDS="amd64 arm -hppa ~ia64 ~mips ppc ~ppc64 x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="emacs examples java python static-libs vim-syntax"
+
+CDEPEND="emacs? ( virtual/emacs )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.5 )
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.5 )"
+
+src_prepare() {
+ append-cxxflags -DGOOGLE_PROTOBUF_NO_RTTI
+
+ epatch "${FILESDIR}"/${P}-x32.patch
+
+ # breaks Darwin, bug #472514
+ [[ ${CHOST} != *-darwin* ]] && epatch "${FILESDIR}"/${PN}-2.3.0-asneeded-2.patch
+
+ # fix build with emacs-24.4 (bug #524100)
+ epatch "${FILESDIR}"/${P}-emacs-24.4.patch
+
+ autotools-multilib_src_prepare
+
+ if use python; then
+ cd python && distutils-r1_src_prepare
+ fi
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi; then
+ if use python; then
+ einfo "Compiling Python library ..."
+ pushd "${S}"/python >/dev/null
+ PROTOC="${BUILD_DIR}"/src/protoc distutils-r1_src_compile
+ popd >/dev/null
+ fi
+
+ if use java; then
+ einfo "Compiling Java library ..."
+ pushd "${S}" >/dev/null
+ "${BUILD_DIR}"/src/protoc --java_out=java/src/main/java --proto_path=src src/google/protobuf/descriptor.proto
+ mkdir java/build
+ pushd java/src/main/java >/dev/null
+ ejavac -d ../../../build $(find . -name '*.java') || die "java compilation failed"
+ popd >/dev/null
+ jar cf ${PN}.jar -C java/build . || die "jar failed"
+ popd >/dev/null
+ fi
+ fi
+}
+
+src_compile() {
+ autotools-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile "${S}"/editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ autotools-multilib_src_test check
+
+ if use python; then
+ pushd python >/dev/null
+ distutils-r1_src_test
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ dodoc CHANGES.txt CONTRIBUTORS.txt README.txt
+
+ if use python; then
+ pushd python >/dev/null
+ distutils-r1_src_install
+ popd >/dev/null
+ fi
+
+ if use java; then
+ java-pkg_dojar ${PN}.jar
+ use source && java-pkg_dosrc java/src/main/java/*
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect/
+ doins "${FILESDIR}"/proto.vim
+ fi
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}"/70${PN}-gentoo.el
+ fi
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/protobuf/protobuf-2.6.1-r3.ebuild b/dev-libs/protobuf/protobuf-2.6.1-r3.ebuild
new file mode 100644
index 000000000000..4add84282fed
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-2.6.1-r3.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
+JAVA_PKG_IUSE="source"
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools-multilib eutils flag-o-matic toolchain-funcs distutils-r1 java-pkg-opt-2 elisp-common
+
+DESCRIPTION="Google's Protocol Buffers -- an efficient method of encoding structured data"
+HOMEPAGE="http://code.google.com/p/protobuf/ https://github.com/google/protobuf/"
+SRC_URI="https://github.com/google/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0/9" # subslot = soname major version
+KEYWORDS="alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sh sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="emacs examples java python static-libs vim-syntax zlib"
+
+CDEPEND="emacs? ( virtual/emacs )
+ python? ( ${PYTHON_DEPS} )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.5 )
+ python? (
+ dev-python/google-apputils[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.5 )"
+
+src_prepare() {
+ append-cxxflags -DGOOGLE_PROTOBUF_NO_RTTI
+
+ # breaks Darwin, bug #472514
+ [[ ${CHOST} != *-darwin* ]] && epatch "${FILESDIR}"/${PN}-2.3.0-asneeded-2.patch
+
+ # fix build with emacs-24.4 (bug #524100)
+ epatch "${FILESDIR}"/${PN}-2.5.0-emacs-24.4.patch
+ epatch "${FILESDIR}"/${PN}-2.6.1-protoc-cmdline.patch
+
+ autotools-multilib_src_prepare
+
+ if use python; then
+ cd python && distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with zlib)
+ )
+
+ if tc-is-cross-compiler; then
+ # The build system wants `protoc` when building, so we need a copy that
+ # runs on the host. This is more hermetic than relying on the version
+ # installed in the host being the exact same version.
+ mkdir -p "${WORKDIR}"/build || die
+ pushd "${WORKDIR}"/build >/dev/null
+ ECONF_SOURCE=${S} econf_build "${myeconfargs[@]}"
+ myeconfargs+=( --with-protoc="${PWD}"/src/protoc )
+ popd >/dev/null
+ fi
+
+ autotools-multilib_src_configure
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi; then
+ if use python; then
+ einfo "Compiling Python library ..."
+ pushd "${S}"/python >/dev/null
+ PROTOC="${BUILD_DIR}"/src/protoc distutils-r1_src_compile
+ popd >/dev/null
+ fi
+
+ if use java; then
+ einfo "Compiling Java library ..."
+ pushd "${S}" >/dev/null
+ "${BUILD_DIR}"/src/protoc --java_out=java/src/main/java --proto_path=src src/google/protobuf/descriptor.proto
+ mkdir java/build
+ pushd java/src/main/java >/dev/null
+ ejavac -d ../../../build $(find . -name '*.java') || die "java compilation failed"
+ popd >/dev/null
+ jar cf ${PN}.jar -C java/build . || die "jar failed"
+ popd >/dev/null
+ fi
+ fi
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ emake -C "${WORKDIR}"/build/src protoc
+ fi
+
+ autotools-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile "${S}"/editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ autotools-multilib_src_test check
+
+ if use python; then
+ pushd python >/dev/null
+ distutils-r1_src_test
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ dodoc CHANGES.txt CONTRIBUTORS.txt README.md
+
+ if use python; then
+ pushd python >/dev/null
+ distutils-r1_src_install
+ popd >/dev/null
+ fi
+
+ if use java; then
+ java-pkg_dojar ${PN}.jar
+ use source && java-pkg_dosrc java/src/main/java/*
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect/
+ doins "${FILESDIR}"/proto.vim
+ fi
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}"/70${PN}-gentoo.el
+ fi
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/pslib/Manifest b/dev-libs/pslib/Manifest
new file mode 100644
index 000000000000..5332be514bf9
--- /dev/null
+++ b/dev-libs/pslib/Manifest
@@ -0,0 +1,2 @@
+DIST pslib-0.4.1.tar.gz 531797 SHA256 d33768fa50c6f45e3f34e84848a039c36779f3ff4beea873d1815e86f6c46e5a SHA512 012c0b2de1cb151fc41498ca4e6f62ec15138b35afddd0199c6366b818c7b544877eea9575df0e1aee49a67cd52dcac47eae405854e7390abeb64fda221327cf WHIRLPOOL dc878df04ffa1b972ee8881725a9e81dd9d8012fe22dae68d01f12a80767d45b60f59473f4ebe96c3f66fd3a37f550dacaa76866e2a6c84746e4c00d73ea8721
+DIST pslib-0.4.5.tar.gz 493687 SHA256 7a33928982b281660206bb3749a4a563e3ac987eea64f41696f212df345212be SHA512 410abfdca6c52f16c07b7d0157930fbb7a996f03bfb84aee2bc951b2d859bc2186d3ba742b724cd957b9b1c48201364fbeb11c15d7f4ead34f78b0d0746abc6f WHIRLPOOL eaf5360b5ab5e35cf620963c8c8b38b753e640ef2c744351137870d680f55a23bf04b299592fd48d592f8021b35b14acf1d7943dc6a43838289904960f98a88b
diff --git a/dev-libs/pslib/files/pslib-getline.patch b/dev-libs/pslib/files/pslib-getline.patch
new file mode 100644
index 000000000000..cfe7ce4da732
--- /dev/null
+++ b/dev-libs/pslib/files/pslib-getline.patch
@@ -0,0 +1,47 @@
+--- src/ps_afm.c 2007-07-11 20:18:00.000000000 +0200
++++ src/ps_afm.c.fix 2009-07-11 14:51:05.000000000 +0200
+@@ -138,7 +138,7 @@
+ return (int)(acc>=0? floor(acc+0.5) : ceil(acc-0.5) ) ;
+ }
+
+-static int getline(FILE *afmin) {
++static int pslib_getline(FILE *afmin) {
+ char *p ;
+ int c ;
+
+@@ -616,7 +616,7 @@
+ return(-1);
+ }
+
+- while (getline(fp)) {
++ while (pslib_getline(fp)) {
+ switch(interest(paramstring())) {
+ case N:
+ handleprotusion(psdoc, metrics) ;
+@@ -664,7 +664,7 @@
+ /*
+ * Read file line by line.
+ */
+- while (getline(metric->afmin)) {
++ while (pslib_getline(metric->afmin)) {
+ switch(interest(paramstring())) {
+ case FontName:
+ metric->fontname = paramnewstring(psdoc) ;
+@@ -1039,7 +1039,7 @@
+
+ while (1) {
+ while (param == NULL || *param == '\0') {
+- if (getline(metrics->afmin) == 0)
++ if (pslib_getline(metrics->afmin) == 0)
+ ps_error(psdoc, PS_RuntimeError, _("Premature end of encoding file."));
+ for (p=buffer; *p != '\0'; p++)
+ if (*p == '%') {
+@@ -1160,7 +1160,7 @@
+ psdoc->free(psdoc, e);
+ return -1;
+ }
+- while (getline(metrics->afmin)) {
++ while (pslib_getline(metrics->afmin)) {
+ for (p=buffer; *p != '\0'; p++)
+ if (*p == '%') {
+ if (ignoreligkern == 0)
diff --git a/dev-libs/pslib/files/pslib-lm.patch b/dev-libs/pslib/files/pslib-lm.patch
new file mode 100644
index 000000000000..46292eee3d4a
--- /dev/null
+++ b/dev-libs/pslib/files/pslib-lm.patch
@@ -0,0 +1,11 @@
+--- a/configure.in 2007-10-30 02:38:30.000000000 -0500
++++ b/configure.in 2009-01-21 18:55:37.000000000 -0600
+@@ -92,6 +92,8 @@
+ AC_SUBST(LIBHNJ_CFLAGS)
+ AC_SUBST(LIBHNJ_LIBS)
+
++AC_CHECK_LIB([m], [pow])
++
+ PNG_PREFIX=no
+ AC_ARG_WITH(png, [ --with-png=DIR Path to png library (/usr)])
+ case "${withval}" in
diff --git a/dev-libs/pslib/metadata.xml b/dev-libs/pslib/metadata.xml
new file mode 100644
index 000000000000..f8f5d4685cef
--- /dev/null
+++ b/dev-libs/pslib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>printing</herd>
+ <herd>tex</herd>
+ <upstream>
+ <remote-id type="sourceforge">pslib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/pslib/pslib-0.4.1-r2.ebuild b/dev-libs/pslib/pslib-0.4.1-r2.ebuild
new file mode 100644
index 000000000000..5a22cab134f2
--- /dev/null
+++ b/dev-libs/pslib/pslib-0.4.1-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit autotools eutils
+
+DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
+HOMEPAGE="http://pslib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 ~sparc ~x86"
+IUSE="debug jpeg linguas_de png tiff"
+
+RDEPEND="png? ( >=media-libs/libpng-1.2.43-r2:0 )
+ jpeg? ( virtual/jpeg )
+ tiff? ( media-libs/tiff )"
+#gif? requires libungif, not in portage
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ >=dev-libs/glib-2
+ dev-util/intltool
+ dev-perl/XML-Parser"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-lm.patch \
+ "${FILESDIR}"/${PN}-getline.patch
+
+ sed -i \
+ -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:' \
+ src/pslib.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with png) \
+ $(use_with jpeg) \
+ $(use_with tiff) \
+ $(use_with debug)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS README
+ use linguas_de || rm -r "${D}/usr/share/locale/de"
+}
diff --git a/dev-libs/pslib/pslib-0.4.5.ebuild b/dev-libs/pslib/pslib-0.4.5.ebuild
new file mode 100644
index 000000000000..a72b79d74d59
--- /dev/null
+++ b/dev-libs/pslib/pslib-0.4.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
+HOMEPAGE="http://pslib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug jpeg png static-libs tiff"
+
+RDEPEND="
+ png? ( >=media-libs/libpng-1.2.43-r2:0 )
+ jpeg? ( virtual/jpeg )
+ tiff? ( media-libs/tiff )"
+#gif? requires libungif, not in portage
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ >=dev-libs/glib-2
+ dev-util/intltool
+ dev-perl/XML-Parser"
+
+src_prepare() {
+ # hackpatchfix underlinking
+ sed -i -e 's/$(TIFF_LIBS)/$(TIFF_LIBS) -lm/' src/Makefile.am || die
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.in || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-bmp \
+ $(use_enable static-libs static) \
+ $(use_with png) \
+ $(use_with jpeg) \
+ $(use_with tiff) \
+ $(use_with debug)
+}
+
+src_install() {
+ default
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/ptexenc/Manifest b/dev-libs/ptexenc/Manifest
new file mode 100644
index 000000000000..d35c27d7adfb
--- /dev/null
+++ b/dev-libs/ptexenc/Manifest
@@ -0,0 +1,4 @@
+DIST texlive-20120701-source.tar.xz 131904044 SHA256 9666617d5dac3e82578e696835cc9f251ee0a56d162d86dff08659ac5dcb6c81 SHA512 0e8653aa21094e079900d17256f0768ac5514690a3725d96923d5fdc7633484d611441df1af8c674b38b9ce6a8845a9004976cd00635742dfc6837aa433caf5f WHIRLPOOL 9d570a1bd58cca8baed399ab53eb767c7c3db607c00363ce563e14dfccdd235703c538e6a651aa7f2934adf21f8477775f1547f9e7f3d957b89af644c89bcb57
+DIST texlive-20130530-source.tar.xz 179963948 SHA256 a905832e4c04dd1cb16db4bb7baacb78fbc19682bd33ac2697a3a85ce78d79d4 SHA512 4aa85273a675af2453f09777b7cb348c18add77410d72f562c6586f6814d4e7c34b6f3690e3453020654fb0a265339fcabf590d9155367d52846224499af334c WHIRLPOOL 3affaf25d3936505d971599092964b0f0e97d107d22dbac6a85ad547e1d2726a6a09c5075fecb0c6ff8c88bc1bd09d78f95902f76eb76c608f8a7bc42dd6bc33
+DIST texlive-20140525-source.tar.xz 41657688 SHA256 08bb4eb02923ac65ce1183612c6b64da185904f26a1660f5ca4f902d055795be SHA512 09169af15d806abd721e55ffc20ed684c0a7ad60783272d49fabfe9c88857c4abd15b60f30e3f5511ceda1982fdc1d33db8265f97e374bfa5b250dbb5612f8ad WHIRLPOOL fd7fffeeaf319bca5333f6d5d8d9cc6517f76ffe5b2793a73604d844cb7474d83c23826f98d4d11ea5e1a35c0f273e12b2fe6f5945f9880a9577fedad6625014
+DIST texlive-20150521-source.tar.xz 45459552 SHA256 ed9bcd7bdce899c3c27c16a8c5c3017c4f09e1d7fd097038351b72497e9d4669 SHA512 9d06bb88c489715787ce619c4c6b5e2d4251e1db8d48ae7fe2d1a253634c76bc6d7282ef9c93c77847845cae01eafb58dfb37ba3fb83a6d223f0d7fe8f5d3855 WHIRLPOOL e19e4cf9c6122e8a2e80d3ad62171591a2d53317792ce69d7b2afdd6978d397c873565d597b1457d23ba6f5b5de33750955690a92fb6c34d814c075397b67a0b
diff --git a/dev-libs/ptexenc/metadata.xml b/dev-libs/ptexenc/metadata.xml
new file mode 100644
index 000000000000..ba6a8a8800d5
--- /dev/null
+++ b/dev-libs/ptexenc/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>tex</herd>
+</pkgmetadata>
diff --git a/dev-libs/ptexenc/ptexenc-1.3.0_p20120701.ebuild b/dev-libs/ptexenc/ptexenc-1.3.0_p20120701.ebuild
new file mode 100644
index 000000000000..a5fa801871cb
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.0_p20120701.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
+# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
+IUSE="iconv static-libs"
+
+DEPEND="iconv? ( virtual/libiconv )
+ dev-libs/kpathsea"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --with-system-kpathsea \
+ $(use_enable static-libs static) \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ find "${D}" -name '*.la' -delete
+
+ dodoc ChangeLog README || die
+}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.1_p20130530.ebuild b/dev-libs/ptexenc/ptexenc-1.3.1_p20130530.ebuild
new file mode 100644
index 000000000000..60f632dff4ea
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.1_p20130530.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
+# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
+IUSE="iconv static-libs"
+
+DEPEND="iconv? ( virtual/libiconv )
+ dev-libs/kpathsea"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --with-system-kpathsea \
+ $(use_enable static-libs static) \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ find "${D}" -name '*.la' -delete
+
+ dodoc ChangeLog README || die
+}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.2_p20140525-r1.ebuild b/dev-libs/ptexenc/ptexenc-1.3.2_p20140525-r1.ebuild
new file mode 100644
index 000000000000..f0e1daa0b559
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.2_p20140525-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
+# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
+IUSE="iconv static-libs"
+
+DEPEND="iconv? ( virtual/libiconv )
+ dev-libs/kpathsea"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --with-system-kpathsea \
+ $(use_enable static-libs static) \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ find "${D}" -name '*.la' -delete
+
+ insinto /usr/include/ptexenc
+ doins ptexenc/unicode-jp.h
+ use iconv && doins ptexenc/kanjicnv.h
+
+ dodoc ChangeLog README || die
+}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.2_p20140525.ebuild b/dev-libs/ptexenc/ptexenc-1.3.2_p20140525.ebuild
new file mode 100644
index 000000000000..bfdd3a3e3855
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.2_p20140525.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
+# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
+IUSE="iconv static-libs"
+
+DEPEND="iconv? ( virtual/libiconv )
+ dev-libs/kpathsea"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --with-system-kpathsea \
+ $(use_enable static-libs static) \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ find "${D}" -name '*.la' -delete
+
+ dodoc ChangeLog README || die
+}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.3_p20150521.ebuild b/dev-libs/ptexenc/ptexenc-1.3.3_p20150521.ebuild
new file mode 100644
index 000000000000..be1105a649ae
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.3_p20150521.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
+# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
+IUSE="iconv static-libs"
+
+DEPEND="iconv? ( virtual/libiconv )
+ dev-libs/kpathsea"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source"
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --with-system-kpathsea \
+ $(use_enable static-libs static) \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -delete
+
+ insinto /usr/include/ptexenc
+ doins ptexenc/unicode-jp.h
+ use iconv && doins ptexenc/kanjicnv.h
+
+ dodoc ChangeLog README
+}
diff --git a/dev-libs/pth/Manifest b/dev-libs/pth/Manifest
new file mode 100644
index 000000000000..23ec32d2d7d7
--- /dev/null
+++ b/dev-libs/pth/Manifest
@@ -0,0 +1 @@
+DIST pth-2.0.7.tar.gz 652640 SHA256 72353660c5a2caafd601b20e12e75d865fd88f6cf1a088b306a3963f0bc77232 SHA512 f79d74047c50e06f3198356f88647c5c1c8a04ebdd94641fc31d5ab0fd2750d86615fcb81da2f98d7ea73d012a501195d3fa09060571d18dcfdaec5d7a0ecb12 WHIRLPOOL 9b8f60823d40a8e003d3c6555d392974e3b891336a535458c133e7863abb9b6f2e731591f11ba17fed1fe1eec6c8b00ba5352cfd3a8bc2906ad4b55aa6c345f8
diff --git a/dev-libs/pth/files/pth-2.0.5-parallelfix.patch b/dev-libs/pth/files/pth-2.0.5-parallelfix.patch
new file mode 100644
index 000000000000..a305f59333f0
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.5-parallelfix.patch
@@ -0,0 +1,15 @@
+--- Makefile.in.orig 2005-11-08 05:58:55.000000000 +1100
++++ Makefile.in 2005-11-08 06:29:02.000000000 +1100
+@@ -148,10 +148,9 @@
+
+ # be aware of libtool when building the objects
+ .SUFFIXES:
+-.SUFFIXES: .c .o .lo
+-.c.o:
++%.o: %.c $(TARGET_PREQ)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
+-.c.lo:
++%.lo: %.c $(TARGET_PREQ)
+ $(LIBTOOL) --mode=compile --quiet $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
+
+ # the default target
diff --git a/dev-libs/pth/files/pth-2.0.6-ldflags.patch b/dev-libs/pth/files/pth-2.0.6-ldflags.patch
new file mode 100644
index 000000000000..7a4a5ab30000
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.6-ldflags.patch
@@ -0,0 +1,17 @@
+Index: pth-2.0.6/Makefile.in
+===================================================================
+--- pth-2.0.6.orig/Makefile.in
++++ pth-2.0.6/Makefile.in
+@@ -168,10 +168,10 @@ pth_p.h: $(S)pth_p.h.in
+
+ # build the static and possibly shared libraries
+ libpth.la: $(LOBJS)
+- $(LIBTOOL) --mode=link --quiet $(CC) -o libpth.la $(LOBJS) \
++ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpth.la $(LOBJS) \
+ -rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
+ libpthread.la: pthread.lo $(LOBJS)
+- $(LIBTOOL) --mode=link --quiet $(CC) -o libpthread.la pthread.lo $(LOBJS) \
++ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpthread.la pthread.lo $(LOBJS) \
+ -rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
+
+ # build the manual pages
diff --git a/dev-libs/pth/files/pth-2.0.6-sigstack.patch b/dev-libs/pth/files/pth-2.0.6-sigstack.patch
new file mode 100644
index 000000000000..3914dea7ac6c
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.6-sigstack.patch
@@ -0,0 +1,22 @@
+diff -urNp pth-2.0.6.old/aclocal.m4 pth-2.0.6/aclocal.m4
+--- pth-2.0.6.old/aclocal.m4 2004-12-31 21:33:19.000000000 +0200
++++ pth-2.0.6/aclocal.m4 2006-09-20 14:46:59.000000000 +0300
+@@ -1522,6 +1522,7 @@ int main(int argc, char *argv[])
+ int sksize;
+ char result[1024];
+ int i;
++exit (1);
+ sksize = 32768;
+ skbuf = (char *)malloc(sksize*2+2*sizeof(union alltypes));
+ if (skbuf == NULL)
+diff -urNp pth-2.0.6.old/configure pth-2.0.6/configure
+--- pth-2.0.6.old/configure 2005-11-22 09:49:21.000000000 +0200
++++ pth-2.0.6/configure 2006-09-20 14:55:23.000000000 +0300
+@@ -24735,6 +24735,7 @@ int main(int argc, char *argv[])
+ int sksize;
+ char result[1024];
+ int i;
++exit (1);
+ sksize = 32768;
+ skbuf = (char *)malloc(sksize*2+2*sizeof(union alltypes));
+ if (skbuf == NULL)
diff --git a/dev-libs/pth/files/pth-2.0.7-ia64.patch b/dev-libs/pth/files/pth-2.0.7-ia64.patch
new file mode 100644
index 000000000000..8b08b82ca6c1
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.7-ia64.patch
@@ -0,0 +1,30 @@
+# http://bugs.debian.org/225780
+diff -Naurp pth.orig/pth_sched.c pth/pth_sched.c
+--- pth.orig/pth_sched.c 2009-07-16 23:16:52.000000000 +0000
++++ pth/pth_sched.c 2009-07-16 23:20:51.000000000 +0000
+@@ -297,8 +297,15 @@ intern void *pth_scheduler(void *dummy)
+ /*
+ * Check for stack overflow
+ */
++#ifndef __ia64__
+ if (pth_current->stackguard != NULL) {
+ if (*pth_current->stackguard != 0xDEAD) {
++#else
++ /* On ia64 the stack grows down but the bottom part is used for register
++ * backing store which grows up. So we check for a meet in the middle
++ */
++ if (pth_current->mctx.uc.uc_mcontext.sc_gr[12] <= pth_current->mctx.uc.uc_mcontext.sc_ar_bsp) {
++#endif
+ pth_debug3("pth_scheduler: stack overflow detected for thread 0x%lx (\"%s\")",
+ (unsigned long)pth_current, pth_current->name);
+ /*
+@@ -324,7 +331,9 @@ intern void *pth_scheduler(void *dummy)
+ pth_current->state = PTH_STATE_DEAD;
+ kill(getpid(), SIGSEGV);
+ }
++#ifndef __ia64__
+ }
++#endif
+
+ /*
+ * If previous thread is now marked as dead, kick it out
diff --git a/dev-libs/pth/files/pth-2.0.7-kernel-3.patch b/dev-libs/pth/files/pth-2.0.7-kernel-3.patch
new file mode 100644
index 000000000000..c8a1afb369a1
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.7-kernel-3.patch
@@ -0,0 +1,24 @@
+diff -ur pth-2.0.7.orig/aclocal.m4 pth-2.0.7/aclocal.m4
+--- pth-2.0.7.orig/aclocal.m4 2012-08-08 16:25:05.289931224 +0200
++++ pth-2.0.7/aclocal.m4 2012-08-08 16:26:45.164932424 +0200
+@@ -1074,7 +1074,7 @@
+ braindead=no
+ case "x`uname -r`" in
+ changequote(, )dnl
+- x2.[23456789]* ) ;;
++ x2.[23456789]* | x3.[0-9]* ) ;;
+ changequote([, ])
+ * ) braindead=yes ;;
+ esac
+diff -ur pth-2.0.7.orig/configure pth-2.0.7/configure
+--- pth-2.0.7.orig/configure 2012-08-08 16:25:05.289931224 +0200
++++ pth-2.0.7/configure 2012-08-08 16:27:00.391494004 +0200
+@@ -22512,7 +22512,7 @@
+ *-*-linux* )
+ braindead=no
+ case "x`uname -r`" in
+- x2.[23456789]* ) ;;
++ x2.[23456789]* | x3.[0-9]* ) ;;
+
+ * ) braindead=yes ;;
+ esac
diff --git a/dev-libs/pth/files/pth-2.0.7-parallel-install.patch b/dev-libs/pth/files/pth-2.0.7-parallel-install.patch
new file mode 100644
index 000000000000..7952cff5763c
--- /dev/null
+++ b/dev-libs/pth/files/pth-2.0.7-parallel-install.patch
@@ -0,0 +1,12 @@
+--- Makefile.in 2010-12-13 12:59:07.000000000 -0500
++++ Makefile.new 2010-12-13 13:00:22.000000000 -0500
+@@ -215,7 +215,8 @@
+
+ # install the package
+ install: all-for-install
+- @$(MAKE) $(MKFLAGS) install-dirs install-pth @INSTALL_PTHREAD@
++ @$(MAKE) $(MKFLAGS) install-dirs
++ @$(MAKE) $(MKFLAGS) install-pth @INSTALL_PTHREAD@
+ @touch .done-install >/dev/null 2>&1 || $(TRUE)
+ @$(MAKE) $(MKFLAGS) what-next
+ install-dirs:
diff --git a/dev-libs/pth/metadata.xml b/dev-libs/pth/metadata.xml
new file mode 100644
index 000000000000..d68fe974c15a
--- /dev/null
+++ b/dev-libs/pth/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>crypto</herd>
+</pkgmetadata>
diff --git a/dev-libs/pth/pth-2.0.7-r3.ebuild b/dev-libs/pth/pth-2.0.7-r3.ebuild
new file mode 100644
index 000000000000..a53c70e9d194
--- /dev/null
+++ b/dev-libs/pth/pth-2.0.7-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fixheadtails libtool flag-o-matic
+
+DESCRIPTION="GNU Portable Threads"
+HOMEPAGE="http://www.gnu.org/software/pth/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux"
+IUSE="debug static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS="ANNOUNCE AUTHORS ChangeLog NEWS README THANKS USERS"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.0.5-parallelfix.patch
+ epatch "${FILESDIR}"/${PN}-2.0.6-ldflags.patch
+ epatch "${FILESDIR}"/${PN}-2.0.6-sigstack.patch
+ epatch "${FILESDIR}"/${PN}-2.0.7-parallel-install.patch
+ epatch "${FILESDIR}"/${PN}-2.0.7-ia64.patch
+ epatch "${FILESDIR}"/${PN}-2.0.7-kernel-3.patch
+
+ ht_fix_file aclocal.m4 configure
+
+ elibtoolize
+}
+
+src_configure() {
+ # bug 350815
+ ( use arm || use sh ) && append-flags -U_FORTIFY_SOURCE
+
+ local conf
+ use debug && conf="${conf} --enable-debug" # have a bug --disable-debug and shared
+ econf \
+ ${conf} \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-libs/ptypes/Manifest b/dev-libs/ptypes/Manifest
new file mode 100644
index 000000000000..a60d889a3ca2
--- /dev/null
+++ b/dev-libs/ptypes/Manifest
@@ -0,0 +1 @@
+DIST ptypes-2.0.2.tar.gz 225135 SHA256 7562b62143ca446fff73dfe8ab7c480ff731448b566d1c7841a404c79e20f584 SHA512 c4181640b54abe3fe93eb4fdff9553bf3937097df2ef6276b40758a3cd6590969ab819de0aa05d62e30919263f5484bb8cf19373cacd5b7aa50280880efb6cd4 WHIRLPOOL 32d78bebea8dd6b9b13b403851932aaa2025bd6d76a83a1b3f64aeb19455a8f6a7c92963cc0eef44df17b3a5b2abcc7f41857af172cd287834e4779ea2d1b223
diff --git a/dev-libs/ptypes/files/2.0.2-gcc41.patch b/dev-libs/ptypes/files/2.0.2-gcc41.patch
new file mode 100644
index 000000000000..e36d4a3f3153
--- /dev/null
+++ b/dev-libs/ptypes/files/2.0.2-gcc41.patch
@@ -0,0 +1,48 @@
+diff -Naur ptypes-2.0.2-orig/include/pstreams.h ptypes-2.0.2/include/pstreams.h
+--- ptypes-2.0.2-orig/include/pstreams.h 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/include/pstreams.h 2006-06-09 09:42:30.000000000 -0400
+@@ -266,6 +266,9 @@
+ // internal class used in fdxstm
+ //
+
++class ptpublic fdxstm;
++class unit_thread;
++
+ class ptpublic fdxoutstm: public outstm
+ {
+ friend class fdxstm;
+diff -Naur ptypes-2.0.2-orig/include/ptypes.h ptypes-2.0.2/include/ptypes.h
+--- ptypes-2.0.2-orig/include/ptypes.h 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/include/ptypes.h 2006-06-09 09:42:30.000000000 -0400
+@@ -46,6 +46,10 @@
+ # define VARIANT_TYPECAST_HACK
+ #endif
+
++#if (__GNUC__ == 4)
++# define VARIANT_TYPECAST_HACK
++#endif
++
+
+ // -------------------------------------------------------------------- //
+ // --- string class --------------------------------------------------- //
+@@ -71,6 +75,8 @@
+
+ ptpublic extern char* emptystr;
+
++class ptpublic variant;
++class ptpublic _varray;
+
+ class ptpublic string
+ {
+diff -Naur ptypes-2.0.2-orig/src/pvariant.cxx ptypes-2.0.2/src/pvariant.cxx
+--- ptypes-2.0.2-orig/src/pvariant.cxx 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/src/pvariant.cxx 2006-06-09 09:42:55.000000000 -0400
+@@ -38,7 +38,7 @@
+ protected:
+ int refcount;
+
+- virtual int _varray::compare(const void* key, const void* item) const;
++ virtual int compare(const void* key, const void* item) const;
+
+ friend class variant;
+
diff --git a/dev-libs/ptypes/metadata.xml b/dev-libs/ptypes/metadata.xml
new file mode 100644
index 000000000000..8f74a5e3c99e
--- /dev/null
+++ b/dev-libs/ptypes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">ptypes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild b/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..9829cca9b13a
--- /dev/null
+++ b/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="PTypes (C++ Portable Types Library), alternative to the STL including multithreading and networking"
+HOMEPAGE="http://www.melikyan.com/ptypes/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PV}-gcc41.patch"
+ sed -i \
+ -e 's/-O2/$(CXXFLAGS)/' \
+ src/Makefile.common wshare/Makefile.common \
+ || die "sed failed"
+}
+
+src_compile() {
+ if ! use debug ; then
+ sed -i \
+ -e 's/^\(DDEBUG\).*/\1=/' \
+ src/Makefile.common wshare/Makefile.common \
+ || die "sed failed"
+ fi
+ emake CXX=$(tc-getCXX) CXXFLAGS="${CXXFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ dolib lib/* || die "Installing libraries"
+ insinto /usr/include
+ doins include/* || die "Installing headers"
+ dohtml -r doc/* || die "Installing documentation"
+}
diff --git a/dev-libs/pugixml/Manifest b/dev-libs/pugixml/Manifest
new file mode 100644
index 000000000000..3e0bb498fab5
--- /dev/null
+++ b/dev-libs/pugixml/Manifest
@@ -0,0 +1,2 @@
+DIST pugixml-1.5.tar.gz 374783 SHA256 d70b98002968d9431e4166e6a76486a6d346eb9a76d1a0e7be58e786d3dee670 SHA512 9d9098fa7a28d64d970f9afaffa088b94dbd9845a985fe78bc537870b7bdc170980b429b34d3044779d0674972dbe1ef54d26d17e6294f985a72889409359f54 WHIRLPOOL 0ba3a11a246d8dca60366874a68078691a4840ae37a1a0432ba8f8a95e77e4a65e1da42b48e8a44781a15ffb855f78bfafe91167886b3ebea202b028b4ce720f
+DIST pugixml-1.6.tar.gz 346616 SHA256 473705c496d45ee6a74f73622b175dfb5dde0de372c4dc61a5acb964516cd9de SHA512 9f5be170902af9a9ba4911d34e584ee83ccdea1c9ce6092e67c9180ce42ae313739aa091bb0e370f813753aafad653264ea0b3d8623d207429fa779f5576c70f WHIRLPOOL 0b3196320739f939de538bc0f13dfc7ddae7aff502c55b3933c74e35fb4c7c18a63ca99441a77c0c676bead2885cdf04f373b9fe04f5281e1769c89a764206f5
diff --git a/dev-libs/pugixml/metadata.xml b/dev-libs/pugixml/metadata.xml
new file mode 100644
index 000000000000..ec127a995bb0
--- /dev/null
+++ b/dev-libs/pugixml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <upstream>
+ <remote-id type="github">zeux/pugixml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/pugixml/pugixml-1.5.ebuild b/dev-libs/pugixml/pugixml-1.5.ebuild
new file mode 100644
index 000000000000..d670731df255
--- /dev/null
+++ b/dev-libs/pugixml/pugixml-1.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
+HOMEPAGE="http://pugixml.org/ https://github.com/zeux/pugixml/"
+SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+S=${WORKDIR}/${P}/scripts
+
+src_configure() {
+ local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/pugixml/pugixml-1.6.ebuild b/dev-libs/pugixml/pugixml-1.6.ebuild
new file mode 100644
index 000000000000..2b07f83f4314
--- /dev/null
+++ b/dev-libs/pugixml/pugixml-1.6.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
+HOMEPAGE="http://pugixml.org/ https://github.com/zeux/pugixml/"
+SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+S=${WORKDIR}/${P}/scripts
+
+src_configure() {
+ local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/qcodeedit/Manifest b/dev-libs/qcodeedit/Manifest
new file mode 100644
index 000000000000..615aee280d25
--- /dev/null
+++ b/dev-libs/qcodeedit/Manifest
@@ -0,0 +1 @@
+DIST qcodeedit-2.2.3.zip 381305 SHA256 39a8109efb3d9814d9827f08b524fc8e7d475af3a2466ccf6e08b2236c1dc46e SHA512 39618bf130127d2824a38de77448d02a1d07cc2d4861d3381a7c2c6107fc2816b0e030c6b6725e8f4782a0967c67a07767e9eb625aee6fce5dfbca10d850ebaa WHIRLPOOL 988f45e14ff3161c11336e150e419ef7bb0b3b5914c1f545ac41245a26c6c0075b26ef136b245bf530d4919dd9bb72cd069b69c48981aa44eaae354bf8b20bf3
diff --git a/dev-libs/qcodeedit/metadata.xml b/dev-libs/qcodeedit/metadata.xml
new file mode 100644
index 000000000000..462299addaf8
--- /dev/null
+++ b/dev-libs/qcodeedit/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">edyuk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qcodeedit/qcodeedit-2.2.3.ebuild b/dev-libs/qcodeedit/qcodeedit-2.2.3.ebuild
new file mode 100644
index 000000000000..f32dd65841e5
--- /dev/null
+++ b/dev-libs/qcodeedit/qcodeedit-2.2.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2
+
+DESCRIPTION="Qt-Framework for code editing"
+HOMEPAGE="http://edyuk.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/edyuk/${PN}/${PV}/${P}.zip"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtgui:4
+ dev-qt/qtcore:4
+ dev-qt/qtxmlpatterns:4
+"
+DEPEND="${RDEPEND}
+"
+
+MAKEOPTS+=" -j1"
+
+src_install() {
+ qt4-r2_src_install
+ dolib.so libqcodeedit.so*
+}
diff --git a/dev-libs/qcustomplot/Manifest b/dev-libs/qcustomplot/Manifest
new file mode 100644
index 000000000000..c1011ddbab08
--- /dev/null
+++ b/dev-libs/qcustomplot/Manifest
@@ -0,0 +1,6 @@
+DIST qcustomplot-sharedlib-1.2.1.tar.gz 1920 SHA256 16b3f59182d3703152589d71da580fbded0a67f88ab7df81b86095422d27685b SHA512 51df754a6657621a5e5b2e3dcc295890ac76ab4839089f25c65eb84758e7ac5c9821dd47acbaaa8da7a69b609abb1b6a829939eee616111994278856d371be78 WHIRLPOOL 02a3476811f89dbd21003d1da063615a9776d67436c5f525f5a773b21274a6aa091ba44130e7989f842bd85aad7633efa8a361cadadea2f3343b57a120f62cc4
+DIST qcustomplot-sharedlib-1.3.0.tar.gz 1927 SHA256 68f4574b53f0cbdaafdee06ad0048b60e4905d5031033f1721886cf763e1f774 SHA512 6ab098a676dc3ed4caba2b0784b79ebca70de52296dc1ca0caca7c00b2abc46d92ff1903785a9185eedd78044f9b9d730d798dc91cff5cc76b463796a74e3e9e WHIRLPOOL 0e919fb38e799217d3eb2f62915a6a9077ad621eb248cbd722cfd659e929471bff09c015df1be46c1d6a8f23b77c7bc437ec7ae430980dbfe0b07292909c99b0
+DIST qcustomplot-sharedlib-1.3.1.tar.gz 1926 SHA256 214b4dc82c612822b46976159864cc34732ebf0ce717bbe6d930760374344495 SHA512 1debdffed022dd3cd419d0a928176b6b0b1365739feaf8ca69458a9c6e16aa64c95d9b68eed2cde0699d7ab82e5dd66bcff8bbdb2f26e4a14e3186b3350342e6 WHIRLPOOL a51fd6ec8e46619a61b778656475ee2b3ff194d2b15c160246b1689f1b945160beece5a8762bf3fb1c8e9bc7f0cd570472379b0a679138d80609d6c3b38b481b
+DIST qcustomplot-source-1.2.1.tar.gz 208367 SHA256 9ac31c797ce9116c0b062249028c25a8b04a0cb4ae5cd5dcca52c2000a64bcd2 SHA512 f4613b4e85b98616974588edfe35c262eaa7975486a252b18f73c28aa3ed5e867955ddd6243f082b4fa080a93890d7d20b64e8f12e03bf6fdcb8417554438523 WHIRLPOOL 0c1dd80e0220ee9f80deff0b8baf373da587622084b834b6b3a9194d7286aae5a29bc352bf8d7bddcc8f27df6ebf7044709973d2179c1b4bed402cea9b94cdb2
+DIST qcustomplot-source-1.3.0.tar.gz 222695 SHA256 1b4c9d5ad4581fc33465e4e5a3ec63938fdaad78944e6118d1aa25dd0235afd6 SHA512 6991c05d38677f24697516fd41c6a6e85d6becd1de8e1e413577170246945fc318519d74407c6a995d72e2c6c05114469e6fbbdea2b17b1060f6d2fc35fb3d7f WHIRLPOOL 32e98f2b2d6e5d80017711d92a9587dce29880c9e707cfe291ee71a8b04a06680ca96aa52be0092875bc98cefe02f052eb98a6c1990b976b9ae3e68b26e61ec7
+DIST qcustomplot-source-1.3.1.tar.gz 224892 SHA256 b557728956945931ff75d21c0894c52a6341850ad246811affdda8b10bbc8486 SHA512 ce5d74d7ae1fb8f4547368c712e3e6f5192cf64df9ece4b055910f0ab4c4244446b3869f078214e38bb5337e755647e07f9a111f96553172b7960ae434d7800b WHIRLPOOL c1d3a817bf389d2e64df489961f072d5b0317c321a3a5d77f5176e8200ea01dc721953a396cd63e87a8ae1ece79406b3b6e6453af0c9550272850eb4f6ac33c4
diff --git a/dev-libs/qcustomplot/metadata.xml b/dev-libs/qcustomplot/metadata.xml
new file mode 100644
index 000000000000..81a24972d134
--- /dev/null
+++ b/dev-libs/qcustomplot/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/qcustomplot/qcustomplot-1.2.1.ebuild b/dev-libs/qcustomplot/qcustomplot-1.2.1.ebuild
new file mode 100644
index 000000000000..7c88dcff13cf
--- /dev/null
+++ b/dev-libs/qcustomplot/qcustomplot-1.2.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2
+
+DESCRIPTION="Qt C++ widget for plotting and data visualization"
+HOMEPAGE="http://www.qcustomplot.com/"
+SRC_URI="
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-sharedlib.tar.gz -> ${PN}-sharedlib-${PV}.tar.gz
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-source.tar.gz -> ${PN}-source-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-source
+
+src_prepare() {
+ sed \
+ -e 's:../../::g' \
+ -e '/CONFIG/s:shared.*:shared:g' \
+ "${WORKDIR}"/${PN}-sharedlib/sharedlib-compilation/sharedlib-compilation.pro > ${PN}.pro || die
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dolib.so lib${PN}*
+ doheader ${PN}.h
+ dodoc changelog.txt
+}
diff --git a/dev-libs/qcustomplot/qcustomplot-1.3.0.ebuild b/dev-libs/qcustomplot/qcustomplot-1.3.0.ebuild
new file mode 100644
index 000000000000..028c9bf3a59b
--- /dev/null
+++ b/dev-libs/qcustomplot/qcustomplot-1.3.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qmake-utils
+
+DESCRIPTION="Qt C++ widget for plotting and data visualization"
+HOMEPAGE="http://www.qcustomplot.com/"
+SRC_URI="
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-sharedlib.tar.gz -> ${PN}-sharedlib-${PV}.tar.gz
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-source.tar.gz -> ${PN}-source-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="qt4 qt5"
+
+REQUIRED_USE="^^ ( qt4 qt5 )"
+
+RDEPEND="
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ "
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-source
+
+src_prepare() {
+ sed \
+ -e 's:../../::g' \
+ -e '/CONFIG/s:shared.*:shared:g' \
+ "${WORKDIR}"/${PN}-sharedlib/sharedlib-compilation/sharedlib-compilation.pro > ${PN}.pro || die
+}
+
+src_configure() {
+ use qt4 && eqmake4
+ use qt5 && eqmake5
+}
+
+src_install() {
+ dolib.so lib${PN}*
+ doheader ${PN}.h
+ dodoc changelog.txt
+}
diff --git a/dev-libs/qcustomplot/qcustomplot-1.3.1.ebuild b/dev-libs/qcustomplot/qcustomplot-1.3.1.ebuild
new file mode 100644
index 000000000000..3f36f22fc871
--- /dev/null
+++ b/dev-libs/qcustomplot/qcustomplot-1.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qmake-utils
+
+DESCRIPTION="Qt C++ widget for plotting and data visualization"
+HOMEPAGE="http://www.qcustomplot.com/"
+SRC_URI="
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-sharedlib.tar.gz -> ${PN}-sharedlib-${PV}.tar.gz
+ http://www.qcustomplot.com/release/${PV}/QCustomPlot-source.tar.gz -> ${PN}-source-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="qt5"
+
+RDEPEND="
+ !qt5? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}-source
+
+src_prepare() {
+ sed \
+ -e 's:../../::g' \
+ -e '/CONFIG/s:shared.*:shared:g' \
+ "${WORKDIR}"/${PN}-sharedlib/sharedlib-compilation/sharedlib-compilation.pro > ${PN}.pro || die
+}
+
+src_configure() {
+ use qt5 && eqmake5 || eqmake4
+}
+
+src_install() {
+ dolib.so lib${PN}*
+ doheader ${PN}.h
+ dodoc changelog.txt
+}
diff --git a/dev-libs/qjson/Manifest b/dev-libs/qjson/Manifest
new file mode 100644
index 000000000000..50d6cb872695
--- /dev/null
+++ b/dev-libs/qjson/Manifest
@@ -0,0 +1 @@
+DIST qjson-0.8.1.tar.bz2 64398 SHA256 cd4db5b956247c4991a9c3e95512da257cd2a6bd011357e363d02300afc814d9 SHA512 03e65bbdf6d397f77319867a03377deb419eac46ad91bc06abb7bc68d8f8f2e490db87d909ce51e065f22e5d201f1f73d57f72e14bc378580dbf40b855f1bc72 WHIRLPOOL 532245b3eaaed901bbf44c1d005b002b010b2b7568142fe1435521e4ed24cb52f76accea9f2a324ed19183c62c2f8bfb0c0a257bf808795fc25faa132766ac32
diff --git a/dev-libs/qjson/metadata.xml b/dev-libs/qjson/metadata.xml
new file mode 100644
index 000000000000..46f078ccb4a3
--- /dev/null
+++ b/dev-libs/qjson/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <upstream>
+ <remote-id type="github">flavio/qjson</remote-id>
+ <bugs-to>https://github.com/flavio/qjson/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qjson/qjson-0.8.1-r1.ebuild b/dev-libs/qjson/qjson-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..71fde4570399
--- /dev/null
+++ b/dev-libs/qjson/qjson-0.8.1-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib multilib
+
+DESCRIPTION="A library for mapping JSON data to QVariant objects"
+HOMEPAGE="http://qjson.sourceforge.net"
+SRC_URI="mirror://github/flavio/qjson/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc test"
+
+RDEPEND=">=dev-qt/qtcore-4.8.6:4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( >=dev-qt/qttest-4.8.6:4[${MULTILIB_USEDEP}] )"
+
+DOCS=( ChangeLog README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use test QJSON_BUILD_TESTS)
+ -DQT_QMAKE_EXECUTABLE=/usr/$(get_libdir)/qt4/bin/qmake
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+ use doc && if is_final_abi; then
+ cd "${S}"/doc || die "Failed to move inside doc directory"
+ doxygen Doxyfile || die "Generating documentation failed"
+ fi
+}
+
+multilib_src_install_all() {
+ if use doc; then
+ HTML_DOCS=( doc/html/ )
+ einstalldocs
+ fi
+}
diff --git a/dev-libs/qjson/qjson-0.8.1.ebuild b/dev-libs/qjson/qjson-0.8.1.ebuild
new file mode 100644
index 000000000000..1591cc112e2c
--- /dev/null
+++ b/dev-libs/qjson/qjson-0.8.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="A library for mapping JSON data to QVariant objects"
+HOMEPAGE="http://qjson.sourceforge.net"
+SRC_URI="mirror://github/flavio/qjson/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc test"
+
+RDEPEND="dev-qt/qtcore:4"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-qt/qttest:4 )"
+
+DOCS=( ChangeLog README.md )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use test QJSON_BUILD_TESTS)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ if use doc; then
+ cd doc
+ doxygen Doxyfile || die "Generating documentation failed"
+ HTML_DOCS=( doc/html/ )
+ fi
+
+ cmake-utils_src_install
+}
diff --git a/dev-libs/qoauth/Manifest b/dev-libs/qoauth/Manifest
new file mode 100644
index 000000000000..bdad95ef7b08
--- /dev/null
+++ b/dev-libs/qoauth/Manifest
@@ -0,0 +1 @@
+DIST qoauth-1.0.1-src.tar.bz2 42298 SHA256 b8579a77cecb07928e557c4a019db902a0f040b22f7926f147299e87ac5a54fd SHA512 86869c82e6efd490888f3bb16cba5bb014821e35507d3d396a84f5112a2d0bd7cb1251ba5dff82a8913eeae77a0feeebfdf4a7d1e9870023fb3c106d603c3dd8 WHIRLPOOL e990ad4fbaa7ce3c45eec6f3a49d9404139432e5941882cc73d85520868bdc592604c8b7058866648d27b2001b310848edd239f8c3f9fc4f0bc66c79fee7f8bd
diff --git a/dev-libs/qoauth/files/qoauth-1.0.1-disable-ft.patch b/dev-libs/qoauth/files/qoauth-1.0.1-disable-ft.patch
new file mode 100644
index 000000000000..1fd6fd0fc8c9
--- /dev/null
+++ b/dev-libs/qoauth/files/qoauth-1.0.1-disable-ft.patch
@@ -0,0 +1,20 @@
+diff --git a/qoauth.pro b/qoauth.pro
+index f09b3be..27d7bb3 100644
+--- a/qoauth.pro
++++ b/qoauth.pro
+@@ -5,6 +5,6 @@ SUBDIRS += src tests
+ CONFIG += ordered
+
+ check.target = check
+-check.commands = ( cd tests/ut_interface && ./ut_interface ) && ( cd tests/ft_interface && ./ft_interface )
++check.commands = ( cd tests/ut_interface && ./ut_interface )
+ check.depends = sub-tests
+ QMAKE_EXTRA_TARGETS += check
+diff --git a/tests/tests.pro b/tests/tests.pro
+index d582750..e010bb0 100644
+--- a/tests/tests.pro
++++ b/tests/tests.pro
+@@ -1,2 +1,2 @@
+ TEMPLATE = subdirs
+-SUBDIRS += ut_interface ft_interface
++SUBDIRS += ut_interface
diff --git a/dev-libs/qoauth/metadata.xml b/dev-libs/qoauth/metadata.xml
new file mode 100644
index 000000000000..dc439f7e84f5
--- /dev/null
+++ b/dev-libs/qoauth/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>qt</herd>
+</pkgmetadata>
diff --git a/dev-libs/qoauth/qoauth-1.0.1.ebuild b/dev-libs/qoauth/qoauth-1.0.1.ebuild
new file mode 100644
index 000000000000..a2fc0305f23e
--- /dev/null
+++ b/dev-libs/qoauth/qoauth-1.0.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit qt4-r2
+
+DESCRIPTION="A Qt-based library for OAuth support"
+HOMEPAGE="http://wiki.github.com/ayoy/qoauth"
+SRC_URI="http://files.ayoy.net/qoauth/release/${PV}/src/${P}-src.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="debug doc static-libs test"
+
+COMMON_DEPEND="app-crypt/qca:2[debug?,qt4(+)]"
+DEPEND="${COMMON_DEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-qt/qttest:4 )
+"
+RDEPEND="${COMMON_DEPEND}
+ app-crypt/qca:2[openssl]
+"
+
+S=${WORKDIR}/${P}-src
+
+DOCS="README CHANGELOG"
+PATCHES=(
+ # disable functional tests that require network connection
+ # and rely on 3rd party external server (bug #341267)
+ "${FILESDIR}/${P}-disable-ft.patch"
+)
+
+src_prepare() {
+ qt4-r2_src_prepare
+
+ if ! use test; then
+ sed -i -e '/SUBDIRS/s/tests//' ${PN}.pro || die "sed failed"
+ fi
+
+ sed -i -e '/^ *docs \\$/d' \
+ -e '/^ *build_all \\$/d' \
+ -e 's/^\#\(!macx\)/\1/' \
+ src/src.pro || die "sed failed"
+
+ sed -i -e "s/\(.*\)lib$/\1$(get_libdir)/" src/pcfile.sh || die "sed failed"
+}
+
+src_compile() {
+ default
+ if use static-libs; then
+ emake -C src static
+ fi
+}
+
+src_install() {
+ qt4-r2_src_install
+
+ if use static-libs; then
+ dolib.a "${S}"/lib/lib${PN}.a
+ fi
+
+ if use doc; then
+ doxygen "${S}"/Doxyfile || die "failed to generate documentation"
+ dohtml "${S}"/doc/html/*
+ fi
+}
diff --git a/dev-libs/qof/Manifest b/dev-libs/qof/Manifest
new file mode 100644
index 000000000000..bd3afe776d2a
--- /dev/null
+++ b/dev-libs/qof/Manifest
@@ -0,0 +1 @@
+DIST qof_0.8.8.orig.tar.gz 962548 SHA256 2cecb942bb42fc77c42417cf9118512c73911c16ccea6e72ab28b8bdf60a4e2e SHA512 f62597180f614067d72b5c6dcf4175aa9241e33d2437d6f18215a8c7389c67dd25ccd48dcdfd4c31794e0273e979e72aa0d4e66bb6d832c6f2da644889f848c4 WHIRLPOOL 337bb87354f6c2618f388e5247756d884eedd8c61f9fca0336ae090ba97713c5ca30715cfbc54a01e5b7b04bdc9850a873fb6a48183ac0a046b30e907a5878ba
diff --git a/dev-libs/qof/files/qof-0.8.0-remove_spurious_CFLAGS.patch b/dev-libs/qof/files/qof-0.8.0-remove_spurious_CFLAGS.patch
new file mode 100644
index 000000000000..56c217592e2f
--- /dev/null
+++ b/dev-libs/qof/files/qof-0.8.0-remove_spurious_CFLAGS.patch
@@ -0,0 +1,57 @@
+--- configure.orig 2009-06-09 19:15:07.000384982 +0200
++++ configure 2009-06-09 19:17:31.320384334 +0200
+@@ -22653,18 +22653,18 @@
+ $as_echo_n "checking what extra warning flags to pass to the C compiler... " >&6; }
+ if test ${GCC}x = yesx; then
+ warnFLAGS=
+- CFLAGS="${CFLAGS} -g2 -Wall"
++ CFLAGS="${CFLAGS}"
+ # Check whether --enable-error-on-warning was given.
+ if test "${enable_error_on_warning+set}" = set; then
+ enableval=$enable_error_on_warning; case "${enableval}" in
+- yes) warnFLAGS="${warnFLAGS} -Werror" ;;
++ yes) warnFLAGS="${warnFLAGS}" ;;
+ no) ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-error-on-warning" >&5
+ $as_echo "$as_me: error: bad value ${enableval} for --enable-error-on-warning" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ else
+- warnFLAGS="${warnFLAGS} -Werror"
++ warnFLAGS="${warnFLAGS}"
+ fi
+
+ GCC_VERSION=`${CC} -dumpversion`
+@@ -22672,10 +22672,10 @@
+ # This is gcc >= 3.x.x
+ if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then
+ # This is gcc >= 3.4.x
+- warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement"
++ warnFLAGS="${warnFLAGS}"
+ else if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 4; then
+ # This is gcc == 4.x.x
+- warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign"
++ warnFLAGS="${warnFLAGS}"
+ fi
+ fi
+ fi
+@@ -22693,19 +22693,6 @@
+ enableval=$enable_compile_warnings; set_compile_warnings=yes
+ fi
+
+-
+-if test "$GCC" = "yes" -a "$set_compile_warnings" != "no"; then
+- warnFLAGS="$warnFLAGS -Wcast-align -Wsign-compare \
+- -Wmissing-prototypes -Wmissing-declarations -Werror -Wmissing-include-dirs \
+- -Wstrict-prototypes -Winline -Wnested-externs -Wpointer-arith \
+- -Wmissing-field-initializers"
+-# LDFLAGS="$LDFLAGS -Wl,-z,defs"
+-fi
+-
+-
+-
+-
+-
+ DATADIR=`eval echo $datadir`
+ QSF_SCHEMA_DIR=`eval echo $DATADIR`"/xml/qof/qsf"
+
diff --git a/dev-libs/qof/files/qof-0.8.8-cflags.patch b/dev-libs/qof/files/qof-0.8.8-cflags.patch
new file mode 100644
index 000000000000..27d2172c7616
--- /dev/null
+++ b/dev-libs/qof/files/qof-0.8.8-cflags.patch
@@ -0,0 +1,36 @@
+From 1c56fc78f2a04625ae8c3aebd55236556ce28a90 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 2 Nov 2014 12:04:24 +0100
+Subject: [PATCH 1/2] Remove some CFLAGS
+
+* Debugging level is only useful for debugging.
+* Werror is taken care of in error-on-warning configure switch.
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b38da9b..d80e7e5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -393,7 +393,7 @@ dnl # *************************************
+ AC_MSG_CHECKING(what extra warning flags to pass to the C compiler)
+ if test ${GCC}x = yesx; then
+ warnFLAGS=
+- CFLAGS="${CFLAGS} -g2 -Wall"
++ CFLAGS="${CFLAGS} -Wall"
+ AC_ARG_ENABLE(error-on-warning,
+ [ --disable-error-on-warning
+ disable treating compile warnings as errors],
+@@ -431,7 +431,7 @@ AC_ARG_ENABLE(compile-warnings,
+
+ if test "$GCC" = "yes" -a "$set_compile_warnings" != "no"; then
+ warnFLAGS="$warnFLAGS -Wcast-align -Wsign-compare \
+- -Wmissing-prototypes -Wmissing-declarations -Werror -Wmissing-include-dirs \
++ -Wmissing-prototypes -Wmissing-declarations -Wmissing-include-dirs \
+ -Wstrict-prototypes -Winline -Wnested-externs -Wpointer-arith \
+ -Wmissing-field-initializers"
+ # LDFLAGS="$LDFLAGS -Wl,-z,defs"
+--
+2.1.2
+
diff --git a/dev-libs/qof/files/qof-0.8.8-unistd-define.patch b/dev-libs/qof/files/qof-0.8.8-unistd-define.patch
new file mode 100644
index 000000000000..c76afadb6584
--- /dev/null
+++ b/dev-libs/qof/files/qof-0.8.8-unistd-define.patch
@@ -0,0 +1,58 @@
+From f2504eacb6d5e42b28df77041ff659fded3fd1a4 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 2 Nov 2014 12:43:31 +0100
+Subject: [PATCH 3/5] Leave yacc defines to configure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Resulted in:
+* QA Notice: Package triggers severe warnings which indicate that it
+* may exhibit random runtime failures.
+* lexer.c:1942:9: warning: implicit declaration of function ‘isatty’
+* [-Wimplicit-function-declaration]
+---
+ configure.ac | 2 ++
+ lib/libsql/lexer.l | 2 ++
+ lib/libsql/sql_parser.h | 1 -
+ 3 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index d80e7e5..30ea37a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -52,6 +52,8 @@ AC_PROG_MAKE_SET
+ AC_FUNC_MKTIME
+ AC_FUNC_STRTOD
+
++AC_CHECK_HEADERS_ONCE([unistd.h])
++
+ dnl # *****************************************
+ dnl # pkg-config check time
+ dnl # *****************************************
+diff --git a/lib/libsql/lexer.l b/lib/libsql/lexer.l
+index fa8c5d1..44d65e8 100644
+--- a/lib/libsql/lexer.l
++++ b/lib/libsql/lexer.l
+@@ -1,4 +1,6 @@
+ %{
++#include <config.h>
++
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/lib/libsql/sql_parser.h b/lib/libsql/sql_parser.h
+index 2157e5c..0eba93f 100644
+--- a/lib/libsql/sql_parser.h
++++ b/lib/libsql/sql_parser.h
+@@ -2,7 +2,6 @@
+ #define SQL_PARSER_H
+
+ #include <glib.h>
+-#define YY_NO_UNISTD_H
+
+
+ typedef struct sql_statement sql_statement;
+--
+2.1.2
+
diff --git a/dev-libs/qof/files/qof-0.8.8-unittest.patch b/dev-libs/qof/files/qof-0.8.8-unittest.patch
new file mode 100644
index 000000000000..070c37ead255
--- /dev/null
+++ b/dev-libs/qof/files/qof-0.8.8-unittest.patch
@@ -0,0 +1,44 @@
+From 21315eb014eb908ce3472fa75917412e21fcea29 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 2 Nov 2014 12:06:39 +0100
+Subject: [PATCH 2/2] Make unittest build on demand
+
+Unittests need not be built when not run.
+Also, solves a dependency problem where libqofsql would not be built
+before sql_backend_test is linked.
+
+https://bugs.gentoo.org/show_bug.cgi?id=197999
+---
+ lib/libsql/Makefile.am | 2 +-
+ qof/test/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/libsql/Makefile.am b/lib/libsql/Makefile.am
+index b410689..c9534fb 100644
+--- a/lib/libsql/Makefile.am
++++ b/lib/libsql/Makefile.am
+@@ -21,7 +21,7 @@ libqofsql_la_LIBADD = ${GLIB_LIBS}
+ qofsqlincludedir = ${pkgincludedir}
+ qofsqlinclude_HEADERS = sql_parser.h
+
+-noinst_PROGRAMS = sql_parse_test
++check_PROGRAMS = sql_parse_test
+
+ EXTRA_DIST = \
+ README \
+diff --git a/qof/test/Makefile.am b/qof/test/Makefile.am
+index da7f28f..0760f45 100644
+--- a/qof/test/Makefile.am
++++ b/qof/test/Makefile.am
+@@ -65,7 +65,7 @@ test_sql_SOURCES = \
+ test-stuff.c \
+ test-sql.c
+
+-noinst_PROGRAMS = \
++check_PROGRAMS = \
+ test-book-merge \
+ test-date \
+ test-guid \
+--
+2.1.2
+
diff --git a/dev-libs/qof/files/qof-0.8.8-yacc-build.patch b/dev-libs/qof/files/qof-0.8.8-yacc-build.patch
new file mode 100644
index 000000000000..cb4f9a9c0d07
--- /dev/null
+++ b/dev-libs/qof/files/qof-0.8.8-yacc-build.patch
@@ -0,0 +1,69 @@
+From 118b7287f776b789a7c122f7c7e8a1cc1084e15e Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 2 Nov 2014 13:01:36 +0100
+Subject: [PATCH 4/5] Fix use of lex/yacc
+
+http://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
+---
+ configure.ac | 1 +
+ lib/libsql/Makefile.am | 17 +++++++----------
+ 2 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 30ea37a..23865ea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -45,6 +45,7 @@ AC_PROG_CXX
+ AC_PROG_CC
+ AC_PROG_CPP
+ AC_HEADER_STDC
++AM_PROG_LEX
+ AC_PROG_YACC
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+diff --git a/lib/libsql/Makefile.am b/lib/libsql/Makefile.am
+index c9534fb..78f26cc 100644
+--- a/lib/libsql/Makefile.am
++++ b/lib/libsql/Makefile.am
+@@ -5,9 +5,8 @@ lib_LTLIBRARIES = libqofsql.la
+ libqofsql_la_LDFLAGS= -version-info $(LIBQOFSQL_LIBRARY_VERSION)
+
+ libqofsql_la_SOURCES = \
+- parser.c \
+- parser.h \
+- lexer.c \
++ parser.y \
++ lexer.l \
+ sql_parser.c \
+ sql_parser.h \
+ mem.c \
+@@ -24,9 +23,7 @@ qofsqlinclude_HEADERS = sql_parser.h
+ check_PROGRAMS = sql_parse_test
+
+ EXTRA_DIST = \
+- README \
+- lexer.l \
+- parser.y
++ README
+
+ AM_CFLAGS = -g \
+ ${CFLAGS} \
+@@ -35,11 +32,11 @@ AM_CFLAGS = -g \
+ #INCLUDES = \
+ # -I$(includedir)
+
+-parser.c: parser.y
+- $(YACC) -v -d -o parser.c -p sql parser.y
++AM_YFLAGS = -v -d -p sql
++AM_LFLAGS = -Psql -o$@
+
+-lexer.c: lexer.l parser.c
+- $(LEX) -olexer.c -Psql lexer.l
++BUILT_SOURCES = parser.h
++CLEANFILES = $(BUILT_SOURCES)
+
+ sql_parse_test_SOURCES=sql_parse_test.c
+ # sql_parse_test_LDFLAGS = $(LIBGDA_LIBS)
+--
+2.1.2
+
diff --git a/dev-libs/qof/metadata.xml b/dev-libs/qof/metadata.xml
new file mode 100644
index 000000000000..669f23da60ac
--- /dev/null
+++ b/dev-libs/qof/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome-office</herd>
+</pkgmetadata>
diff --git a/dev-libs/qof/qof-0.8.8-r1.ebuild b/dev-libs/qof/qof-0.8.8-r1.ebuild
new file mode 100644
index 000000000000..880776961827
--- /dev/null
+++ b/dev-libs/qof/qof-0.8.8-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A Query Object Framework"
+HOMEPAGE="https://alioth.debian.org/projects/qof/"
+SRC_URI="mirror://debian//pool/main/q/${PN}/${PN}_${PV}.orig.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="2"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE="doc nls"
+
+RDEPEND="
+ dev-libs/libxml2
+ dev-libs/glib:2
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ virtual/yacc
+ >=sys-devel/gettext-0.19.2
+ !dev-libs/qof:0
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-latex )
+"
+
+src_prepare() {
+ # Remove some CFLAGS
+ epatch "${FILESDIR}"/${PN}-0.8.8-cflags.patch
+
+ # Delay build of unittests, bug #197999
+ epatch "${FILESDIR}"/${PN}-0.8.8-unittest.patch
+
+ # Fix use and build with yacc
+ epatch "${FILESDIR}"/${PN}-0.8.8-unistd-define.patch
+ epatch "${FILESDIR}"/${PN}-0.8.8-yacc-build.patch
+ rm lib/libsql/{lexer.c,parser.c,parser.h} || die
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-error-on-warning \
+ --disable-static \
+ --disable-gdasql \
+ --disable-gdabackend \
+ --disable-sqlite \
+ $(use_enable nls) \
+ $(use_enable doc doxygen) \
+ $(use_enable doc latex-docs) \
+ $(use_enable doc html-docs)
+}
diff --git a/dev-libs/qof/qof-0.8.8.ebuild b/dev-libs/qof/qof-0.8.8.ebuild
new file mode 100644
index 000000000000..bda16457c865
--- /dev/null
+++ b/dev-libs/qof/qof-0.8.8.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A Query Object Framework"
+HOMEPAGE="https://alioth.debian.org/projects/qof/"
+SRC_URI="mirror://debian//pool/main/q/${PN}/${PN}_${PV}.orig.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="2"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE="doc nls sqlite"
+
+RDEPEND="
+ dev-libs/libxml2
+ dev-libs/glib:2
+ sqlite? ( >=dev-db/sqlite-2.8.0:0 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ virtual/yacc
+ >=sys-devel/gettext-0.19.2
+ !dev-libs/qof:0
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-latex )
+"
+
+src_prepare() {
+ # Remove some CFLAGS
+ epatch "${FILESDIR}"/${PN}-0.8.8-cflags.patch
+
+ # Delay build of unittests, bug #197999
+ epatch "${FILESDIR}"/${PN}-0.8.8-unittest.patch
+
+ # Fix use and build with yacc
+ epatch "${FILESDIR}"/${PN}-0.8.8-unistd-define.patch
+ epatch "${FILESDIR}"/${PN}-0.8.8-yacc-build.patch
+ rm lib/libsql/{lexer.c,parser.c,parser.h} || die
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-error-on-warning \
+ --disable-static \
+ --disable-gdasql \
+ --disable-gdabackend \
+ $(use_enable nls) \
+ $(use_enable sqlite) \
+ $(use_enable doc doxygen) \
+ $(use_enable doc latex-docs) \
+ $(use_enable doc html-docs)
+}
diff --git a/dev-libs/qqwing/Manifest b/dev-libs/qqwing/Manifest
new file mode 100644
index 000000000000..a2002360f5d5
--- /dev/null
+++ b/dev-libs/qqwing/Manifest
@@ -0,0 +1,2 @@
+DIST qqwing-1.3.3.tar.gz 89629 SHA256 e037748255d821439dfef9fb4bae2969e7ea600bb4e4cb0a0c1d7bc7883c596e SHA512 cce6e3122f0620b4a27f5c4186b468906006b6f9deda0b3fc474d40e678722bbb07474c479a75cbcac0812a097e5be4d7ae58339810a897f966d5a73b07a6833 WHIRLPOOL c5cfd0779faeee57cf760d8c94c37ae2343c156781c07320cf68c51a3dfe67d3c0f5bf8b077c33a88dc1e217ae742bb130f4a70b1ff96205427158232f867b76
+DIST qqwing-1.3.4.tar.gz 352060 SHA256 1753736c31feea0085f5cfac33143743204f8a7e66b81ccd17e249ecafba802f SHA512 6762b97d7595e7831edb80d9fac06ca784c6dfb6c5717e72adaac6973ec94bec417806f8ae4b80ed95b876388c8c1a00906b0fa8653a115998c5170db25aab0d WHIRLPOOL 9d491ad8e7ad9afbc3376f35f63b1b956750a5fc41fa2cd34c07ee8b897b81c8dbddd9edac60acfbbd325bfe1872e3819f2901b94b1a2a9ca2bce44c8da7685a
diff --git a/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch b/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch
new file mode 100644
index 000000000000..1a7bf41aeaf7
--- /dev/null
+++ b/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch
@@ -0,0 +1,206 @@
+From d94d718154c065218bc9db8ccfe638d84b86bdb4 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sat, 18 Oct 2014 13:02:58 +0200
+Subject: [PATCH] Make autotools a bit saner
+
+---
+ Makefile.am | 16 ++++++++++++++++
+ build/Makefile.am | 17 -----------------
+ build/configure.ac | 47 -----------------------------------------------
+ build/qqwing.pc.in | 10 ----------
+ configure.ac | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ qqwing.pc.in | 10 ++++++++++
+ 6 files changed, 73 insertions(+), 74 deletions(-)
+ create mode 100644 Makefile.am
+ delete mode 100644 build/Makefile.am
+ delete mode 100755 build/configure.ac
+ delete mode 100755 build/qqwing.pc.in
+ create mode 100644 configure.ac
+ create mode 100644 qqwing.pc.in
+
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..d6109ba
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,16 @@
++ACLOCAL_AMFLAGS = -I m4
++
++include_HEADERS = src/cpp/qqwing.hpp
++
++lib_LTLIBRARIES = libqqwing.la
++libqqwing_la_SOURCES = src/cpp/qqwing.cpp src/cpp/qqwing.hpp
++libqqwing_la_LDFLAGS = -no-undefined -version-info $(QQWING_CURRENT):$(QQWING_REVISION):$(QQWING_AGE)
++
++bin_PROGRAMS = qqwing
++qqwing_SOURCES = src/cpp/main.cpp
++qqwing_LDADD = $(top_builddir)/libqqwing.la
++
++pkgconfigdir = $(libdir)/pkgconfig
++dist_pkgconfig_DATA = qqwing.pc
++
++dist_man1_MANS = doc/qqwing.man
+diff --git a/build/Makefile.am b/build/Makefile.am
+deleted file mode 100644
+index ef647d2..0000000
+--- a/build/Makefile.am
++++ /dev/null
+@@ -1,17 +0,0 @@
+-ACLOCAL_AMFLAGS = -I m4
+-EXTRA_DIST = debian
+-
+-include_HEADERS = qqwing.hpp
+-
+-lib_LTLIBRARIES = libqqwing.la
+-libqqwing_la_SOURCES = qqwing.cpp qqwing.hpp
+-libqqwing_la_LDFLAGS = -no-undefined -version-info $(QQWING_CURRENT):$(QQWING_REVISION):$(QQWING_AGE)
+-
+-bin_PROGRAMS = qqwing
+-qqwing_SOURCES = main.cpp
+-qqwing_LDADD = $(top_builddir)/libqqwing.la
+-
+-pkgconfigdir = $(libdir)/pkgconfig
+-dist_pkgconfig_DATA = qqwing.pc
+-
+-dist_man_MANS = qqwing.1
+diff --git a/build/configure.ac b/build/configure.ac
+deleted file mode 100755
+index ca75f59..0000000
+--- a/build/configure.ac
++++ /dev/null
+@@ -1,47 +0,0 @@
+-AC_PREREQ(2.59)
+-AC_INIT(qqwing, 1.3.3, http://qqwing.com/)
+-AC_CONFIG_MACRO_DIR([m4])
+-AC_CONFIG_SRCDIR([config.h.in])
+-AC_CONFIG_HEADER([config.h])
+-
+-# Before making a release, the LT_VERSION string should be modified.
+-# The string is of the form C:R:A.
+-# - If interfaces have been changed or added, but binary compatibility has
+-# been preserved, change to C+1:0:A+1
+-# - If binary compatibility has been broken (eg removed or changed interfaces)
+-# change to C+1:0:0
+-# - If the interface is the same as the previous version, change to C:R+1:A
+-QQWING_CURRENT=2
+-QQWING_REVISION=3
+-QQWING_AGE=0
+-
+-AC_SUBST([QQWING_CURRENT])
+-AC_SUBST([QQWING_REVISION])
+-AC_SUBST([QQWING_AGE])
+-
+-AM_INIT_AUTOMAKE([foreign])
+-
+-# Checks for programs.
+-AC_PROG_CXX
+-AC_PROG_CC
+-
+-LT_PREREQ([2.2])
+-LT_INIT([disable-static])
+-
+-# Checks for libraries.
+-
+-# Checks for header files.
+-AC_HEADER_STDC
+-AC_CHECK_HEADERS([stdlib.h sys/time.h])
+-
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_HEADER_STDBOOL
+-AC_C_CONST
+-AC_C_INLINE
+-AC_HEADER_TIME
+-
+-# Checks for library functions.
+-AC_CHECK_FUNCS([gettimeofday])
+-
+-AC_CONFIG_FILES([Makefile qqwing.pc])
+-AC_OUTPUT
+diff --git a/build/qqwing.pc.in b/build/qqwing.pc.in
+deleted file mode 100755
+index fcc4c45..0000000
+--- a/build/qqwing.pc.in
++++ /dev/null
+@@ -1,10 +0,0 @@
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-libdir=@libdir@
+-includedir=@includedir@
+-
+-Name: libqqwing
+-Description: Sudoku generator and solver library
+-Version: @VERSION@
+-Libs: -L${libdir} -lqqwing
+-Cflags: -I${includedir}
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..646494f
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,47 @@
++AC_PREREQ(2.59)
++AC_INIT(qqwing, 1.3.3, http://qqwing.com/)
++AC_CONFIG_MACRO_DIR([m4])
++AC_CONFIG_SRCDIR([config.h.in])
++AC_CONFIG_HEADER([config.h])
++
++# Before making a release, the LT_VERSION string should be modified.
++# The string is of the form C:R:A.
++# - If interfaces have been changed or added, but binary compatibility has
++# been preserved, change to C+1:0:A+1
++# - If binary compatibility has been broken (eg removed or changed interfaces)
++# change to C+1:0:0
++# - If the interface is the same as the previous version, change to C:R+1:A
++QQWING_CURRENT=2
++QQWING_REVISION=3
++QQWING_AGE=0
++
++AC_SUBST([QQWING_CURRENT])
++AC_SUBST([QQWING_REVISION])
++AC_SUBST([QQWING_AGE])
++
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++
++# Checks for programs.
++AC_PROG_CXX
++AC_PROG_CC
++
++LT_PREREQ([2.2])
++LT_INIT([disable-static])
++
++# Checks for libraries.
++
++# Checks for header files.
++AC_HEADER_STDC
++AC_CHECK_HEADERS([stdlib.h sys/time.h])
++
++# Checks for typedefs, structures, and compiler characteristics.
++AC_HEADER_STDBOOL
++AC_C_CONST
++AC_C_INLINE
++AC_HEADER_TIME
++
++# Checks for library functions.
++AC_CHECK_FUNCS([gettimeofday])
++
++AC_CONFIG_FILES([Makefile qqwing.pc])
++AC_OUTPUT
+diff --git a/qqwing.pc.in b/qqwing.pc.in
+new file mode 100644
+index 0000000..fcc4c45
+--- /dev/null
++++ b/qqwing.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: libqqwing
++Description: Sudoku generator and solver library
++Version: @VERSION@
++Libs: -L${libdir} -lqqwing
++Cflags: -I${includedir}
+--
+2.1.2
+
diff --git a/dev-libs/qqwing/metadata.xml b/dev-libs/qqwing/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-libs/qqwing/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/qqwing/qqwing-1.3.3.ebuild b/dev-libs/qqwing/qqwing-1.3.3.ebuild
new file mode 100644
index 000000000000..c6e4c3434bb7
--- /dev/null
+++ b/dev-libs/qqwing/qqwing-1.3.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="Sudoku puzzle generator and solver"
+HOMEPAGE="http://qqwing.com/"
+SRC_URI="https://github.com/stephenostermiller/${PN}/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # Make autotools work out of the box
+ epatch "${FILESDIR}"/${PN}-1.3.0-autotools.patch
+
+ eautoreconf
+}
diff --git a/dev-libs/qqwing/qqwing-1.3.4.ebuild b/dev-libs/qqwing/qqwing-1.3.4.ebuild
new file mode 100644
index 000000000000..6c5face55e50
--- /dev/null
+++ b/dev-libs/qqwing/qqwing-1.3.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Sudoku puzzle generator and solver"
+HOMEPAGE="http://qqwing.com/"
+SRC_URI="http://qqwing.com/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/2"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/qrosscore/Manifest b/dev-libs/qrosscore/Manifest
new file mode 100644
index 000000000000..790c13ae132e
--- /dev/null
+++ b/dev-libs/qrosscore/Manifest
@@ -0,0 +1 @@
+DIST qrosscore-0.3.1.tar.gz 3963408 SHA256 0573ece8c78fc836544a87adbb3a61afb1b8821cc11b289935d4b650c2d6bc85 SHA512 0dba2257a18ad36ec5348dc9a298d264f5d3ca1cd08e1bfce50259da85ccf3ebec9bad5e578b99e870948888789e76ce33cc8aaf7538c7da6a732a5c76630be6 WHIRLPOOL ef1c9a6fa7fad7a49c9237ed47bc2e7694d1c89639e62bfcd21c5d253ab40147c8694546db778ed6a16ca06e08a551b5a7a5aacbcc192659291846d87df313d0
diff --git a/dev-libs/qrosscore/metadata.xml b/dev-libs/qrosscore/metadata.xml
new file mode 100644
index 000000000000..ae36ab9f924e
--- /dev/null
+++ b/dev-libs/qrosscore/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>leechcraft</herd>
+ <longdescription lang="en">
+ Qross is a KDE-free version of Kross.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">0xd34df00d/Qross</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qrosscore/qrosscore-0.3.1.ebuild b/dev-libs/qrosscore/qrosscore-0.3.1.ebuild
new file mode 100644
index 000000000000..678ad21d2b1e
--- /dev/null
+++ b/dev-libs/qrosscore/qrosscore-0.3.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="KDE-free version of Kross (core libraries and Qt Script backend)"
+HOMEPAGE="http://github.com/0xd34df00d/Qross"
+SRC_URI="https://github.com/0xd34df00d/Qross/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+RDEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/designer:4
+ dev-qt/qtscript:4
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/Qross-${PV}/src/qross"
diff --git a/dev-libs/qrosscore/qrosscore-9999.ebuild b/dev-libs/qrosscore/qrosscore-9999.ebuild
new file mode 100644
index 000000000000..10b2465b58cc
--- /dev/null
+++ b/dev-libs/qrosscore/qrosscore-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://github.com/0xd34df00d/Qross.git"
+
+inherit cmake-utils git-r3
+
+DESCRIPTION="KDE-free version of Kross (core libraries and Qt Script backend)"
+HOMEPAGE="http://github.com/0xd34df00d/Qross"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug"
+
+RDEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/designer:4
+ dev-qt/qtscript:4
+"
+DEPEND="${RDEPEND}"
+
+CMAKE_USE_DIR="${S}/src/qross"
diff --git a/dev-libs/qrosspython/Manifest b/dev-libs/qrosspython/Manifest
new file mode 100644
index 000000000000..790c13ae132e
--- /dev/null
+++ b/dev-libs/qrosspython/Manifest
@@ -0,0 +1 @@
+DIST qrosscore-0.3.1.tar.gz 3963408 SHA256 0573ece8c78fc836544a87adbb3a61afb1b8821cc11b289935d4b650c2d6bc85 SHA512 0dba2257a18ad36ec5348dc9a298d264f5d3ca1cd08e1bfce50259da85ccf3ebec9bad5e578b99e870948888789e76ce33cc8aaf7538c7da6a732a5c76630be6 WHIRLPOOL ef1c9a6fa7fad7a49c9237ed47bc2e7694d1c89639e62bfcd21c5d253ab40147c8694546db778ed6a16ca06e08a551b5a7a5aacbcc192659291846d87df313d0
diff --git a/dev-libs/qrosspython/metadata.xml b/dev-libs/qrosspython/metadata.xml
new file mode 100644
index 000000000000..731cdfc65303
--- /dev/null
+++ b/dev-libs/qrosspython/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>leechcraft</herd>
+ <longdescription lang="en">
+ Python interpreter for Qross.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">0xd34df00d/Qross</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qrosspython/qrosspython-0.3.1.ebuild b/dev-libs/qrosspython/qrosspython-0.3.1.ebuild
new file mode 100644
index 000000000000..4afae42226ea
--- /dev/null
+++ b/dev-libs/qrosspython/qrosspython-0.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1 cmake-utils
+
+DESCRIPTION="Python scripting backend for Qross"
+HOMEPAGE="http://github.com/0xd34df00d/Qross"
+SRC_URI="https://github.com/0xd34df00d/Qross/archive/${PV}.tar.gz -> qrosscore-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+ ~dev-libs/qrosscore-${PV}
+ dev-python/sip
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}
+ dev-qt/qttest:4
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/Qross-${PV}"
+CMAKE_USE_DIR="${S}/src/bindings/python/qrosspython"
diff --git a/dev-libs/qrosspython/qrosspython-9999.ebuild b/dev-libs/qrosspython/qrosspython-9999.ebuild
new file mode 100644
index 000000000000..13533b285896
--- /dev/null
+++ b/dev-libs/qrosspython/qrosspython-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+EGIT_REPO_URI="git://github.com/0xd34df00d/Qross.git"
+
+inherit git-r3 python-single-r1 cmake-utils
+
+DESCRIPTION="Python scripting backend for Qross"
+HOMEPAGE="http://github.com/0xd34df00d/Qross"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug"
+
+RDEPEND="
+ ~dev-libs/qrosscore-${PV}
+ dev-python/sip
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}
+ dev-qt/qttest:4
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+CMAKE_USE_DIR="${S}/src/bindings/python/qrosspython"
diff --git a/dev-libs/qtkeychain/Manifest b/dev-libs/qtkeychain/Manifest
new file mode 100644
index 000000000000..670b00df21e8
--- /dev/null
+++ b/dev-libs/qtkeychain/Manifest
@@ -0,0 +1 @@
+DIST qtkeychain-0.5.0.tar.gz 18422 SHA256 e62d7ae9c8ae04784d8a5d0f213aaa22f1c02427e800ce88739e997f499bb514 SHA512 abc9d27b318a984c95b55f821f8bba7d8f34e6316958cf41b44aa4451371e5f629f17b9a0d1356cd6455f19979d562157a260f835c8f037037b0ac7bf64b94e5 WHIRLPOOL b3c99c863390b8c9e807a17783ca95640a468d57eec35e197412a46031aae06433e06c3274973e7876192a654e09cba6bd92512baf8a3500052a3de9d1a50496
diff --git a/dev-libs/qtkeychain/metadata.xml b/dev-libs/qtkeychain/metadata.xml
new file mode 100644
index 000000000000..bf95f9645b6b
--- /dev/null
+++ b/dev-libs/qtkeychain/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">frankosterfeld/qtkeychain</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qtkeychain/qtkeychain-0.5.0.ebuild b/dev-libs/qtkeychain/qtkeychain-0.5.0.ebuild
new file mode 100644
index 000000000000..fd307c0a2ba2
--- /dev/null
+++ b/dev-libs/qtkeychain/qtkeychain-0.5.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multibuild
+
+DESCRIPTION="Qt API for storing passwords securely"
+HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
+SRC_URI="https://github.com/frankosterfeld/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+qt4 qt5"
+
+REQUIRED_USE="|| ( qt4 qt5 )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ )
+"
+DEPEND="${RDEPEND}
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+
+DOCS=( ChangeLog ReadMe.txt )
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
+}
+
+src_configure() {
+ myconfigure() {
+ if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
+ local mycmakeargs=(-DBUILD_WITH_QT4=ON)
+ fi
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+ local mycmakeargs=(-DBUILD_WITH_QT4=OFF)
+ fi
+ cmake-utils_src_configure
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant cmake-utils_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake-utils_src_install
+}
diff --git a/dev-libs/quantlib/Manifest b/dev-libs/quantlib/Manifest
new file mode 100644
index 000000000000..e9b05d5771fb
--- /dev/null
+++ b/dev-libs/quantlib/Manifest
@@ -0,0 +1 @@
+DIST QuantLib-1.6.tar.gz 8714267 SHA256 a135d424a59cbb00a75d7f7ac3a181d49e804abae1776b555ec0183e309f81ce SHA512 c38cc894873a36942c022c1d70eb7b0c5f2e9208ee9e949a656aef02fb9fe95436955b560b61188ea5a374f4b7674b46629178779e066135396f291788d772c4 WHIRLPOOL 5d94afd8f608ef81c207921f5b7b8237ea2eaca71844fe27206d4b0e7ed77e99d4c9e5c2e6c74649e82a95ca5d3fb8528e6c8ee929a849a7254cbee41ab9607e
diff --git a/dev-libs/quantlib/files/50quantlib-gentoo.el b/dev-libs/quantlib/files/50quantlib-gentoo.el
new file mode 100644
index 000000000000..68f6ce003295
--- /dev/null
+++ b/dev-libs/quantlib/files/50quantlib-gentoo.el
@@ -0,0 +1,6 @@
+
+;;; quantlib site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ql-new-header "quantlib" nil t)
+(autoload 'ql-new-source "quantlib" nil t)
diff --git a/dev-libs/quantlib/metadata.xml b/dev-libs/quantlib/metadata.xml
new file mode 100644
index 000000000000..061f38a0f8d6
--- /dev/null
+++ b/dev-libs/quantlib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <longdescription>
+QuantLib (http://quantlib.org/) is a C++ library for financial
+quantitative analysts and developers.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">quantlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/quantlib/quantlib-1.6.ebuild b/dev-libs/quantlib/quantlib-1.6.ebuild
new file mode 100644
index 000000000000..65ea1e2c7942
--- /dev/null
+++ b/dev-libs/quantlib/quantlib-1.6.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit elisp-common eutils toolchain-funcs
+
+MY_P="QuantLib-${PV}"
+
+DESCRIPTION="A comprehensive software framework for quantitative finance"
+HOMEPAGE="http://quantlib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc emacs examples openmp static-libs"
+
+RDEPEND="dev-libs/boost:="
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )
+ emacs? ( virtual/emacs )"
+
+DOCS="*.txt"
+
+S="${WORKDIR}/${MY_P}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+}
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ # NOTE: Too fragile for single .pdf or .ps document
+ local prog
+ for prog in DVIPS LATEX MAKEINDEX PDFLATEX; do
+ export ac_cv_path_${prog}=no
+ done
+
+ use doc || export ac_cv_path_DOXYGEN=no
+ use emacs || export ac_cv_prog_EMACS=no
+
+ # NOTE: --enable-examples will only change noinst_PROGRAMS to bin_PROGRAMS
+ econf \
+ $(use_enable debug error-functions) \
+ $(use_enable debug error-lines) \
+ $(use_enable debug tracing) \
+ $(use_enable openmp) \
+ $(use_enable static-libs static) \
+ --enable-examples \
+ --with-lispdir="${SITELISP}/${PN}"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ pushd Docs >/dev/null
+ emake docs-html
+ popd >/dev/null
+ fi
+}
+
+src_install(){
+ default
+ prune_libtool_files
+
+ if use doc; then
+ find Docs \( -name '.time-stamp*' -o -name '*.doxy' -o -name 'Makefile*' \) -delete || die
+ insinto "/usr/share/doc/${PF}"
+ doins -r Docs
+ fi
+
+ if use examples; then
+ find Examples -name '.libs' -exec rm -rf {} + || die
+ find Examples \( -name '*vc*proj*' -o -name '*.dev' -o -name 'Makefile*' -o -name '*.o' \) -delete || die
+ insinto "/usr/share/doc/${PF}"
+ doins -r Examples
+ fi
+
+ use emacs && elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/quazip/Manifest b/dev-libs/quazip/Manifest
new file mode 100644
index 000000000000..ef22797e0f74
--- /dev/null
+++ b/dev-libs/quazip/Manifest
@@ -0,0 +1,2 @@
+DIST quazip-0.6.2.tar.gz 423027 SHA256 adf4047213662a0362090edaaee4283216df2034ab5923697f9aa81d081c0b43 SHA512 32eb0b8faadb5f08086874c8ac33e3ea794a8a2e9c2904d0965cb5b15aec6280080aa19a032a19701e367873e8c3b613834823bb077b8fd254c5db4939917e49 WHIRLPOOL dc4fcab4b062631960236ef7cd9c0f43e5d419e34c3880b3caf02965f8a8302d622a1dc25f081cc2bcc5d3db96494b3d178a8f1d4b678cb452503af23e14e193
+DIST quazip-0.7.1.tar.gz 390629 SHA256 78c984103555c51e6f7ef52e3a2128e2beb9896871b2cc4d4dbd4d64bff132de SHA512 58e044019505075aa89f112672c04c54875d98b353ac5a39b6eb3e1f08ea27bd9900126d902c282b87910e4bae5ab9da79942b9add7a5535625c187331445acc WHIRLPOOL bf683e90fd58ae4d94d72f4b4530754eb1944df03adccd4e0302fe7ec82afe07fd54c9d6975ba4f1b30e3d14928fbcc6c987ec612deeb6b66be9c86c5e5d9787
diff --git a/dev-libs/quazip/files/quazip-0.4.4-zlib.patch b/dev-libs/quazip/files/quazip-0.4.4-zlib.patch
new file mode 100644
index 000000000000..a84dcab8c376
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-0.4.4-zlib.patch
@@ -0,0 +1,27 @@
+From f7d821a6837b4cc9defa02f271256796394fd8c3 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Wed, 21 Sep 2011 14:37:31 +0200
+Subject: [PATCH] Allow compilation with zlib-1.2.5.1-r1
+
+---
+ quazip/ioapi.h | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/quazip/ioapi.h b/quazip/ioapi.h
+index 716dd4b..a4ac8d7 100644
+--- a/quazip/ioapi.h
++++ b/quazip/ioapi.h
+@@ -37,6 +37,10 @@
+ extern "C" {
+ #endif
+
++#ifndef OF
++# define OF(x) x
++#endif
++
+ typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, voidpf file, int mode));
+ typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+ typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+--
+1.7.6.1
+
diff --git a/dev-libs/quazip/files/quazip-0.5.1-prll.patch b/dev-libs/quazip/files/quazip-0.5.1-prll.patch
new file mode 100644
index 000000000000..48c55023838a
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-0.5.1-prll.patch
@@ -0,0 +1,11 @@
+ quazip.pro | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/quazip.pro b/quazip.pro
+index 28aa9ab..62a22bd 100644
+--- a/quazip.pro
++++ b/quazip.pro
+@@ -1,2 +1,3 @@
+ TEMPLATE=subdirs
+ SUBDIRS=quazip qztest
++qztest.depends=quazip
diff --git a/dev-libs/quazip/files/quazip-0.5.1-zlib.patch b/dev-libs/quazip/files/quazip-0.5.1-zlib.patch
new file mode 100644
index 000000000000..690590e765b5
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-0.5.1-zlib.patch
@@ -0,0 +1,31 @@
+diff -up quazip-0.5.1/qztest/testquagzipfile.cpp.zl quazip-0.5.1/qztest/testquagzipfile.cpp
+--- quazip-0.5.1/qztest/testquagzipfile.cpp.zl 2012-09-05 17:24:35.000000000 +0200
++++ quazip-0.5.1/qztest/testquagzipfile.cpp 2013-03-03 14:27:05.168659773 +0100
+@@ -8,9 +8,9 @@ void TestQuaGzipFile::read()
+ {
+ QDir curDir;
+ curDir.mkpath("tmp");
+- voidp gzFile = gzopen("tmp/test.gz", "wb");
+- gzwrite(gzFile, "test", 4);
+- gzclose(gzFile);
++ gzFile File = gzopen("tmp/test.gz", "wb");
++ gzwrite(File, "test", 4);
++ gzclose(File);
+ QuaGzipFile testFile("tmp/test.gz");
+ QVERIFY(testFile.open(QIODevice::ReadOnly));
+ char buf[5];
+@@ -32,11 +32,11 @@ void TestQuaGzipFile::write()
+ QCOMPARE(testFile.write("test", 4), static_cast<qint64>(4));
+ testFile.close();
+ QVERIFY(!testFile.isOpen());
+- voidp gzFile = gzopen("tmp/test.gz", "rb");
++ gzFile File = gzopen("tmp/test.gz", "rb");
+ char buf[5];
+ buf[4] = '\0';
+- QCOMPARE(gzread(gzFile, buf, 5), 4);
+- gzclose(gzFile);
++ QCOMPARE(gzread(File, buf, 5), 4);
++ gzclose(File);
+ QCOMPARE(static_cast<const char*>(buf), "test");
+ curDir.remove("tmp/test.gz");
+ curDir.rmdir("tmp");
diff --git a/dev-libs/quazip/metadata.xml b/dev-libs/quazip/metadata.xml
new file mode 100644
index 000000000000..3a49663f2818
--- /dev/null
+++ b/dev-libs/quazip/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">quazip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/quazip/quazip-0.6.2-r1.ebuild b/dev-libs/quazip/quazip-0.6.2-r1.ebuild
new file mode 100644
index 000000000000..9382111c965b
--- /dev/null
+++ b/dev-libs/quazip/quazip-0.6.2-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib qt4-r2
+
+DESCRIPTION="A simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="http://quazip.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ sys-libs/zlib[minizip]
+ dev-qt/qtcore:4"
+DEPEND="${RDEPEND}
+ test? ( dev-qt/qttest:4 )"
+
+S="${WORKDIR}"/${P}
+
+DOCS="NEWS.txt README.txt"
+HTML_DOCS=( doc/html/. )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.1-prll.patch
+)
+
+src_prepare() {
+ sed \
+ -e "s:\/lib$:\/$(get_libdir):g" \
+ -i ${PN}/${PN}.pro || die
+
+ echo "PREFIX=${EPREFIX}/usr" >> ${PN}/${PN}.pri || die
+
+ use test || sed -e 's:qztest::g' -i ${PN}.pro || die
+ qt4-r2_src_prepare
+}
+
+src_test() {
+ cd qztest || die
+ LD_LIBRARY_PATH="${S}"/${PN} ./qztest || die
+}
+
+src_install() {
+ insinto /usr/share/cmake/Modules
+ doins FindQuaZip.cmake
+ qt4-r2_src_install
+}
diff --git a/dev-libs/quazip/quazip-0.7.1.ebuild b/dev-libs/quazip/quazip-0.7.1.ebuild
new file mode 100644
index 000000000000..ff9f96d01860
--- /dev/null
+++ b/dev-libs/quazip/quazip-0.7.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib qmake-utils
+
+DESCRIPTION="A simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="http://quazip.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test qt4 qt5"
+
+REQUIRED_USE="^^ ( qt4 qt5 )"
+
+RDEPEND="
+ sys-libs/zlib[minizip]
+ qt4? ( dev-qt/qtcore:4 )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtnetwork:5
+ )
+ "
+DEPEND="${RDEPEND}
+ test? (
+ qt4? ( dev-qt/qttest:4 )
+ qt5? ( dev-qt/qttest:5 )
+ )"
+
+S="${WORKDIR}"/${P}
+
+DOCS="NEWS.txt README.txt"
+HTML_DOCS=( doc/html/. )
+
+MULTIBUILD_VARIANTS=( qt4 qt5 )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.1-prll.patch
+)
+
+src_prepare() {
+ sed \
+ -e "s:\/lib/:\/$(get_libdir)\/:g" \
+ -i ${PN}/${PN}.pro || die
+
+ echo "PREFIX=${EPREFIX}/usr" >> ${PN}/${PN}.pri || die
+
+ use test || sed -e 's:qztest::g' -i ${PN}.pro || die
+}
+
+src_configure() {
+ if use qt5; then
+ eqmake5
+ else
+ eqmake4
+ fi
+}
+
+src_test() {
+ cd qztest || die
+ LD_LIBRARY_PATH="${S}"/${PN} ./qztest || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_ROOT="${D}" install
+ einstalldocs
+ insinto /usr/share/cmake/Modules
+ doins FindQuaZip.cmake
+}
diff --git a/dev-libs/radlib/Manifest b/dev-libs/radlib/Manifest
new file mode 100644
index 000000000000..688545f82f47
--- /dev/null
+++ b/dev-libs/radlib/Manifest
@@ -0,0 +1 @@
+DIST radlib-2.12.0.tar.gz 521798 SHA256 82b98bb5e08a500dea1e4252843b9c772fa1fb67ac8ab89ed64abdd5e22eca66 SHA512 be86fe899f4a3ab4be57f339682c4899a958b55b207f4425accf7f8b0badf0b68b84f3eeeb50ce67bf3459ac005297dfd23dd8a0f34d58d4f4584319ea752cc5 WHIRLPOOL 4d46b66403b1853408e783a2969f303033411cc9dfef8ca7839182625d8389244c716a10683b87e08d31285fcc2b88ad9f14d087384ead3c6e0b456d69dab203
diff --git a/dev-libs/radlib/files/radlib-2.12.0-build.patch b/dev-libs/radlib/files/radlib-2.12.0-build.patch
new file mode 100644
index 000000000000..4f4ce750ad35
--- /dev/null
+++ b/dev-libs/radlib/files/radlib-2.12.0-build.patch
@@ -0,0 +1,128 @@
+Index: radlib-2.12.0/debug/Makefile.am
+===================================================================
+--- radlib-2.12.0.orig/debug/Makefile.am
++++ radlib-2.12.0/debug/Makefile.am
+@@ -13,32 +13,4 @@ raddebug_SOURCES = \
+ $(top_srcdir)/debug/raddebug.c
+
+ # define libraries
+-raddebug_LDADD = -lrad -lpthread
+-
+-if MYSQL
+-raddebug_LDADD += -lmysqlclient
+-else
+-if PGRESQL
+-raddebug_LDADD += -lpq
+-endif
+-endif
+-if SQLITE
+-raddebug_LDADD += -lsqlite3
+-endif
+-
+-# define library directories
+-raddebug_LDFLAGS = -L../src/.libs -L$(prefix)/lib -L/usr/lib
+-INCLUDES += -I$(prefix)/include -I/usr/include
+-
+-if MYSQL
+-raddebug_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
+-else
+-if PGRESQL
+-raddebug_LDFLAGS += -L$(prefix)/pgsql/lib
+-INCLUDES += -I$(prefix)/pgsql/include
+-endif
+-endif
+-
+-if CROSSCOMPILE
+-raddebug_LDFLAGS += $(prefix)/lib/crt1.o $(prefix)/lib/crti.o $(prefix)/lib/crtn.o
+-endif
++raddebug_LDADD = ../src/librad.la
+Index: radlib-2.12.0/msgRouter/Makefile.am
+===================================================================
+--- radlib-2.12.0.orig/msgRouter/Makefile.am
++++ radlib-2.12.0/msgRouter/Makefile.am
+@@ -13,32 +13,4 @@ radmrouted_SOURCES = \
+ $(top_srcdir)/msgRouter/msgRouter.c
+
+ # define libraries
+-radmrouted_LDADD = -lrad -lpthread
+-
+-if MYSQL
+-radmrouted_LDADD += -lmysqlclient
+-else
+-if PGRESQL
+-radmrouted_LDADD += -lpq
+-endif
+-endif
+-if SQLITE
+-radmrouted_LDADD += -lsqlite3
+-endif
+-
+-# define library directories
+-radmrouted_LDFLAGS = -L../src/.libs -L$(prefix)/lib -L/usr/lib
+-INCLUDES += -I$(prefix)/include -I/usr/include
+-
+-if MYSQL
+-radmrouted_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
+-else
+-if PGRESQL
+-radmrouted_LDFLAGS += -L$(prefix)/lib -L$(prefix)/pgsql/lib
+-INCLUDES += -I$(prefix)/pgsql/include
+-endif
+-endif
+-
+-if CROSSCOMPILE
+-radmrouted_LDFLAGS += $(prefix)/lib/crt1.o $(prefix)/lib/crti.o $(prefix)/lib/crtn.o
+-endif
++radmrouted_LDADD = ../src/librad.la
+Index: radlib-2.12.0/src/Makefile.am
+===================================================================
+--- radlib-2.12.0.orig/src/Makefile.am
++++ radlib-2.12.0/src/Makefile.am
+@@ -12,6 +12,9 @@ SUBDIRS =
+ #define the library to be built
+ lib_LTLIBRARIES = librad.la
+
++librad_la_LDFLAGS =
++librad_la_LIBADD = -lpthread
++
+ if MYSQL
+ MY_INCLUDES = \
+ -I$(prefix)/include/mysql \
+@@ -21,32 +24,30 @@ MY_SOURCES = \
+ $(top_srcdir)/src/raddatabase.c
+ MYSQL_HDRS = \
+ $(top_srcdir)/h/raddatabase.h
++librad_la_LDFLAGS += -L$(prefix)/lib64/mysql -L$(prefix)/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql
++librad_la_LIBADD += -lmysqlclient
+ endif
+ if PGRESQL
+-PG_INCLUDES = \
+- -I$(prefix)/include \
+- -I/usr/include
+ PG_SOURCES = \
+ $(top_srcdir)/database/postgresql/pg_database.c \
+ $(top_srcdir)/src/raddatabase.c
+ PGSQL_HDRS = \
+ $(top_srcdir)/h/raddatabase.h \
+ $(top_srcdir)/database/postgresql/_pg-types.h
++librad_la_LDFLAGS += -L$(prefix)/lib -L$(prefix)/pgsql/lib
++librad_la_LIBADD += -lpq
+ endif
+ if SQLITE
+-SQ_INCLUDES = \
+- -I$(prefix)/include \
+- -I/usr/include
+ SQ_SOURCES = \
+ $(top_srcdir)/src/radsqlite.c
+ SQLITE_HDRS = \
+ $(top_srcdir)/h/radsqlite.h
++librad_la_LIBADD += -lsqlite3
+ endif
+
+ # define include directories
+ INCLUDES = \
+ -I$(top_srcdir)/h \
+- -I$(prefix)/include \
+ -D_GNU_SOURCE \
+ $(MY_INCLUDES) \
+ $(PG_INCLUDES) \
diff --git a/dev-libs/radlib/metadata.xml b/dev-libs/radlib/metadata.xml
new file mode 100644
index 000000000000..4a551dc923d3
--- /dev/null
+++ b/dev-libs/radlib/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>flameeyes@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">radlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/radlib/radlib-2.12.0-r1.ebuild b/dev-libs/radlib/radlib-2.12.0-r1.ebuild
new file mode 100644
index 000000000000..d5f7a87a83bc
--- /dev/null
+++ b/dev-libs/radlib/radlib-2.12.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils autotools
+
+DESCRIPTION="Rapid Application Development Library"
+HOMEPAGE="http://www.radlib.teel.ws/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="BSD-2"
+
+SLOT="0"
+IUSE="mysql postgres sqlite static-libs"
+
+RDEPEND="mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}"
+
+RESTRICT_USE="^^ ( mysql postgres )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-build.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable mysql)
+ $(use_enable postgres pgresql)
+ $(use_enable sqlite)
+ )
+
+ autotools-utils_src_configure
+}
+
+src_test() { :; }
diff --git a/dev-libs/rapidxml/Manifest b/dev-libs/rapidxml/Manifest
new file mode 100644
index 000000000000..d7b7a69a94e5
--- /dev/null
+++ b/dev-libs/rapidxml/Manifest
@@ -0,0 +1 @@
+DIST rapidxml-1.13.zip 44163 SHA256 c3f0b886374981bb20fabcf323d755db4be6dba42064599481da64a85f5b3571 SHA512 6c10583e6631ccdb0217d0a5381172cb4c1046226de6ef1acf398d85e81d145228e14c3016aefcd7b70a1db8631505b048d8b4f5d4b0dbf1811d2482eefdd265 WHIRLPOOL 665092157076bda0e0834ac13a5193e34bd459322a6d44691352792644575b42ff0db03acd5b375886690ce7c085894e130167687a64c999a738c34df22ca771
diff --git a/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch b/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch
new file mode 100644
index 000000000000..8090bfdc04cf
--- /dev/null
+++ b/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch
@@ -0,0 +1,23 @@
+--- rapidxml_print.hpp.orig 2015-06-21 15:46:43.330070116 +0200
++++ rapidxml_print.hpp 2015-06-21 15:50:58.745053512 +0200
+@@ -102,6 +102,20 @@
+ ///////////////////////////////////////////////////////////////////////////
+ // Internal printing operations
+
++ // =====================================
++ // fix for clang for this bug in gcc and others: http://sourceforge.net/p/rapidxml/bugs/16/
++
++ template<class OutIt, class Ch> inline OutIt print_children(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_element_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_data_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_cdata_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_declaration_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_comment_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_doctype_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++ template<class OutIt, class Ch> inline OutIt print_pi_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
++
++ // =====================================
++
+ // Print node
+ template<class OutIt, class Ch>
+ inline OutIt print_node(OutIt out, const xml_node<Ch> *node, int flags, int indent)
diff --git a/dev-libs/rapidxml/metadata.xml b/dev-libs/rapidxml/metadata.xml
new file mode 100644
index 000000000000..7131f93f6d22
--- /dev/null
+++ b/dev-libs/rapidxml/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rapidxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild b/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
new file mode 100644
index 000000000000..5a370f45c45a
--- /dev/null
+++ b/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Fast XML parser"
+HOMEPAGE="http://rapidxml.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rapidxml/rapidxml-${PV}.zip"
+
+LICENSE="Boost-1.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-clang.patch
+}
+
+src_install() {
+ insinto /usr/include/rapidxml
+ doins *.hpp
+ docinto html
+ dodoc manual.html
+}
diff --git a/dev-libs/rapidxml/rapidxml-1.13.ebuild b/dev-libs/rapidxml/rapidxml-1.13.ebuild
new file mode 100644
index 000000000000..0610c956d1db
--- /dev/null
+++ b/dev-libs/rapidxml/rapidxml-1.13.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Fast XML parser"
+HOMEPAGE="http://rapidxml.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rapidxml/rapidxml-${PV}.zip"
+
+LICENSE="Boost-1.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_install() {
+ insinto /usr/include/rapidxml
+ doins *.hpp
+ dohtml manual.html
+}
diff --git a/dev-libs/rasqal/Manifest b/dev-libs/rasqal/Manifest
new file mode 100644
index 000000000000..aebde58bb3cc
--- /dev/null
+++ b/dev-libs/rasqal/Manifest
@@ -0,0 +1,2 @@
+DIST rasqal-0.9.29.tar.gz 1550144 SHA256 8b218dc51b77b99f33103a9251218a4439748f73ee30fa8ee549ab6d150e7c53 SHA512 9795e2ffd439157af7d386ef7191fed3c960e88f04e46ec80bf845986841b9fb094219c561144cbe9ada5582264b32eec4850cf8f2258661d09f2df9dbffda4d WHIRLPOOL 706bc8454f9bc82d5058bac859d9829ebe729eca4b2e098455d5b73601c692278ef60ca543827c10743af401775060043b05cce16767fc3bac7512d3f763fa7e
+DIST rasqal-0.9.32.tar.gz 1544623 SHA256 eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f SHA512 071f5ff30a1271bdd747cab7991a34c75f9c0132e81d7662acb13a2e380b98c325a9b2998f6a08a393251623680074a76f58f70bdd93b5c1416779aacc7be428 WHIRLPOOL 1dfa8507e7e567da04bf242784d551486f367b187d8f9c91599a5f41d7107bb7af38fe73c9d74eb1bed6d79ed2c2fc045dff57b0ebf375a363961792012e5986
diff --git a/dev-libs/rasqal/metadata.xml b/dev-libs/rasqal/metadata.xml
new file mode 100644
index 000000000000..e1774e3d9ad7
--- /dev/null
+++ b/dev-libs/rasqal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+</pkgmetadata>
diff --git a/dev-libs/rasqal/rasqal-0.9.29.ebuild b/dev-libs/rasqal/rasqal-0.9.29.ebuild
new file mode 100644
index 000000000000..b8858f5ba8ef
--- /dev/null
+++ b/dev-libs/rasqal/rasqal-0.9.29.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit libtool
+
+DESCRIPTION="library that handles Resource Description Framework (RDF)"
+HOMEPAGE="http://librdf.org/rasqal/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="+crypt doc gmp kernel_linux +mhash pcre static-libs test xml"
+
+RDEPEND=">=media-libs/raptor-2.0.7:2
+ kernel_linux? ( >=sys-apps/util-linux-2.19 )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )
+ !gmp? ( dev-libs/mpfr )
+ gmp? ( dev-libs/gmp )
+ crypt? (
+ !mhash? ( dev-libs/libgcrypt:0 )
+ mhash? ( app-crypt/mhash )
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ sys-devel/flex
+ test? ( dev-perl/XML-DOM )"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ sed -i -e '/random_approach/s:==:=:' configure || die #416659
+ elibtoolize # g/fbsd .so versioning
+}
+
+src_configure() {
+ # FIXME: From 0.9.27 to .28 --with-random-approach= was introduced, do we
+ # need a logic for it? Perhaps for dev-libs/gmp?
+
+ local regex=posix
+ local decimal=mpfr
+ local digest=internal
+ local uuid=internal
+
+ use pcre && regex=pcre
+ use gmp && decimal=gmp
+ use kernel_linux && uuid=libuuid
+
+ if use crypt; then
+ digest=gcrypt
+ use mhash && digest=mhash
+ fi
+
+ econf \
+ $(use_enable pcre) \
+ $(use_enable static-libs static) \
+ $(use_enable xml xml2) \
+ --with-regex-library=${regex} \
+ --with-digest-library=${digest} \
+ --with-uuid-library=${uuid} \
+ --with-decimal=${decimal} \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ default
+ dohtml {NEWS,README,RELEASE}.html
+ use doc || rm -rf "${ED}"/usr/share/doc/${PF}/html/rasqal
+ find "${ED}" -name '*.la' -exec rm -f '{}' +
+}
diff --git a/dev-libs/rasqal/rasqal-0.9.32.ebuild b/dev-libs/rasqal/rasqal-0.9.32.ebuild
new file mode 100644
index 000000000000..8e7340f08a04
--- /dev/null
+++ b/dev-libs/rasqal/rasqal-0.9.32.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool
+
+DESCRIPTION="library that handles Resource Description Framework (RDF)"
+HOMEPAGE="http://librdf.org/rasqal/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="+crypt gmp kernel_linux +mhash pcre static-libs test xml"
+
+RDEPEND=">=media-libs/raptor-2.0.14
+ kernel_linux? ( >=sys-apps/util-linux-2.19 )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )
+ !gmp? ( dev-libs/mpfr )
+ gmp? ( dev-libs/gmp )
+ crypt? (
+ !mhash? ( dev-libs/libgcrypt:0 )
+ mhash? ( app-crypt/mhash )
+ )"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-3
+ >=sys-devel/flex-2.5.36
+ virtual/pkgconfig
+ test? ( dev-perl/XML-DOM )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ elibtoolize # g/fbsd .so versioning
+}
+
+src_configure() {
+ # FIXME: From 0.9.27 to .28 --with-random-approach= was introduced, do we
+ # need a logic for it? Perhaps for dev-libs/gmp?
+
+ local regex=posix
+ local decimal=mpfr
+ local digest=internal
+ local uuid=internal
+
+ use pcre && regex=pcre
+ use gmp && decimal=gmp
+ use kernel_linux && uuid=libuuid
+
+ if use crypt; then
+ digest=gcrypt
+ use mhash && digest=mhash
+ fi
+
+ econf \
+ $(use_enable pcre) \
+ $(use_enable static-libs static) \
+ $(use_enable xml xml2) \
+ --with-regex-library=${regex} \
+ --with-digest-library=${digest} \
+ --with-uuid-library=${uuid} \
+ --with-decimal=${decimal} \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ default
+ dohtml {NEWS,README,RELEASE}.html
+ prune_libtool_files --all
+
+ # http://bugs.gentoo.org/467768
+ local _rdocdir=/usr/share/doc/${PF}/html/${PN}
+ [[ -d ${ED}/${_rdocdir} ]] && dosym ${_rdocdir} /usr/share/gtk-doc/html/${PN}
+}
diff --git a/dev-libs/re2/Manifest b/dev-libs/re2/Manifest
new file mode 100644
index 000000000000..9abfb96333e6
--- /dev/null
+++ b/dev-libs/re2/Manifest
@@ -0,0 +1,3 @@
+DIST re2-20130115.tgz 1020951 SHA256 a95d83ed8203817587f7cc368b6f7199d8a4b1558372c306b07201058b92e1fe SHA512 ef1378d89397bf594ece7817ef91171e467a3408046f769eca08beba900a0e70f652e7c4e3b667b3a9d5cef044b08ed74ef7d564ffb965ab75bb9a3964c9ab5a WHIRLPOOL 2cbf47b1816e35e5c7f359a310b4421ad635d1513167ffabf98db84397be800f8b98d4808705754f0e2db14bbeb0d62e47ac3abb385e299c503126a9f874daf5
+DIST re2-20130712.tgz 1028311 SHA256 c30e43524280ebc2b9afa8c40ad477d0b2665bc81b663e9ae1b8b48e053af54b SHA512 910e7c7f5b3268746355c2e14dc6a4e32105207abcf8cb56b76fc554be41768e4e4a6b526c9335e95be0bb111025876b61ede1cfebcbec4a4062d53bb1448e08 WHIRLPOOL e5cf26a6c8586503c1639dd3f528cace8a4d7ca4c4ff97e08b12f45753ff67ad78656513658eabd678ac8ab88f1de5279960428fffe1b9e0535afdba44e7e8a3
+DIST re2-20140304.tgz 1050493 SHA256 0bffd1a57de2f4b218ca0f77d8850bfd59c82944a98256c6edba25260e0196a7 SHA512 a426e8d69d2c7614087990180539c5b1aa2c544dee14b144098f810b76b6062d7de9efaf1e90e83c61c8e4382a066201862d09965f1a6a9f86e2912011ad9d40 WHIRLPOOL d998a6dd9edac52fe0c4ed7e895940380d9b67220711d68aed02294c8f65a644a59f77bddce116ccf79860c633046fa2b5060ef45d5cb5ea5bc0c1965cdce052
diff --git a/dev-libs/re2/files/re2-compile-r0.patch b/dev-libs/re2/files/re2-compile-r0.patch
new file mode 100644
index 000000000000..cf2c8c0d5717
--- /dev/null
+++ b/dev-libs/re2/files/re2-compile-r0.patch
@@ -0,0 +1,27 @@
+--- util/mutex.h.orig 2013-09-22 13:24:25.126582479 -0500
++++ util/mutex.h 2013-09-22 13:25:11.376179517 -0500
+@@ -10,6 +10,8 @@
+ #ifndef RE2_UTIL_MUTEX_H_
+ #define RE2_UTIL_MUTEX_H_
+
++#include <stdlib.h>
++
+ namespace re2 {
+
+ #define HAVE_PTHREAD 1
+@@ -102,7 +104,6 @@
+
+ #elif defined(HAVE_PTHREAD) && defined(HAVE_RWLOCK)
+
+-#include <stdlib.h> // for abort()
+ #define SAFE_PTHREAD(fncall) do { if ((fncall) != 0) abort(); } while (0)
+
+ Mutex::Mutex() { SAFE_PTHREAD(pthread_rwlock_init(&mutex_, NULL)); }
+@@ -117,7 +118,6 @@
+
+ #elif defined(HAVE_PTHREAD)
+
+-#include <stdlib.h> // for abort()
+ #define SAFE_PTHREAD(fncall) do { if ((fncall) != 0) abort(); } while (0)
+
+ Mutex::Mutex() { SAFE_PTHREAD(pthread_mutex_init(&mutex_, NULL)); }
diff --git a/dev-libs/re2/files/re2-symbols-r0.patch b/dev-libs/re2/files/re2-symbols-r0.patch
new file mode 100644
index 000000000000..1fb9f2e35c45
--- /dev/null
+++ b/dev-libs/re2/files/re2-symbols-r0.patch
@@ -0,0 +1,10 @@
+--- libre2.symbols.orig 2012-11-07 04:45:57.000000000 +0100
++++ libre2.symbols 2012-11-07 04:46:20.000000000 +0100
+@@ -10,6 +10,7 @@
+ _ZlsRSoRKN3re211StringPieceE;
+ # re2::FilteredRE2*
+ _ZN3re211FilteredRE2*;
++ _ZNK3re211FilteredRE2*;
+ local:
+ *;
+ };
diff --git a/dev-libs/re2/metadata.xml b/dev-libs/re2/metadata.xml
new file mode 100644
index 000000000000..fffcfc8b794e
--- /dev/null
+++ b/dev-libs/re2/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>chromium</herd>
+</pkgmetadata>
diff --git a/dev-libs/re2/re2-0_p20130115-r1.ebuild b/dev-libs/re2/re2-0_p20130115-r1.ebuild
new file mode 100644
index 000000000000..d4ed307c4bba
--- /dev/null
+++ b/dev-libs/re2/re2-0_p20130115-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib multilib-build toolchain-funcs
+
+DESCRIPTION="An efficent, principled regular expression library"
+HOMEPAGE="http://code.google.com/p/re2/"
+SRC_URI="http://re2.googlecode.com/files/${PN}-${PV##*_p}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# TODO: the directory in the tarball should really be versioned.
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ # Fix problems with FilteredRE2 symbols not being exported.
+ epatch "${FILESDIR}/${PN}-symbols-r0.patch"
+ multilib_copy_sources
+}
+
+mymake() {
+ cd "${BUILD_DIR}" || die
+ local makeopts=(
+ AR="$(tc-getAR)"
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS} -pthread"
+ LDFLAGS="${LDFLAGS} -pthread"
+ NM="$(tc-getNM)"
+ )
+ emake "${makeopts[@]}" "$@"
+}
+
+src_compile() {
+ multilib_foreach_abi mymake
+}
+
+src_test() {
+ multilib_foreach_abi mymake shared-test
+}
+
+src_install() {
+ myinstall() {
+ cd "${BUILD_DIR}" || die
+ emake DESTDIR="${ED}" prefix=usr libdir=usr/$(get_libdir) install
+ multilib_check_headers
+ }
+ multilib_foreach_abi myinstall
+ dodoc AUTHORS CONTRIBUTORS README doc/syntax.txt
+ dohtml doc/syntax.html
+}
diff --git a/dev-libs/re2/re2-0_p20130115.ebuild b/dev-libs/re2/re2-0_p20130115.ebuild
new file mode 100644
index 000000000000..fc79ab11106a
--- /dev/null
+++ b/dev-libs/re2/re2-0_p20130115.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="An efficent, principled regular expression library"
+HOMEPAGE="http://code.google.com/p/re2/"
+SRC_URI="http://re2.googlecode.com/files/${PN}-${PV##*_p}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE=""
+
+# TODO: the directory in the tarball should really be versioned.
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ # Fix problems with FilteredRE2 symbols not being exported.
+ epatch "${FILESDIR}/${PN}-symbols-r0.patch"
+}
+
+src_compile() {
+ makeopts=(
+ AR="$(tc-getAR)"
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS} -pthread"
+ LDFLAGS="${LDFLAGS} -pthread"
+ NM="$(tc-getNM)"
+ )
+ emake "${makeopts[@]}"
+}
+
+src_test() {
+ emake "${makeopts[@]}" shared-test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" prefix=usr libdir=usr/$(get_libdir) install
+ # TODO: the upstream should not build static library at all.
+ rm "${ED}/usr/$(get_libdir)/libre2.a" || die
+ dodoc AUTHORS CONTRIBUTORS README doc/syntax.txt
+ dohtml doc/syntax.html
+}
diff --git a/dev-libs/re2/re2-0_p20130712.ebuild b/dev-libs/re2/re2-0_p20130712.ebuild
new file mode 100644
index 000000000000..45face3005b4
--- /dev/null
+++ b/dev-libs/re2/re2-0_p20130712.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="An efficent, principled regular expression library"
+HOMEPAGE="http://code.google.com/p/re2/"
+SRC_URI="http://re2.googlecode.com/files/${PN}-${PV##*_p}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# TODO: the directory in the tarball should really be versioned.
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-compile-r0.patch"
+ multilib_copy_sources
+}
+
+mymake() {
+ local makeopts=(
+ AR="$(tc-getAR)"
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS} -pthread"
+ LDFLAGS="${LDFLAGS} -pthread"
+ NM="$(tc-getNM)"
+ )
+ emake "${makeopts[@]}" "$@"
+}
+
+multilib_src_compile() {
+ mymake
+}
+
+multilib_src_test() {
+ mymake static-test
+}
+
+multilib_src_install() {
+ emake DESTDIR="${ED}" prefix=usr libdir=usr/$(get_libdir) install
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS CONTRIBUTORS README doc/syntax.txt
+ dohtml doc/syntax.html
+}
diff --git a/dev-libs/re2/re2-0_p20140304.ebuild b/dev-libs/re2/re2-0_p20140304.ebuild
new file mode 100644
index 000000000000..9496910e814e
--- /dev/null
+++ b/dev-libs/re2/re2-0_p20140304.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic eutils multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="An efficent, principled regular expression library"
+HOMEPAGE="http://code.google.com/p/re2/"
+SRC_URI="http://re2.googlecode.com/files/${PN}-${PV##*_p}.tgz"
+
+LICENSE="BSD"
+# Symbols removed in version 20140110
+# http://upstream-tracker.org/compat_reports/re2/20131024_to_20140110/abi_compat_report.html
+# https://code.google.com/p/re2/issues/detail?id=111
+SLOT="0/0.20140110"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE=""
+
+# TODO: the directory in the tarball should really be versioned.
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ multilib_copy_sources
+}
+
+src_configure() {
+ tc-export AR CXX NM
+ append-cxxflags -pthread
+ append-ldflags -pthread
+}
+
+multilib_src_test() {
+ emake static-test
+}
+
+multilib_src_install() {
+ emake DESTDIR="${ED}" prefix=usr libdir=usr/$(get_libdir) install
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS CONTRIBUTORS README doc/syntax.txt
+ dohtml doc/syntax.html
+}
diff --git a/dev-libs/redland-bindings/Manifest b/dev-libs/redland-bindings/Manifest
new file mode 100644
index 000000000000..a0b1e59dcf8f
--- /dev/null
+++ b/dev-libs/redland-bindings/Manifest
@@ -0,0 +1 @@
+DIST redland-bindings-1.0.14.1.tar.gz 792557 SHA256 a8cc365fccf292c56d53341ecae57fe8727e5002e048ca25f6251b5e595aec40 SHA512 5e037a96f857c95bf4b9277d98c7de1fa41c4ba7e49e199eeb516458343587c796a10e857679c889406b22bca8617828a2bccd07c31b73f2366cdea39cefad15 WHIRLPOOL 7858ce69a6664a5b219696c6fc9c96233f6bcdeeca6f494f83f6cbfde2873687c22a5bae7e01ea4f8b5037046addd13259ebc216f903f1cacb09cdf64b2aa1ba
diff --git a/dev-libs/redland-bindings/metadata.xml b/dev-libs/redland-bindings/metadata.xml
new file mode 100644
index 000000000000..e1774e3d9ad7
--- /dev/null
+++ b/dev-libs/redland-bindings/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+</pkgmetadata>
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild
new file mode 100644
index 000000000000..9b67ddb1743f
--- /dev/null
+++ b/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit multilib python-single-r1
+
+DESCRIPTION="Language bindings for Redland"
+HOMEPAGE="http://librdf.org/bindings/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x86-linux ~ppc-macos"
+IUSE="lua perl python php ruby"
+
+RDEPEND=">=dev-libs/redland-1.0.14
+ lua? ( >=dev-lang/lua-5.1 )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( dev-lang/ruby dev-ruby/log4r )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/swig-2
+ sys-apps/sed"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ econf \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with php) \
+ $(use_with ruby)
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALLDIRS=vendor luadir=/usr/$(get_libdir)/lua/5.1 install
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -delete
+ find "${ED}" -depth -mindepth 1 -type d -empty -delete
+ fi
+ use python && python_optimize
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ dohtml {NEWS,README,RELEASE,TODO}.html
+}
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.14.1.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.14.1.ebuild
new file mode 100644
index 000000000000..e9278b2cd641
--- /dev/null
+++ b/dev-libs/redland-bindings/redland-bindings-1.0.14.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+PYTHON_DEPEND="python? 2:2.7"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit multilib python
+
+DESCRIPTION="Language bindings for Redland"
+HOMEPAGE="http://librdf.org/bindings/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x86-linux ~ppc-macos"
+IUSE="lua perl python php ruby"
+
+RDEPEND=">=dev-libs/redland-1.0.14
+ lua? ( >=dev-lang/lua-5.1 )
+ perl? ( dev-lang/perl )
+ php? ( dev-lang/php )
+ ruby? ( dev-lang/ruby dev-ruby/log4r )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/swig-2
+ sys-apps/sed"
+
+pkg_setup() {
+ use python && python_pkg_setup
+}
+
+src_configure() {
+ econf \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with php) \
+ $(use_with ruby)
+
+ # Python bindings are built/tested/installed manually.
+ sed -e "/^SUBDIRS =/s/ python//" -i Makefile
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ python_copy_sources python
+
+ building() {
+ emake \
+ PYTHON_INCLUDES="-I$(python_get_includedir)" \
+ pythondir="$(python_get_sitedir)"
+ }
+ python_execute_function -s --source-dir python building
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ testing() {
+ emake \
+ PYTHON="$(PYTHON)" \
+ check
+ }
+ python_execute_function -s --source-dir python testing
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALLDIRS=vendor luadir=/usr/$(get_libdir)/lua/5.1 install
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -delete
+ find "${ED}" -depth -mindepth 1 -type d -empty -delete
+ fi
+
+ if use python; then
+ installation() {
+ emake \
+ DESTDIR="${D}" \
+ pythondir="$(python_get_sitedir)" \
+ install
+ }
+ python_execute_function -s --source-dir python installation
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ dohtml {NEWS,README,RELEASE,TODO}.html
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize RDF.py
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup RDF.py
+}
diff --git a/dev-libs/redland/Manifest b/dev-libs/redland/Manifest
new file mode 100644
index 000000000000..631f859fe8cc
--- /dev/null
+++ b/dev-libs/redland/Manifest
@@ -0,0 +1,3 @@
+DIST redland-1.0.15.tar.gz 1600090 SHA256 0e1f5825b6357c9b490da866c95ae1d895dbb5f445013d2511c37df822ee9ec6 SHA512 94b8806d0c5b8ff5c394bc6825c1347efe609a2d7a72f9346fc88b15094938e69b482d28ca8a4eea64876a6afdf6c3b60275c987a617cc498cf19d6fbc53950b WHIRLPOOL d204eb1dcfe9edcb1eab9ee6d4ed812bf1f08ff3bbd9359c44443a1d2a5f651195923196be53b6169bb4aeed21253297145213d1d59250940c8dcd2170e48a34
+DIST redland-1.0.16.tar.gz 1624112 SHA256 d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd SHA512 16a57569d00f8bbfda9e90d93d686e6f51b14f066f013c9757f2b372d7b23c58fe0ba172953f8affe73c8d804e966566dc38401caca46cee2a8b091019828457 WHIRLPOOL 6323c60fdd0b6360da10815ebe1eaf2119a0722736a938eff83b0040f7db894e8bd591c6d4d355159cf7641eb2063a6ea39e7da875afae6a2f33187c31ed1259
+DIST redland-1.0.17.tar.gz 1621566 SHA256 de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681 SHA512 363323ffc9e75d4f0e3a3b40952f6241fd0d8b9f46bfd4dd86cf0a5162de35257a8b70ce408a6083c03ba7c388982231a3774e5e9024b262ebb02968f778b850 WHIRLPOOL b33e461bccd2d54e46a48baac9b4a7f8dfd885fd9b82a550ef6c038ddccd0b4ea56b5b01709ee9762dbc28385f04a95ba391f4a53434678a95f005e00ac04b31
diff --git a/dev-libs/redland/metadata.xml b/dev-libs/redland/metadata.xml
new file mode 100644
index 000000000000..e1774e3d9ad7
--- /dev/null
+++ b/dev-libs/redland/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+</pkgmetadata>
diff --git a/dev-libs/redland/redland-1.0.15.ebuild b/dev-libs/redland/redland-1.0.15.ebuild
new file mode 100644
index 000000000000..ad5e3d1572ec
--- /dev/null
+++ b/dev-libs/redland/redland-1.0.15.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit libtool
+
+DESCRIPTION="High-level interface for the Resource Description Framework"
+HOMEPAGE="http://librdf.org/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="berkdb iodbc mysql odbc postgres sqlite ssl static-libs +xml"
+
+# Drop the libtool dep once libltdl goes stable.
+RDEPEND="|| ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 )
+ mysql? ( virtual/mysql )
+ sqlite? ( =dev-db/sqlite-3* )
+ berkdb? ( sys-libs/db )
+ xml? ( dev-libs/libxml2 )
+ !xml? ( >=dev-libs/expat-2 )
+ ssl? ( dev-libs/openssl:0 )
+ >=media-libs/raptor-2.0.7
+ >=dev-libs/rasqal-0.9.28
+ postgres? ( dev-db/postgresql )
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ elibtoolize # NOTE: this is for fbsd .so version
+}
+
+src_configure() {
+ local parser=expat
+ use xml && parser=libxml
+
+ local myconf="--without-virtuoso"
+ if use iodbc; then
+ myconf="--with-virtuoso --with-iodbc --without-unixodbc"
+ elif use odbc; then
+ myconf="--with-virtuoso --with-unixodbc --without-iodbc"
+ fi
+
+ # FIXME: upstream doesn't test with --with-threads and testsuite fails
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with berkdb bdb) \
+ --with-xml-parser=${parser} \
+ $(use_with ssl openssl-digests) \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres postgresql) \
+ --without-threads \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ ${myconf}
+}
+
+src_test() {
+ if ! use berkdb; then
+ export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
+ export REDLAND_TEST_CLONING_STORAGE_NAME=test
+ export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
+ fi
+ default
+}
+
+src_install() {
+ default
+ dohtml {FAQS,NEWS,README,RELEASE,TODO}.html
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+}
diff --git a/dev-libs/redland/redland-1.0.16.ebuild b/dev-libs/redland/redland-1.0.16.ebuild
new file mode 100644
index 000000000000..7a1de943299f
--- /dev/null
+++ b/dev-libs/redland/redland-1.0.16.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit db-use libtool
+
+DESCRIPTION="High-level interface for the Resource Description Framework"
+HOMEPAGE="http://librdf.org/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="berkdb iodbc mysql odbc postgres sqlite static-libs +xml"
+
+# Drop the libtool dep once libltdl goes stable.
+RDEPEND="|| ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 )
+ mysql? ( virtual/mysql )
+ sqlite? ( =dev-db/sqlite-3* )
+ berkdb? ( sys-libs/db )
+ xml? ( dev-libs/libxml2 )
+ !xml? ( >=dev-libs/expat-2 )
+ >=media-libs/raptor-2.0.7
+ >=dev-libs/rasqal-0.9.28
+ postgres? ( dev-db/postgresql )
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ elibtoolize # NOTE: this is for fbsd .so version
+}
+
+src_configure() {
+ local parser=expat
+ use xml && parser=libxml
+
+ local myconf=( --without-virtuoso )
+ if use iodbc; then
+ myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
+ elif use odbc; then
+ myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
+ fi
+
+ if use berkdb; then
+ myconf+=(
+ --with-bdb-include="$(db_includedir)"
+ --with-bdb-lib="${EPREFIX}"/usr/$(get_libdir)
+ --with-bdb-dbname="$(db_libname)"
+ )
+ fi
+
+ # FIXME: upstream doesn't test with --with-threads and testsuite fails
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with berkdb bdb) \
+ --with-xml-parser=${parser} \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres postgresql) \
+ --without-threads \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_test() {
+ if ! use berkdb; then
+ export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
+ export REDLAND_TEST_CLONING_STORAGE_NAME=test
+ export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
+ fi
+ default
+}
+
+src_install() {
+ default
+ dohtml {FAQS,NEWS,README,RELEASE,TODO}.html
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ # !!! REMOVE THIS ON VERSION BUMP, see bug 468298 for proper fix !!!
+ if [[ -n ${LDFLAGS} ]] ; then
+ sed -i \
+ -e "s:${LDFLAGS} ::g" \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/redland.pc || die
+ fi
+}
diff --git a/dev-libs/redland/redland-1.0.17-r1.ebuild b/dev-libs/redland/redland-1.0.17-r1.ebuild
new file mode 100644
index 000000000000..5541ca70a508
--- /dev/null
+++ b/dev-libs/redland/redland-1.0.17-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit db-use libtool
+
+DESCRIPTION="High-level interface for the Resource Description Framework"
+HOMEPAGE="http://librdf.org/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="berkdb iodbc mysql odbc postgres sqlite static-libs"
+
+RDEPEND="dev-libs/libltdl:0
+ mysql? ( virtual/mysql )
+ sqlite? ( =dev-db/sqlite-3* )
+ berkdb? ( sys-libs/db )
+ >=media-libs/raptor-2.0.14
+ >=dev-libs/rasqal-0.9.32
+ postgres? ( dev-db/postgresql )
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+MAKEOPTS="${MAKEOPTS} -j1" #500574, required for both src_compile() and src_install()
+
+src_prepare() {
+ elibtoolize # NOTE: this is for fbsd .so version
+}
+
+src_configure() {
+ local myconf=( --without-virtuoso )
+ if use iodbc; then
+ myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
+ elif use odbc; then
+ myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
+ fi
+
+ if use berkdb; then
+ myconf+=(
+ --with-bdb-include="$(db_includedir)"
+ --with-bdb-lib="${EPREFIX}"/usr/$(get_libdir)
+ --with-bdb-dbname="$(db_libname)"
+ )
+ fi
+
+ # FIXME: upstream doesn't test with --with-threads and testsuite fails
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with berkdb bdb) \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres postgresql) \
+ --without-threads \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ "${myconf[@]}"
+}
+
+src_test() {
+ if ! use berkdb; then
+ export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
+ export REDLAND_TEST_CLONING_STORAGE_NAME=test
+ export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
+ fi
+ default
+}
+
+src_install() {
+ default
+ dohtml {FAQS,NEWS,README,RELEASE,TODO}.html
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ # !!! REMOVE THIS ON VERSION BUMP, see bug 468298 for proper fix !!!
+ if [[ -n ${LDFLAGS} ]]; then
+ sed -i \
+ -e "s:${LDFLAGS} ::g" \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/${PN}.pc || die
+ fi
+
+ # http://bugs.gentoo.org/467768
+ local _rdocdir=/usr/share/doc/${PF}/html/${PN}
+ [[ -d ${ED}/${_rdocdir} ]] && dosym ${_rdocdir} /usr/share/gtk-doc/html/${PN}
+}
diff --git a/dev-libs/redland/redland-1.0.17.ebuild b/dev-libs/redland/redland-1.0.17.ebuild
new file mode 100644
index 000000000000..5541ca70a508
--- /dev/null
+++ b/dev-libs/redland/redland-1.0.17.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit db-use libtool
+
+DESCRIPTION="High-level interface for the Resource Description Framework"
+HOMEPAGE="http://librdf.org/"
+SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos"
+IUSE="berkdb iodbc mysql odbc postgres sqlite static-libs"
+
+RDEPEND="dev-libs/libltdl:0
+ mysql? ( virtual/mysql )
+ sqlite? ( =dev-db/sqlite-3* )
+ berkdb? ( sys-libs/db )
+ >=media-libs/raptor-2.0.14
+ >=dev-libs/rasqal-0.9.32
+ postgres? ( dev-db/postgresql )
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+MAKEOPTS="${MAKEOPTS} -j1" #500574, required for both src_compile() and src_install()
+
+src_prepare() {
+ elibtoolize # NOTE: this is for fbsd .so version
+}
+
+src_configure() {
+ local myconf=( --without-virtuoso )
+ if use iodbc; then
+ myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
+ elif use odbc; then
+ myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
+ fi
+
+ if use berkdb; then
+ myconf+=(
+ --with-bdb-include="$(db_includedir)"
+ --with-bdb-lib="${EPREFIX}"/usr/$(get_libdir)
+ --with-bdb-dbname="$(db_libname)"
+ )
+ fi
+
+ # FIXME: upstream doesn't test with --with-threads and testsuite fails
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with berkdb bdb) \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres postgresql) \
+ --without-threads \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ "${myconf[@]}"
+}
+
+src_test() {
+ if ! use berkdb; then
+ export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
+ export REDLAND_TEST_CLONING_STORAGE_NAME=test
+ export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
+ fi
+ default
+}
+
+src_install() {
+ default
+ dohtml {FAQS,NEWS,README,RELEASE,TODO}.html
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ # !!! REMOVE THIS ON VERSION BUMP, see bug 468298 for proper fix !!!
+ if [[ -n ${LDFLAGS} ]]; then
+ sed -i \
+ -e "s:${LDFLAGS} ::g" \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/${PN}.pc || die
+ fi
+
+ # http://bugs.gentoo.org/467768
+ local _rdocdir=/usr/share/doc/${PF}/html/${PN}
+ [[ -d ${ED}/${_rdocdir} ]] && dosym ${_rdocdir} /usr/share/gtk-doc/html/${PN}
+}
diff --git a/dev-libs/replicant/Manifest b/dev-libs/replicant/Manifest
new file mode 100644
index 000000000000..796a7a705d2d
--- /dev/null
+++ b/dev-libs/replicant/Manifest
@@ -0,0 +1,4 @@
+DIST replicant-0.6.4.tar.gz 423835 SHA256 8aae61ad9dc0949a81b23d40a5ebcbb0223c73353b883eba35f81a05918b7e4d SHA512 a4b82a2ba4f00807e999511e7549cb1e490cbef6e9b69b735e760c2d505a76e8dffc5338a7a2b2224c9a9518f2259eeb24dae340529d6004a26b7929a90a2c1f WHIRLPOOL dbfdefbb5bd7c57b3643c9e03e24685ed947e5c9e903a4b474589a63b9daf70ad9939f54e5a36bcbcce5e011880049a6c881d03722926181569f3a0d46e1389f
+DIST replicant-0.7.1.tar.gz 443142 SHA256 cd2a4734e3b7bbbb174424f9935ce46238e414eef134b012957559472db9b657 SHA512 d1eaae7b36e3738a39adebf9eeca92dbf83a8075bb8fc69c4a8b291d35d3df89dbbaf8a546f97464cea3431609e19b5f8252e67c82cf8fc20bd5f3447c0761a7 WHIRLPOOL b9147ca875e2b4a9a0cdb00afad98ea96b0542f1fce4638f6fefbb66a4e8d1bcfeab03bee1504482e16afd16a1f8234e1e437c0016bf8f3c8b3baeaa6c45bd7b
+DIST replicant-0.8.0.tar.gz 444032 SHA256 ef98d6c7cb961786b15587a8438d657c6baff9b94f629ec89c0a08ae60a54d1c SHA512 6161fc9f480952aa9d2e53065a21561585db0a859f715814eeacc5ea46f1bc6caf2e9df8e5b0b4500f2e9946a36ce28d398580323f1f6074620f505e870db846 WHIRLPOOL 71e435374c3065d69659469ca8be0d6173af279287bbdda762d9f4668c8e881cc39081f659cce93d7ba3276f4d6b17bdb3d0277cd0b49377e5b45dc59681ea9d
+DIST replicant-0.8.1.tar.gz 444074 SHA256 77515fb6bafcf63acf6f69841b2b3067dc10f156b4b04a10257ed29f1115b9e6 SHA512 a968b92717156656d8f3d8302cedf3405fe1efdf2be79905900f3e3ef26002ec83d4337dceb60ea493bb1607a0b0f9bcba92d766bb11463818483d64ecaaef38 WHIRLPOOL c1bdfe0da3f71a937495b173acb25403600007e00593220340607214a1c63bf0dee3e0eb33d8a224ab8d2b13e68926a420c831fc662c5f071aa5ab9aa00d8421
diff --git a/dev-libs/replicant/metadata.xml b/dev-libs/replicant/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/replicant/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/replicant/replicant-0.6.4.ebuild b/dev-libs/replicant/replicant-0.6.4.ebuild
new file mode 100644
index 000000000000..3ea178251fc9
--- /dev/null
+++ b/dev-libs/replicant/replicant-0.6.4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex replicant support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.4
+ >=dev-libs/libe-0.4
+ >=dev-libs/busybee-0.4
+ dev-libs/hyperleveldb
+ dev-cpp/glog
+ dev-cpp/sparsehash"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.7.1.ebuild b/dev-libs/replicant/replicant-0.7.1.ebuild
new file mode 100644
index 000000000000..f8d2572f8750
--- /dev/null
+++ b/dev-libs/replicant/replicant-0.7.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex replicant support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.4
+ >=dev-libs/libe-0.4
+ >=dev-libs/busybee-0.4
+ dev-libs/hyperleveldb
+ dev-cpp/glog
+ dev-cpp/sparsehash"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.8.0.ebuild b/dev-libs/replicant/replicant-0.8.0.ebuild
new file mode 100644
index 000000000000..aedb79fe0cb7
--- /dev/null
+++ b/dev-libs/replicant/replicant-0.8.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex replicant support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.8
+ >=dev-libs/libe-0.11
+ >=dev-libs/busybee-0.7
+ dev-libs/hyperleveldb
+ dev-cpp/glog
+ dev-cpp/sparsehash"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.8.1.ebuild b/dev-libs/replicant/replicant-0.8.1.ebuild
new file mode 100644
index 000000000000..aedb79fe0cb7
--- /dev/null
+++ b/dev-libs/replicant/replicant-0.8.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+DESCRIPTION="Hyperdex replicant support library"
+
+HOMEPAGE="http://hyperdex.org"
+SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE=""
+
+DEPEND=">=dev-libs/libpo6-0.8
+ >=dev-libs/libe-0.11
+ >=dev-libs/busybee-0.7
+ dev-libs/hyperleveldb
+ dev-cpp/glog
+ dev-cpp/sparsehash"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/rlog/Manifest b/dev-libs/rlog/Manifest
new file mode 100644
index 000000000000..3405fa06d702
--- /dev/null
+++ b/dev-libs/rlog/Manifest
@@ -0,0 +1 @@
+DIST rlog-1.4.tar.gz 640641 SHA256 a938eeedeb4d56f1343dc5561bc09ae70b24e8f70d07a6f8d4b6eed32e783f79 SHA512 a0af9afd6c5329ec4269a7778c3236b9e0b438cba65ed0a6f9cd7e802d196b7908eed5ab663f52905869cacffc7f1964b20ab2a53b37dbe65f1c8a9226cc423e WHIRLPOOL 9b190b73595d9aea29ffd5e1ce0d94cad720d9643bdba5faf4eac04a32c365a3ebd0283c8aa4892dd14958fed850d1266e4b48889c3d23286c1cf29e2a736f88
diff --git a/dev-libs/rlog/files/rlog-1.3.7-gcc-4.3.patch b/dev-libs/rlog/files/rlog-1.3.7-gcc-4.3.patch
new file mode 100644
index 000000000000..5e4bb91bf1e3
--- /dev/null
+++ b/dev-libs/rlog/files/rlog-1.3.7-gcc-4.3.patch
@@ -0,0 +1,10 @@
+--- rlog/RLogChannel.cpp
++++ rlog/RLogChannel.cpp
+@@ -20,6 +20,7 @@
+ #include "RLogChannel.h"
+ #include "rlog.h"
+ #include "Lock.h"
++#include <cstring>
+
+ using namespace std;
+ using namespace rlog;
diff --git a/dev-libs/rlog/metadata.xml b/dev-libs/rlog/metadata.xml
new file mode 100644
index 000000000000..cc9a8c3e469b
--- /dev/null
+++ b/dev-libs/rlog/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="google-code">rlog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/rlog/rlog-1.4.ebuild b/dev-libs/rlog/rlog-1.4.ebuild
new file mode 100644
index 000000000000..b85be5c5a44c
--- /dev/null
+++ b/dev-libs/rlog/rlog-1.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils
+
+DESCRIPTION="A C++ logging library"
+HOMEPAGE="http://code.google.com/p/rlog/"
+SRC_URI="http://rlog.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc sparc x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.3.7-gcc-4.3.patch
+}
+
+src_install() {
+ emake DESTDIR="${D}" pkgdocdir="/usr/share/doc/${PF}" install || die
+ dodoc AUTHORS ChangeLog README
+}
diff --git a/dev-libs/rote/Manifest b/dev-libs/rote/Manifest
new file mode 100644
index 000000000000..644a57e1c469
--- /dev/null
+++ b/dev-libs/rote/Manifest
@@ -0,0 +1 @@
+DIST rote-0.2.8.tar.gz 61440 SHA256 7e560a5ba9eda8c74a4f00f5addb655ac860fc3ad15f7d68e78c6c9912a76117 SHA512 699d45fb188de51a7059cc94febf69ff8a7c15cc5dc2dcbc81cba76e531ec415b242ee856e03ce1c9ca6f7f6ae6a73bece299088a4bd41e8f9e846de206727ab WHIRLPOOL 5dcc61063dec76727e1bdfbe5c93c60a788a4cef9eae42e668c4dae1432bb600d872b0a1a1b9733e3e6802b7ef86a9d5d91a0771f593e14265006645b61b6e55
diff --git a/dev-libs/rote/metadata.xml b/dev-libs/rote/metadata.xml
new file mode 100644
index 000000000000..4ad482a74392
--- /dev/null
+++ b/dev-libs/rote/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rote</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/rote/rote-0.2.8.ebuild b/dev-libs/rote/rote-0.2.8.ebuild
new file mode 100644
index 000000000000..dc0ee5bb9965
--- /dev/null
+++ b/dev-libs/rote/rote-0.2.8.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="simple C library for VT102 terminal emulation"
+HOMEPAGE="http://rote.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/rremove/Manifest b/dev-libs/rremove/Manifest
new file mode 100644
index 000000000000..a8912ebb88c2
--- /dev/null
+++ b/dev-libs/rremove/Manifest
@@ -0,0 +1 @@
+DIST rremove-1.0.5.tar.gz 304916 SHA256 e248018a6160866e53065c3da2c27d73e7cf83a43aea7182798b14bad7c97727 SHA512 d7e31d18a3b54d506954703db4d2753eb4884bfda682c46f6f9100d7c9e69ba8d2faad64791869a22256babd29d2df79861e15018d075617f39ba3bfe4b36797 WHIRLPOOL 6b8091d85815837d8cf9dad2b48cf9c00c194e2f16e5c94e3e483123acb2e6289de5dc83762b85c162ecc4ccbf6f4556ce8d2153b41ceef9c0daac3775ffd716
diff --git a/dev-libs/rremove/metadata.xml b/dev-libs/rremove/metadata.xml
new file mode 100644
index 000000000000..157326a7e891
--- /dev/null
+++ b/dev-libs/rremove/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/rremove/rremove-1.0.5.ebuild b/dev-libs/rremove/rremove-1.0.5.ebuild
new file mode 100644
index 000000000000..eb9cb12daedf
--- /dev/null
+++ b/dev-libs/rremove/rremove-1.0.5.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools-utils
+
+DESCRIPTION="A simple library to recursively delete non-empty directories"
+HOMEPAGE="https://frigidcode.com/code/rremove/"
+SRC_URI="https://frigidcode.com/code/rremove/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
diff --git a/dev-libs/safestr/Manifest b/dev-libs/safestr/Manifest
new file mode 100644
index 000000000000..44be6b608af2
--- /dev/null
+++ b/dev-libs/safestr/Manifest
@@ -0,0 +1 @@
+DIST safestr-1.0.3.tar.gz 1147074 SHA256 791256efff74317273cf8b64c9ad360b7bce16d561b4350bb7de9776c5855b6c SHA512 fb524457fd1577c39b885b1aa5a349101b52aa4f56a7192285ad4fab0a7a707ecea6325d6db050d79df0d56ed8dd97d559713cbeba3d6aa3162249887062a732 WHIRLPOOL c3f2726e5cf811c0714b29b79504c441126f8638f1bc6e108b219a0cc8d1083435de1aee302f0af6324abb586534afd53da215fa69fb5927d8e6a7dbce2022a7
diff --git a/dev-libs/safestr/metadata.xml b/dev-libs/safestr/metadata.xml
new file mode 100644
index 000000000000..fec67fc58f55
--- /dev/null
+++ b/dev-libs/safestr/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+The goal of the SafeStr library is to provide a rich string-handling library
+for C that has safe semantics yet interoperates with legacy library code in a
+straightforward manner. Additionally, porting code that uses standard C string
+handling should be straightforward. The library should work on all modern
+Unix-like platforms, as well as any 32-bit Microsoft Windows OS.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-libs/safestr/safestr-1.0.3.ebuild b/dev-libs/safestr/safestr-1.0.3.ebuild
new file mode 100644
index 000000000000..6cfb65740021
--- /dev/null
+++ b/dev-libs/safestr/safestr-1.0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="provide a standards compatible yet secure string implementation"
+HOMEPAGE="http://www.zork.org/safestr/"
+SRC_URI="http://www.zork.org/software/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="dev-libs/xxl"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ rm -rf xxl-*
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc README doc/safestr.pdf
+ dohtml doc/safestr.html
+}
diff --git a/dev-libs/sblim-sfcc/Manifest b/dev-libs/sblim-sfcc/Manifest
new file mode 100644
index 000000000000..06363cfc550c
--- /dev/null
+++ b/dev-libs/sblim-sfcc/Manifest
@@ -0,0 +1 @@
+DIST sblim-sfcc-2.2.5.tar.bz2 376288 SHA256 b22931c9247f07f9d842e50b0f4377a31752bb9e5aec6b529faea2ba9b8e862d SHA512 c4ae3e36eec0a9faab347ba742d4a10cd72c906e89794e4e5a52411ac5bcd10b86ed8130efd02a44bba573654a10cfd1b504cedb638f7f66a47f8ee7215bc78b WHIRLPOOL c7e5867a589cfc6de2a9b9b95fad0b648e239f0ba8f7f4628fec087dff6f6cb97b728cebbb082cb5fda18f9a94c77b792aaad110b59e35a756905a8c9503a0cf
diff --git a/dev-libs/sblim-sfcc/metadata.xml b/dev-libs/sblim-sfcc/metadata.xml
new file mode 100644
index 000000000000..f6583660b6d1
--- /dev/null
+++ b/dev-libs/sblim-sfcc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ </maintainer>
+ <herd>proxy-maintainers</herd>
+ <upstream>
+ <remote-id type="sourceforge">sblim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/sblim-sfcc/sblim-sfcc-2.2.5.ebuild b/dev-libs/sblim-sfcc/sblim-sfcc-2.2.5.ebuild
new file mode 100644
index 000000000000..d45518d3cf56
--- /dev/null
+++ b/dev-libs/sblim-sfcc/sblim-sfcc-2.2.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils
+
+DESCRIPTION="Small Footprint CIM Client Library"
+HOMEPAGE="http://sourceforge.net/apps/mediawiki/sblim"
+SRC_URI="mirror://sourceforge/project/sblim/${PN}/${P}.tar.bz2"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ net-misc/curl[ssl]
+ "
+RDEPEND="${DEPEND}"
+DOCS=()
+
+src_configure() {
+ local myeconfargs=(
+ --enable-http-chunking
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/sdformat/Manifest b/dev-libs/sdformat/Manifest
new file mode 100644
index 000000000000..948c801bf6df
--- /dev/null
+++ b/dev-libs/sdformat/Manifest
@@ -0,0 +1 @@
+DIST sdformat2_2.3.2.tar.bz2 407034 SHA256 6207f90a29e6ba18bdeef116d98e92bfdbdaeb7f2a8cd40345727b6661be5998 SHA512 53e93ad69869072071293d6fc0ed840f84d8fff34f1fdf56465fe7d48f41f8fdb45723611b5be3776790717466883f602396c6eb9510a7e8f71ee1031d42140f WHIRLPOOL 0e592d44c12cd51be3bced7de472e268ba34da3b5ad03f85e0433fb0fd7d789cedfd8c746ad88b79c0fddf92c1bfca9aae4f97742dba293422adfadc1888ca50
diff --git a/dev-libs/sdformat/metadata.xml b/dev-libs/sdformat/metadata.xml
new file mode 100644
index 000000000000..e7dd05f66879
--- /dev/null
+++ b/dev-libs/sdformat/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/sdformat/sdformat-2.3.2.ebuild b/dev-libs/sdformat/sdformat-2.3.2.ebuild
new file mode 100644
index 000000000000..c569a0af61e3
--- /dev/null
+++ b/dev-libs/sdformat/sdformat-2.3.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils versionator vcs-snapshot
+
+DESCRIPTION="Simulation Description Format (SDF) parser"
+HOMEPAGE="http://sdformat.org/"
+SRC_URI="https://bitbucket.org/osrf/sdformat/get/${PN}$(get_major_version)_${PV}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ dev-libs/urdfdom
+ dev-libs/tinyxml
+ dev-libs/boost:=
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+S="${WORKDIR}/${PN}$(get_major_version)_${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ "-DUSE_UPSTREAM_CFLAGS=OFF"
+ "-DUSE_EXTERNAL_URDF=ON"
+ "-DUSE_EXTERNAL_TINYXML=ON"
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/serd/Manifest b/dev-libs/serd/Manifest
new file mode 100644
index 000000000000..c638d6fe2804
--- /dev/null
+++ b/dev-libs/serd/Manifest
@@ -0,0 +1,2 @@
+DIST serd-0.18.2.tar.bz2 291053 SHA256 8e3d8402c33fa217572d3ee936919037420fb237fb8603a7b024ab482a94eac1 SHA512 2e775f50efbefa88d291999a26bf8e6602b5791affc9b9073451eb1406db654a63d2b91eb862ba7e714b5ce9ad51f7b7b259714476cd1532cf17fc072a923c3f WHIRLPOOL 85d8599a3c4f1c26d438b741b70f75b0c3b7265a973b93bafa45f59f3a669b664d979ff49f9894f36c76d1c1826818222a089051b7202a71b85f30d2cba80980
+DIST serd-0.20.0.tar.bz2 363807 SHA256 64515f4f5eb27ba2ba151027a72a77672f6ee8a2a3b58991ad5c045135feabbf SHA512 d313abb6423b0b1dd30b5c4f7ede45a5e51b3c8676b49215e106a75d73280e07c48b3895f2d88aeac2117eaf9c82cdb58bfc530895ad17a34d810c256868d1ef WHIRLPOOL 0cb4e6b9c870cc2bf5a34eb5c25a4a5fbcc90737ac646688338b9529baa774da29cd9f8659cdcc8f13e714949ea0ed840af28ed81a869465f8902b3e24cbeb27
diff --git a/dev-libs/serd/metadata.xml b/dev-libs/serd/metadata.xml
new file mode 100644
index 000000000000..1026eab86322
--- /dev/null
+++ b/dev-libs/serd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proaudio</herd>
+<longdescription lang="en">
+ Serd is a lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples.
+
+ Serd is not intended to be a swiss-army knife of RDF syntax, but rather is suited to resource limited or performance critical applications, or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 hosts or plugins).
+</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/serd/serd-0.18.2.ebuild b/dev-libs/serd/serd-0.18.2.ebuild
new file mode 100644
index 000000000000..f8b9d1df228d
--- /dev/null
+++ b/dev-libs/serd/serd-0.18.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='threads(+)'
+inherit python-any-r1 waf-utils
+
+DESCRIPTION="Library for RDF syntax which supports reading and writing Turtle and NTriples"
+HOMEPAGE="http://drobilla.net/software/serd/"
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc static-libs test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( "AUTHORS" "NEWS" "README" )
+
+src_prepare() {
+ sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
+}
+
+src_configure() {
+ waf-utils_src_configure \
+ --docdir=/usr/share/doc/${PF} \
+ $(use test && echo "--test") \
+ $(use doc && echo "--docs") \
+ $(use static-libs && echo "--static")
+}
+
+src_test() {
+ ./waf test || die
+}
diff --git a/dev-libs/serd/serd-0.20.0.ebuild b/dev-libs/serd/serd-0.20.0.ebuild
new file mode 100644
index 000000000000..45fa87ddcb08
--- /dev/null
+++ b/dev-libs/serd/serd-0.20.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='threads(+)'
+inherit python-any-r1 waf-utils
+
+DESCRIPTION="Library for RDF syntax which supports reading and writing Turtle and NTriples"
+HOMEPAGE="http://drobilla.net/software/serd/"
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="doc static-libs test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( "AUTHORS" "NEWS" "README" )
+
+src_prepare() {
+ sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
+}
+
+src_configure() {
+ waf-utils_src_configure \
+ --docdir=/usr/share/doc/${PF} \
+ $(use test && echo "--test") \
+ $(use doc && echo "--docs") \
+ $(use static-libs && echo "--static")
+}
+
+src_test() {
+ ./waf test || die
+}
diff --git a/dev-libs/serdisplib/Manifest b/dev-libs/serdisplib/Manifest
new file mode 100644
index 000000000000..7b7e9109a778
--- /dev/null
+++ b/dev-libs/serdisplib/Manifest
@@ -0,0 +1 @@
+DIST serdisplib-1.97.9.tar.gz 293190 SHA256 fe82ebe72731e91509083569dfe41a09e21632cc1211cdc4f76274f83ed218fa SHA512 ab45202fd1fd85b12f1ebf7a7e1a4575ad363f6faffd45949300840456e26dd521c70b67ff57c32e1ff6c0a9f2668b3be6a653afb57ba6da701fbae6e8db3118 WHIRLPOOL f5427445f07b48ce3b4aa00b4a8f5cfeaa5cfa2610b9c83e1c9eb712ac3d019e6027d599cdf2829bb23c9e8f9b670e43c14cea95b040f11e631f4071a4fc79aa
diff --git a/dev-libs/serdisplib/metadata.xml b/dev-libs/serdisplib/metadata.xml
new file mode 100644
index 000000000000..52b25a031ac8
--- /dev/null
+++ b/dev-libs/serdisplib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Library to drive displays with built-in controllers connected to
+ a parallel port (and serial port for i2c-displays).
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">serdisplib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/serdisplib/serdisplib-1.97.9.ebuild b/dev-libs/serdisplib/serdisplib-1.97.9.ebuild
new file mode 100644
index 000000000000..aa48f18afe69
--- /dev/null
+++ b/dev-libs/serdisplib/serdisplib-1.97.9.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+DESCRIPTION="Library to drive serial/parallel/usb displays with built-in controllers"
+HOMEPAGE="http://serdisplib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="sdl usb"
+
+DEPEND="media-libs/gd[jpeg,png]
+ sdl? ( media-libs/libsdl )
+ usb? ( virtual/libusb:0 )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable sdl libSDL) \
+ $(use_enable usb libusb)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS HISTORY README BUGS PINOUTS
+}
diff --git a/dev-libs/shared-desktop-ontologies/Manifest b/dev-libs/shared-desktop-ontologies/Manifest
new file mode 100644
index 000000000000..e07571354b64
--- /dev/null
+++ b/dev-libs/shared-desktop-ontologies/Manifest
@@ -0,0 +1 @@
+DIST shared-desktop-ontologies-0.11.0.tar.bz2 3967786 SHA256 82afe6c24cf574f242c1fa85a5daff8c3631cc9b4cbcb80379dce6f364b4bbd4 SHA512 5dfaf0b28ed4ffe8beadac137decf6ce5d881353df5efeedd8f328e6ba8e7d2f02bbae920356abb4baa61388c30f50464eaac1d14b650880b35ac0aa6bd3ecce WHIRLPOOL 833b11c684e42736e029baaf1ea11beffc6517725f76304f1f44674bb0506cfcca72aacf526570c0ff4e0ba28d414ae9e5b7b32b0203b7d98bc19be543b77f16
diff --git a/dev-libs/shared-desktop-ontologies/metadata.xml b/dev-libs/shared-desktop-ontologies/metadata.xml
new file mode 100644
index 000000000000..518c0efdf120
--- /dev/null
+++ b/dev-libs/shared-desktop-ontologies/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <upstream>
+ <remote-id type="sourceforge">oscaf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/shared-desktop-ontologies/shared-desktop-ontologies-0.11.0.ebuild b/dev-libs/shared-desktop-ontologies/shared-desktop-ontologies-0.11.0.ebuild
new file mode 100644
index 000000000000..6aeda72b4558
--- /dev/null
+++ b/dev-libs/shared-desktop-ontologies/shared-desktop-ontologies-0.11.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == *9999 ]]; then
+ SCM_ECLASS="git-2"
+fi
+EGIT_REPO_URI="git://oscaf.git.sourceforge.net/gitroot/oscaf/shared-desktop-ontologies"
+inherit cmake-utils ${SCM_ECLASS}
+unset SCM_ECLASS
+
+DESCRIPTION="Shared OSCAF desktop ontologies"
+HOMEPAGE="http://sourceforge.net/projects/oscaf"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://sourceforge/oscaf/${PN}/${P}.tar.bz2"
+ KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="|| ( BSD CC-BY-SA-3.0 )"
+SLOT="0"
+IUSE=""
+
+DOCS=(AUTHORS ChangeLog README)
diff --git a/dev-libs/shhopt/Manifest b/dev-libs/shhopt/Manifest
new file mode 100644
index 000000000000..fbfa4463e7bd
--- /dev/null
+++ b/dev-libs/shhopt/Manifest
@@ -0,0 +1 @@
+DIST shhopt-1.1.7.tar.gz 9923 SHA256 bae94335124efa6fcc2f0a55cabd68c9c90be935bcdb8054d7e5188e0d5da679 SHA512 bd985d50e87808b5c6993496ba3e7c255d47895d90e108f03fd72bb273e786730898048af3b30ca29cb5dbd058f2ea178ca73b6362211c50aa0eb75f743b5ec8 WHIRLPOOL c779f51a8055cc90e403b08161c2da237b3cf2bf87ffd54747bde45014421f0d12f99436041225be4b72183c0a483971f10d26cb6e4bd811690dc09b92805356
diff --git a/dev-libs/shhopt/files/shhopt-1.1.7-build.patch b/dev-libs/shhopt/files/shhopt-1.1.7-build.patch
new file mode 100644
index 000000000000..d1d5606faab6
--- /dev/null
+++ b/dev-libs/shhopt/files/shhopt-1.1.7-build.patch
@@ -0,0 +1,83 @@
+--- Makefile
++++ Makefile
+@@ -5,20 +5,15 @@
+ VERPAT = 7
+ VERSION = $(VERMAJ).$(VERMIN).$(VERPAT)
+
+-# Define SHARED as 1 for Linux shared ELF library
+-#SHARED = 1
+-
+-ifeq ($(SHARED),1)
+ LIBTARGET = lib$(DIST).so.$(VERSION)
+ LIBTARGETSO = lib$(DIST).so
+ LIBTARGETSOMAJ = $(LIBTARGETSO).$(VERMAJ)
+ CCSHRD = -fPIC
+-else
+-LIBTARGET = lib$(DIST).a
+-endif
++
++LIBTARGETA = lib$(DIST).a
+
+ LIBHEAD = $(DIST).h
+-TARGETS = $(LIBTARGET)
++TARGETS = $(LIBTARGET) $(LIBTARGETA)
+
+ INSTBASEDIR = /usr/local
+ INSTLIBDIR = $(INSTBASEDIR)/lib
+@@ -27,12 +22,12 @@
+ INSTALLPROG = install -m 755
+ MKDIRP = install -d -m 755
+
+-CC = gcc
+-OPTIM = -O2
+-
+-INCDIR = -I.
+-
+-CCOPT = -s -Wall $(OPTIM) $(INCDIR)
++CC ?= gcc
++AR ?= ar
++ARFLAGS ?= rc
++RANLIB ?= ranlib
++CPPFLAGS += -I.
++CFLAGS += -Wall
+
+ # Object files to store in the library
+ LIBOBJS = shhopt.o
+@@ -43,21 +38,19 @@
+ # don't worry if you get ranlib not found errors. This probably means
+ # that your ar does an implicit ranlib and you do not need to run ranlib
+ # separately. This error is harmless.
+-$(LIBTARGET): $(LIBOBJS)
+-ifeq ($(SHARED),1)
+- $(CC) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $(LIBTARGET) $(LIBOBJS)
+-else
+- ar rc $(LIBTARGET) $(LIBOBJS)
+- ranlib $(LIBTARGET) || true
+-endif
++$(LIBTARGET): $(LIBOBJS:.o=.lo)
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $@ $^
++$(LIBTARGETA): $(LIBOBJS)
++ $(AR) $(ARFLAGS) $@ $^
++ $(RANLIB) $@
+
+ # Note that you may need GNU's -liberty if your libc lacks strtoul
+ example: $(LIBTARGET) example.o
+ $(CC) -o example example.c \
+ -L. -I. -L$(INSTLIBDIR) -I$(INSTINCDIR) -lshhopt
+
+-.c.o:
+- $(CC) $(CCSHRD) -o $@ -c $(CCOPT) $<
++%.lo: %.c
++ $(COMPILE.c) $(CCSHRD) $^ -o $@
+
+ depend dep:
+ $(CC) $(INCDIR) -MM *.c >depend
+@@ -73,7 +66,7 @@
+ endif
+
+ clean:
+- rm -f *.o core *~ depend
++ rm -f *.o *.lo *.so* *.a core *~ depend
+
+ chmod:
+ chmod a+r *
diff --git a/dev-libs/shhopt/metadata.xml b/dev-libs/shhopt/metadata.xml
new file mode 100644
index 000000000000..eeaffa9df4e7
--- /dev/null
+++ b/dev-libs/shhopt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ C-functions for parsing command line options, both traditional
+ one-character options, and GNU'ish --long-options.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/shhopt/shhopt-1.1.7-r2.ebuild b/dev-libs/shhopt/shhopt-1.1.7-r2.ebuild
new file mode 100644
index 000000000000..b512dd8d23b9
--- /dev/null
+++ b/dev-libs/shhopt/shhopt-1.1.7-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="library for parsing command line options"
+HOMEPAGE="http://shh.thathost.com/pub-unix/"
+SRC_URI="http://shh.thathost.com/pub-unix/files/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-build.patch
+}
+
+src_compile() {
+ emake CC=$(tc-getCC) || die
+}
+
+src_install() {
+ dolib.a libshhopt.a || die
+ ln -s libshhopt.so.${PV} libshhopt.so
+ ln -s libshhopt.so.${PV} libshhopt.so.${PV:0:1}
+ dolib.so libshhopt.so* || die
+ insinto /usr/include
+ doins shhopt.h
+ dodoc ChangeLog CREDITS INSTALL README TODO
+}
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
new file mode 100644
index 000000000000..276a702eecfc
--- /dev/null
+++ b/dev-libs/skalibs/Manifest
@@ -0,0 +1 @@
+DIST skalibs-2.3.2.0.tar.gz 205976 SHA256 a36302b63fe97fa8d616cac0bb7aebbff60e1419dfb4d4f1af66b3c058dbd6ba SHA512 f5a4b85fc43f49eccf5a2ac2ce5b142afc28fe4af781e59d1ad21a7eb5896075720230391234fcf7879cb29ba2d1624926d8cca77c3925327aa7a9a5fefff91a WHIRLPOOL 453d5a0c9d1c2d84e1c8d5ac6bdb27e85d402de8007b8fcc6ba00c6e7c2400fb30c188da0a71343271edf47480916c7f3a5c7bb6e07703d5adc196bccc783350
diff --git a/dev-libs/skalibs/metadata.xml b/dev-libs/skalibs/metadata.xml
new file mode 100644
index 000000000000..de7bd9dde541
--- /dev/null
+++ b/dev-libs/skalibs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+<maintainer>
+<email>williamh@gentoo.org</email>
+<name>William Hubbs</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/skalibs/skalibs-2.3.2.0.ebuild b/dev-libs/skalibs/skalibs-2.3.2.0.ebuild
new file mode 100644
index 000000000000..5c66bd271317
--- /dev/null
+++ b/dev-libs/skalibs/skalibs-2.3.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib
+
+DESCRIPTION="development files used for building software at skarnet.org: essentially general-purpose libraries"
+HOMEPAGE="http://www.skarnet.org/software/skalibs/index.html"
+SRC_URI="http://www.skarnet.org/software/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="doc ipv6 static-libs"
+
+DEPEND=">=sys-devel/make-3.81"
+RDEPEND=""
+
+src_prepare() {
+ # Remove QA warning about LDFLAGS addition
+ sed -i "s~tryldflag LDFLAGS_AUTO -Wl,--hash-style=both~:~" "${S}/configure" || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable static-libs static) \
+ --dynlibdir=/$(get_libdir) \
+ --libdir=/usr/$(get_libdir)/${PN} \
+ --datadir=/etc \
+ --sysdepdir=/usr/$(get_libdir)/${PN} \
+ --enable-force-devr
+}
+
+src_install() {
+ default
+ dodir /etc/ld.so.conf.d/
+ echo "/$(get_libdir)/${PN}" > ${ED}/etc/ld.so.conf.d/10${PN}.conf || die
+
+ use doc && dohtml -r doc/*
+}
diff --git a/dev-libs/skyutils/Manifest b/dev-libs/skyutils/Manifest
new file mode 100644
index 000000000000..c7dbe9421616
--- /dev/null
+++ b/dev-libs/skyutils/Manifest
@@ -0,0 +1 @@
+DIST skyutils-2.8.tar.gz 357571 SHA256 724c23673f060ec14e452ff8d28a9592993d22328eac5213c780ac674d2a8518 SHA512 65073067f8cd3c81587e6a3b718cd4903004d681f6852afb7de8cb91249fc655afe8234aa780409843649dd0996d877892a97cc5073445ad687c7c2eb6619a01 WHIRLPOOL 1a223fce1fff2f37a0f9cbc20314e19018f4cd7ab50a6b0a12a13ad428442ed9cb58eef586d9e5ca96f7a2d0c76aca3388702a80986c9686ef5ff38d7b3cf64f
diff --git a/dev-libs/skyutils/files/skyutils-2.8-libs.patch b/dev-libs/skyutils/files/skyutils-2.8-libs.patch
new file mode 100644
index 000000000000..990b5fafc77d
--- /dev/null
+++ b/dev-libs/skyutils/files/skyutils-2.8-libs.patch
@@ -0,0 +1,12 @@
+diff -ur skyutils-2.8.orig/configure.in skyutils-2.8/configure.in
+--- skyutils-2.8.orig/configure.in 2005-05-09 08:16:44.000000000 +0000
++++ skyutils-2.8/configure.in 2008-07-18 05:38:13.000000000 +0000
+@@ -208,6 +208,8 @@
+ AC_SUBST(SU_ARCH_LIB)
+ AC_SUBST(SU_ARCH_CFLAGS)
+ AC_SUBST(SU_ANSI_CFLAGS)
++LIBS="$SU_PTHREAD_LIB $SU_DL_LIB $SU_SSL_LIB $SU_ARCH_LIB"
++AC_SUBST(LIBS)
+
+ AC_OUTPUT([
+ Makefile
diff --git a/dev-libs/skyutils/metadata.xml b/dev-libs/skyutils/metadata.xml
new file mode 100644
index 000000000000..127b8396b50f
--- /dev/null
+++ b/dev-libs/skyutils/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>This library contains many useful functions such as
+chained lists, string manipulation, socket, and the HTTP protocol.</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/skyutils/skyutils-2.8-r2.ebuild b/dev-libs/skyutils/skyutils-2.8-r2.ebuild
new file mode 100644
index 000000000000..4f81c9b65234
--- /dev/null
+++ b/dev-libs/skyutils/skyutils-2.8-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="Library of assorted C utility functions"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" # was "http://zekiller.skytech.org/coders_en.html"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
+IUSE="ssl"
+
+DEPEND="ssl? ( dev-libs/openssl )"
+
+src_prepare() {
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+ epatch "${FILESDIR}"/${P}-libs.patch
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -D_GNU_SOURCE
+ econf `use_enable ssl` || die "./configure failed"
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog
+}
diff --git a/dev-libs/smack/Manifest b/dev-libs/smack/Manifest
new file mode 100644
index 000000000000..14faf3688b43
--- /dev/null
+++ b/dev-libs/smack/Manifest
@@ -0,0 +1 @@
+DIST smack-0.5.0.tar.bz2 38923 SHA256 5fa0473bc988920e4d475fc57b1793c7dbe41f39105578291ceb3e5ad8f2bf32 SHA512 16c02538d44e3c53a783a5fd546a2813ae4da8e3d4e61fcc03a2c6c5127453ffaac1b5d5a04c499f6158d747b5cf37fdfa675dc4017d884f3eccb6dc0d76e754 WHIRLPOOL 406666a15ad2726e9868fc98ca43de34e22fd22e45f1ce35ba539c8b38c5723d11ec37ff05cc23589f328b6b309a9f8fbe6fc57e239b51aecdabdb0742c60924
diff --git a/dev-libs/smack/metadata.xml b/dev-libs/smack/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/dev-libs/smack/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/smack/smack-0.5.0.ebuild b/dev-libs/smack/smack-0.5.0.ebuild
new file mode 100644
index 000000000000..30eb5f7a4460
--- /dev/null
+++ b/dev-libs/smack/smack-0.5.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+DESCRIPTION="low-level IO storage which packs data into sorted compressed blobs"
+HOMEPAGE="http://reverbrain.com/smack/"
+SRC_URI="http://dev.gentoo.org/~patrick/${P}.tar.bz2"
+
+inherit eutils cmake-utils
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/snappy"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/sni-qt/Manifest b/dev-libs/sni-qt/Manifest
new file mode 100644
index 000000000000..0b28335a22df
--- /dev/null
+++ b/dev-libs/sni-qt/Manifest
@@ -0,0 +1 @@
+DIST sni-qt-0.2.6.tar.bz2 34082 SHA256 646a05f38d946b66e307b1248d04fefce821fc05b79bc200042573d731a1391e SHA512 aa4cffeb3a5a70d65bd5ff42dcdd1c8efd107ade32a104b9a91696aecfb39a7a15d151f7491030ac0d7df796f2c7e4e6c3c0b7e32ee07a7cdc949da757147621 WHIRLPOOL 73da71219d00032435679752b5bd208e120be21eb6119e055473f8043b938ceda0e48925279834318b480aa43af2a08d4c34de32df8e649e70643867c7f68ba7
diff --git a/dev-libs/sni-qt/metadata.xml b/dev-libs/sni-qt/metadata.xml
new file mode 100644
index 000000000000..010c945c7fa2
--- /dev/null
+++ b/dev-libs/sni-qt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <upstream>
+ <remote-id type="launchpad">sni-qt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/sni-qt/sni-qt-0.2.6-r1.ebuild b/dev-libs/sni-qt/sni-qt-0.2.6-r1.ebuild
new file mode 100644
index 000000000000..180fb6866d1a
--- /dev/null
+++ b/dev-libs/sni-qt/sni-qt-0.2.6-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib
+
+DESCRIPTION="A Qt plugin which turns all QSystemTrayIcon into StatusNotifierItems"
+HOMEPAGE="https://launchpad.net/sni-qt"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libdbusmenu-qt[qt4,${MULTILIB_USEDEP}]
+ >=dev-qt/qtcore-4.8.6:4[${MULTILIB_USEDEP}]
+ >=dev-qt/qtdbus-4.8.6:4[${MULTILIB_USEDEP}]
+ >=dev-qt/qtgui-4.8.6:4[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qttest-4.8.6:4[${MULTILIB_USEDEP}] )
+"
+
+src_prepare() {
+ if ! use test ; then
+ comment_add_subdirectory tests/auto
+ fi
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DQT_QMAKE_EXECUTABLE="/usr/$(get_libdir)/qt4/bin/qmake"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/snowball-stemmer/Manifest b/dev-libs/snowball-stemmer/Manifest
new file mode 100644
index 000000000000..dd109db0cd6d
--- /dev/null
+++ b/dev-libs/snowball-stemmer/Manifest
@@ -0,0 +1,2 @@
+DIST libstemmer_c-20091122.tgz 129207 SHA256 ad4e152379214480d599c86dd19421a36fce78cedd20fc324520c5bba0a512e7 SHA512 d1b2203dcc3d0f421526d3ec2f7e04889f93221222efe50501b4a1c7e74dfc51905141d4ada5a76feab5cec8dbc64f55dd55b53f6e89f658c67e72dc6667091d WHIRLPOOL 03baf5de80854a2726990d1f79e17a46342b0d8431a564805d78878bba1eba0c1aba6f4f53c64eb1a1946b50053632c32c9106305f0a53623068531f2b67b5c4
+DIST libstemmer_c-20140325.tgz 129506 SHA256 7694b0ec0a380670470587a559abb219c224b8047ed9e3078dccb8898a4a4afb SHA512 938eb12d4fe9e229f21536a6cb8a4322e0b664a7fbc15685e7ad46b4a6ccdfbefc55cc484f86bc738791d6f3e6d1b61ba777a4332a62cf76a8b0a5efd2c2762b WHIRLPOOL 24de2111859bc10c707e623d69ac13f4a5b5632a59ef2909657d0dde427b83ca73f8990dbd1f72a19ba6de0ab59f3a7503642ced6454e9888971c3e8884c66e9
diff --git a/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch b/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch
new file mode 100644
index 000000000000..ca27fc517705
--- /dev/null
+++ b/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch
@@ -0,0 +1,23 @@
+--- /home/graaff/Desktop/Makefile 2009-11-06 01:57:50.000000000 +0100
++++ Makefile 2013-07-18 10:57:32.482149252 +0200
+@@ -1,9 +1,13 @@
+ include mkinc.mak
+-CFLAGS=-Iinclude
+-all: libstemmer.o stemwords
+-libstemmer.o: $(snowball_sources:.c=.o)
+- $(AR) -cru $@ $^
+-stemwords: examples/stemwords.o libstemmer.o
+- $(CC) -o $@ $^
++CFLAGS+=-Iinclude -fPIC
++all: libstemmer.so libstemmer.a stemwords
++libstemmer.so: $(snowball_sources:.c=.o)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.0d -o $@.0d.0.0 $^
++ ln -s $@.0d.0.0 $@.0d
++ ln -s $@.0d.0.0 $@
++libstemmer.a: $(snowball_sources:.c=.o)
++ $(AR) -crs $@ $^
++stemwords: examples/stemwords.o libstemmer.so
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ clean:
+- rm -f stemwords *.o src_c/*.o runtime/*.o libstemmer/*.o
++ rm -f stemwords libstemmer.so* libstemmer.a *.o src_c/*.o runtime/*.o libstemmer/*.o
diff --git a/dev-libs/snowball-stemmer/metadata.xml b/dev-libs/snowball-stemmer/metadata.xml
new file mode 100644
index 000000000000..c378f8d71389
--- /dev/null
+++ b/dev-libs/snowball-stemmer/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>graaff@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-0.20091122.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-0.20091122.ebuild
new file mode 100644
index 000000000000..86c80cb31d2d
--- /dev/null
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-0.20091122.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+# The version number here has been added by Gentoo.
+# It is the date that http://snowball.tartarus.org/dist/libstemmer_c.tgz was
+# fetched.
+PVDATE=$(get_after_major_version)
+
+DESCRIPTION="This contains all you need to include the snowball stemming algorithms into a C project of your own"
+HOMEPAGE="http://snowball.tartarus.org/download.php"
+SRC_URI="mirror://gentoo/libstemmer_c-${PVDATE}.tgz"
+
+# This will probably be different if this ebuild ends up being used for both
+# Java and C.
+S="${WORKDIR}/libstemmer_c"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+
+# This could be used to package both libstemmer_c and libstemmer_java together.
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}/libstemmer_c-shared-library.patch"
+}
+
+src_compile() {
+ CC=$(tc-getCC) emake libstemmer.so stemwords || die "Make failed!"
+
+ if use static-libs; then
+ CC=$(tc-getCC) AR=$(tc-getAR) emake libstemmer.a || die "Make failed!"
+ fi
+}
+
+src_install() {
+ dodoc README
+
+ dobin stemwords
+
+ doheader include/libstemmer.h
+
+ dolib.so libstemmer.so.0d.0.0
+ dolib.so libstemmer.so.0d
+ dolib.so libstemmer.so
+
+ use static-libs && dolib.a libstemmer.a
+}
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild
new file mode 100644
index 000000000000..e9140921f762
--- /dev/null
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator
+
+# The version number here has been added by Gentoo since upstream does
+# not do any versioning. It is the latest date of files inside
+# http://snowball.tartarus.org/dist/libstemmer_c.tgz.
+PVDATE=$(get_after_major_version)
+
+DESCRIPTION="This contains all you need to include the snowball stemming algorithms into a C project of your own"
+HOMEPAGE="http://snowball.tartarus.org/download.php"
+SRC_URI="http://dev.gentoo.org/~graaff/libstemmer_c-${PVDATE}.tgz"
+
+# This will probably be different if this ebuild ends up being used for both
+# Java and C.
+S="${WORKDIR}/libstemmer_c"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+
+# This could be used to package both libstemmer_c and libstemmer_java together.
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}/libstemmer_c-shared-library.patch"
+}
+
+src_compile() {
+ CC=$(tc-getCC) emake libstemmer.so stemwords || die "Make failed!"
+
+ if use static-libs; then
+ CC=$(tc-getCC) AR=$(tc-getAR) emake libstemmer.a || die "Make failed!"
+ fi
+}
+
+src_install() {
+ dodoc README
+
+ dobin stemwords
+
+ doheader include/libstemmer.h
+
+ dolib.so libstemmer.so.0d.0.0
+ dolib.so libstemmer.so.0d
+ dolib.so libstemmer.so
+
+ use static-libs && dolib.a libstemmer.a
+}
diff --git a/dev-libs/socketstream/Manifest b/dev-libs/socketstream/Manifest
new file mode 100644
index 000000000000..ae30cf3e9b0f
--- /dev/null
+++ b/dev-libs/socketstream/Manifest
@@ -0,0 +1 @@
+DIST socketstream-0.7.0.tar.gz 464806 SHA256 98f3dd7d3a20b8efd882032871f4c680508dfbf7f6f704ff010f029974d778fd SHA512 61eae3e5df80329e5b81f8d4d3148d16b9ee278b8898ed59e058ea960bd82cfa0d9a01f5ac9ea18ddbabac9d2d3347c49bde870cc74c16a7deb46f99bf443fe9 WHIRLPOOL c03d06612f1db2ac191dace25dcc5df329bba701e155754ac26d516e4a6e4532640090dd38ec2f478086a62873b560ae28343820d3c5473795a1874d0014e792
diff --git a/dev-libs/socketstream/files/0.7.0-missing_includes.patch b/dev-libs/socketstream/files/0.7.0-missing_includes.patch
new file mode 100644
index 000000000000..22c29379ed10
--- /dev/null
+++ b/dev-libs/socketstream/files/0.7.0-missing_includes.patch
@@ -0,0 +1,11 @@
+diff -Naur socketstream-0.7.0.orig/src/socket_exception.cc socketstream-0.7.0/src/socket_exception.cc
+--- socketstream-0.7.0.orig/src/socket_exception.cc 2008-06-16 22:08:13.000000000 +0200
++++ socketstream-0.7.0/src/socket_exception.cc 2008-06-16 22:09:00.000000000 +0200
+@@ -24,6 +24,7 @@
+
+ #include <socketstream/socket_exception.h>
+ #include <cerrno>
++#include <cstring>
+
+ namespace ss {
+
diff --git a/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch b/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch
new file mode 100644
index 000000000000..248450847e0b
--- /dev/null
+++ b/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch
@@ -0,0 +1,15 @@
+ https://bugs.gentoo.org/429292
+
+ src/basic_socket.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/basic_socket.cc
++++ b/src/basic_socket.cc
+@@ -22,6 +22,7 @@
+ * @doctodo
+ */
+
++#include <unistd.h>
+ #include <socketstream/basic_socket.h>
+
+ namespace ss {
diff --git a/dev-libs/socketstream/metadata.xml b/dev-libs/socketstream/metadata.xml
new file mode 100644
index 000000000000..437cf706948d
--- /dev/null
+++ b/dev-libs/socketstream/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">socketstream</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild b/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..4c3db8cca90f
--- /dev/null
+++ b/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="C++ Streaming sockets library"
+HOMEPAGE="http://socketstream.sourceforge.net/"
+SRC_URI="mirror://sourceforge/socketstream/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~ppc ~sparc x86"
+IUSE="doc"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # include/Makefile uses DIST_SUBDIRS and thus headers dont get installed
+ sed -i 's|^DIST_\(SUBDIRS =\)|\1|' include/Makefile.in || \
+ die "sed include/Makefile.in failed"
+
+ epatch "${FILESDIR}"/${PV}-missing_includes.patch
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+}
+
+src_compile() {
+ econf || die "econf failed"
+ emake || die "emake failed"
+
+ if use doc ; then
+ emake doxygen || die "failed to build docs"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README* HACKING TODO
+ use doc && dohtml -r docs/html/*
+}
diff --git a/dev-libs/softhsm/Manifest b/dev-libs/softhsm/Manifest
new file mode 100644
index 000000000000..2dfa037fba7f
--- /dev/null
+++ b/dev-libs/softhsm/Manifest
@@ -0,0 +1,2 @@
+DIST softhsm-1.3.5.tar.gz 440157 SHA256 28b5062a13450faf6099fcb82d25d21f0ac7d202ba31ec85e943246cdcf87ebd SHA512 8da873d84ce3f554ff90975f2c37750c24ee4b254b480a203bfe600d2314ae1aba4d67b96bc9c5cb6787f592e597551e850a84ee36046f408aea7d5d5d7c8787 WHIRLPOOL d01878dbf17d4e06305df23826bc07fff535c9e9734be376ef2d0a99891ddca0bdd1689285e199a6f81143d38c55334c8df9969470cc0098724fb5d24871ad92
+DIST softhsm-1.3.6.tar.gz 435893 SHA256 e39ac8e851220edd2b2afbe4d9e06d956bccc20bc72752740eabf95692359486 SHA512 fa344b298da6f15a616eaaa90e9e2153cb48ee1a5d4c3089a4195080efc5d15cccf27536279206587f8e1a55ac1b3745303712797296aba560be5ca958783b70 WHIRLPOOL 6451e039d31932306627f6af23041dbd7d386d1b137eb529332f45ce523ae0c61b736876815ca614a8ec54b0dbae9d83b510bbf126dafd17cbf6d12c745ed7a8
diff --git a/dev-libs/softhsm/metadata.xml b/dev-libs/softhsm/metadata.xml
new file mode 100644
index 000000000000..77def0a20ae6
--- /dev/null
+++ b/dev-libs/softhsm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/softhsm/softhsm-1.3.5.ebuild b/dev-libs/softhsm/softhsm-1.3.5.ebuild
new file mode 100644
index 000000000000..84317908fa67
--- /dev/null
+++ b/dev-libs/softhsm/softhsm-1.3.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="A software PKCS#11 implementation"
+HOMEPAGE="http://www.opendnssec.org/"
+SRC_URI="http://www.opendnssec.org/files/source/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+SLOT="0"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-db/sqlite:3
+ >=dev-libs/botan-1.10.1[threads]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_configure() {
+ econf \
+ --disable-static \
+ --localstatedir=/var \
+ --with-botan="${EPREFIX}/usr/" \
+ $(use_enable amd64 64bit) \
+ $(use debug && echo "--with-loglevel=4")
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/softhsm/softhsm-1.3.6.ebuild b/dev-libs/softhsm/softhsm-1.3.6.ebuild
new file mode 100644
index 000000000000..1e91c5cab675
--- /dev/null
+++ b/dev-libs/softhsm/softhsm-1.3.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="A software PKCS#11 implementation"
+HOMEPAGE="http://www.opendnssec.org/"
+SRC_URI="http://www.opendnssec.org/files/source/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+SLOT="0"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-db/sqlite:3
+ >=dev-libs/botan-1.10.1[threads]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS )
+
+src_configure() {
+ econf \
+ --disable-static \
+ --localstatedir=/var \
+ --with-botan="${EPREFIX}/usr/" \
+ $(use_enable amd64 64bit) \
+ $(use debug && echo "--with-loglevel=4")
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/soprano/Manifest b/dev-libs/soprano/Manifest
new file mode 100644
index 000000000000..2dccdffcb06e
--- /dev/null
+++ b/dev-libs/soprano/Manifest
@@ -0,0 +1 @@
+DIST soprano-2.9.4.tar.bz2 1958856 SHA256 64066fbd54e71d7ae4c8a4116997448a72808a2813cff3bb5d2c28f0fce9e0e5 SHA512 3a907d7fa564cc5641e6d620a46efb3c01f8a141fb3a1afdf72422727d968baf00268c2dce420db24de2e86d3373fdd3473eeabaa736170f76bb2672c8ad80b0 WHIRLPOOL 9d823734f3f983bbc362e13827c0144620422dcb2f54708d3ff2bbae378b2fd17abcb011d3d42c75d5e634a17afdb06fd7840b051827bd6ab030cdec79abfa93
diff --git a/dev-libs/soprano/files/soprano-2.4.4-make-broken-redland-fatal.cmake b/dev-libs/soprano/files/soprano-2.4.4-make-broken-redland-fatal.cmake
new file mode 100644
index 000000000000..e63c5a487f1f
--- /dev/null
+++ b/dev-libs/soprano/files/soprano-2.4.4-make-broken-redland-fatal.cmake
@@ -0,0 +1,12 @@
+diff -ru cmake/modules/FindRedland.cmake cmake/modules/FindRedland.cmake
+--- cmake/modules/FindRedland.cmake 2009-12-18 15:33:44.000000000 +0100
++++ cmake/modules/FindRedland.cmake 2010-07-06 03:25:55.421484970 +0200
+@@ -108,7 +108,7 @@
+ if(NOT "${_TEST_EXITCODE}" EQUAL 0)
+ set(_REDLAND_VERSION_OK)
+ message(STATUS "${_OUTPUT}")
+- message(STATUS "Redland with broken NEEDED section detected, disabling")
++ message(SEND_ERROR "Broken Redland detected, rebuild it now. If problem persists, report bug at bugs.gentoo.org.")
+ endif(NOT "${_TEST_EXITCODE}" EQUAL 0)
+ endif(_REDLAND_STORAGE_LIBS)
+
diff --git a/dev-libs/soprano/metadata.xml b/dev-libs/soprano/metadata.xml
new file mode 100644
index 000000000000..98dfddee3a27
--- /dev/null
+++ b/dev-libs/soprano/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <use>
+ <flag name="raptor">Enables support for <pkg>media-libs/raptor</pkg> RDF parser/serializer.</flag>
+ <flag name="redland">Enables support for the <pkg>dev-libs/redland</pkg> storage backend (really slow one).</flag>
+ <flag name="virtuoso">Enables support for <pkg>dev-db/virtuoso</pkg> storage backend.</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">soprano</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/soprano/soprano-2.9.4.ebuild b/dev-libs/soprano/soprano-2.9.4.ebuild
new file mode 100644
index 000000000000..3639b820639a
--- /dev/null
+++ b/dev-libs/soprano/soprano-2.9.4.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == *9999* ]]; then
+ git_eclass="git-2"
+ EGIT_REPO_URI="git://anongit.kde.org/soprano"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+ KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+inherit base cmake-utils flag-o-matic ${git_eclass}
+
+DESCRIPTION="Library that provides a nice Qt interface to RDF storage solution"
+HOMEPAGE="http://soprano.sourceforge.net"
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="+dbus debug doc elibc_FreeBSD +raptor +redland test +virtuoso"
+
+RESTRICT="test"
+# bug 281712
+
+COMMON_DEPEND="
+ >=dev-qt/qtcore-4.5.0:4
+ dbus? ( >=dev-qt/qtdbus-4.5.0:4 )
+ raptor? ( >=media-libs/raptor-2.0.4:2 )
+ redland? (
+ >=dev-libs/rasqal-0.9.26
+ >=dev-libs/redland-1.0.14
+ )
+ virtuoso? ( dev-db/libiodbc:0 )
+"
+DEPEND="${COMMON_DEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( >=dev-qt/qttest-4.5.0:4 )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtuoso? ( >=dev-db/virtuoso-server-6.1.6 )
+"
+
+CMAKE_IN_SOURCE_BUILD="1"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.4-make-broken-redland-fatal.cmake"
+)
+
+pkg_setup() {
+ if [[ ${PV} = *9999* && -z $I_KNOW_WHAT_I_AM_DOING ]]; then
+ echo
+ ewarn "WARNING! This is an experimental ebuild of ${PN} Git tree. Use at your own risk."
+ ewarn "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
+ echo
+ fi
+
+ if ! use virtuoso; then
+ echo
+ ewarn "You have explicitly disabled the default soprano backend."
+ ewarn "Applications using soprano may need at least one backend"
+ ewarn "to be functional. If you experience any problems, enable"
+ ewarn "the virtuoso USE flag."
+ echo
+ fi
+}
+
+src_configure() {
+ # Fix for missing pthread.h linking
+ # NOTE: temporarily fix until a better cmake files patch will be provided.
+ use elibc_FreeBSD && append-flags -pthread
+
+ local mycmakeargs=(
+ -DSOPRANO_BUILD_TESTS=OFF
+ -DCMAKE_SKIP_RPATH=OFF
+ -DSOPRANO_DISABLE_SESAME2_BACKEND=ON
+ -DSOPRANO_DISABLE_CLUCENE_INDEX=ON
+ $(cmake-utils_use !dbus SOPRANO_DISABLE_DBUS)
+ $(cmake-utils_use !raptor SOPRANO_DISABLE_RAPTOR_PARSER)
+ $(cmake-utils_use !redland SOPRANO_DISABLE_RAPTOR_SERIALIZER)
+ $(cmake-utils_use !redland SOPRANO_DISABLE_REDLAND_BACKEND)
+ $(cmake-utils_use !virtuoso SOPRANO_DISABLE_VIRTUOSO_BACKEND)
+ $(cmake-utils_use doc SOPRANO_BUILD_API_DOCS)
+ $(cmake-utils_use test SOPRANO_BUILD_TESTS)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ dodoc AUTHORS ChangeLog README TODO
+ newdoc backends/virtuoso/README README.virtuoso
+ newdoc backends/sesame2/README README.sesame2
+ if use doc ; then
+ dohtml -r docs/html/
+ fi
+}
diff --git a/dev-libs/sord/Manifest b/dev-libs/sord/Manifest
new file mode 100644
index 000000000000..400f670ef2d5
--- /dev/null
+++ b/dev-libs/sord/Manifest
@@ -0,0 +1,2 @@
+DIST sord-0.12.0.tar.bz2 285075 SHA256 126baa06480b6930f874e8c519d4168d8224f7a3203a49b287e24c6bfdf91cb8 SHA512 c24c82fd4d9f74d10923d0cf405d2eabbaabd66b3b11e29719115515edcd8ccbc4a32866ca510dc676ca6ca833b0d9c8ccf43d36f6b0ef010d0211cee821db02 WHIRLPOOL 76d392bd63270fc2c0cb19ce89fc5bc1cc0777ae230912d831ed74705df96d6b7528f36679e53f0d929825db9042592f88746a31af8d65ee187bcb40ae7d1a1c
+DIST sord-0.12.2.tar.bz2 303365 SHA256 bd0538d37de5e782023a7261d8ee9d83a792a12eeea7d94dec7a93dd9cda0767 SHA512 2906808138658f89cb6ab939c20e0a092180535629c75b1a0277648af18fb019055dd3cde53f57d7b0d635666be98848bed021ba0bd922a34cfaae3a98c66cbd WHIRLPOOL c731ceb92650b1af7ce4cb53bf209cfc632d74a204eae0b2ea1fcc1ccbca5564a22c83f6e746c1ad9761be4ec155b62cecc5fe90079dff613826d2e275a09df6
diff --git a/dev-libs/sord/metadata.xml b/dev-libs/sord/metadata.xml
new file mode 100644
index 000000000000..0dc3775f83d7
--- /dev/null
+++ b/dev-libs/sord/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proaudio</herd>
+</pkgmetadata>
diff --git a/dev-libs/sord/sord-0.12.0.ebuild b/dev-libs/sord/sord-0.12.0.ebuild
new file mode 100644
index 000000000000..d831988d5535
--- /dev/null
+++ b/dev-libs/sord/sord-0.12.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='threads(+)'
+inherit python-any-r1 waf-utils
+
+DESCRIPTION="Library for storing RDF data in memory"
+HOMEPAGE="http://drobilla.net/software/sord/"
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/serd-0.14.0"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+DOCS=( "AUTHORS" "NEWS" "README" )
+
+src_prepare() {
+ sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
+}
+
+src_configure() {
+ waf-utils_src_configure \
+ --docdir=/usr/share/doc/${PF} \
+ $(use test && echo "--test") \
+ $(use doc && echo "--docs") \
+ $(use static-libs && echo "--static")
+}
+
+src_test() {
+ ./waf test || die
+}
diff --git a/dev-libs/sord/sord-0.12.2.ebuild b/dev-libs/sord/sord-0.12.2.ebuild
new file mode 100644
index 000000000000..d831988d5535
--- /dev/null
+++ b/dev-libs/sord/sord-0.12.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='threads(+)'
+inherit python-any-r1 waf-utils
+
+DESCRIPTION="Library for storing RDF data in memory"
+HOMEPAGE="http://drobilla.net/software/sord/"
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc static-libs test"
+
+RDEPEND=">=dev-libs/serd-0.14.0"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+DOCS=( "AUTHORS" "NEWS" "README" )
+
+src_prepare() {
+ sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
+}
+
+src_configure() {
+ waf-utils_src_configure \
+ --docdir=/usr/share/doc/${PF} \
+ $(use test && echo "--test") \
+ $(use doc && echo "--docs") \
+ $(use static-libs && echo "--static")
+}
+
+src_test() {
+ ./waf test || die
+}
diff --git a/dev-libs/starpu/Manifest b/dev-libs/starpu/Manifest
new file mode 100644
index 000000000000..94acbe2649b3
--- /dev/null
+++ b/dev-libs/starpu/Manifest
@@ -0,0 +1,2 @@
+DIST starpu-1.1.2.tar.gz 4704168 SHA256 971e324a936ab5a572202d3356a1e783e6fcca8d068ab2814209f737fcf03dfa SHA512 8601fe1564e86f731211993d2aa851898e20b4ce110943dd5037824b2d538aca5cd2fe8bc868805c1e48c20d47e15bc1db8c22be60113d2aabf191882a7039f8 WHIRLPOOL fc572857269339b68120286b829f259f565ef19947ac017dd61e3d3b663f555dc918139f5a3a88f2a17be6df088a05ae9261d08dbf6f966948a3663dc33667c0
+DIST starpu-1.1.4.tar.gz 5022944 SHA256 ba36e605bd3915afb5b8ac6582b33ebd2ca65139b879d928e6b218f6d2e4b37e SHA512 a448839e33675b17cdef389dbf91e85b7ef9cafcf93ce0c99f755bf8eb548ecb3240b97602b2f3c9799128c651e889446ae3013e62f391c05b279ae38fb041d6 WHIRLPOOL acb58667379ec67635af853b41881479fcdfbda1b6ba27b353aac57bdeed0cbc2cb5a6b923f003b222d0ef685778fa3445003ed4f34606e6eb41d1d45dcc0c21
diff --git a/dev-libs/starpu/metadata.xml b/dev-libs/starpu/metadata.xml
new file mode 100644
index 000000000000..362d9440a0a6
--- /dev/null
+++ b/dev-libs/starpu/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>bicatali@gentoo.org</email>
+ <description>Feel free to update and/or fix</description>
+</maintainer>
+<longdescription lang='en'>
+ StarPU is a runtime system that offers support for heterogeneous
+ multicore machines. While many efforts are devoted to design efficient
+ computation kernels for those architectures (e.g. to implement BLAS
+ kernels on GPUs or on Cell's SPUs), StarPU not only takes care of
+ offloading such kernels (and implementing data coherency across
+ the machine), but it also makes sure the kernels are executed as
+ efficiently as possible.
+</longdescription>
+<use>
+ <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
+ <flag name="gcc-plugin">Enable GCC extension plugin (experimental)</flag>
+ <flag name="opencl">Enable OpenCL support</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/starpu/starpu-1.1.2.ebuild b/dev-libs/starpu/starpu-1.1.2.ebuild
new file mode 100644
index 000000000000..6293be00a4d5
--- /dev/null
+++ b/dev-libs/starpu/starpu-1.1.2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils toolchain-funcs cuda
+
+DESCRIPTION="Unified runtime system for heterogeneous multicore architectures"
+HOMEPAGE="http://runtime.bordeaux.inria.fr/StarPU/"
+SRC_URI="${HOMEPAGE}/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="blas cuda debug doc examples fftw gcc-plugin mpi opencl opengl qt4
+ static-libs test"
+
+RDEPEND="
+ sys-apps/hwloc:0=
+ sci-mathematics/glpk:0=
+ blas? ( virtual/blas )
+ cuda? ( dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ blas? ( sci-libs/magma ) )
+ fftw? ( sci-libs/fftw:3.0= )
+ mpi? ( virtual/mpi )
+ opencl? ( virtual/opencl )
+ opengl? ( media-libs/freeglut:0= )
+ qt4? ( >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtopengl-4.7:4
+ >=dev-qt/qtsql-4.7:4
+ x11-libs/qwt )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen virtual/latex-base )
+ test? ( gcc-plugin? ( dev-scheme/guile ) )"
+
+src_prepare() {
+ # upstream did not want the patches so apply sed's
+ sed -i -e 's/-O3 $CFLAGS/$CFLAGS/' configure.ac || die
+ sed -i -e '/Libs.private/s/@LDFLAGS@//g' *.pc.in */*.pc.in || die
+ autotools-utils_src_prepare
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ use blas && export BLAS_LIBS="$($(tc-getPKG_CONFIG) --libs blas)"
+
+ local myeconfargs=(
+ --disable-build-examples
+ $(use_enable cuda)
+ $(use_enable debug)
+ $(use_enable doc build-doc)
+ $(use_enable fftw starpufft)
+ $(use_enable gcc-plugin gcc-extensions)
+ $(use_enable opencl)
+ $(use_enable opengl opengl-render)
+ $(use_enable qt4 starpu-top)
+ $(use_with mpi mpicc "$(type -P mpicc)")
+ $(use cuda && use_enable blas magma)
+ $(use mpi && use_enable test mpi-check)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test -j1 showcheck
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dodoc "${BUILD_DIR}"/doc/doxygen/*.pdf
+ dohtml -r "${BUILD_DIR}"/doc/doxygen/html/*
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+}
diff --git a/dev-libs/starpu/starpu-1.1.4.ebuild b/dev-libs/starpu/starpu-1.1.4.ebuild
new file mode 100644
index 000000000000..94a9c8a8bc10
--- /dev/null
+++ b/dev-libs/starpu/starpu-1.1.4.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils toolchain-funcs cuda
+
+DESCRIPTION="Unified runtime system for heterogeneous multicore architectures"
+HOMEPAGE="http://runtime.bordeaux.inria.fr/StarPU/"
+SRC_URI="${HOMEPAGE}/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="blas cuda debug doc examples fftw gcc-plugin mpi opencl opengl qt4
+ static-libs test"
+
+RDEPEND="
+ sys-apps/hwloc:0=
+ sci-mathematics/glpk:0=
+ blas? ( virtual/blas )
+ cuda? ( dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ blas? ( sci-libs/magma ) )
+ fftw? ( sci-libs/fftw:3.0= )
+ mpi? ( virtual/mpi )
+ opencl? ( virtual/opencl )
+ opengl? ( media-libs/freeglut:0= )
+ qt4? ( >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtopengl-4.7:4
+ >=dev-qt/qtsql-4.7:4
+ x11-libs/qwt )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen virtual/latex-base )
+ test? ( gcc-plugin? ( dev-scheme/guile ) )"
+
+src_prepare() {
+ # upstream did not want the patches so apply sed's
+ sed -i -e 's/-O3 $CFLAGS/$CFLAGS/' configure.ac || die
+ sed -i -e '/Libs.private/s/@LDFLAGS@//g' *.pc.in */*.pc.in || die
+ autotools-utils_src_prepare
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ use blas && export BLAS_LIBS="$($(tc-getPKG_CONFIG) --libs blas)"
+
+ local myeconfargs=(
+ --disable-build-examples
+ $(use_enable cuda)
+ $(use_enable debug)
+ $(use_enable doc build-doc)
+ $(use_enable fftw starpufft)
+ $(use_enable gcc-plugin gcc-extensions)
+ $(use_enable opencl)
+ $(use_enable opengl opengl-render)
+ $(use_enable qt4 starpu-top)
+ $(use_with mpi mpicc "$(type -P mpicc)")
+ $(use cuda && use_enable blas magma)
+ $(use mpi && use_enable test mpi-check)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test -j1 showcheck
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dodoc "${BUILD_DIR}"/doc/doxygen/*.pdf
+ dohtml -r "${BUILD_DIR}"/doc/doxygen/html/*
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+}
diff --git a/dev-libs/stfl/Manifest b/dev-libs/stfl/Manifest
new file mode 100644
index 000000000000..68089c431104
--- /dev/null
+++ b/dev-libs/stfl/Manifest
@@ -0,0 +1,3 @@
+DIST stfl-0.22.tar.gz 41412 SHA256 2dddafd331e61ad04baf1251ccecb3a69feaf99880dd75155be8423c1cc55418 SHA512 dab2335ef00b65d00abda2a51fb5c667b48864b02ee82abee049f15fd9e2f272f21ec80d4a6cdbb5fc5882239ba28964912e4c0b641b2e83a7ab3bd7f94415bb WHIRLPOOL e1fdd9754f8d6bed3c43a8d19e128565efac36ead413836fe02ee97cb6ba9c3ac5ca2a2e5c7784389e0e8671dbf49286d2a3c746f31b406e511bf6942efce39e
+DIST stfl-0.23.tar.gz 43941 SHA256 e75ed8427905ad50faf43ed5fefd0cf7b16ee0c1ca87e15d33e360bb92aedfde SHA512 02a7323740364acac4063d002775d04358bc9f98d8df4d83ec9dcdc9d9f46840be1cab0d2526c8cdc7a441784ec95100792edd1bbd1fa2365ce20ef4141a0e6e WHIRLPOOL 6331623402ae5a7df97df6c135b043e8c9b327de78ab2916e122489bdf1108871aef7772c016b5f567f8a00dca1f4274fce4add3d2d9a625f5aca911301c9730
+DIST stfl-0.24.tar.gz 45585 SHA256 d4a7aa181a475aaf8a8914a8ccb2a7ff28919d4c8c0f8a061e17a0c36869c090 SHA512 95df4574b1bc32d795751156dc5b93afbca3ba241607a3a55210c89dda61b9a26ad574bb5f729a0158c9052235dbf63d6c58b38e7f1061d14ab7062af6150fa0 WHIRLPOOL 76545f41802a5f019ee44598368958a13551c3ed70747f45da88d61bc9ba882e514659b3c8f47805a7c199229078abc22ac5a79680b803244bfe8e29a081f10e
diff --git a/dev-libs/stfl/files/stfl-0.21-python.patch b/dev-libs/stfl/files/stfl-0.21-python.patch
new file mode 100644
index 000000000000..dbec12b7a6a4
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.21-python.patch
@@ -0,0 +1,39 @@
+diff -ur stfl-0.21.orig/Makefile stfl-0.21/Makefile
+--- stfl-0.21.orig/Makefile 2009-06-19 10:30:52.000000000 -0700
++++ stfl-0.21/Makefile 2009-12-23 15:12:34.986593069 -0800
+@@ -46,7 +46,7 @@
+ rm -f widgets/*.o spl/mod_stfl.so spl/example.db
+ cd perl5 && perl Makefile.PL && make clean && rm -f Makefile.old
+ rm -f perl5/stfl_wrap.c perl5/stfl.pm perl5/build_ok
+- rm -f python/stfl.py python/stfl.pyc python/_stfl.so
++ rm -f python/stfl.py python/_stfl.so
+ rm -f python/stfl_wrap.c python/stfl_wrap.o
+ rm -f ruby/Makefile ruby/stfl_wrap.c ruby/stfl_wrap.o
+ rm -f ruby/stfl.so ruby/build_ok Makefile.deps_new
+diff -ur stfl-0.21.orig/python/Makefile.snippet stfl-0.21/python/Makefile.snippet
+--- stfl-0.21.orig/python/Makefile.snippet 2009-06-18 01:27:16.000000000 -0700
++++ stfl-0.21/python/Makefile.snippet 2009-12-23 15:14:54.237606055 -0800
+@@ -21,20 +21,17 @@
+ PYTHON_VERSION = $(shell python -V 2>&1 | cut -f2 -d' ' | cut -f1-2 -d'.')
+ PYTHON_SITEARCH = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
+
+-all: python/_stfl.so python/stfl.py python/stfl.pyc
++all: python/_stfl.so python/stfl.py
+
+ install: install_python
+
+-python/_stfl.so python/stfl.py python/stfl.pyc: libstfl.a stfl.h python/stfl.i swig/*.i
++python/_stfl.so python/stfl.py: libstfl.a stfl.h python/stfl.i swig/*.i
+ cd python && swig -python -threads stfl.i
+ gcc -shared -pthread -fPIC python/stfl_wrap.c -I/usr/include/python$(PYTHON_VERSION) \
+ -I. libstfl.a -lncursesw -o python/_stfl.so
+- cd python && python -c 'import stfl'
+
+-install_python: python/_stfl.so python/stfl.py python/stfl.pyc
+- mkdir -p $(DESTDIR)$(PYTHON_SITEARCH)/
++install_python: python/_stfl.so python/stfl.py
+ mkdir -p $(DESTDIR)$(PYTHON_SITEARCH)/lib-dynload/
+ cp python/_stfl.so $(DESTDIR)$(PYTHON_SITEARCH)/lib-dynload/
+- cp python/stfl.pyc $(DESTDIR)$(PYTHON_SITEARCH)/
+ cp python/stfl.py $(DESTDIR)$(PYTHON_SITEARCH)/
+
diff --git a/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch b/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch
new file mode 100644
index 000000000000..90698ec88dd7
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch
@@ -0,0 +1,14 @@
+--- stfl-0.22/ruby/Makefile.snippet.orig
++++ stfl-0.22/ruby/Makefile.snippet
+@@ -23,9 +23,9 @@
+
+ install: install_ruby
+
+-ruby/build_ok: libstfl.a stfl.h ruby/stfl.i swig/*.i
++ruby/build_ok: libstfl.so.$(VERSION) stfl.h ruby/stfl.i swig/*.i
+ cd ruby && swig -ruby stfl.i && ruby extconf.rb
+- $(MAKE) -C ruby clean && $(MAKE) -C ruby LIBS+="../libstfl.a -lncursesw" CFLAGS+="-pthread -I.." DLDFLAGS+="-pthread" DESTDIR=$(DESTDIR) prefix=$(prefix) sitedir=$(prefix)/$(libdir)/ruby
++ $(MAKE) -C ruby clean && $(MAKE) -C ruby LIBS+="../libstfl.so.$(VERSION) -lncursesw" CFLAGS+="-pthread -I.." DLDFLAGS+="-pthread" DESTDIR=$(DESTDIR) prefix=$(prefix) sitedir=$(prefix)/$(libdir)/ruby
+ touch ruby/build_ok
+
+ install_ruby: ruby/build_ok
diff --git a/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch b/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch
new file mode 100644
index 000000000000..bfe0595edc76
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch
@@ -0,0 +1,10 @@
+--- stfl-0.22/Makefile.orig
++++ stfl-0.22/Makefile
+@@ -65,6 +65,7 @@
+ install -m 644 stfl.pc $(DESTDIR)$(prefix)/$(libdir)/pkgconfig/
+ install -m 644 libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)
+ ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/libstfl.so
++ ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/$(SONAME)
+
+ stfl.pc: stfl.pc.in
+ sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' > $@
diff --git a/dev-libs/stfl/metadata.xml b/dev-libs/stfl/metadata.xml
new file mode 100644
index 000000000000..0b5d242dc5f6
--- /dev/null
+++ b/dev-libs/stfl/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <longdescription lang="en">
+ STFL is a library which implements a curses-based widget set for text
+ terminals.
+
+ The STFL API can be used from C, SPL, Python, Perl and Ruby. Since the
+ API is only 14 simple function calls big and there are already generic
+ SWIG bindings it is very easy to port STFL to additional scripting
+ languages.
+
+ A special language (the Structured Terminal Forms Language) is used to
+ describe STFL GUIs. The language is designed to be easy and fast to
+ write so an application programmer does not need to spend ages fiddling
+ around with the GUI and can concentrate on the more interesting
+ programming tasks.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/stfl/stfl-0.22-r2.ebuild b/dev-libs/stfl/stfl-0.22-r2.ebuild
new file mode 100644
index 000000000000..13b6d88d3842
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.22-r2.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython"
+
+inherit eutils multilib perl-module python toolchain-funcs
+
+DESCRIPTION="A library which implements a curses-based widget set for text terminals"
+HOMEPAGE="http://www.clifford.at/stfl/"
+SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+IUSE="examples perl python ruby static-libs"
+
+COMMON_DEPEND="sys-libs/ncurses[unicode]
+ perl? ( dev-lang/perl )
+ ruby? ( dev-lang/ruby )
+ python? ( dev-lang/python )"
+
+DEPEND="${COMMON_DEPEND}
+ perl? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-1.3.40 )
+ ruby? ( dev-lang/swig )"
+
+RDEPEND="${COMMON_DEPEND}"
+
+pkg_setup() {
+ use python && python_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e 's/-Os -ggdb//' \
+ -e 's/^\(all:.*\) example/\1/' \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \
+ -e 's/-lncursesw/-lncursesw -pthread/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.21-python.patch
+ epatch "${FILESDIR}"/${P}-soname-symlink.patch
+ epatch "${FILESDIR}"/${P}-ruby-sharedlib.patch
+
+ if use perl ; then
+ echo "FOUND_PERL5=1" >> Makefile.cfg
+ else
+ echo "FOUND_PERL5=0" >> Makefile.cfg
+ fi
+
+ if use ruby ; then
+ echo "FOUND_RUBY=1" >> Makefile.cfg
+ else
+ echo "FOUND_RUBY=0" >> Makefile.cfg
+ fi
+
+ echo "FOUND_PYTHON=0" >> Makefile.cfg
+}
+
+src_configure() { :; }
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ if use python ; then
+ python_copy_sources python
+
+ # Based on code from python/Makefile.snippet.
+ building() {
+ echo swig -python -threads stfl.i
+ swig -python -threads stfl.i
+ echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ }
+ python_execute_function -s --source-dir python building
+ fi
+}
+
+src_install() {
+ emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install
+
+ if use python ; then
+ installation() {
+ insinto $(python_get_sitedir)
+ doins stfl.py _stfl.so
+ }
+ python_execute_function -s --source-dir python installation
+ fi
+
+ dodoc README
+
+ local exdir="/usr/share/doc/${PF}/examples"
+ if use examples ; then
+ insinto ${exdir}
+ doins example.{c,stfl}
+ insinto ${exdir}/python
+ doins python/example.py
+ if use perl ; then
+ insinto ${exdir}/perl
+ doins perl5/example.pl
+ fi
+ if use ruby ; then
+ insinto ${exdir}/ruby
+ doins ruby/example.rb
+ fi
+ fi
+
+ perl_delete_localpod
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize stfl.py
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup stfl.py
+}
diff --git a/dev-libs/stfl/stfl-0.23.ebuild b/dev-libs/stfl/stfl-0.23.ebuild
new file mode 100644
index 000000000000..8810e9923081
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.23.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+GENTOO_DEPEND_ON_PERL=no
+inherit eutils multilib perl-module python-r1 toolchain-funcs
+
+DESCRIPTION="A library which implements a curses-based widget set for text terminals"
+HOMEPAGE="http://www.clifford.at/stfl/"
+SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples perl python ruby static-libs"
+
+COMMON_DEPEND="
+ sys-libs/ncurses[unicode]
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${COMMON_DEPEND}
+ perl? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-1.3.40 )
+ ruby? ( dev-lang/swig )
+"
+RDEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e 's/-Os -ggdb//' \
+ -e 's/^\(all:.*\) example/\1/' \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \
+ -e 's/-lncursesw/-lncursesw -pthread/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.21-python.patch
+ epatch "${FILESDIR}"/${PN}-0.22-soname-symlink.patch
+ epatch "${FILESDIR}"/${PN}-0.22-ruby-sharedlib.patch
+
+ if use perl ; then
+ echo "FOUND_PERL5=1" >> Makefile.cfg
+ else
+ echo "FOUND_PERL5=0" >> Makefile.cfg
+ fi
+
+ if use ruby ; then
+ echo "FOUND_RUBY=1" >> Makefile.cfg
+ else
+ echo "FOUND_RUBY=0" >> Makefile.cfg
+ fi
+
+ echo "FOUND_PYTHON=0" >> Makefile.cfg
+}
+
+src_configure() { :; }
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+ python_copy_sources
+
+ # Based on code from python/Makefile.snippet.
+ building() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ echo swig -python -threads stfl.i
+ swig -python -threads stfl.i || die
+ echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so || die
+ popd &>/dev/null || die
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_install() {
+ emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+
+ installation() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ python_domodule stfl.py _stfl.so
+ popd &>/dev/null || die
+ }
+ python_foreach_impl installation
+ fi
+
+ dodoc README
+
+ local exdir="/usr/share/doc/${PF}/examples"
+ if use examples ; then
+ insinto ${exdir}
+ doins example.{c,stfl}
+ insinto ${exdir}/python
+ doins python/example.py
+ if use perl ; then
+ insinto ${exdir}/perl
+ doins perl5/example.pl
+ fi
+ if use ruby ; then
+ insinto ${exdir}/ruby
+ doins ruby/example.rb
+ fi
+ fi
+
+ perl_delete_localpod
+}
diff --git a/dev-libs/stfl/stfl-0.24.ebuild b/dev-libs/stfl/stfl-0.24.ebuild
new file mode 100644
index 000000000000..6bb08c96a7f2
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.24.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+GENTOO_DEPEND_ON_PERL=no
+inherit eutils multilib perl-module python-r1 toolchain-funcs
+
+DESCRIPTION="A library which implements a curses-based widget set for text terminals"
+HOMEPAGE="http://www.clifford.at/stfl/"
+SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples perl python ruby static-libs"
+
+COMMON_DEPEND="
+ sys-libs/ncurses[unicode]
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${COMMON_DEPEND}
+ perl? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-1.3.40 )
+ ruby? ( dev-lang/swig )
+"
+RDEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e 's/-Os -ggdb//' \
+ -e 's/^\(all:.*\) example/\1/' \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \
+ -e 's/-lncursesw/-lncursesw -pthread/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.21-python.patch
+ epatch "${FILESDIR}"/${PN}-0.22-soname-symlink.patch
+ epatch "${FILESDIR}"/${PN}-0.22-ruby-sharedlib.patch
+
+ if use perl ; then
+ echo "FOUND_PERL5=1" >> Makefile.cfg
+ else
+ echo "FOUND_PERL5=0" >> Makefile.cfg
+ fi
+
+ if use ruby ; then
+ echo "FOUND_RUBY=1" >> Makefile.cfg
+ else
+ echo "FOUND_RUBY=0" >> Makefile.cfg
+ fi
+
+ echo "FOUND_PYTHON=0" >> Makefile.cfg
+}
+
+src_configure() { :; }
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+ python_copy_sources
+
+ # Based on code from python/Makefile.snippet.
+ building() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ echo swig -python -threads stfl.i
+ swig -python -threads stfl.i || die
+ echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so || die
+ popd &>/dev/null || die
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_install() {
+ emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+
+ installation() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ python_domodule stfl.py _stfl.so
+ popd &>/dev/null || die
+ }
+ python_foreach_impl installation
+ fi
+
+ dodoc README
+
+ local exdir="/usr/share/doc/${PF}/examples"
+ if use examples ; then
+ insinto ${exdir}
+ doins example.{c,stfl}
+ insinto ${exdir}/python
+ doins python/example.py
+ if use perl ; then
+ insinto ${exdir}/perl
+ doins perl5/example.pl
+ fi
+ if use ruby ; then
+ insinto ${exdir}/ruby
+ doins ruby/example.rb
+ fi
+ fi
+
+ perl_delete_localpod
+}
diff --git a/dev-libs/stlsoft/Manifest b/dev-libs/stlsoft/Manifest
new file mode 100644
index 000000000000..828dcdf6fef9
--- /dev/null
+++ b/dev-libs/stlsoft/Manifest
@@ -0,0 +1 @@
+DIST stlsoft-1.9.111-hdrs.zip 2074341 SHA256 8f57be4d9e3ef53e6830a15b6e71d459b05d31eb069f8f3984c69fc6055063c8 SHA512 0b277d87444e93ac2918072daf4065240fe18d941831b41cf810427fa51d950922359fa6b9e441fb7d33e26a86a5830e237bc765ff4e7fbc2ec276a708836b7c WHIRLPOOL 44e2b5b73a514e68c9d72cd5c262e82436772447deb443bfcd78094369e718214d4cdbfa4dc0a91a25dad4d34b30315de3c6e05fc98b4919b2e07e5674606cb7
diff --git a/dev-libs/stlsoft/metadata.xml b/dev-libs/stlsoft/metadata.xml
new file mode 100644
index 000000000000..4241f4f95923
--- /dev/null
+++ b/dev-libs/stlsoft/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>dav.daemon@gmail.com</email>
+ <name>Dmitriy Vilkov</name>
+ <description>Assign bugs to him</description>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">stlsoft</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/stlsoft/stlsoft-1.9.111.ebuild b/dev-libs/stlsoft/stlsoft-1.9.111.ebuild
new file mode 100644
index 000000000000..b34e5b7bba3f
--- /dev/null
+++ b/dev-libs/stlsoft/stlsoft-1.9.111.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Robust, Lightweight, Cross-platform, Template Software"
+HOMEPAGE="http://www.stlsoft.org/"
+SRC_URI="mirror://sourceforge/stlsoft/${P}-hdrs.zip"
+
+LICENSE="BSD"
+SLOT="1.9"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+src_install() {
+ default
+ insinto /usr
+ doins -r include/
+}
diff --git a/dev-libs/svrcore/Manifest b/dev-libs/svrcore/Manifest
new file mode 100644
index 000000000000..7cbebeda0bfe
--- /dev/null
+++ b/dev-libs/svrcore/Manifest
@@ -0,0 +1 @@
+DIST svrcore-4.0.4.tar.bz2 217076 SHA256 4772fb4705492de11f10d3e020f0ceca2541415c009ae5444988d6becca36a58 SHA512 4a63e2618ef8f508e71adf212eefae56e3c9d9898b924f405399bb99793de57bd178a3417f9e837c474e7960b6eb8a3cbe775b420c8fecbd974e89b4196b78fc WHIRLPOOL 0bf45637685cb03753cd68840381cd5c906e01a61f813156e756e99fa97e7c6d61bc96b4c1f18aa016acf45d54d6288f733c39bf259c241416c1efc89cb0fc93
diff --git a/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch b/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch
new file mode 100644
index 000000000000..83e9f7fca359
--- /dev/null
+++ b/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch
@@ -0,0 +1,100 @@
+diff -uNr src/Makefile.am svrcore-4.0.4src/Makefile.am
+--- src/Makefile.am 2006-12-14 18:07:32.000000000 +0100
++++ src/Makefile.am 2007-08-06 17:37:17.000000000 +0200
+@@ -4,8 +4,8 @@
+ Makefile.win \
+ ntgetpin.rc
+
+-lib_LTLIBRARIES = libsvrcore.la
+-include_HEADERS = svrcore.h
++pkglib_LTLIBRARIES = libsvrcore.la
++pkginclude_HEADERS = svrcore.h
+ libsvrcore_la_SOURCES = alt.c \
+ cache.c \
+ errors.c \
+diff -uNr svrcore.pc.in svrcore.pc.in
+--- svrcore.pc.in 2006-12-14 18:07:32.000000000 +0100
++++ svrcore.pc.in 2007-08-06 17:38:12.000000000 +0200
+@@ -1,11 +1,11 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-libdir=@libdir@
+-includedir=@includedir@
++libdir=@libdir@/@PACKAGE@
++includedir=@includedir@/@PACKAGE@
+
+ Name: svrcore
+ Description: Svrcore - Secure PIN handling using NSS crypto
+ Version: @VERSION@
+ Requires: @NSPR_NAME@ >= @NSPR_MIN_VER@ , @NSS_NAME@ >= @NSS_MIN_VER@
+-Libs: -lsvrcore
++Libs: -L${libdir} -lsvrcore
+ Cflags: -I${includedir}
+diff -ur m4.orig/nspr.m4 m4/nspr.m4
+--- m4.orig/nspr.m4 2009-10-06 01:40:18.979484804 +0300
++++ m4/nspr.m4 2009-10-06 01:41:21.539982482 +0300
+@@ -52,28 +52,6 @@
+ ],
+ AC_MSG_RESULT(no))
+
+-# see if we are doing an "in-tree" build with the other
+-# mozilla components
+-if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
+- for nsprpath in "../../dist" "../../dist/*.OBJ" ; do
+- savedir=`pwd`
+- cd $nsprpath
+- abs_nsprpath=`pwd`
+- cd $savedir
+- if test -f "$abs_nsprpath/include/nspr/nspr.h" ; then
+- nspr_inc="-I$abs_nsprpath/include/nspr"
+- elif test -f "$abs_nsprpath/include/nspr.h" ; then
+- nspr_inc="-I$abs_nsprpath/include"
+- fi
+- if test -d "$abs_nsprpath/lib" ; then
+- nspr_lib="-L$abs_nsprpath/lib"
+- fi
+- if test -n "$nspr_inc" -a -n "$nspr_lib" ; then
+- break
+- fi
+- done
+-fi
+-
+ # if NSPR is not found yet, try pkg-config
+ # last resort
+ if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
+diff -ur m4.orig/nss.m4 m4/nss.m4
+--- m4.orig/nss.m4 2009-10-06 01:40:18.979484804 +0300
++++ m4/nss.m4 2009-10-06 01:41:31.291485717 +0300
+@@ -52,32 +52,6 @@
+ ],
+ AC_MSG_RESULT(no))
+
+-# see if we are building "in tree" with the
+-# other mozilla components
+-if test -z "$nss_inc" -o -z "$nss_lib"; then
+- nsslibpath=`echo ../../dist/*.OBJ/lib | cut -f1 -d' '`
+- savedir=`pwd`
+- cd $nsslibpath
+- abs_nsslibpath=`pwd`
+- cd $savedir
+- nssincpath=../../dist/public/nss
+- savedir=`pwd`
+- cd $nssincpath
+- abs_nssincpath=`pwd`
+- cd $savedir
+- if test -f "$abs_nssincpath/nss.h" ; then
+- nss_inc="-I$abs_nssincpath"
+- fi
+- if test -d "$abs_nsslibpath" ; then
+- nss_lib="-L$abs_nsslibpath"
+- fi
+- if test -n "$nss_inc" -a -n "$nss_lib" ; then
+- AC_MSG_CHECKING(using in-tree NSS from $nssincpath $nsslibpath)
+- else
+- AC_MSG_CHECKING(could not find in-tree NSS in ../../dist)
+- fi
+-fi
+-
+ # if NSS is not found yet, try pkg-config
+ # last resort
+ if test -z "$nss_inc" -o -z "$nss_lib"; then
diff --git a/dev-libs/svrcore/metadata.xml b/dev-libs/svrcore/metadata.xml
new file mode 100644
index 000000000000..2fbcb323ebf0
--- /dev/null
+++ b/dev-libs/svrcore/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>lxnay@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/svrcore/svrcore-4.0.4.ebuild b/dev-libs/svrcore/svrcore-4.0.4.ebuild
new file mode 100644
index 000000000000..fa3e5cc310ab
--- /dev/null
+++ b/dev-libs/svrcore/svrcore-4.0.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit multilib autotools eutils
+
+DESCRIPTION="Mozilla LDAP C SDK"
+HOMEPAGE="http://wiki.mozilla.org/LDAP_C_SDK"
+SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/directory/svrcore/releases/"${PV}"/src/"${P}".tar.bz2"
+
+LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-libs/nss-3.11
+ >=dev-libs/nspr-4.6"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/"${P}"-gentoo.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --with-pic || die "cannot configure"
+}
+
+src_install () {
+ einstall || die "emake failed"
+
+ # cope with libraries being in /usr/lib/svrcore
+ echo "LDPATH=/usr/$(get_libdir)/svrcore" > 08svrcore
+ dodir /etc/env.d
+ doenvd 08svrcore
+
+ dodoc ChangeLog INSTALL NEWS TODO README AUTHORS
+}
diff --git a/dev-libs/syck/Manifest b/dev-libs/syck/Manifest
new file mode 100644
index 000000000000..668019e9b607
--- /dev/null
+++ b/dev-libs/syck/Manifest
@@ -0,0 +1 @@
+DIST syck-0.55.tar.gz 354205 SHA256 ac881945c9dfe5dd6395a5db921e8256d1d359295bb66a1acbfe49fb637c1a3a SHA512 b2adc38e3e616f4eb5f5146baf0e8b385517e32e46ad872c9a451a680ea8c52fead00234286b6bc07fac9ad816d7ece8daf4a77a34c2999926c198de3b6ba1b7 WHIRLPOOL 946a0a372db6d1483a128a7daf2d8d6db74a2e0e7c82902b08faf5089ede6a8afad35cf307a126d9feeb3070561f3aa3b545a38c1f5e1a0f22b255943eec14bf
diff --git a/dev-libs/syck/files/syck-0.55-64bit.patch b/dev-libs/syck/files/syck-0.55-64bit.patch
new file mode 100644
index 000000000000..dc77ddb4c118
--- /dev/null
+++ b/dev-libs/syck/files/syck-0.55-64bit.patch
@@ -0,0 +1,41 @@
+--- ./lib/syck_st.c~ 2003-03-04 17:10:11.000000000 +0000
++++ ./lib/syck_st.c 2007-06-04 15:00:22.000000000 +0100
+@@ -5,6 +5,7 @@
+ #include "config.h"
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include "syck_st.h"
+
+ #ifdef NT
+@@ -54,7 +55,6 @@
+ numhash,
+ };
+
+-extern int strcmp();
+ static int strhash();
+ static struct st_hash_type type_strhash = {
+ strcmp,
+--- ./lib/syck.h~ 2005-04-13 07:27:54.000000000 +0100
++++ ./lib/syck.h 2007-06-04 14:26:32.000000000 +0100
+@@ -17,6 +17,8 @@
+ #define YAML_DOMAIN "yaml.org,2002"
+
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <ctype.h>
+ #ifdef HAVE_ST_H
+ #include <st.h>
+--- ./lib/emitter.c~ 2007-06-04 15:40:23.000000000 +0100
++++ ./lib/emitter.c 2007-06-04 15:51:03.000000000 +0100
+@@ -378,7 +378,8 @@
+ {
+ SYMID oid;
+ char *anchor_name = NULL;
+- int indent = 0, x = 0;
++ int indent = 0;
++ long x = 0;
+ SyckLevel *lvl = syck_emitter_current_level( e );
+
+ /* Add new level */
diff --git a/dev-libs/syck/metadata.xml b/dev-libs/syck/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/syck/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/syck/syck-0.55-r4.ebuild b/dev-libs/syck/syck-0.55-r4.ebuild
new file mode 100644
index 000000000000..60f8a3c20e2d
--- /dev/null
+++ b/dev-libs/syck/syck-0.55-r4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="python? 2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils eutils flag-o-matic
+
+DESCRIPTION="Syck is an extension for reading and writing YAML swiftly in popular scripting languages"
+HOMEPAGE="http://whytheluckystiff.net/syck/"
+SRC_URI="http://rubyforge.org/frs/download.php/4492/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="php python"
+
+DEPEND="python? ( !dev-python/pysyck )"
+RDEPEND="${DEPEND}"
+PDEPEND="php? ( dev-php/pecl-syck
+ !=dev-libs/syck-0.55-r1 )"
+
+DISTUTILS_SETUP_FILES=("ext/python|setup.py")
+PYTHON_MODNAME="yaml2xml.py ydump.py ypath.py"
+
+pkg_setup() {
+ use python && python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/syck-0.55-64bit.patch"
+}
+
+src_configure() {
+ append-flags -fPIC
+ econf
+}
+
+src_compile() {
+ emake
+ use python && distutils_src_compile
+}
+
+src_install() {
+ einstall
+ use python && distutils_src_install
+}
+
+pkg_postinst() {
+ use python && distutils_pkg_postinst
+}
+
+pkg_postrm() {
+ use python && distutils_pkg_postrm
+}
diff --git a/dev-libs/syck/syck-0.55-r6.ebuild b/dev-libs/syck/syck-0.55-r6.ebuild
new file mode 100644
index 000000000000..0a597e98c136
--- /dev/null
+++ b/dev-libs/syck/syck-0.55-r6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Syck is an extension for reading and writing YAML swiftly in popular scripting languages"
+HOMEPAGE="http://whytheluckystiff.net/syck/"
+SRC_URI="http://rubyforge.org/frs/download.php/4492/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="php python"
+
+DEPEND="python? ( !dev-python/pysyck )"
+RDEPEND="${DEPEND}"
+PDEPEND="php? ( dev-php/pecl-syck
+ !=dev-libs/syck-0.55-r1 )"
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/syck-0.55-64bit.patch"
+}
+
+src_configure() {
+ append-flags -fPIC
+ econf
+}
+
+src_compile() {
+ emake
+ if use python; then
+ pushd ext/python > /dev/null
+ distutils-r1_src_compile
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ emake DESTDIR=${D} install
+ if use python; then
+ pushd ext/python > /dev/null
+ distutils-r1_src_install
+ popd > /dev/null
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-libs/syncdir/Manifest b/dev-libs/syncdir/Manifest
new file mode 100644
index 000000000000..23944c6491fe
--- /dev/null
+++ b/dev-libs/syncdir/Manifest
@@ -0,0 +1 @@
+DIST syncdir-1.0.tar.gz 8878 SHA256 f30d8e0acb0e56dd5c8e90107d79fcaafe40bdc030a0ea66c152b9f54fc2eff0 SHA512 0b5262e23e43f34be7bc31ed6baf7624a115a509e459504651b184a0856c7918671db4be1b8e14552f275c49c5c6bbc00d786c57f1d96548a491048674f58317 WHIRLPOOL b82b06a6e3a179a6e32402b2b50fe1488159dde323011a5934cca80c1097ce54a869e888fa9734c643447a6ce1d3aec4acc545cdf9634e24218a3e762e37cc9b
diff --git a/dev-libs/syncdir/metadata.xml b/dev-libs/syncdir/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/syncdir/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/syncdir/syncdir-1.0-r1.ebuild b/dev-libs/syncdir/syncdir-1.0-r1.ebuild
new file mode 100644
index 000000000000..f7890403a4cc
--- /dev/null
+++ b/dev-libs/syncdir/syncdir-1.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Provides an alternate implementation for open, link, rename, and unlink"
+HOMEPAGE="http://untroubled.org/syncdir"
+SRC_URI="http://untroubled.org/syncdir/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 x86"
+IUSE="static-libs"
+
+src_prepare() {
+ if ! use static-libs; then
+ sed -i Makefile \
+ -e '/^all:/s|libsyncdir.a||' \
+ -e '/install -m 644 libsyncdir.a/d' \
+ || die "sed Makefile"
+ fi
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ libsyncdir.so \
+ $(use static-libs && echo libsyncdir.a)
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)
+ emake libdir="${D}/usr/$(get_libdir)" install
+ dodoc testsync.c
+}
diff --git a/dev-libs/tinyxml/Manifest b/dev-libs/tinyxml/Manifest
new file mode 100644
index 000000000000..ce9b43815d87
--- /dev/null
+++ b/dev-libs/tinyxml/Manifest
@@ -0,0 +1 @@
+DIST tinyxml_2_6_2.tar.gz 210124 SHA256 15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593 SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56 WHIRLPOOL 6367930385d55a205e5a4a8034c7f62df2bdb33506fc184d73eeb86e3e78c61f802de255176e4b20e9070201fa495e96b37b2fc4d3f0ada24c399b15374542ea
diff --git a/dev-libs/tinyxml/files/Makefile-3 b/dev-libs/tinyxml/files/Makefile-3
new file mode 100644
index 000000000000..40ad4fe7e9ce
--- /dev/null
+++ b/dev-libs/tinyxml/files/Makefile-3
@@ -0,0 +1,44 @@
+AR ?= ar
+CXX ?= g++
+CXXFLAGS += -Wall
+RANLIB ?= ranlib
+LIBDIR ?= /usr/lib
+
+name = libtinyxml
+major = @MAJOR_V@
+minor = @MINOR_V@
+version = $(major).$(minor)
+
+src = tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp
+lo = $(addsuffix .lo,$(basename ${src}))
+o = $(addsuffix .o,$(basename ${src}))
+
+lib = so
+ifeq ($(shell uname),Darwin)
+ lib = dylib
+endif
+
+all: $(name).a $(name).$(lib)
+
+%.o: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
+
+$(name).a: $(o)
+ $(AR) rc $(name).a $(o)
+ $(RANLIB) $(name).a
+
+%.lo: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -fPIC $< -o $@
+
+$(name).so: $(lo)
+ $(CXX) $(LDFLAGS) -fPIC -shared $(lo) -Wl,-soname,$(name).so.$(major) -o $(name).so.$(version)
+ ln -s $(name).so.$(version) $(name).so.$(major)
+ ln -s $(name).so.$(version) $(name).so
+
+$(name).dylib: $(lo)
+ $(CXX) $(LDFLAGS) -fPIC -dynamiclib $(lo) -install_name $(LIBDIR)/$(name).$(major).dylib -o $(name).$(version).dylib
+ ln -s $(name).$(version).dylib $(name).$(major).dylib
+ ln -s $(name).$(version).dylib $(name).dylib
+
+clean:
+ -rm -f *.o *.lo *.so* *.a
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch b/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch
new file mode 100644
index 000000000000..66d89a61743d
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch
@@ -0,0 +1,64 @@
+? entity.patch
+Index: tinyxml.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
+retrieving revision 1.105
+diff -u -r1.105 tinyxml.cpp
+--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
++++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
+@@ -57,30 +57,7 @@
+ {
+ unsigned char c = (unsigned char) str[i];
+
+- if ( c == '&'
+- && i < ( (int)str.length() - 2 )
+- && str[i+1] == '#'
+- && str[i+2] == 'x' )
+- {
+- // Hexadecimal character reference.
+- // Pass through unchanged.
+- // &#xA9; -- copyright symbol, for example.
+- //
+- // The -1 is a bug fix from Rob Laveaux. It keeps
+- // an overflow from happening if there is no ';'.
+- // There are actually 2 ways to exit this loop -
+- // while fails (error case) and break (semicolon found).
+- // However, there is no mechanism (currently) for
+- // this function to return an error.
+- while ( i<(int)str.length()-1 )
+- {
+- outString->append( str.c_str() + i, 1 );
+- ++i;
+- if ( str[i] == ';' )
+- break;
+- }
+- }
+- else if ( c == '&' )
++ if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+Index: xmltest.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
+retrieving revision 1.89
+diff -u -r1.89 xmltest.cpp
+--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
++++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
+@@ -1340,6 +1340,16 @@
+ }*/
+ }
+
++ #ifdef TIXML_USE_STL
++ {
++ TiXmlDocument xml;
++ xml.Parse("<foo>foo&amp;#xa+bar</foo>");
++ std::string str;
++ str << xml;
++ XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
++ }
++ #endif
++
+ /* 1417717 experiment
+ {
+ TiXmlDocument xml;
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch b/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch
new file mode 100644
index 000000000000..7bcde59ff946
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch
@@ -0,0 +1,12 @@
+diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
+--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
++++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
+@@ -26,6 +26,8 @@ distribution.
+ #ifndef TINYXML_INCLUDED
+ #define TINYXML_INCLUDED
+
++#define TIXML_USE_STL 1
++
+ #ifdef _MSC_VER
+ #pragma warning( push )
+ #pragma warning( disable : 4530 )
diff --git a/dev-libs/tinyxml/metadata.xml b/dev-libs/tinyxml/metadata.xml
new file mode 100644
index 000000000000..310db04b8b79
--- /dev/null
+++ b/dev-libs/tinyxml/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <use>
+ <flag name="stl">Compile with TIXML_USE_STL support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">tinyxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
new file mode 100644
index 000000000000..3410dcaa4fba
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit flag-o-matic toolchain-funcs eutils multilib
+
+DESCRIPTION="a simple, small, C++ XML parser that can be easily integrating into other programs"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~ppc64 sparc x86 ~x64-macos ~x86-macos"
+IUSE="debug doc static-libs +stl"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ local major_v minor_v
+ major_v=$(echo ${PV} | cut -d \. -f 1)
+ minor_v=$(echo ${PV} | cut -d \. -f 2-3)
+
+ sed -e "s:@MAJOR_V@:$major_v:" \
+ -e "s:@MINOR_V@:$minor_v:" \
+ "${FILESDIR}"/Makefile-3 > Makefile || die
+
+ epatch "${FILESDIR}"/${PN}-2.6.1-entity.patch
+
+ use debug && append-cppflags -DDEBUG
+ use stl && epatch "${FILESDIR}"/${P}-defineSTL.patch
+
+ if ! use static-libs; then
+ sed -e "/^all:/s/\$(name).a //" -i Makefile || die
+ fi
+
+ tc-export AR CXX RANLIB
+
+ [[ ${CHOST} == *-darwin* ]] && export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_install() {
+ dolib.so *$(get_libname)*
+
+ insinto /usr/include
+ doins *.h
+
+ dodoc {changes,readme}.txt
+
+ use doc && dohtml -r docs/*
+}
diff --git a/dev-libs/tinyxml2/Manifest b/dev-libs/tinyxml2/Manifest
new file mode 100644
index 000000000000..6edb19da9512
--- /dev/null
+++ b/dev-libs/tinyxml2/Manifest
@@ -0,0 +1,2 @@
+DIST tinyxml2-1.0.9_p20121123.tar.bz2 91204 SHA256 894b6b1136c86cc98bff77892ca077726b470432e871ca8c8c605177047272ea SHA512 054342b51141771c7611ae5aeb6ea332c42dff603aa6747f802d02bd010cad4b5c84fadf976576d2a604f1cccc7afe95ff23682a98c9294b032c94aa48b09aaf WHIRLPOOL 9aa505e7794b1fe1919b185d2080e63f3b01f44d2daeba94b7da6701f4931ec9188c0f92c9db9c6e8ac02772ef85f582b3a5d64227fd7b353da0a258c8a72eb7
+DIST tinyxml2-2.2.0.tar.gz 455226 SHA256 f891224f32e7a06bf279290619cec80cc8ddc335c13696872195ffb87f5bce67 SHA512 e06edb46f96dcc58cf16c8fef91dd072c9bd6dd296bb9ba3e082db059438f5f31e0689015deee7f1c390788d9bd0e64b6f5c0235c9d2839419ee2ab1784f53c4 WHIRLPOOL 6310e1492b180cc1a74f856dbf78897c5db7777d44ffd5ef785f85fb87a91462479a9da006d93ad7157763416863ed623b14cfc8d99f35494335de7252cda754
diff --git a/dev-libs/tinyxml2/files/tinyxml2-1.0.1_p20120531-test-return-status.patch b/dev-libs/tinyxml2/files/tinyxml2-1.0.1_p20120531-test-return-status.patch
new file mode 100644
index 000000000000..49d7d8332e3b
--- /dev/null
+++ b/dev-libs/tinyxml2/files/tinyxml2-1.0.1_p20120531-test-return-status.patch
@@ -0,0 +1,9 @@
+--- tinyxml2-1.0.1_p20120531/xmltest.cpp
++++ tinyxml2-1.0.1_p20120531/xmltest.cpp
+@@ -895,5 +895,5 @@
+ #endif
+
+ printf ("\nPass %d, Fail %d\n", gPass, gFail);
+- return 0;
++ return gFail;
+ }
diff --git a/dev-libs/tinyxml2/files/tinyxml2-1.0.9_p20121123-test.patch b/dev-libs/tinyxml2/files/tinyxml2-1.0.9_p20121123-test.patch
new file mode 100644
index 000000000000..a6842eecb6e5
--- /dev/null
+++ b/dev-libs/tinyxml2/files/tinyxml2-1.0.9_p20121123-test.patch
@@ -0,0 +1,20 @@
+--- tinyxml2-1.0.9_p20121123/CMakeLists.txt
++++ tinyxml2-1.0.9_p20121123/CMakeLists.txt
+@@ -55,10 +55,13 @@
+ VERSION "${GENERIC_LIB_VERSION}"
+ SOVERSION "${GENERIC_LIB_SOVERSION}")
+
+-add_executable(test xmltest.cpp)
+-add_dependencies(test tinyxml2)
+-add_dependencies(test ${TARGET_DATA_COPY})
+-target_link_libraries(test tinyxml2)
++set(BUILD_TEST OFF CACHE BOOL "Set to ON to build tests")
++if(BUILD_TEST)
++ add_executable(test xmltest.cpp)
++ add_dependencies(test tinyxml2)
++ add_dependencies(test ${TARGET_DATA_COPY})
++ target_link_libraries(test tinyxml2)
++endif(BUILD_TEST)
+
+
+ if(BUILD_STATIC_LIBS)
diff --git a/dev-libs/tinyxml2/metadata.xml b/dev-libs/tinyxml2/metadata.xml
new file mode 100644
index 000000000000..4af0dabc8e1e
--- /dev/null
+++ b/dev-libs/tinyxml2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <upstream>
+ <remote-id type="github">leethomason/tinyxml2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tinyxml2/tinyxml2-1.0.9_p20121123.ebuild b/dev-libs/tinyxml2/tinyxml2-1.0.9_p20121123.ebuild
new file mode 100644
index 000000000000..8c612dc75cbf
--- /dev/null
+++ b/dev-libs/tinyxml2/tinyxml2-1.0.9_p20121123.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+CMAKE_MIN_VERSION="2.8.5"
+
+inherit cmake-utils
+
+DESCRIPTION="A simple, small, efficient, C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml2/"
+SRC_URI="http://dev.gentoo.org/~radhermit/distfiles/${P}.tar.bz2"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${PN}-1.0.1_p20120531-test-return-status.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build static-libs STATIC_LIBS)
+ $(cmake-utils_use_build test TEST)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cmake-utils_src_test
+ ./test || die "Tests failed"
+}
diff --git a/dev-libs/tinyxml2/tinyxml2-2.2.0.ebuild b/dev-libs/tinyxml2/tinyxml2-2.2.0.ebuild
new file mode 100644
index 000000000000..2d2237a52f06
--- /dev/null
+++ b/dev-libs/tinyxml2/tinyxml2-2.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="A simple, small, efficient, C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml2/ https://github.com/leethomason/tinyxml2/"
+SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/2"
+KEYWORDS="amd64 ~arm x86"
+IUSE="static-libs test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.9_p20121123-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build static-libs STATIC_LIBS)
+ $(cmake-utils_use_build test TEST)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cmake-utils_src_test
+ ./test || die "Tests failed"
+}
diff --git a/dev-libs/tntnet/Manifest b/dev-libs/tntnet/Manifest
new file mode 100644
index 000000000000..4af8b75d8f77
--- /dev/null
+++ b/dev-libs/tntnet/Manifest
@@ -0,0 +1,2 @@
+DIST tntnet-1.6.3.tar.gz 1952122 SHA256 1c16547e4fe6c07f8fe1b9d2eeb750cb2061032f31880f93f2080b049d54a3a4 SHA512 e1652b7c0165aacb6b53502df6b56bdc14cf5c582bce7952a0ec515c0468104b8b9aab75cc8ae355af7438a9df8419cfe2dc035bae340f4b3e692198e3981602 WHIRLPOOL 83d4bbcf4109578e8cf68c13a530c8455c2b43b8a508e6d1401dcd5278ae59ae3c2e2613403414cd66d27172bcb517d5c45f02c9ffd6165052d481ccd8d40dd9
+DIST tntnet-2.2.1.tar.gz 1127500 SHA256 c83170d08ef04c5868051e1c28c74b9562fe71e9e8263828e755ad5bd3547521 SHA512 78a26713498fd6eabb0b4a247bb20c130ce967ed22ce5c54da4b1300534dd40155aa62a2dc770be4eca720cadeceac283978a5dc3ce418728994af72e4d8eac1 WHIRLPOOL 7429d49b0c48456fb1540c1528cb4edfd629f94a0719688efd771ea85f027d6b8c2fb3d20be3e8f17543339d0cbdf20df3c3c5799351070c8665a5b022bbccf7
diff --git a/dev-libs/tntnet/files/tntnet-1.6.3-gcc43.patch b/dev-libs/tntnet/files/tntnet-1.6.3-gcc43.patch
new file mode 100644
index 000000000000..699861c0d446
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet-1.6.3-gcc43.patch
@@ -0,0 +1,11 @@
+--- sdk/tools/ecppc/scopevar.cpp.orig 2008-06-13 16:09:16.000000000 +0000
++++ sdk/tools/ecppc/scopevar.cpp 2008-06-13 16:13:04.000000000 +0000
+@@ -22,6 +22,7 @@
+ #include <tnt/stringescaper.h>
+ #include <iterator>
+ #include <iostream>
++#include <algorithm>
+
+ namespace tnt
+ {
+
diff --git a/dev-libs/tntnet/files/tntnet-1.6.3-gnutls-2.8.patch b/dev-libs/tntnet/files/tntnet-1.6.3-gnutls-2.8.patch
new file mode 100644
index 000000000000..1d63c820f1ea
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet-1.6.3-gnutls-2.8.patch
@@ -0,0 +1,13 @@
+--- framework/common/Makefile.am
++++ framework/common/Makefile.am
+@@ -117,8 +117,8 @@
+ tnt/gcryptinit.h \
+ tnt/gnutls.h
+
+-libtntnet_la_LDFLAGS += `libgnutls-config --libs`
+-libtntnet_la_CXXFLAGS += `libgnutls-config --cflags`
++libtntnet_la_LDFLAGS += `pkg-config gnutls --libs`
++libtntnet_la_CXXFLAGS += `pkg-config gnutls --cflags`
+ endif
+
+ if MAKE_OPENSSL
diff --git a/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch b/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch
new file mode 100644
index 000000000000..07b4836319d4
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch
@@ -0,0 +1,65 @@
+--- a/configure.in
++++ b/configure.in
+@@ -18,6 +18,7 @@
+
+ AC_PROG_CXX
+ AC_PROG_LIBTOOL
++PKG_PROG_PKG_CONFIG
+
+ AC_LANG(C++)
+ ACX_PTHREAD
+@@ -25,6 +26,12 @@
+ AC_CHECK_HEADER([zlib.h], , AC_MSG_ERROR([zlib not found]))
+ AC_CHECK_HEADER([cxxtools/net/tcpsocket.h], , AC_MSG_ERROR([cxxtools headers not found]))
+
++PKG_CHECK_MODULES([MINIZIP], [minizip],
++ [HAVE_MINIZIP=true], [HAVE_MINIZIP=false])
++AC_SUBST([MINIZIP_CFLAGS])
++AC_SUBST([MINIZIP_LIBS])
++AM_CONDITIONAL([HAVE_MINIZIP], [test $HAVE_MINIZIP = true])
++
+ AC_ARG_WITH([epoll],
+ AS_HELP_STRING([--with-epoll=yes|no|probe], [use epoll]),
+ [epoll_option=$withval],
+--- a/framework/common/Makefile.am
++++ b/framework/common/Makefile.am
+@@ -23,7 +23,6 @@ libtntnet_la_SOURCES = \
+ httpparser.cpp \
+ httprequest.cpp \
+ httpreply.cpp \
+- ioapi.c \
+ job.cpp \
+ langlib.cpp \
+ listener.cpp \
+@@ -41,16 +40,13 @@ libtntnet_la_SOURCES = \
+ stringlessignorecase.cpp \
+ tntconfig.cpp \
+ tntnet.cpp \
+- unzip.c \
+ unzipfile.cpp \
+ urlescostream.cpp \
+ urlmapper.cpp \
+ util.cpp \
+ worker.cpp \
+ zdata.cpp \
+- crypt.h \
+- ioapi.h \
+- unzip.h
++ crypt.h
+
+ nobase_include_HEADERS = \
+ tnt/applicationunlocker.h \
+@@ -145,3 +141,13 @@ noinst_HEADERS += \
+ tnt/stressjob.h
+ endif
+
++if HAVE_MINIZIP
++libtntnet_la_CXXFLAGS += $(MINIZIP_CFLAGS)
++libtntnet_la_LDFLAGS += $(MINIZIP_LIBS)
++else
++libtntnet_la_SOURCES += \
++ ioapi.c \
++ ioapi.h \
++ unzip.c \
++ unzip.h
++endif
diff --git a/dev-libs/tntnet/files/tntnet.initd b/dev-libs/tntnet/files/tntnet.initd
new file mode 100644
index 000000000000..a7038b16d1fb
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet.initd
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+PIDFILE="/var/run/tntnet.pid"
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting tntnet"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec /usr/bin/tntnet
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tntnet"
+ start-stop-daemon --stop --pidfile $PIDFILE --exec /usr/bin/tntnet
+ eend $?
+}
+
+reload() {
+ # FIXME: Remove --stop and --oknodo as soon as baselayout-1 has been removed...
+ # finally...
+ ebegin "Reloading tntnet configuration"
+ start-stop-daemon --stop --oknodo --pidfile $PIDFILE --signal HUP --exec /usr/bin/tntnet
+ eend $?
+}
diff --git a/dev-libs/tntnet/metadata.xml b/dev-libs/tntnet/metadata.xml
new file mode 100644
index 000000000000..5a94337ca559
--- /dev/null
+++ b/dev-libs/tntnet/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hd_brummy@gentoo.org</email>
+ <name>Joerg Bornkessel</name>
+ </maintainer>
+ <herd>media-tv</herd>
+ <use>
+ <flag name="server">Enable tntnet server daemon</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/tntnet/tntnet-1.6.3.ebuild b/dev-libs/tntnet/tntnet-1.6.3.ebuild
new file mode 100644
index 000000000000..7b8904dfc19c
--- /dev/null
+++ b/dev-libs/tntnet/tntnet-1.6.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools eutils
+
+DESCRIPTION="A modular, multithreaded webapplicationserver extensible with C++"
+HOMEPAGE="http://www.tntnet.org/"
+SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+IUSE="ssl gnutls examples"
+
+RDEPEND="=dev-libs/cxxtools-1*
+ sys-libs/zlib
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-1.2.0 )
+ !gnutls? ( dev-libs/openssl )
+ )"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ ssl? ( gnutls? ( virtual/pkgconfig ) )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gcc43.patch"
+ epatch "${FILESDIR}/${P}-gnutls-2.8.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ if use gnutls; then
+ einfo "Using gnutls for ssl support."
+ myconf="${myconf} --with-ssl=gnutls"
+ else
+ einfo "Using openssl for ssl support."
+ myconf="${myconf} --with-ssl=openssl"
+ fi
+ else
+ einfo "Disabled ssl"
+ myconf="${myconf} --with-ssl=no"
+ fi
+ if use examples; then
+ myconf="${myconf} --with-demos=yes"
+ else
+ myconf="${myconf} --with-demos=no"
+ fi
+
+ econf ${myconf} || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Install failed"
+ dodoc AUTHORS ChangeLog README TODO doc/*.pdf
+
+ if use examples; then
+ cd "${S}/sdk/demos"
+ make clean
+ rm -rf .deps */.deps .libs */.libs
+
+ local dir="/usr/share/doc/${PF}/examples"
+ dodir "${dir}"
+ cp -r "${S}"/sdk/demos/* "${D}${dir}"
+ fi
+}
diff --git a/dev-libs/tntnet/tntnet-2.2.1.ebuild b/dev-libs/tntnet/tntnet-2.2.1.ebuild
new file mode 100644
index 000000000000..ec8558d20c8a
--- /dev/null
+++ b/dev-libs/tntnet/tntnet-2.2.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="Modular, multithreaded webapplicationserver extensible with C++"
+HOMEPAGE="http://www.tntnet.org/"
+SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+IUSE="doc gnutls server ssl examples"
+
+RDEPEND=">=dev-libs/cxxtools-2.2.1
+ sys-libs/zlib[minizip]
+ ssl? (
+ gnutls? (
+ >=net-libs/gnutls-1.2.0
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? ( dev-libs/openssl )
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-arch/zip"
+
+src_prepare() {
+ # Both fixed in the next release
+ epatch "${FILESDIR}"/${PN}-2.0-zlib-minizip.patch
+ rm framework/common/{ioapi,unzip}.[ch] || die
+
+ # bug 423697
+ sed -e "s:unzip.h:minizip/unzip.h:" -i framework/defcomp/unzipcomp.cpp
+
+ eautoreconf
+
+ sed -i -e 's:@localstatedir@:/var:' etc/tntnet/tntnet.xml.in || die
+}
+
+src_configure() {
+ local myconf=""
+
+ # Prefer gnutls above SSL
+ if use gnutls; then
+ einfo "Using gnutls for ssl support."
+ myconf="${myconf} --with-ssl=gnutls"
+ elif use ssl; then
+ einfo "Using openssl for ssl support."
+ myconf="${myconf} --with-ssl=openssl"
+ else
+ myconf="${myconf} --with-ssl=no"
+ fi
+
+ # default enabled, will not compile without sdk
+ myconf="${myconf} --with-sdk"
+
+ econf \
+ $(use_with server) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog README TODO
+ if use doc; then
+ dodoc doc/*.pdf || die
+ fi
+
+ if use examples; then
+ cd "${S}/sdk/demos"
+ emake clean
+ rm -rf .deps */.deps .libs */.libs
+ cd "${S}"
+
+ insinto /usr/share/doc/${PF}/examples
+ doins -r sdk/demos/* || die
+ fi
+
+ if use server; then
+ rm -f "${D}/etc/init.d/tntnet"
+ newinitd "${FILESDIR}/tntnet.initd" tntnet
+ fi
+}
diff --git a/dev-libs/totem-pl-parser/Manifest b/dev-libs/totem-pl-parser/Manifest
new file mode 100644
index 000000000000..57bd2e993e77
--- /dev/null
+++ b/dev-libs/totem-pl-parser/Manifest
@@ -0,0 +1,3 @@
+DIST totem-pl-parser-3.10.3.tar.xz 1593180 SHA256 14512c76c7f375d8bb9e9a220afbac20be2d2eb82abee9a8986d264079a0c72f SHA512 564c745e1662da9c65f118080e792557176b29cb02864d3e4fd5d56649e1db67d5a9de92a306805e7430bac7f0e7112af2fa49b3756df587ec2b08b1dfff06bf WHIRLPOOL 121aba890caa7c198288d669a01e920ef730aa6eb638de3d2882bec66e4b3676bcb931dd7673f6281fa0e803aa9c3916128bf22061d734fd8be3c9d3b76e8127
+DIST totem-pl-parser-3.10.4.tar.xz 1595992 SHA256 482353f8466b1cab06d99c0a112a4adc414bf43b9c8f3bd636570d20d1f4e265 SHA512 f806daca2ad7de4645482fd382d3ee7fa137b124ebc6068d0b6104dda1760d080d713c971ed15ed6ff57e7971e6a317191a52c37bee0c3ed462ace5f12acfacc WHIRLPOOL 3dd74bf5dcb7cc4cd1df4129be68b1e8a02c9addd9a339615d5d618fda8c345424e432aacb3a59b08a77dc025c5ee22afb42b2218d5e3517317a0178502fcfba
+DIST totem-pl-parser-3.10.5.tar.xz 1594516 SHA256 a746580f61b678029dadaa824a6923445afd944d12c40c5fccb27159799c8137 SHA512 d3b29b8bd265e4e8df2820b309bf78f58faec3ee4314b0453f11a0db754ed3b6c2b223e697498925810df660a89d5d6275959b7104f632054b5984f7d9aad553 WHIRLPOOL 06e38e67212764fca629b592d7dc5c4dfa222ac61076fd73434721f3dd78d8da5f6a716085bccf65e50512aabf5d92ad3d04797ab87275dc4e4ee14df4699964
diff --git a/dev-libs/totem-pl-parser/metadata.xml b/dev-libs/totem-pl-parser/metadata.xml
new file mode 100644
index 000000000000..dd1d648bb304
--- /dev/null
+++ b/dev-libs/totem-pl-parser/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<use>
+ <flag name='archive'>Enables support for accessing media files in archives
+ transparently via <pkg>app-arch/libarchive</pkg></flag>
+ <flag name="quvi">Use <pkg>media-libs/libquvi</pkg> for parsing video
+ links</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.10.3.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.3.ebuild
new file mode 100644
index 000000000000..7f6ad34edecb
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="http://developer.gnome.org/totem-pl-parser/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt +introspection +quvi test"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+
+RDEPEND="
+ >=dev-libs/glib-2.31:2
+ dev-libs/gmime:2.6
+ >=net-libs/libsoup-2.43:2.4
+ archive? ( >=app-arch/libarchive-3 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+ quvi? ( >=media-libs/libquvi-0.9.1:0= )
+"
+DEPEND="${RDEPEND}
+ !<media-video/totem-2.21
+ >=dev-util/intltool-0.35
+ >=dev-util/gtk-doc-am-1.14
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ test? (
+ gnome-base/gvfs[http]
+ sys-apps/dbus )
+"
+# eautoreconf needs:
+# dev-libs/gobject-introspection-common
+# >=gnome-base/gnome-common-3.6
+
+src_prepare() {
+ # Disable tests requiring network access, bug #346127
+ # 3rd test fails on upgrade, not once installed
+ sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1/:'\
+ -i plparse/tests/parser.c || die "sed failed"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable archive libarchive) \
+ $(use_enable crypt libgcrypt) \
+ $(use_enable quvi) \
+ $(use_enable introspection)
+}
+
+src_test() {
+ # This is required as told by upstream in bgo#629542
+ GVFS_DISABLE_FUSE=1 dbus-launch emake check || die "emake check failed"
+}
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.10.4.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.4.ebuild
new file mode 100644
index 000000000000..4dc0571ee6d9
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="http://developer.gnome.org/totem-pl-parser/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt +introspection +quvi test"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+
+RDEPEND="
+ >=dev-libs/glib-2.31:2
+ dev-libs/gmime:2.6
+ >=net-libs/libsoup-2.43:2.4
+ archive? ( >=app-arch/libarchive-3 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+ quvi? ( >=media-libs/libquvi-0.9.1:0= )
+"
+DEPEND="${RDEPEND}
+ !<media-video/totem-2.21
+ >=dev-util/intltool-0.35
+ >=dev-util/gtk-doc-am-1.14
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ test? (
+ gnome-base/gvfs[http]
+ sys-apps/dbus )
+"
+# eautoreconf needs:
+# dev-libs/gobject-introspection-common
+# >=gnome-base/gnome-common-3.6
+
+src_prepare() {
+ # Disable tests requiring network access, bug #346127
+ # 3rd test fails on upgrade, not once installed
+ sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1/:'\
+ -i plparse/tests/parser.c || die "sed failed"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable archive libarchive) \
+ $(use_enable crypt libgcrypt) \
+ $(use_enable quvi) \
+ $(use_enable introspection)
+}
+
+src_test() {
+ # This is required as told by upstream in bgo#629542
+ GVFS_DISABLE_FUSE=1 dbus-launch emake check || die "emake check failed"
+}
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.10.5.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.5.ebuild
new file mode 100644
index 000000000000..4dc0571ee6d9
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.10.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="http://developer.gnome.org/totem-pl-parser/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt +introspection +quvi test"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+
+RDEPEND="
+ >=dev-libs/glib-2.31:2
+ dev-libs/gmime:2.6
+ >=net-libs/libsoup-2.43:2.4
+ archive? ( >=app-arch/libarchive-3 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+ quvi? ( >=media-libs/libquvi-0.9.1:0= )
+"
+DEPEND="${RDEPEND}
+ !<media-video/totem-2.21
+ >=dev-util/intltool-0.35
+ >=dev-util/gtk-doc-am-1.14
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ test? (
+ gnome-base/gvfs[http]
+ sys-apps/dbus )
+"
+# eautoreconf needs:
+# dev-libs/gobject-introspection-common
+# >=gnome-base/gnome-common-3.6
+
+src_prepare() {
+ # Disable tests requiring network access, bug #346127
+ # 3rd test fails on upgrade, not once installed
+ sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
+ -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1/:'\
+ -i plparse/tests/parser.c || die "sed failed"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable archive libarchive) \
+ $(use_enable crypt libgcrypt) \
+ $(use_enable quvi) \
+ $(use_enable introspection)
+}
+
+src_test() {
+ # This is required as told by upstream in bgo#629542
+ GVFS_DISABLE_FUSE=1 dbus-launch emake check || die "emake check failed"
+}
diff --git a/dev-libs/tre/Manifest b/dev-libs/tre/Manifest
new file mode 100644
index 000000000000..05c7989f7e1c
--- /dev/null
+++ b/dev-libs/tre/Manifest
@@ -0,0 +1 @@
+DIST tre-0.8.0.tar.bz2 380714 SHA256 8dc642c2cde02b2dac6802cdbe2cda201daf79c4ebcbb3ea133915edf1636658 SHA512 db7465993e0d25eee8e52f974427b8a040234cf0f017769eb94ee88bc6261821336aad7f762bfa82db7e2212d8449bc221592586f061c528a59a550773cbc263 WHIRLPOOL 97146f193c828ce16d76fb6e181d5b91f5a26e1ebf73b0f17374b6826da471ec2f160cf640607cb00cbf217367dcf426b86159cbd229fed5801d09a3e39c923d
diff --git a/dev-libs/tre/files/0.8.0-pkgcfg.patch b/dev-libs/tre/files/0.8.0-pkgcfg.patch
new file mode 100644
index 000000000000..82f803504282
--- /dev/null
+++ b/dev-libs/tre/files/0.8.0-pkgcfg.patch
@@ -0,0 +1,14 @@
+ tre.pc.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/tre.pc.in b/tre.pc.in
+index fdc45fa..b8d0676 100644
+--- a/tre.pc.in
++++ b/tre.pc.in
+@@ -6,5 +6,5 @@ includedir=@includedir@
+ Name: TRE
+ Description: TRE regexp matching library
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -ltre @LDFLAGS@ @LIBINTL@ @LIBS@
++Libs: -L${libdir} -ltre @LIBINTL@ @LIBS@
+ Cflags: -I${includedir} @CPPFLAGS@
diff --git a/dev-libs/tre/files/0.8.0-python.patch b/dev-libs/tre/files/0.8.0-python.patch
new file mode 100644
index 000000000000..f290e0bf5783
--- /dev/null
+++ b/dev-libs/tre/files/0.8.0-python.patch
@@ -0,0 +1,39 @@
+diff --git a/python/setup.py b/python/setup.py
+index b420a4c..b1bca6b 100644
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -10,7 +10,8 @@ import shutil
+
+ version = "0.8.0"
+ data_files = []
+-include_dirs = ["../lib"]
++include_dirs = ["lib"]
++library_dirs = ["lib/.libs"]
+ libraries = ["tre"]
+
+ if sys.platform == "win32":
+@@ -28,9 +29,10 @@ setup(name = "tre",
+ url = "http://laurikari.net/tre/",
+ data_files = data_files,
+ ext_modules = [Extension("tre",
+- sources = ["tre-python.c"],
++ sources = ["python/tre-python.c"],
+ define_macros = [("HAVE_CONFIG_H", None)],
+ include_dirs = include_dirs,
++ library_dirs = library_dirs,
+ libraries = libraries
+ ),
+ ],
+diff --git a/python/tre-python.c b/python/tre-python.c
+index bbb24ed..2e35e3a 100644
+--- a/python/tre-python.c
++++ b/python/tre-python.c
+@@ -13,7 +13,7 @@
+ #include "Python.h"
+ #include "structmember.h"
+
+-#include <tre/tre.h>
++#include <tre.h>
+
+ #define TRE_MODULE "tre"
+
diff --git a/dev-libs/tre/metadata.xml b/dev-libs/tre/metadata.xml
new file mode 100644
index 000000000000..f23b9cae1593
--- /dev/null
+++ b/dev-libs/tre/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>shell-tools</herd>
+</pkgmetadata>
diff --git a/dev-libs/tre/tre-0.8.0.ebuild b/dev-libs/tre/tre-0.8.0.ebuild
new file mode 100644
index 000000000000..2cc01f1a9dcf
--- /dev/null
+++ b/dev-libs/tre/tre-0.8.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils eutils
+
+DESCRIPTION="Lightweight, robust, and efficient POSIX compliant regexp matching library"
+HOMEPAGE="http://laurikari.net/tre/"
+SRC_URI="http://laurikari.net/tre/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="nls python static-libs"
+
+RDEPEND="
+ !app-misc/glimpse
+ !app-text/agrep"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DISTUTILS_SETUP_FILES=("python/setup.py")
+
+pkg_setup() {
+ use python && python_pkg_setup
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-python.patch \
+ "${FILESDIR}"/${PV}-pkgcfg.patch
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --enable-agrep \
+ --enable-system-abi \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake || die
+ use python && distutils_src_compile
+}
+
+src_test() {
+ if $(locale -a | grep -iq en_US.iso88591); then
+ emake -j1 \
+ check || die
+ else
+ ewarn "If you like to run the test,"
+ ewarn "please make sure en_US.ISO-8859-1 is installed."
+ die "en_US.ISO-8859-1 locale is missing"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ local exe_ext=
+ [[ ${CHOST} = *mingw32* ]] && exe_ext=.exe
+ mv "${ED}"/usr/bin/agrep{,-tre}${exe_ext} || die
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO || die
+ dohtml doc/*.{css,html} || die
+ use python && distutils_src_install
+}
+
+pkg_postinst() {
+ echo
+ ewarn "app-misc/glimpse, app-text/agrep and this package all provide agrep."
+ ewarn "If this causes any unforeseen incompatibilities please file a bug"
+ ewarn "on http://bugs.gentoo.org."
+ echo
+
+ use python && distutils_pkg_postinst
+}
+
+pkg_postrm() {
+ use python && distutils_pkg_postrm
+}
diff --git a/dev-libs/tvision/Manifest b/dev-libs/tvision/Manifest
new file mode 100644
index 000000000000..e976d4ba28ae
--- /dev/null
+++ b/dev-libs/tvision/Manifest
@@ -0,0 +1 @@
+DIST rhtvision_2.1.0-2.tar.gz 1590449 SHA256 fef19d839069dea2cd5459f24a190883a3b2b600a60d6f7823f456d8e6889412 SHA512 0593cd2eee9490d5cd6e79a6b8f4c0b384f78e5bb24b0728876fb9df482a43ee97c141d89127254210b4e012970327adfc5c8815d7c3c580a6d54a09291d42a1 WHIRLPOOL 5ce2e0bd7eb161aaef520a3bfafde7146784ac5a9d528ce73a51f502b23d790f42caeee5028508a8902615dfa31e295a988daef341f3fa3f6bb1c360b4b90d2b
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
new file mode 100644
index 000000000000..314ab225f051
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
@@ -0,0 +1,45 @@
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -206,6 +206,7 @@
+ }
+ # Flags to link as a dynamic lib
+ $MakeDefsRHIDE[6]='RHIDE_LDFLAGS=';
++$MakeDefsRHIDE[7]='RHIDE_LIBS=';
+ if ($OS eq 'UNIX')
+ {
+ if ($OSf ne 'Darwin')
+@@ -229,15 +230,15 @@
+ }
+ $libs=$conf{'X11Lib'};
+ $libs=~s/(\S+)/-l$1/g;
+- $MakeDefsRHIDE[6].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
++ $MakeDefsRHIDE[7].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
+- $MakeDefsRHIDE[6].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
++ $MakeDefsRHIDE[7].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
+- $MakeDefsRHIDE[6].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
++ $MakeDefsRHIDE[7].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
+- $MakeDefsRHIDE[6].=" $stdcxx -lm -lc";
++ $MakeDefsRHIDE[7].=" $stdcxx -lm -lc";
+- $MakeDefsRHIDE[6].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
++ $MakeDefsRHIDE[7].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
+- $MakeDefsRHIDE[6].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
++ $MakeDefsRHIDE[7].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
+ }
+-$MakeDefsRHIDE[7]="LIB_VER=$Version";
++$MakeDefsRHIDE[8]="LIB_VER=$Version";
+-$MakeDefsRHIDE[8]="LIB_VER_MAJOR=$VersionMajor";
++$MakeDefsRHIDE[9]="LIB_VER_MAJOR=$VersionMajor";
+
+ ModifyMakefiles('intl/dummy/Makefile');
+ CreateRHIDEenvs('examples/rhide.env','makes/rhide.env','compat/rhide.env');
+--- tvision/makes/common.imk
++++ tvision/makes/common.imk
+@@ -54,7 +54,7 @@
+ C_EXTRA_FLAGS=$(SHARED_CODE_OPTION)
+ RHIDE_COMPILE_ARCHIVE=$(RHIDE_LD) $(RHIDE_LIBDIRS) $(LDFLAGS) \
+ $(RHIDE_LDFLAGS) $(C_EXTRA_FLAGS) -o $(OUTFILE) \
+- $(OBJFILES)
++ $(OBJFILES) $(addprefix -l,$(RHIDE_OS_LIBS))
+ else
+ RHIDE_COMPILE_ARCHIVE=$(RHIDE_AR) $(RHIDE_ARFLAGS) $(OUTFILE)\
+ $(ALL_PREREQ)
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
new file mode 100644
index 000000000000..e74b09ee57d0
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
@@ -0,0 +1,11 @@
+--- tvision/Makefile.in
++++ tvision/Makefile.in
+@@ -31,7 +31,7 @@ examples:
+ $(MAKE) -C examples
+
+ rhtv-config$(EXE_EXT): rhtv-config.c include/tv/configtv.h
+- @GCC@ -o rhtv-config$(EXE_EXT) -Iinclude rhtv-config.c
++ @GCC@ -o rhtv-config$(EXE_EXT) $(CFLAGS) $(LDFLAGS) -Iinclude rhtv-config.c
+
+ install-headers:
+ @install_headers@
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
new file mode 100644
index 000000000000..36246b214f99
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
@@ -0,0 +1,11 @@
+--- tvision/include/tv/inputln.h
++++ tvision/include/tv/inputln.h
+@@ -201,7 +201,7 @@
+ { return name; }
+
+ protected:
+- TInputLine::TInputLine(StreamableInit) :
++ TInputLine(StreamableInit) :
+ TInputLineBaseT<char,TDrawBuffer>(streamableInit) {}
+
+ public:
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
new file mode 100644
index 000000000000..40911f3a3e29
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
@@ -0,0 +1,21 @@
+--- tvision/classes/ipstream.cc
++++ tvision/classes/ipstream.cc
+@@ -19,6 +19,7 @@
+ *
+ */
+ #include <assert.h>
++#include <stdio.h>
+ #define Uses_string
+ #define Uses_TStreamable
+ #define Uses_TStreamableClass
+--- tvision/include/tv/textdev.h
++++ tvision/include/tv/textdev.h
+@@ -16,6 +16,8 @@
+ #if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
+ #define __TTextDevice
+
++#include <stdio.h>
++
+ class TRect;
+ class TScrollBar;
+
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
new file mode 100644
index 000000000000..6d7d94fe8a0d
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
@@ -0,0 +1,15 @@
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -1193,12 +1193,6 @@
+ $rep.="\t".GenInstallFiles('0644',"$makeDir/$ver",'$(libdir)');
+ $stripDebug=($OSf eq 'Darwin') ? '-S' : '--strip-debug';
+ $rep.="\tstrip $stripDebug \$(libdir)/$ver\n" unless $conf{'debugInfo'} eq 'yes';
+- # FreeBSD: merge data from libdir.
+- # Darwin: doesn't have ldconfig.
+- if ($OSf ne 'Darwin')
+- {
+- $rep.=($OSf eq 'FreeBSD') ? "\t-ldconfig -m \$(libdir)\n" : "\t-ldconfig\n";
+- }
+ }
+ if ($internac)
+ {
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
new file mode 100644
index 000000000000..0735f8ffeb77
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
@@ -0,0 +1,41 @@
+Recent kernel headers no longer provide asm/io.h.
+
+--- tvision/classes/linux/linuxdis.cc
++++ tvision/classes/linux/linuxdis.cc
+@@ -300,7 +300,11 @@
+ *****************************************************************************/
+
+ #ifdef h386LowLevel
++#if HAVE_OUTB_IN_SYS
++#include <sys/io.h>
++#else
+ #include <asm/io.h>
++#endif
+
+ static inline
+ unsigned char I(unsigned char i)
+--- tvision/classes/linux/linuxscr.cc
++++ tvision/classes/linux/linuxscr.cc
+@@ -123,7 +123,11 @@
+ #include <tv/linux/log.h>
+
+ #ifdef h386LowLevel
++ #if HAVE_OUTB_IN_SYS
++ #include <sys/io.h>
++ #else
+ #include <asm/io.h>
++ #endif
+ #endif
+
+ // What a hell is that?!
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -77,7 +77,7 @@
+ # glibc I use but the fact is that the needed tricks make it very Linux
+ # dependent.
+ LookForPThread() if $OSf eq 'Linux';
+- #LookForOutB();
++ LookForOutB();
+ }
+ if ($Compf eq 'Cygwin')
+ {# Cygwin incorporates a XFree86 port
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
new file mode 100644
index 000000000000..d693a359a6cf
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
@@ -0,0 +1,14 @@
+Bug #160591; fixes a buffer underflow.
+Reported by B Douglas Hilton <b.d.hilton@verizon.net>
+
+--- tvision/classes/ttermina.cc
++++ tvision/classes/ttermina.cc
+@@ -233,7 +233,7 @@
+ }
+ }
+ }
+- while (pos-->=queBack);
++ while (pos-->queBack);
+
+ return queBack;
+ }
diff --git a/dev-libs/tvision/metadata.xml b/dev-libs/tvision/metadata.xml
new file mode 100644
index 000000000000..4cde498cb7c8
--- /dev/null
+++ b/dev-libs/tvision/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">tvision</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tvision/tvision-2.1.0_pre2-r3.ebuild b/dev-libs/tvision/tvision-2.1.0_pre2-r3.ebuild
new file mode 100644
index 000000000000..41b30885424f
--- /dev/null
+++ b/dev-libs/tvision/tvision-2.1.0_pre2-r3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib
+
+DESCRIPTION="Text User Interface that implements the well known CUA widgets"
+HOMEPAGE="http://tvision.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tvision/rhtvision_${PV/_pre/-}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-gcc41.patch
+ epatch "${FILESDIR}"/${P}-outb.patch
+ epatch "${FILESDIR}"/${P}-underflow.patch
+ epatch "${FILESDIR}"/${P}-asneeded.patch
+ epatch "${FILESDIR}"/${P}-gcc44.patch
+ epatch "${FILESDIR}"/${P}-ldconfig.patch
+ epatch "${FILESDIR}"/${P}-flags.patch
+}
+
+src_compile() {
+ ./configure \
+ --prefix=/usr \
+ --fhs \
+ || die
+ emake || die
+}
+
+src_install() {
+ einstall libdir="\$(prefix)/$(get_libdir)"|| die
+ dosym rhtvision /usr/include/tvision
+ dodoc readme.txt THANKS TODO
+ dohtml -r www-site
+}
diff --git a/dev-libs/tvmet/Manifest b/dev-libs/tvmet/Manifest
new file mode 100644
index 000000000000..f0ec4c1ccc7a
--- /dev/null
+++ b/dev-libs/tvmet/Manifest
@@ -0,0 +1 @@
+DIST tvmet-1.7.2.tar.bz2 532599 SHA256 ca4a1e72afb70ca34bbd7cb0500a159003f5c270903f1b303af48a883dbe13ae SHA512 0e57d2ec68566d02c09c3d8b35662b3737e6f074271e5e90c1354956636d2ada74859bb867d63684edaa93d7ab6a470a3141d02a04164101ff9d8d14f3d6c5fb WHIRLPOOL 049901010e48647278c73e315eda041f3f51c4a0933128d8bc24cbd8cbbdc0d166502a2d192f6d47df9f20fe33b32a78f6c02b2cd72897822d88dbae0bbb3c44
diff --git a/dev-libs/tvmet/files/1.7.2-docs_missing_destdir.patch b/dev-libs/tvmet/files/1.7.2-docs_missing_destdir.patch
new file mode 100644
index 000000000000..d591677b99c4
--- /dev/null
+++ b/dev-libs/tvmet/files/1.7.2-docs_missing_destdir.patch
@@ -0,0 +1,29 @@
+--- tvmet-1.7.2.orig/doc/Makefile.in 2007-06-23 18:00:27.000000000 +0200
++++ tvmet-1.7.2/doc/Makefile.in 2008-06-07 16:47:29.000000000 +0200
+@@ -667,20 +680,20 @@
+ # Automake's "distcheck" is sensitive to having files left over
+ # after "make uninstall", so we have to clean up the install hook.
+ @CONFIG_DOC_TRUE@uninstall-local:
+-@CONFIG_DOC_TRUE@ @if test -d $(TVMET_DOC_DIR); then \
+-@CONFIG_DOC_TRUE@ rm -rf $(TVMET_DOC_DIR); \
++@CONFIG_DOC_TRUE@ @if test -d $(DESTDIR)/$(TVMET_DOC_DIR)/html; then \
++@CONFIG_DOC_TRUE@ rm -rf $(DESTDIR)/$(TVMET_DOC_DIR)/html; \
+ @CONFIG_DOC_TRUE@ fi
+
+ # Install hooks
+ @CONFIG_DOC_TRUE@make-install-dirs:
+-@CONFIG_DOC_TRUE@ @if test '!' -d $(TVMET_DOC_DIR); then \
+-@CONFIG_DOC_TRUE@ $(mkinstalldirs) $(TVMET_DOC_DIR); \
++@CONFIG_DOC_TRUE@ @if test '!' -d $(DESTDIR)/$(TVMET_DOC_DIR)/html; then \
++@CONFIG_DOC_TRUE@ $(mkinstalldirs) $(DESTDIR)/$(TVMET_DOC_DIR)/html; \
+ @CONFIG_DOC_TRUE@ fi
+
+ @CONFIG_DOC_TRUE@install-data-hook: make-install-dirs
+-@CONFIG_DOC_TRUE@ @echo Installing documentations into $(TVMET_DOC_DIR)
++@CONFIG_DOC_TRUE@ @echo Installing documentations into $(DESTDIR)/$(TVMET_DOC_DIR)/html
+ @CONFIG_DOC_TRUE@ @echo "install html"
+-@CONFIG_DOC_TRUE@ @$(INSTALL_DATA) @top_builddir@/doc/html/* $(TVMET_DOC_DIR)
++@CONFIG_DOC_TRUE@ @$(INSTALL_DATA) @top_builddir@/doc/html/* $(DESTDIR)/$(TVMET_DOC_DIR)/html
+
+ @CONFIG_DOC_FALSE@doc-dist:
+ @CONFIG_DOC_FALSE@install-data-hook:
diff --git a/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch b/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch
new file mode 100644
index 000000000000..2749c9131349
--- /dev/null
+++ b/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch
@@ -0,0 +1,42 @@
+diff -ur tvmet-1.7.2-orig/configure tvmet-1.7.2/configure
+--- tvmet-1.7.2-orig/configure 2009-04-19 16:27:20.000000000 -0400
++++ tvmet-1.7.2/configure 2009-04-19 16:48:52.000000000 -0400
+@@ -2659,11 +2659,9 @@
+ ;;
+ *:*) # Simple initialization syntax
+ CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
+- CXXFLAGS=""
+ ;;
+ *) # Default values
+ CXX="g++"
+- CXXFLAGS=""
+ ;;
+ esac
+ CXX_OPTIMIZE_FLAGS="-DTVMET_OPTIMIZE -O2 -finline-limit=5000 -ftemplate-depth-200 -fomit-frame-pointer"
+@@ -3704,7 +3702,6 @@
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -3799,15 +3796,9 @@
+ CXXFLAGS=$ac_save_CXXFLAGS
+ elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+- CXXFLAGS="-g -O2"
++ CXXFLAGS+="$CXXFLAGS -g -O2"
+ else
+- CXXFLAGS="-g"
+- fi
+-else
+- if test "$GXX" = yes; then
+- CXXFLAGS="-O2"
+- else
+- CXXFLAGS=
++ CXXFLAGS+="$CXXFLAGS -g"
+ fi
+ fi
+ ac_ext=cpp
+
diff --git a/dev-libs/tvmet/metadata.xml b/dev-libs/tvmet/metadata.xml
new file mode 100644
index 000000000000..f33bab03deb3
--- /dev/null
+++ b/dev-libs/tvmet/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">tvmet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
new file mode 100644
index 000000000000..6eb010b085d1
--- /dev/null
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="Tiny Vector Matrix library using Expression Templates"
+HOMEPAGE="http://tvmet.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc test"
+
+DEPEND="doc? ( app-doc/doxygen )
+ test? ( dev-util/cppunit )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-respect-cxxflags.patch"
+
+ sed -i \
+ -e 's|^GENERATE_LATEX.*|GENERATE_LATEX = NO|' \
+ doc/Doxyfile.in || die "sed failed"
+
+ # Doc installation is broken with newer Doxygen and autoconf <=2.61
+ # and we can't rerun autoconf without requiring cppunit unconditionally
+ sed -i \
+ -e '/^SUBDIRS/ s|doc ||' \
+ Makefile.in || die "sed failed"
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable doc docs) \
+ $(use_enable test cppunit)
+}
+
+src_compile() {
+ default
+ if use doc ; then
+ cd doc
+ doxygen Doxyfile || die "doxygen failed"
+ fi
+}
+
+src_install() {
+ default
+ use doc && dohtml -r doc/html/*
+}
diff --git a/dev-libs/uchardet/Manifest b/dev-libs/uchardet/Manifest
new file mode 100644
index 000000000000..9652429b564b
--- /dev/null
+++ b/dev-libs/uchardet/Manifest
@@ -0,0 +1 @@
+DIST uchardet-0.0.1.tar.gz 179207 SHA256 e238c212350e07ebbe1961f8f128faaa40f71b70d37b63ffa2fe12c664269ee6 SHA512 28fa8618a1a5f8cd36271fee3dd0e0bfbd2fdd219ad026a1382db366806d57f5be33ad4dfd765a9c31408a853edde157c3aeb717dcce360e56c3f63f4a1f1288 WHIRLPOOL 413a754c1e976c3bc24b6b66150dc4544f0fc565953bd4c0b062b37afbf4cb1caa5e2c014388133d2f1559d59b563d8ba812482ed8a11088fcfab3353ef6b8a0
diff --git a/dev-libs/uchardet/metadata.xml b/dev-libs/uchardet/metadata.xml
new file mode 100644
index 000000000000..08e15306aeac
--- /dev/null
+++ b/dev-libs/uchardet/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>rion4ik@gmail.com</email>
+ <name>Rion</name>
+ </maintainer>
+ <maintainer>
+ <email>nikoli@gmx.us</email>
+ <name>Nikoli</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/uchardet/uchardet-0.0.1.ebuild b/dev-libs/uchardet/uchardet-0.0.1.ebuild
new file mode 100644
index 000000000000..5472c1d2f036
--- /dev/null
+++ b/dev-libs/uchardet/uchardet-0.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils
+
+DESCRIPTION="C port of Mozilla's Automatic Charset Detection algorithm"
+HOMEPAGE="https://code.google.com/p/uchardet/"
+SRC_URI="https://uchardet.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_install() {
+ cmake-utils_src_install
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
diff --git a/dev-libs/ucl/Manifest b/dev-libs/ucl/Manifest
new file mode 100644
index 000000000000..1d414da3d9a3
--- /dev/null
+++ b/dev-libs/ucl/Manifest
@@ -0,0 +1 @@
+DIST ucl-1.03.tar.gz 534881 SHA256 b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348 SHA512 7dd1824d01b4bb41ee03bbceddc634a9f7f910d235e5cca163d783680d6743f0f3cc309bbbcc1e094d897d549d3805a555f9093b4d77805443d896dd1862aa34 WHIRLPOOL 64b9124cf863248e74c97c45631a0fca7337fa6a99bd08dfbd5e7ca65d8fd509ba6a331059f87472d7dbcd56f9f354359d0c2da412224f9f4fda8ff3c8b6d2a6
diff --git a/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
new file mode 100644
index 000000000000..07c925b4888e
--- /dev/null
+++ b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
@@ -0,0 +1,134 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Respect CCASFLAGS (which often defaults to CFLAGS). Fixes
+ compilation for portage-multilib users.
+
+diff -r c090ed619e90 configure.ac
+--- a/configure.ac Sun Jun 26 16:00:09 2011 -0400
++++ b/configure.ac Sun Jun 26 20:52:01 2011 -0400
+@@ -47,14 +47,12 @@
+ AC_CANONICAL_TARGET
+ AM_MAINTAINER_MODE
+
+-if test -z "$ac_abs_top_srcdir"; then
+- _AC_SRCPATHS(.)
+-fi
+ if test -r .Conf.settings1; then
+ . ./.Conf.settings1
+ fi
+
+ AC_PROG_CC
++AM_PROG_AS
+ AC_PROG_CPP
+ mfx_PROG_CPPFLAGS
+ AC_C_CONST
+@@ -84,13 +82,13 @@
+ if test "X$enable_asm" != Xno; then
+ mfx_compile_S='${CC-cc} -c conftest.S 1>&AS_MESSAGE_LOG_FD'
+ cat > conftest.S <<EOF
+-#include "$ac_abs_top_srcdir/asm/i386/src_gas/crc_asm.S"
++#include "$srcdir/asm/i386/src_gas/crc_asm.S"
+ EOF
+ enable_asm=no
+ if AC_TRY_EVAL(mfx_compile_S); then
+ if AC_TRY_COMMAND([test -s conftest.$ac_objext]); then
+ enable_asm=yes
+- UCL_ASM_VPATH=":$ac_abs_top_srcdir/asm/i386/src_gas"
++ UCL_ASM_VPATH=":\$(top_srcdir)/asm/i386/src_gas"
+ fi
+ fi
+ if test "X$enable_asm" = Xno; then
+@@ -160,11 +158,6 @@
+ AC_SUBST(UCL_CFLAGS)
+ AC_SUBST(UCL_EXTRA_CFLAGS)
+
+-configure_CPPFLAGS=$CPPFLAGS
+-configure_CFLAGS=$CFLAGS
+-AC_SUBST(configure_CPPFLAGS)
+-AC_SUBST(configure_CFLAGS)
+-
+ AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/ucl/Makefile src/Makefile])
+ AC_OUTPUT
+
+diff -r c090ed619e90 src/Makefile.am
+--- a/src/Makefile.am Sun Jun 26 16:00:09 2011 -0400
++++ b/src/Makefile.am Sun Jun 26 20:52:01 2011 -0400
+@@ -4,11 +4,10 @@
+ #
+
+ VPATH = @srcdir@@UCL_ASM_VPATH@
+-SUFFIXES = .S
+
+ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
+-CPPFLAGS = $(UCL_CPPFLAGS) $(configure_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
+-CFLAGS = $(UCL_CFLAGS) $(configure_CFLAGS) $(UCL_EXTRA_CFLAGS)
++AM_CPPFLAGS = $(UCL_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
++AM_CFLAGS = $(UCL_CFLAGS) $(UCL_EXTRA_CFLAGS)
+
+ lib_LTLIBRARIES = libucl.la
+
+@@ -16,51 +15,37 @@
+
+ libucl_la_SOURCES = \
+ alloc.c \
++ getbit.h \
+ n2b_99.c n2b_d.c n2b_ds.c n2b_to.c \
+ n2d_99.c n2d_d.c n2d_ds.c n2d_to.c \
+ n2e_99.c n2e_d.c n2e_ds.c n2e_to.c \
++ ucl_conf.h \
+ ucl_crc.c \
+ ucl_init.c \
+- ucl_ptr.c \
++ ucl_ptr.c ucl_ptr.h \
+ ucl_str.c \
+ ucl_util.c
+
+ EXTRA_DIST = \
+- getbit.h \
+ n2_99.ch \
+- ucl_conf.h \
+ ucl_dll.ch \
+ ucl_mchw.ch \
+- ucl_ptr.h \
+ ucl_swd.ch
+
+-libucl_la_LIBADD = $(UCL_ASM_OBJECTS)
+-libucl_la_DEPENDENCIES = $(libucl_la_LIBADD)
+-
+-
+ # /***********************************************************************
+ # // assembler support
+ # ************************************************************************/
+
+ if UCL_USE_ASM
+-
+-UCL_ASM_OBJECTS = \
+- cpuid.lo crc_asm.lo crcs_asm.lo rdtsc.lo rdtsca.lo \
+- n2b_d_f1.lo n2b_d_f2.lo n2b_d_f3.lo n2b_d_f4.lo n2b_d_f5.lo n2b_d_f6.lo \
+- n2b_d_n1.lo n2b_d_n2.lo n2b_d_n3.lo n2b_d_n4.lo n2b_d_n5.lo n2b_d_n6.lo \
+- n2b_d_s1.lo n2b_d_s2.lo n2b_d_s3.lo n2b_d_s4.lo n2b_d_s5.lo n2b_d_s6.lo \
+- n2d_d_f1.lo n2d_d_f2.lo n2d_d_f3.lo n2d_d_f4.lo n2d_d_f5.lo n2d_d_f6.lo \
+- n2d_d_n1.lo n2d_d_n2.lo n2d_d_n3.lo n2d_d_n4.lo n2d_d_n5.lo n2d_d_n6.lo \
+- n2d_d_s1.lo n2d_d_s2.lo n2d_d_s3.lo n2d_d_s4.lo n2d_d_s5.lo n2d_d_s6.lo \
+- n2e_d_f1.lo n2e_d_f2.lo n2e_d_f3.lo n2e_d_f4.lo n2e_d_f5.lo n2e_d_f6.lo \
+- n2e_d_n1.lo n2e_d_n2.lo n2e_d_n3.lo n2e_d_n4.lo n2e_d_n5.lo n2e_d_n6.lo \
+- n2e_d_s1.lo n2e_d_s2.lo n2e_d_s3.lo n2e_d_s4.lo n2e_d_s5.lo n2e_d_s6.lo
+-
+-.S.o:
+- $(CC) -c $<
+-
+-.S.lo:
+- $(LIBTOOL) --mode=compile $(CC) -c $<
+-
++libucl_la_SOURCES += \
++ cpuid.S crc_asm.S crcs_asm.S rdtsc.S rdtsca.S \
++ n2b_d_f1.S n2b_d_f2.S n2b_d_f3.S n2b_d_f4.S n2b_d_f5.S n2b_d_f6.S \
++ n2b_d_n1.S n2b_d_n2.S n2b_d_n3.S n2b_d_n4.S n2b_d_n5.S n2b_d_n6.S \
++ n2b_d_s1.S n2b_d_s2.S n2b_d_s3.S n2b_d_s4.S n2b_d_s5.S n2b_d_s6.S \
++ n2d_d_f1.S n2d_d_f2.S n2d_d_f3.S n2d_d_f4.S n2d_d_f5.S n2d_d_f6.S \
++ n2d_d_n1.S n2d_d_n2.S n2d_d_n3.S n2d_d_n4.S n2d_d_n5.S n2d_d_n6.S \
++ n2d_d_s1.S n2d_d_s2.S n2d_d_s3.S n2d_d_s4.S n2d_d_s5.S n2d_d_s6.S \
++ n2e_d_f1.S n2e_d_f2.S n2e_d_f3.S n2e_d_f4.S n2e_d_f5.S n2e_d_f6.S \
++ n2e_d_n1.S n2e_d_n2.S n2e_d_n3.S n2e_d_n4.S n2e_d_n5.S n2e_d_n6.S \
++ n2e_d_s1.S n2e_d_s2.S n2e_d_s3.S n2e_d_s4.S n2e_d_s5.S n2e_d_s6.S
+ endif
+-
diff --git a/dev-libs/ucl/files/ucl-1.03-x32.patch b/dev-libs/ucl/files/ucl-1.03-x32.patch
new file mode 100644
index 000000000000..ac8657880f31
--- /dev/null
+++ b/dev-libs/ucl/files/ucl-1.03-x32.patch
@@ -0,0 +1,173 @@
+port ucl to the x32 ABI
+
+https://bugs.gentoo.org/426334
+
+--- a/acc/acc_arch.h
++++ b/acc/acc_arch.h
+@@ -19,6 +19,7 @@
+ * ACC_ARCH_UNKNOWN [default]
+ * ACC_ARCH_ALPHA
+ * ACC_ARCH_AMD64 aka x86-64 or ia32e
++ * ACC_ARCH_X32 aka x86-32
+ * ACC_ARCH_C166
+ * ACC_ARCH_IA16 Intel Architecture (8088, 8086, 80186, 80286)
+ * ACC_ARCH_IA32 Intel Architecture (80386+)
+@@ -42,8 +43,13 @@
+ # define ACC_ARCH_IA16 1
+ # define ACC_INFO_ARCH "ia16"
+ #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
++# ifdef __ILP32__
++# define ACC_ARCH_X32 1
++# define ACC_INFO_ARCH "x32"
++# else
+ # define ACC_ARCH_AMD64 1
+ # define ACC_INFO_ARCH "amd64"
++# endif
+ #elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
+ # define ACC_ARCH_AVR 1
+ # define ACC_INFO_ARCH "avr"
+@@ -92,7 +98,7 @@
+ #endif
+
+
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define ACC_ENDIAN_LITTLE_ENDIAN 1
+ # define ACC_INFO_ENDIAN "little-endian"
+ #elif (ACC_ARCH_M68K)
+--- a/acc/acc_chk.ch
++++ b/acc/acc_chk.ch
+@@ -407,7 +407,7 @@
+ #if (ACC_ARCH_IA16)
+ ACCCHK_ASSERT(sizeof(size_t) == 2)
+ ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
+-#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K)
++#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K || ACC_ARCH_X32)
+ ACCCHK_ASSERT(sizeof(size_t) == 4)
+ ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
+ ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
+--- a/acc/acc_lib.h
++++ b/acc/acc_lib.h
+@@ -423,13 +423,13 @@ ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);
+ #endif
+
+ /* inline versions */
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define ACC_GET_LE16(p) (* (const unsigned short *) (p))
+ # define ACC_GET_LE32(p) (* (const acc_uint32e_t *) (p))
+ # define ACC_SET_LE16(p,v) (* (unsigned short *) (p) = (unsigned short) (v))
+ # define ACC_SET_LE32(p,v) (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v))
+ #endif
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ # define ACC_GET_LE64(p) (* (const acc_uint64l_t *) (p))
+ # define ACC_SET_LE64(p,v) (* (acc_uint64l_t *) (p) = (acc_uint64l_t) (v))
+ #endif
+--- a/acc/acclib/bele.ch
++++ b/acc/acclib/bele.ch
+@@ -71,7 +71,7 @@ ACCLIB_PUBLIC(void, acc_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
+
+ ACCLIB_PUBLIC(unsigned, acc_get_le16) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ return (* (const unsigned short *) (p));
+ #else
+ const acc_hbyte_p b = (const acc_hbyte_p) p;
+@@ -87,7 +87,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ return (* (const acc_uint32e_t *) (p));
+ #else
+ const acc_hbyte_p b = (const acc_hbyte_p) p;
+@@ -102,7 +102,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(void, acc_set_le16) (acc_hvoid_p p, unsigned v)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ (* (unsigned short *) (p) = (unsigned short) (v));
+ #else
+ acc_hbyte_p b = (acc_hbyte_p) p;
+@@ -121,7 +121,7 @@ ACCLIB_PUBLIC(void, acc_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
+
+ ACCLIB_PUBLIC(void, acc_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v));
+ #else
+ acc_hbyte_p b = (acc_hbyte_p) p;
+@@ -191,7 +191,7 @@ ACCLIB_PUBLIC(void, acc_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
+
+ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ return (* (const acc_uint64l_t *) (p));
+ #elif (ACC_ARCH_IA32)
+ const acc_uint32e_t* b = (const acc_uint32e_t*) p;
+@@ -211,7 +211,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(void, acc_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
+ {
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ (* (acc_uint64l_t *) (p)) = v;
+ #elif (ACC_ARCH_IA32)
+ (((acc_uint32e_t *)(p))[0] = (acc_uint32e_t) (v >> 0));
+--- a/acc/acclib/perfctr.ch
++++ b/acc/acclib/perfctr.ch
+@@ -63,7 +63,7 @@ ACCLIB_PUBLIC(int, acc_perfctr_open) (acc_perfctr_handle_p h)
+ break; /* no working TSC available */
+ case PERFCTR_X86_AMD_K7:
+ #endif
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ case PERFCTR_X86_AMD_K8:
+ case PERFCTR_X86_AMD_K8C:
+ cc->tsc_on = 1; cc->nractrs = 2;
+--- a/acc/acclib/rdtsc.ch
++++ b/acc/acclib/rdtsc.ch
+@@ -21,7 +21,7 @@
+ #if defined(acc_int32e_t)
+
+
+-#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32) && ACC_CC_GNUC)
++#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && ACC_CC_GNUC)
+ # if (ACC_CC_GNUC >= 0x020000ul)
+ # define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "eax", "edx"
+ # else
+@@ -38,7 +38,7 @@
+
+ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
+ __asm__ __volatile__(
+ "clc \n" ".byte 0x0f, 0x31\n"
+ "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
+@@ -73,7 +73,7 @@ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
+
+ ACCLIB_PUBLIC(int, acc_tsc_read_add) (acc_uint32e_t* t)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
+ __asm__ __volatile__(
+ "clc \n" ".byte 0x0f, 0x31\n"
+ "addl %%eax,(%0)\n" "adcl $0,%%edx\n" "addl %%edx,4(%0)\n"
+--- a/src/ucl_conf.h
++++ b/src/ucl_conf.h
+@@ -172,7 +172,7 @@
+ #undef UA_SET2
+ #undef UA_GET4
+ #undef UA_SET4
+-#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define UA_GET2(p) (* (const ucl_ushortp) (p))
+ # define UA_SET2(p) (* (ucl_ushortp) (p))
+ # define UA_GET4(p) (* (const acc_uint32e_t *) (p))
diff --git a/dev-libs/ucl/metadata.xml b/dev-libs/ucl/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/ucl/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ucl/ucl-1.03-r1.ebuild b/dev-libs/ucl/ucl-1.03-r1.ebuild
new file mode 100644
index 000000000000..906fda7117a8
--- /dev/null
+++ b/dev-libs/ucl/ucl-1.03-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="the UCL Compression Library"
+HOMEPAGE="http://www.oberhumer.com/opensource/ucl/"
+SRC_URI="http://www.oberhumer.com/opensource/ucl/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CFLAGS.patch
+ epatch "${FILESDIR}"/${P}-x32.patch #426334
+
+ # lzo (and ucl) have some weird sort of mfx_* set of autoconf macros
+ # which may only be distributed with lzo itself? Rescue them and
+ # place them into acinclude.m4 because there doesn't seem to be an
+ # m4/...
+ sed -n -e '/^AC_DEFUN.*mfx_/,/^])#$/p' aclocal.m4 > acinclude.m4 || die "Unable to rescue mfx_* autoconf macros."
+
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/ucommon/Manifest b/dev-libs/ucommon/Manifest
new file mode 100644
index 000000000000..2af3a37edb16
--- /dev/null
+++ b/dev-libs/ucommon/Manifest
@@ -0,0 +1,5 @@
+DIST ucommon-5.2.2.tar.gz 792081 SHA256 9d5f3f4d1ef897482fe470b0dd65b0df516aaeb874eac3a33a455abca13f39e9 SHA512 5d5e526675cb39dffea48c38a14dff4eb1316a59c60e2352cfdbb0727ff4db00417e9704026f106da5d34f92ec2be3385b0763d66196f345f0b775bf62eb0125 WHIRLPOOL f857c4b06aff4bbb1ff84edc810d674c7d77a92bb4bcdb62fed64e77e9979c7d736b93596166de6c5fb848745aa7efc1b666231bdb6a33c3b959953b4b114ac2
+DIST ucommon-6.0.3.tar.gz 806841 SHA256 228f3a0fa78173e9fa43e154250a7ed4f1e5be720a81fd2768506c088190c432 SHA512 3ff30865a7f3fae955717c9bc2d3b37ad8f63dff8d3addc05eb9ddefa2311792f21b97ede852e22959ae6aae5114cce777a04b937aa07d564dd92d6f25f77762 WHIRLPOOL 93135ae4ec3c0e6d5203ebed6c6736b9b768d623d99a20674ee0a0ce48622d783efea6b8ca4eb22d5c2653b5059ff9626a35bf0ccfbad7d422a5cdf6c190c7c8
+DIST ucommon-6.1.10.tar.gz 833384 SHA256 d7a15ed31e3c418b41d95d5ff5e1bc24dfc4c2a465a099c6fd30e0b6c9f7be92 SHA512 6d6e716dcb71d6a4e49307baa0e9e62b4b50f3dbe8301eb93e3b562d94eb9ccee73a733928059a5ed97deba55c00308af0326a32cec6a73dbf7884c322177050 WHIRLPOOL 31666dc7e4c00b9acc7ba9d7a26033ec7ff28674722597e9677ba426b79fae45a170c5caaaa4066738d072090c2dacd465dc861aebbbd50cde36877b3b1a1e59
+DIST ucommon-6.1.8.tar.gz 833017 SHA256 9a2b3eb0b71198adcccd74303df59551fdd016c3a2848fb8be003fb1ac2e7fc5 SHA512 86fcd9b2fbafd06d87470a16bc3d377716e7040f29ccb91bf1fbe9ce66ef88e936141bd7c388d4bb63b9d4dea5e22ec9a0aae39cf3cf58e8a0e3ac9cb9b546b4 WHIRLPOOL a87ae7a929920710ad601d04bbf907c626ca4ade92d19c18ac0cba004428505d52082742ff65a0ce00862f04507e69a31012a365ababdc9bbbf5b0866c557047
+DIST ucommon-6.3.1.tar.gz 830661 SHA256 b59aa5414e756935ef9c479ece837f5700e4a5f39b0a016daa90528b175f59d5 SHA512 6f4832ac53aaf1456f2d913730b66588a89a3c1292fb79f3f56da466a2542af9c836579c0a3c4daf3f896a0c3e35f861b71514f960052adcb4e3abb872b781ec WHIRLPOOL 0bad6d56c0f1111a1aa15f7532ce6507be897a2b7ce27e452e71c08064f3f854b6864d3f7ed58ed476edf6777fc256374ab08e9c89bbb4f4abfcef8486969fed
diff --git a/dev-libs/ucommon/files/6.1/disable_rtf_gen_doxy.patch b/dev-libs/ucommon/files/6.1/disable_rtf_gen_doxy.patch
new file mode 100644
index 000000000000..1aaf478ed320
--- /dev/null
+++ b/dev-libs/ucommon/files/6.1/disable_rtf_gen_doxy.patch
@@ -0,0 +1,11 @@
+--- Doxyfile.orig 2014-06-26 23:56:45.724303475 +0300
++++ Doxyfile 2014-06-26 23:57:12.875021734 +0300
+@@ -40,7 +40,7 @@
+ GENERATE_HTMLHELP = YES
+ GENERATE_TREEVIEW = NO
+ TREEVIEW_WIDTH = 256
+-GENERATE_LATEX = YES
++GENERATE_LATEX = NO
+ COMPACT_LATEX = YES
+ PDF_HYPERLINKS = YES
+ USE_PDFLATEX = NO
diff --git a/dev-libs/ucommon/files/6.1/gcrypt_autotools.patch b/dev-libs/ucommon/files/6.1/gcrypt_autotools.patch
new file mode 100644
index 000000000000..2ec0858245d9
--- /dev/null
+++ b/dev-libs/ucommon/files/6.1/gcrypt_autotools.patch
@@ -0,0 +1,58 @@
+diff --git a/Makefile.am b/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,6 +8,8 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
++ACLOCAL_AMFLAGS = -I m4
++
+ EXTRA_DIST = autogen.sh README* *.pc.in *.spec.in *.spec *-config.in \
+ *-config.1 Doxyfile cmodel.sh BUILDS SUPPORT COPYING* COPYRIGHT \
+ CMakeLists.txt ucommon-config.cmake ucommon.pc.cmake cmake-abi.sh \
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,6 +40,9 @@
+
+ CHECKFLAGS="$CHECKFLAGS"
+
++m4_include([m4/libgcrypt.m4])
++
++
+ case "$with_crypto" in
+ ssl|openssl)
+ ssl="openssl"
+@@ -698,6 +701,8 @@
+ gnutls|gnu)
+ if test ! -z "$GNUTLS_LIBS" ; then
+ SECURE_LIBS="$GNUTLS_LIBS"
++ AM_PATH_LIBGCRYPT
++ SECURE_LIBS="$GNUTLS_LIBS $LIBGCRYPT_LIBS"
+ SECURE="gnutls"
+ fi
+ ;;
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -9,9 +9,9 @@
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ MAINTAINERCLEANFILES = Makefile.in Makefile
+-AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@
++AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@ @LIBGCRYPT_CFLAGS@
+ AM_CPPFLAGS = -I$(top_srcdir)/inc
+-LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@
++LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@ @LIBGCRYPT_LIBS@
+ EXTRA_DIST = *.1
+
+ man_MANS = args.1 scrub-files.1 mdsum.1 zerofill.1 car.1 sockaddr.1 \
+@@ -30,7 +30,7 @@
+ scrub_files_LDFLAGS = @SECURE_LOCAL@
+
+ mdsum_SOURCES = mdsum.cpp
+-mdsum_LDFLAGS = @SECURE_LOCAL@
++mdsum_LDFLAGS = @SECURE_LOCAL@ @LIBGCRYPT_LIBS@
+
+ zerofill_SOURCES = zerofill.cpp
+ zerofill_LDFLAGS = @SECURE_LOCAL@
diff --git a/dev-libs/ucommon/files/6.1/install_gcrypt.m4_file.patch b/dev-libs/ucommon/files/6.1/install_gcrypt.m4_file.patch
new file mode 100644
index 000000000000..5fb0cc3b878d
--- /dev/null
+++ b/dev-libs/ucommon/files/6.1/install_gcrypt.m4_file.patch
@@ -0,0 +1,128 @@
+diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4
+new file mode 100644
+--- /dev/null
++++ m4/libgcrypt.m4
+@@ -0,0 +1,123 @@
++dnl Autoconf macros for libgcrypt
++dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++dnl
++dnl This file is free software; as a special exception the author gives
++dnl unlimited permission to copy and/or distribute it, with or without
++dnl modifications, as long as this notice is preserved.
++dnl
++dnl This file is distributed in the hope that it will be useful, but
++dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
++dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++
++
++dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
++dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
++dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
++dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
++dnl with the API version to also check the API compatibility. Example:
++dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
++dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
++dnl this features allows to prevent build against newer versions of libgcrypt
++dnl with a changed API.
++dnl
++AC_DEFUN([AM_PATH_LIBGCRYPT],
++[ AC_ARG_WITH(libgcrypt-prefix,
++ AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
++ [prefix where LIBGCRYPT is installed (optional)]),
++ libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
++ if test x$libgcrypt_config_prefix != x ; then
++ if test x${LIBGCRYPT_CONFIG+set} != xset ; then
++ LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
++ fi
++ fi
++
++ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
++ tmp=ifelse([$1], ,1:1.2.0,$1)
++ if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
++ req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
++ min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
++ else
++ req_libgcrypt_api=0
++ min_libgcrypt_version="$tmp"
++ fi
++
++ AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
++ ok=no
++ if test "$LIBGCRYPT_CONFIG" != "no" ; then
++ req_major=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
++ req_minor=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
++ req_micro=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
++ libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
++ major=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
++ minor=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
++ micro=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
++ if test "$major" -gt "$req_major"; then
++ ok=yes
++ else
++ if test "$major" -eq "$req_major"; then
++ if test "$minor" -gt "$req_minor"; then
++ ok=yes
++ else
++ if test "$minor" -eq "$req_minor"; then
++ if test "$micro" -ge "$req_micro"; then
++ ok=yes
++ fi
++ fi
++ fi
++ fi
++ fi
++ fi
++ if test $ok = yes; then
++ AC_MSG_RESULT([yes ($libgcrypt_config_version)])
++ else
++ AC_MSG_RESULT(no)
++ fi
++ if test $ok = yes; then
++ # If we have a recent libgcrypt, we should also check that the
++ # API is compatible
++ if test "$req_libgcrypt_api" -gt 0 ; then
++ tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
++ if test "$tmp" -gt 0 ; then
++ AC_MSG_CHECKING([LIBGCRYPT API version])
++ if test "$req_libgcrypt_api" -eq "$tmp" ; then
++ AC_MSG_RESULT([okay])
++ else
++ ok=no
++ AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])
++ fi
++ fi
++ fi
++ fi
++ if test $ok = yes; then
++ LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
++ LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
++ ifelse([$2], , :, [$2])
++ if test x"$host" != x ; then
++ libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
++ if test x"$libgcrypt_config_host" != xnone ; then
++ if test x"$libgcrypt_config_host" != x"$host" ; then
++ AC_MSG_WARN([[
++***
++*** The config script $LIBGCRYPT_CONFIG was
++*** built for $libgcrypt_config_host and thus may not match the
++*** used host $host.
++*** You may want to use the configure option --with-libgcrypt-prefix
++*** to specify a matching config script.
++***]])
++ fi
++ fi
++ fi
++ else
++ LIBGCRYPT_CFLAGS=""
++ LIBGCRYPT_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(LIBGCRYPT_CFLAGS)
++ AC_SUBST(LIBGCRYPT_LIBS)
++])
diff --git a/dev-libs/ucommon/files/disable_rtf_gen_doxy.patch b/dev-libs/ucommon/files/disable_rtf_gen_doxy.patch
new file mode 100644
index 000000000000..2fca1f7bcad7
--- /dev/null
+++ b/dev-libs/ucommon/files/disable_rtf_gen_doxy.patch
@@ -0,0 +1,18 @@
+--- Doxyfile.orig 2010-03-14 04:33:22.303087693 +0200
++++ Doxyfile 2010-03-14 04:34:34.495254330 +0200
+@@ -37,13 +37,13 @@
+ GENERATE_HTMLHELP = YES
+ GENERATE_TREEVIEW = YES
+ TREEVIEW_WIDTH = 256
+-GENERATE_LATEX = YES
++GENERATE_LATEX = NO
+ COMPACT_LATEX = YES
+ PDF_HYPERLINKS = YES
+ USE_PDFLATEX = NO
+ LATEX_BATCHMODE = YES
+ LATEX_HIDE_INDICES = NO
+-GENERATE_RTF = YES
++GENERATE_RTF = NO
+ COMPACT_RTF = YES
+ RTF_HYPERLINKS = NO
+ GENERATE_MAN = NO
diff --git a/dev-libs/ucommon/files/gcrypt_autotools.patch b/dev-libs/ucommon/files/gcrypt_autotools.patch
new file mode 100644
index 000000000000..8a5b93ffbdcd
--- /dev/null
+++ b/dev-libs/ucommon/files/gcrypt_autotools.patch
@@ -0,0 +1,62 @@
+diff --git a/Makefile.am b/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,6 +8,8 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
++ACLOCAL_AMFLAGS = -I m4
++
+ AUTOMAKE_OPTIONS = no-dependencies dist-zip
+ EXTRA_DIST = autogen.sh README* *.pc.in *.spec.in *.spec *-config.in \
+ *-config.1 Doxyfile cmodel.sh BUILDS SUPPORT COPYING* COPYRIGHT \
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,8 +37,12 @@
+ UCOMMON_LIBS=""
+ OPENSSL_LINK=""
+
++AM_SILENT_RULES([yes])
++
+ CHECKFLAGS="$CHECKFLAGS"
+
++m4_include([m4/libgcrypt.m4])
++
+ case "$with_crypto" in
+ ssl|openssl)
+ ssl="openssl"
+@@ -664,7 +668,8 @@
+ ;;
+ gnutls|gnu)
+ if test ! -z "$GNUTLS_LIBS" ; then
+- SECURE_LIBS="$GNUTLS_LIBS"
++ AM_PATH_LIBGCRYPT
++ SECURE_LIBS="$GNUTLS_LIBS $LIBGCRYPT_LIBS"
+ SECURE="gnutls"
+ fi
+ ;;
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -9,9 +9,9 @@
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ MAINTAINERCLEANFILES = Makefile.in Makefile
+-AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@
++AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@ @LIBGCRYPT_CFLAGS@
+ INCLUDES = -I$(top_srcdir)/inc
+-LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@
++LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@ @LIBGCRYPT_LIBS@
+ EXTRA_DIST = *.1
+
+ man_MANS = args.1 scrub-files.1 mdsum.1 zerofill.1 car.1 sockaddr.1 pdetach.1
+@@ -27,7 +27,7 @@
+ scrub_files_LDFLAGS = @SECURE_LOCAL@
+
+ mdsum_SOURCES = mdsum.cpp
+-mdsum_LDFLAGS = @SECURE_LOCAL@
++mdsum_LDFLAGS = @SECURE_LOCAL@ @LIBGCRYPT_LIBS@
+
+ zerofill_SOURCES = zerofill.cpp
+ zerofill_LDFLAGS = @SECURE_LOCAL@
diff --git a/dev-libs/ucommon/files/install_gcrypt.m4_file.patch b/dev-libs/ucommon/files/install_gcrypt.m4_file.patch
new file mode 100644
index 000000000000..5fb0cc3b878d
--- /dev/null
+++ b/dev-libs/ucommon/files/install_gcrypt.m4_file.patch
@@ -0,0 +1,128 @@
+diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4
+new file mode 100644
+--- /dev/null
++++ m4/libgcrypt.m4
+@@ -0,0 +1,123 @@
++dnl Autoconf macros for libgcrypt
++dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++dnl
++dnl This file is free software; as a special exception the author gives
++dnl unlimited permission to copy and/or distribute it, with or without
++dnl modifications, as long as this notice is preserved.
++dnl
++dnl This file is distributed in the hope that it will be useful, but
++dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
++dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++
++
++dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
++dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
++dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
++dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
++dnl with the API version to also check the API compatibility. Example:
++dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
++dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
++dnl this features allows to prevent build against newer versions of libgcrypt
++dnl with a changed API.
++dnl
++AC_DEFUN([AM_PATH_LIBGCRYPT],
++[ AC_ARG_WITH(libgcrypt-prefix,
++ AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
++ [prefix where LIBGCRYPT is installed (optional)]),
++ libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
++ if test x$libgcrypt_config_prefix != x ; then
++ if test x${LIBGCRYPT_CONFIG+set} != xset ; then
++ LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
++ fi
++ fi
++
++ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
++ tmp=ifelse([$1], ,1:1.2.0,$1)
++ if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
++ req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
++ min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
++ else
++ req_libgcrypt_api=0
++ min_libgcrypt_version="$tmp"
++ fi
++
++ AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
++ ok=no
++ if test "$LIBGCRYPT_CONFIG" != "no" ; then
++ req_major=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
++ req_minor=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
++ req_micro=`echo $min_libgcrypt_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
++ libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
++ major=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
++ minor=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
++ micro=`echo $libgcrypt_config_version | \
++ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
++ if test "$major" -gt "$req_major"; then
++ ok=yes
++ else
++ if test "$major" -eq "$req_major"; then
++ if test "$minor" -gt "$req_minor"; then
++ ok=yes
++ else
++ if test "$minor" -eq "$req_minor"; then
++ if test "$micro" -ge "$req_micro"; then
++ ok=yes
++ fi
++ fi
++ fi
++ fi
++ fi
++ fi
++ if test $ok = yes; then
++ AC_MSG_RESULT([yes ($libgcrypt_config_version)])
++ else
++ AC_MSG_RESULT(no)
++ fi
++ if test $ok = yes; then
++ # If we have a recent libgcrypt, we should also check that the
++ # API is compatible
++ if test "$req_libgcrypt_api" -gt 0 ; then
++ tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
++ if test "$tmp" -gt 0 ; then
++ AC_MSG_CHECKING([LIBGCRYPT API version])
++ if test "$req_libgcrypt_api" -eq "$tmp" ; then
++ AC_MSG_RESULT([okay])
++ else
++ ok=no
++ AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])
++ fi
++ fi
++ fi
++ fi
++ if test $ok = yes; then
++ LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
++ LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
++ ifelse([$2], , :, [$2])
++ if test x"$host" != x ; then
++ libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
++ if test x"$libgcrypt_config_host" != xnone ; then
++ if test x"$libgcrypt_config_host" != x"$host" ; then
++ AC_MSG_WARN([[
++***
++*** The config script $LIBGCRYPT_CONFIG was
++*** built for $libgcrypt_config_host and thus may not match the
++*** used host $host.
++*** You may want to use the configure option --with-libgcrypt-prefix
++*** to specify a matching config script.
++***]])
++ fi
++ fi
++ fi
++ else
++ LIBGCRYPT_CFLAGS=""
++ LIBGCRYPT_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(LIBGCRYPT_CFLAGS)
++ AC_SUBST(LIBGCRYPT_LIBS)
++])
diff --git a/dev-libs/ucommon/files/ucommon-5.2.2-address.patch b/dev-libs/ucommon/files/ucommon-5.2.2-address.patch
new file mode 100644
index 000000000000..142aa5941f8c
--- /dev/null
+++ b/dev-libs/ucommon/files/ucommon-5.2.2-address.patch
@@ -0,0 +1,42 @@
+This patch fixes memory errors
+
+Author: David Sugar
+
+--- commoncpp/address.cpp
++++ commoncpp/address.cpp
+@@ -360,7 +360,7 @@
+ if(ipaddr)
+ delete[] ipaddr;
+ ipaddr = new struct in_addr[1];
+- memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
++ memset((void *)&ipaddr[0], 0, sizeof(struct in_addr));
+ return;
+ }
+
+@@ -498,7 +498,7 @@
+ : validator(_validator), hostname(NULL) {
+ addr_count = 1;
+ ipaddr = new struct in6_addr[1];
+- memcpy(ipaddr, &in6addr_any, sizeof(in6_addr));
++ memcpy(ipaddr, &in6addr_any, sizeof(struct in6_addr));
+ }
+
+ IPV6Address::IPV6Address(const char *address, const IPV6Validator *_validator) :
+@@ -716,7 +716,7 @@
+ if(ipaddr)
+ delete[] ipaddr;
+ ipaddr = new struct in6_addr[1];
+- memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
++ memset((void *)&ipaddr[0], 0, sizeof(struct in6_addr));
+ return;
+ }
+
+@@ -796,7 +796,7 @@
+ if(ipaddr)
+ delete[] ipaddr;
+ ipaddr = new struct in6_addr[1];
+- memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
++ memset((void *)&ipaddr[0], 0, sizeof(struct in6_addr));
+ return;
+ }
+
diff --git a/dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch b/dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch
new file mode 100644
index 000000000000..fb04130a0a85
--- /dev/null
+++ b/dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch
@@ -0,0 +1,48 @@
+--- ucommon-6.3.1/configure.ac
++++ ucommon-6.3.1/configure.ac
+@@ -38,8 +38,12 @@
+ OPENSSL_LINK=""
+ MODULE_FLAGS="-module -shared -avoid-version"
+
++AM_SILENT_RULES([yes])
++
+ CHECKFLAGS="$CHECKFLAGS"
+
++m4_include([m4/libgcrypt.m4])
++
+ case "$with_crypto" in
+ ssl|openssl)
+ ssl="openssl"
+@@ -598,7 +602,8 @@
+ ;;
+ gnutls|gnu)
+ if test ! -z "$GNUTLS_LIBS" ; then
+- SECURE_LIBS="$GNUTLS_LIBS"
++ AM_PATH_LIBGCRYPT
++ SECURE_LIBS="$GNUTLS_LIBS $LIBGCRYPT_LIBS"
+ SECURE="gnutls"
+ fi
+ ;;
+--- ucommon-6.3.1/utils/Makefile.am
++++ ucommon-6.3.1/utils/Makefile.am
+@@ -10,9 +10,9 @@
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ MAINTAINERCLEANFILES = Makefile.in Makefile
+-AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@
++AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@ @LIBGCRYPT_CFLAGS@
+ AM_CPPFLAGS = -I$(top_srcdir)/inc
+-LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@
++LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @LIBGCRYPT_LIBS@
+ EXTRA_DIST = *.1 CMakeLists.txt
+
+ man_MANS = args.1 scrub-files.1 mdsum.1 zerofill.1 car.1 sockaddr.1 \
+@@ -21,7 +21,7 @@
+
+ noinst_PROGRAMS = demoSSL
+ demoSSL_SOURCES = ssl.cpp
+-demoSSL_LDFLAGS = @SECURE_LOCAL@
++demoSSL_LDFLAGS = @SECURE_LOCAL@ @LIBGCRYPT_LIBS@
+
+ args_SOURCES = args.cpp
+
diff --git a/dev-libs/ucommon/metadata.xml b/dev-libs/ucommon/metadata.xml
new file mode 100644
index 000000000000..2b98dd2884d8
--- /dev/null
+++ b/dev-libs/ucommon/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ <name>Andrei Vinogradov</name>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+<use>
+ <flag name='socks'>Build with socks proxy support</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/ucommon/ucommon-5.2.2-r3.ebuild b/dev-libs/ucommon/ucommon-5.2.2-r3.ebuild
new file mode 100644
index 000000000000..c766aaf2055f
--- /dev/null
+++ b/dev-libs/ucommon/ucommon-5.2.2-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Portable C++ runtime for threads and sockets"
+HOMEPAGE="http://www.gnu.org/software/commoncpp"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux"
+IUSE="doc static-libs socks +cxx debug ssl gnutls"
+
+RDEPEND="ssl? (
+ !gnutls? ( dev-libs/openssl )
+ gnutls? (
+ net-libs/gnutls[-nettle]
+ dev-libs/libgcrypt:0
+ )
+ )"
+
+DEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ ${RDEPEND}"
+
+DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
+PATCHES=( "${FILESDIR}"/disable_rtf_gen_doxy.patch
+ "${FILESDIR}/${P}-address.patch")
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
+ else
+ myconf+=" --with-sslstack=nossl ";
+ fi
+
+ local myeconfargs=(
+ $(use_enable socks)
+ $(use_enable cxx stdcpp)
+ ${myconf}
+ --enable-atomics
+ --with-pkg-config
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxy
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-libs/ucommon/ucommon-6.0.3.ebuild b/dev-libs/ucommon/ucommon-6.0.3.ebuild
new file mode 100644
index 000000000000..b0561c4db1a7
--- /dev/null
+++ b/dev-libs/ucommon/ucommon-6.0.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Portable C++ runtime for threads and sockets"
+HOMEPAGE="http://www.gnu.org/software/commoncpp"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
+IUSE="doc static-libs socks +cxx debug ssl gnutls"
+
+RDEPEND="ssl? (
+ !gnutls? ( dev-libs/openssl )
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt:0
+ )
+ )"
+
+DEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ ${RDEPEND}"
+
+DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
+PATCHES=( "${FILESDIR}"/disable_rtf_gen_doxy.patch
+ "${FILESDIR}"/install_gcrypt.m4_file.patch
+ "${FILESDIR}"/gcrypt_autotools.patch )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+
+ # Aclocal 1.13 deprecated error #467674
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
+ else
+ myconf+=" --with-sslstack=nossl ";
+ fi
+
+ local myeconfargs=(
+ $(use_enable socks)
+ $(use_enable cxx stdcpp)
+ ${myconf}
+ --enable-atomics
+ --with-pkg-config
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxy
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-libs/ucommon/ucommon-6.1.10.ebuild b/dev-libs/ucommon/ucommon-6.1.10.ebuild
new file mode 100644
index 000000000000..3aa716a65d66
--- /dev/null
+++ b/dev-libs/ucommon/ucommon-6.1.10.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Portable C++ runtime for threads and sockets"
+HOMEPAGE="http://www.gnu.org/software/commoncpp"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/6"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="doc static-libs socks +cxx debug ssl gnutls"
+
+RDEPEND="
+ ssl? (
+ !gnutls? ( dev-libs/openssl:0= )
+ gnutls? (
+ net-libs/gnutls:0=
+ dev-libs/libgcrypt:0=
+ )
+ )"
+
+DEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ ${RDEPEND}"
+
+DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
+PATCHES=( "${FILESDIR}"/6.1/disable_rtf_gen_doxy.patch
+ "${FILESDIR}"/6.1/install_gcrypt.m4_file.patch
+ "${FILESDIR}"/6.1/gcrypt_autotools.patch )
+
+# Needed for doxygen, bug #526726
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # Aclocal 1.13 deprecated error BGO #467674
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
+ else
+ myconf+=" --with-sslstack=nossl ";
+ fi
+
+ local myeconfargs=(
+ $(use_enable socks)
+ $(use_enable cxx stdcpp)
+ ${myconf}
+ --enable-atomics
+ --with-pkg-config
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxy
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-libs/ucommon/ucommon-6.1.8.ebuild b/dev-libs/ucommon/ucommon-6.1.8.ebuild
new file mode 100644
index 000000000000..1d48a7765bff
--- /dev/null
+++ b/dev-libs/ucommon/ucommon-6.1.8.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Portable C++ runtime for threads and sockets"
+HOMEPAGE="http://www.gnu.org/software/commoncpp"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="doc static-libs socks +cxx debug ssl gnutls"
+
+RDEPEND="ssl? (
+ !gnutls? ( dev-libs/openssl )
+ gnutls? (
+ net-libs/gnutls
+ dev-libs/libgcrypt
+ )
+ )"
+
+DEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ ${RDEPEND}"
+
+DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
+PATCHES=( "${FILESDIR}"/6.1/disable_rtf_gen_doxy.patch
+ "${FILESDIR}"/6.1/install_gcrypt.m4_file.patch
+ "${FILESDIR}"/6.1/gcrypt_autotools.patch )
+
+#AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+
+ # Aclocal 1.13 deprecated error BGO #467674
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
+ else
+ myconf+=" --with-sslstack=nossl ";
+ fi
+
+ local myeconfargs=(
+ $(use_enable socks)
+ $(use_enable cxx stdcpp)
+ ${myconf}
+ --enable-atomics
+ --with-pkg-config
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxy
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-libs/ucommon/ucommon-6.3.1.ebuild b/dev-libs/ucommon/ucommon-6.3.1.ebuild
new file mode 100644
index 000000000000..938dae96ff67
--- /dev/null
+++ b/dev-libs/ucommon/ucommon-6.3.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Portable C++ runtime for threads and sockets"
+HOMEPAGE="http://www.gnu.org/software/commoncpp"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/6"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="doc static-libs socks +cxx debug ssl gnutls"
+
+RDEPEND="
+ ssl? (
+ !gnutls? ( dev-libs/openssl:0= )
+ gnutls? (
+ net-libs/gnutls:0=
+ dev-libs/libgcrypt:0=
+ )
+ )"
+
+DEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ ${RDEPEND}"
+
+DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
+PATCHES=( "${FILESDIR}"/6.1/install_gcrypt.m4_file.patch
+ "${FILESDIR}"/${PN}-6.3.1-gcrypt_autotools.patch )
+
+# Needed for doxygen, bug #526726
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # Aclocal 1.13 deprecated error BGO #467674
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
+
+ # don't install latex and rtf documents
+ sed -e '/^GENERATE_LATEX/s@YES@NO@' -e '/^GENERATE_RTF/s@YES@NO@' \
+ -i Doxyfile.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ if use ssl; then
+ myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
+ else
+ myconf+=" --with-sslstack=nossl ";
+ fi
+
+ local myeconfargs=(
+ $(use_enable socks)
+ $(use_enable cxx stdcpp)
+ ${myconf}
+ --enable-atomics
+ --with-pkg-config
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxy
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-libs/udis86/Manifest b/dev-libs/udis86/Manifest
new file mode 100644
index 000000000000..23acc09fe197
--- /dev/null
+++ b/dev-libs/udis86/Manifest
@@ -0,0 +1,2 @@
+DIST udis86-1.7.2.tar.gz 445085 SHA256 9c52ac626ac6f531e1d6828feaad7e797d0f3cce1e9f34ad4e84627022b3c2f4 SHA512 8cb35d70ac020cd74ced22252aa735a266e5db98d89df565a560baa4ace0cd730e9db838241b70c3b93c27d6b2c75a88edf9c357c864d0f0104323925371c96f WHIRLPOOL c884522c5ce76fdca4cee78a775a58cb8c16662230982eb1a097c86c87192b456dc06b4c731ac401b1c06f8c04792bcb486b754cd889f6c6dfaed1a16d0a7eee
+DIST udis86-1.7.tar.gz 696651 SHA256 6128d266abcabed6077fdeebd2fbb7fb48eb599efbdae98922de2f6acd82ce3a SHA512 df0f802d4c0cf6b39b5b996cfd721cb7d0bdd1b0e2f2f7bcb7165514541b94d795c653e885d9f928d9a27f19464ed6fa948f4315fc1f3887079201fcbb2a241e WHIRLPOOL 91f97642c9850ce53efb102692db7e9aae2979b6ab0dc7c578fc15990df3a3abafa1d348bb1a5fffcdc82a060021a457ab28f266247630b8afc8aa79a00ca31f
diff --git a/dev-libs/udis86/files/udis86-1.7-yasm.patch b/dev-libs/udis86/files/udis86-1.7-yasm.patch
new file mode 100644
index 000000000000..3d3eecdf8283
--- /dev/null
+++ b/dev-libs/udis86/files/udis86-1.7-yasm.patch
@@ -0,0 +1,35 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,6 +25,9 @@
+ AC_DISABLE_SHARED
+ AC_PROG_LIBTOOL
+
++AC_PATH_PROG([YASM], yasm,)
++AC_SUBST(YASM)
++
+ # If this is a gnu compiler, pass -Wall
+ if test "$ac_cv_c_compiler_gnu" = "yes"; then
+ CFLAGS="$CFLAGS -Wall"
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,7 +10,7 @@
+ ovrrun_LDADD = ../libudis86/libudis86.la
+ ovrrun_CFLAGS = -I$(top_srcdir)/libudis86 -I$(top_srcdir)
+
+-YASM = yasm
++YASM = @YASM@
+
+ dist_check_DATA = test16.asm test32.asm test64.asm testjmp.asm testobscure.asm \
+ testjmp.ref testobscure.ref randtest.raw randtest16.ref \
+@@ -18,7 +18,10 @@
+
+ check-local: tests
+
+-tests: test16 test32 test64 testjmp bufovrrun randraw
++yasm_tests: test16 test32 test64 testjmp
++no_yasm_tests: bufovrrun randraw
++
++tests: $(if $(YASM), yasm_tests) no_yasm_tests
+
+ test16: gen
+ $(YASM) -f bin -o test16.bin $(top_srcdir)/tests/test16.asm
diff --git a/dev-libs/udis86/files/udis86-1.7.2-docdir.patch b/dev-libs/udis86/files/udis86-1.7.2-docdir.patch
new file mode 100644
index 000000000000..3afa72585bd4
--- /dev/null
+++ b/dev-libs/udis86/files/udis86-1.7.2-docdir.patch
@@ -0,0 +1,18 @@
+diff -ur a/docs/manual/Makefile.am b/docs/manual/Makefile.am
+--- a/docs/manual/Makefile.am 2013-09-02 05:46:56.000000000 +0200
++++ b/docs/manual/Makefile.am 2015-03-05 11:22:03.645828113 +0100
+@@ -1,4 +1,4 @@
+-docdir = ${datadir}/docs/udis86/manual
++docdir = @docdir@/manual
+
+ rst_sources = \
+ index.rst \
+diff -ur a/docs/x86/Makefile.am b/docs/x86/Makefile.am
+--- a/docs/x86/Makefile.am 2013-06-29 21:58:38.000000000 +0200
++++ b/docs/x86/Makefile.am 2015-03-05 11:22:30.477826105 +0100
+@@ -1,4 +1,4 @@
+-docdir = ${datadir}/docs/udis86/x86
++docdir = @docdir@/x86
+ dist_doc_DATA = optable.xml optable.xsl
+
+ MAINTAINERCLEANFILES = Makefile.in
diff --git a/dev-libs/udis86/metadata.xml b/dev-libs/udis86/metadata.xml
new file mode 100644
index 000000000000..470075f8aa29
--- /dev/null
+++ b/dev-libs/udis86/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">udis86</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/udis86/udis86-1.7-r2.ebuild b/dev-libs/udis86/udis86-1.7-r2.ebuild
new file mode 100644
index 000000000000..ffdae7171289
--- /dev/null
+++ b/dev-libs/udis86/udis86-1.7-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib eutils
+
+DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
+HOMEPAGE="http://udis86.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
+
+DEPEND="test? (
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ )"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-yasm.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ --enable-shared
+ --with-pic
+ )
+
+ autotools-multilib_src_configure
+}
diff --git a/dev-libs/udis86/udis86-1.7.2.ebuild b/dev-libs/udis86/udis86-1.7.2.ebuild
new file mode 100644
index 000000000000..fdeb8a2e5748
--- /dev/null
+++ b/dev-libs/udis86/udis86-1.7.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib eutils
+
+DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
+HOMEPAGE="http://udis86.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
+
+DEPEND="test? (
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ )"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docdir.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --disable-static
+ --enable-shared
+ --with-pic
+ )
+
+ autotools-multilib_src_configure
+}
diff --git a/dev-libs/unibilium/Manifest b/dev-libs/unibilium/Manifest
new file mode 100644
index 000000000000..a2923970215c
--- /dev/null
+++ b/dev-libs/unibilium/Manifest
@@ -0,0 +1,2 @@
+DIST unibilium-1.1.2.tar.xz 50076 SHA256 8c7ac52c31ac9567967891c3006bf8a677ec98eeaf46cc4acfc52efe9e165c3c SHA512 275146b0f4ad15997876180143938ff782f3be24c6fcfc2a0a3dbf22e19bfc6999f4c27ec6a39ebf8e45ad5cc0c3e5a80caa1ef00526bf54c824b78eaa0c29d4 WHIRLPOOL c50c816de331c0715191a1801e759facc968ff17a24b4a4d21ded9ab43acfbae4fe5693cfc08fd32ce0a46e2faa11211153cbf76f641931c0fbf197ad52934e8
+DIST unibilium-1.1.4.tar.xz 50828 SHA256 8866ca5695f624830bef081191e33ff359de4fc1f8a36604f7271d2a8807ca44 SHA512 fdd5c57d0b2e3dac7f2a19c4d332e0d6bfc2378ca6aeabb4504ad0cea6ff7e78d87d2ef9f4b5187b038cb4380803b7ad72105e4da7769b35fdc694882b4cb61b WHIRLPOOL 1561de875d92ed90ea6daef9fdee6548f3f30ebf2af3e9a01b87dce3ab8e92ed0b5d06890ac7e15d4b1f6399c19e7a768ec5e964cb7bb08c1df96a0d710096dd
diff --git a/dev-libs/unibilium/metadata.xml b/dev-libs/unibilium/metadata.xml
new file mode 100644
index 000000000000..dd59dfe14476
--- /dev/null
+++ b/dev-libs/unibilium/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <upstream>
+ <remote-id type="github">mauke/unibilium</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/unibilium/unibilium-1.1.2.ebuild b/dev-libs/unibilium/unibilium-1.1.2.ebuild
new file mode 100644
index 000000000000..2622ed7e4ca3
--- /dev/null
+++ b/dev-libs/unibilium/unibilium-1.1.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="A very basic terminfo library"
+HOMEPAGE="https://github.com/mauke/unibilium/"
+SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-lang/perl
+ sys-devel/libtool"
+RDEPEND=""
+
+src_compile() {
+ append-flags -fPIC -fPIE
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/unibilium/unibilium-1.1.4.ebuild b/dev-libs/unibilium/unibilium-1.1.4.ebuild
new file mode 100644
index 000000000000..cfcb332a4888
--- /dev/null
+++ b/dev-libs/unibilium/unibilium-1.1.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="A very basic terminfo library"
+HOMEPAGE="https://github.com/mauke/unibilium/"
+SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-3+ MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-lang/perl
+ sys-devel/libtool"
+RDEPEND=""
+
+src_compile() {
+ append-flags -fPIC
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/dev-libs/urdfdom/Manifest b/dev-libs/urdfdom/Manifest
new file mode 100644
index 000000000000..b598cdddc4ca
--- /dev/null
+++ b/dev-libs/urdfdom/Manifest
@@ -0,0 +1 @@
+DIST urdfdom-0.3.0.tar.gz 58477 SHA256 2e3f14bdb47e237f2ba75fc9e26008a133210c15b52f73c9112adeb0b0d1da6c SHA512 ce49dca7963d7301cd1aae58fff9fb4341144ecba9b7ce2efa74ee98424bd7fde6e891331944b7cd008bb974cb19df3eee0f88a77dad09fb72feb63b45bbc6d3 WHIRLPOOL 5c847cbb0bf28ed39f8fa0cfbe27246d863085b761a032764e570dac012ebc27ee2d175a1e599e5fc7495d14768b42a3dd82aeab7f513b1ff62d23e5f50509ef
diff --git a/dev-libs/urdfdom/metadata.xml b/dev-libs/urdfdom/metadata.xml
new file mode 100644
index 000000000000..a1133947ae7f
--- /dev/null
+++ b/dev-libs/urdfdom/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ros/urdfdom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/urdfdom/urdfdom-0.3.0.ebuild b/dev-libs/urdfdom/urdfdom-0.3.0.ebuild
new file mode 100644
index 000000000000..e231308243e7
--- /dev/null
+++ b/dev-libs/urdfdom/urdfdom-0.3.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom"
+fi
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit ${SCM} distutils-r1 cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) library"
+HOMEPAGE="http://ros.org/wiki/urdf"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/urdfdom_headers
+ dev-libs/console_bridge
+ dev-libs/boost:=[threads]"
+DEPEND="${RDEPEND}"
+
+PY_S="${S}/urdf_parser_py"
+
+src_prepare() {
+ sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
+ cmake-utils_src_prepare
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=( "-DPYTHON=FALSE" )
+ cmake-utils_src_configure
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_compile
+}
+
+src_test() {
+ cmake-utils_src_test
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_install
+}
diff --git a/dev-libs/urdfdom/urdfdom-9999.ebuild b/dev-libs/urdfdom/urdfdom-9999.ebuild
new file mode 100644
index 000000000000..e231308243e7
--- /dev/null
+++ b/dev-libs/urdfdom/urdfdom-9999.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom"
+fi
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit ${SCM} distutils-r1 cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) library"
+HOMEPAGE="http://ros.org/wiki/urdf"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-libs/urdfdom_headers
+ dev-libs/console_bridge
+ dev-libs/boost:=[threads]"
+DEPEND="${RDEPEND}"
+
+PY_S="${S}/urdf_parser_py"
+
+src_prepare() {
+ sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
+ cmake-utils_src_prepare
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=( "-DPYTHON=FALSE" )
+ cmake-utils_src_configure
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_compile
+}
+
+src_test() {
+ cmake-utils_src_test
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ cd "${PY_S}"
+ S="${PY_S}" distutils-r1_src_install
+}
diff --git a/dev-libs/urdfdom_headers/Manifest b/dev-libs/urdfdom_headers/Manifest
new file mode 100644
index 000000000000..bb757705ff17
--- /dev/null
+++ b/dev-libs/urdfdom_headers/Manifest
@@ -0,0 +1 @@
+DIST urdfdom_headers-0.3.0.tar.gz 9931 SHA256 f059350cd85fc3b8394ed0c3bd0d4b8d14fa9c8edd09c3ee01881b4711843087 SHA512 249ea2a2cb8196eb14e005f32a3376585a5a25d599ff041b562500e2e9f17a988a8cd0dfd575853e1cfc7ca736882e856998718b702b8d0be0fc4a011d8d9dd9 WHIRLPOOL 9f7919fb1b56eedfafa8b474e2c990349f070cee10d7e48f66d5e02246583915804d5ab0c60ea98a3013b8adaabb3e0f33e814a0d79e86c2e4ced0a06e2115d8
diff --git a/dev-libs/urdfdom_headers/metadata.xml b/dev-libs/urdfdom_headers/metadata.xml
new file mode 100644
index 000000000000..4d056919cf18
--- /dev/null
+++ b/dev-libs/urdfdom_headers/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ros/urdfdom_headers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-0.3.0.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-0.3.0.ebuild
new file mode 100644
index 000000000000..956b287f7714
--- /dev/null
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-0.3.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom_headers/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) headers"
+HOMEPAGE="http://ros.org/wiki/urdf"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
new file mode 100644
index 000000000000..956b287f7714
--- /dev/null
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom_headers/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) headers"
+HOMEPAGE="http://ros.org/wiki/urdf"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/uriparser/Manifest b/dev-libs/uriparser/Manifest
new file mode 100644
index 000000000000..d05872121017
--- /dev/null
+++ b/dev-libs/uriparser/Manifest
@@ -0,0 +1,4 @@
+DIST uriparser-0.7.9.tar.bz2 430215 SHA256 a1d8f1007757ca1cf68b49edbac50876100cdee23a54cf1214f257b9ce51100d SHA512 a08d700078c7238d71db05e4de622f841069b38a82b718107943041518a56dd343e6b8a6256f7330119f946b4b5aed05659fc67e566ed96f99e6206584132b01 WHIRLPOOL fc84751279a29d6d1c7a04726ecced1edc008ef73aaf267b4584597bbfc5468cb27eb7ec12adef7332605d3141862098755ffe735a9fa753c908f88d33a6717e
+DIST uriparser-0.8.0.tar.bz2 433581 SHA256 1dd9f9779d8f17822bd7d68ba042fd67779b6e4ccf162bd3c9d0ff19a8ba9bf7 SHA512 e80efc8484f0b67107cad317cef72db9de906a86020c3ab31178e06e958782f0a744fe257b1e6cd130dd25c6747e684ece93ce5f755864303df34c6b763d2e5b WHIRLPOOL 43b9526747ad87c0e93f8f218243cdd853517c5a8d9290e9e19618104462b5150589d301e320035abadbae32e7141de4d5684954e7650a476c33da54d8e4cbea
+DIST uriparser-0.8.1.tar.bz2 341433 SHA256 8ad27e4ea603680c840008d21fb7efea354c79647e90b6fe6788aca18293f094 SHA512 6a1f4cc72a62cd74fa814e262233bd44d882ce4ee189a2ca7a6ef1cb3893492adf801b0391d3eea1f8ef443971f7195cbe8143158514225c875e76d677a9040e WHIRLPOOL 308625b4e612a27b6bf3ae0d70da69be25c8a702470f793d69175d94d16e7440f1d7249026f4cf3ccb51a501b109168dd4a772287e6ba7ceb03702cb753bd6eb
+DIST uriparser-0.8.2.tar.bz2 341959 SHA256 6d6e66b0615f65e9e2391933dab7e45eca0947160f10c6b47bc50feda93e508f SHA512 857c12229aece80065f923b6191e5771c6cd26e7eb42e62a35ae5793174df72b818a59c7b4d9a8dbd8f3f5d4b5885b43a05f0e40aa1be9d9b6f6a9b323c56ca9 WHIRLPOOL 56b370eb16c4eed16838c80d71860d6fe66ad4cd5d4cdba72e9bcb0bfc56fd39d479b73fe8f3df27fb8b5b19ca0fda53172b602dd33e946c1829e92b8fe6fd5f
diff --git a/dev-libs/uriparser/files/uriparser-0.7.5-no-gifs.patch b/dev-libs/uriparser/files/uriparser-0.7.5-no-gifs.patch
new file mode 100644
index 000000000000..931559c3a155
--- /dev/null
+++ b/dev-libs/uriparser/files/uriparser-0.7.5-no-gifs.patch
@@ -0,0 +1,38 @@
+From 98272c1fc5c8451dcc43be70cdfb1070e3d72f3a Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 14 Jun 2011 20:28:43 +0200
+Subject: [PATCH] No longer copy Doxygen .gif files
+
+---
+ doc/Makefile.am | 2 +-
+ doc/release.sh.in | 1 -
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 4e63062..d29b77c 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -27,7 +27,7 @@ distclean-local:
+ ## Install doc files
+ install-data-local:
+ $(MKDIR_P) "$(DESTDIR)$(docdir)/html" ## Didn't work with installdirs-local
+- $(INSTALL_DATA) html/*.{css,gif,html,png} "$(DESTDIR)$(docdir)/html/"
++ $(INSTALL_DATA) html/*.{css,html,png} "$(DESTDIR)$(docdir)/html/"
+
+
+ ## Uninstall doc files
+diff --git a/doc/release.sh.in b/doc/release.sh.in
+index 59afb70..a930e64 100755
+--- a/doc/release.sh.in
++++ b/doc/release.sh.in
+@@ -15,7 +15,6 @@ rm -Rf "${distdir}" "${distdir}.zip"
+ mkdir -p "${distdir}/html"
+ cp \
+ html/*.css \
+- html/*.gif \
+ html/*.html \
+ html/*.png \
+ \
+--
+1.7.5.3
+
diff --git a/dev-libs/uriparser/files/uriparser-0.8.1-doc-install.patch b/dev-libs/uriparser/files/uriparser-0.8.1-doc-install.patch
new file mode 100644
index 000000000000..1beb0ad4089f
--- /dev/null
+++ b/dev-libs/uriparser/files/uriparser-0.8.1-doc-install.patch
@@ -0,0 +1,16 @@
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 5814a0c..fb9e035 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -23,8 +23,9 @@ distclean-local:
+
+ ## Install doc files
+ install-data-local:
+- $(MKDIR_P) "$(DESTDIR)$(docdir)/html" ## Didn't work with installdirs-local
+- $(INSTALL_DATA) html/*.{css,html,png} "$(DESTDIR)$(docdir)/html/"
++ $(MKDIR_P) "$(DESTDIR)$(docdir)/html/search" ## Didn't work with installdirs-local
++ $(INSTALL_DATA) html/*.css html/*.html html/*.js html/*.map html/*.md5 html/*.png "$(DESTDIR)$(docdir)/html/"
++ $(INSTALL_DATA) html/search/* "$(DESTDIR)$(docdir)/html/search/"
+ -$(INSTALL_DATA) *.qch "$(DESTDIR)$(docdir)/"
+
+
diff --git a/dev-libs/uriparser/metadata.xml b/dev-libs/uriparser/metadata.xml
new file mode 100644
index 000000000000..9cb5561351aa
--- /dev/null
+++ b/dev-libs/uriparser/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <longdescription lang="en">
+ uriparser is a strictly RFC 3986 compliant URI parsing library.
+ uriparser is cross-platform, fast, supports Unicode and is
+ licensed under the New BSD license.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">uriparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/uriparser/uriparser-0.7.9.ebuild b/dev-libs/uriparser/uriparser-0.7.9.ebuild
new file mode 100644
index 000000000000..b88b5aa32fd9
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.7.9.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Uriparser is a strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="http://uriparser.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc qt4 test unicode"
+
+RDEPEND=""
+DEPEND="virtual/pkgconfig
+ doc? ( >=app-doc/doxygen-1.5.8
+ qt4? ( dev-qt/qthelp:4 ) )
+ test? ( >=dev-util/cpptest-1.1.1 )"
+
+REQUIRED_USE="test? ( unicode )"
+
+src_configure() {
+ econf \
+ --disable-sizedown \
+ $(use_enable test) \
+ --enable-char \
+ $(use_enable unicode wchar_t) \
+ $(use_enable doc) \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF}/
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog THANKS doc/*.txt || die
+
+ if use doc && use qt4; then
+ insinto /usr/share/doc/${PF}/
+ doins doc/*.qch || die # Using doins to avoid dodoc's compression
+ fi
+}
diff --git a/dev-libs/uriparser/uriparser-0.8.0.ebuild b/dev-libs/uriparser/uriparser-0.8.0.ebuild
new file mode 100644
index 000000000000..b80a166c12c7
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.8.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Uriparser is a strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="http://uriparser.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc qt4 test unicode"
+
+RDEPEND=""
+DEPEND="virtual/pkgconfig
+ doc? ( >=app-doc/doxygen-1.5.8
+ qt4? ( dev-qt/qthelp:4 ) )
+ test? ( >=dev-util/cpptest-1.1.1 )"
+
+REQUIRED_USE="test? ( unicode )"
+
+src_configure() {
+ econf \
+ --disable-sizedown \
+ $(use_enable test) \
+ --enable-char \
+ $(use_enable unicode wchar_t) \
+ $(use_enable doc) \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF}/
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog THANKS doc/*.txt || die
+
+ if use doc && use qt4; then
+ insinto /usr/share/doc/${PF}/
+ doins doc/*.qch || die # Using doins to avoid dodoc's compression
+ fi
+}
diff --git a/dev-libs/uriparser/uriparser-0.8.1.ebuild b/dev-libs/uriparser/uriparser-0.8.1.ebuild
new file mode 100644
index 000000000000..d96a8e8943d5
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.8.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="Uriparser is a strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="http://uriparser.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc qt4 test unicode"
+
+RDEPEND=""
+DEPEND="virtual/pkgconfig
+ doc? ( >=app-doc/doxygen-1.5.8
+ qt4? ( dev-qt/qthelp:4 ) )
+ test? ( >=dev-util/cpptest-1.1.1 )"
+
+REQUIRED_USE="test? ( unicode )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-doc-install.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-sizedown \
+ $(use_enable test) \
+ --enable-char \
+ $(use_enable unicode wchar_t) \
+ $(use_enable doc) \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF}/
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog THANKS || die
+
+ if use doc && use qt4; then
+ insinto /usr/share/doc/${PF}/
+ doins doc/*.qch || die # Using doins to avoid dodoc's compression
+ fi
+}
diff --git a/dev-libs/uriparser/uriparser-0.8.2.ebuild b/dev-libs/uriparser/uriparser-0.8.2.ebuild
new file mode 100644
index 000000000000..de49e8c1b9cf
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.8.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Uriparser is a strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="http://uriparser.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc qt4 test unicode"
+
+RDEPEND=""
+DEPEND="virtual/pkgconfig
+ doc? ( >=app-doc/doxygen-1.5.8
+ qt4? ( dev-qt/qthelp:4 ) )
+ test? ( >=dev-util/cpptest-1.1.1 )"
+
+REQUIRED_USE="test? ( unicode )"
+
+src_configure() {
+ econf \
+ --disable-sizedown \
+ $(use_enable test) \
+ --enable-char \
+ $(use_enable unicode wchar_t) \
+ $(use_enable doc) \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF}/
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog THANKS || die
+
+ if use doc && use qt4; then
+ insinto /usr/share/doc/${PF}/
+ doins doc/*.qch || die # Using doins to avoid dodoc's compression
+ fi
+}
diff --git a/dev-libs/userspace-rcu/Manifest b/dev-libs/userspace-rcu/Manifest
new file mode 100644
index 000000000000..e6e7c7d8d366
--- /dev/null
+++ b/dev-libs/userspace-rcu/Manifest
@@ -0,0 +1,5 @@
+DIST userspace-rcu-0.7.12.tar.bz2 385922 SHA256 a21c1da84d8ea5d0088fca0637e25185326e40b33f62f3ceeb77f4d4a9c51a96 SHA512 2c53c62e23e668e797af7e7e4a1bbe1ab0408b3bbc94e43d40a845f4dccf05c90824154d0e7faef54f4dcbb4f80bf6c66b44e40f5b759ca7bdda33f937481fa2 WHIRLPOOL 9af2e4642ca5bde912ccd00de938950edad475788fa8912e08e1ed1f94df7dbd95f3bb341074fa41527cf84e57ca5f3510095b1768caf78c9b78da2e82059e68
+DIST userspace-rcu-0.7.13.tar.bz2 390152 SHA256 368a0db48926b127f86f62595f67b21ff09d9c1183b5d0342b48b25eae957b35 SHA512 231dccfcf682a880cc145df05334f8c8c92a4b311f8ba282e3e8563c0535728a69d64a39c3516fdbfa9ceec4179fea9af9805833ddf144280a04371d81ab9787 WHIRLPOOL 3e09b247c79cb318617890b9a3dfeef2cbd78edfcb24a42dfa89e84cfff233ea0c0e21d6d9f69fa109b9c88b90afd71a5816f69d2e42c3a4d3707fa3bda2fd46
+DIST userspace-rcu-0.8.4.tar.bz2 418911 SHA256 96c0a157e94a15b1506efe9aedd98145e6eb41a3fbcf5b0d118b7a783b22fe12 SHA512 62a2c7bc9923947bcdd17f7bc5ff6d12e6bc7b63d108977dc9dd990827c043452974800bb494b80c383279916482e12b441184834b4c84a226113af4923e32e6 WHIRLPOOL 487dbc84f15144a9035eaa938dd7f075d573cd72c7be51e5adee8507594a87d75ee6f621accdda80708693fea36d9f2db017d2936c10ff74cf0bd6342eeba2bd
+DIST userspace-rcu-0.8.5.tar.bz2 423913 SHA256 a2562eaca107ec6eca2856632b6035c6aaf38df79020195ed8955a7b4773312a SHA512 4b2090e7fd1c6f771e7fc0f8dde9cd1cbde64fe6295f3c96b2ad13b6581d8a07e0ab9b8a7e97021049c4ecc35303b709903ba593a64ba84c958f4c4b95d93a45 WHIRLPOOL b37d9801d508b608009febbd94ac831f54238419969038f02ee480ca4a488c7aaa3b7dd23d672ed58296f43917fe6e2f1afcd579da41ba75fb40e2dc3a11face
+DIST userspace-rcu-0.8.6.tar.bz2 424037 SHA256 b1a5d3bce014ba7a702759bc60b692c1cd46ff0e8a5b53f0d0a95e22db74ab21 SHA512 027c215570b1ff94d0b7dd66934aece525461ddc8b172000c72af5b2e76115da9d18a635bbfb81dbd749c52463c5f4dd27f5700a30f367a4fb5fe0db6c128a6d WHIRLPOOL a652e9d8141356edfa5a67e6c884101f46c0d67e1089528b6c9a17e8def7057d09e4c75afed6bbb0eb2a2de32300dd7958cde51ae8b639a600c4049fc6babd7d
diff --git a/dev-libs/userspace-rcu/metadata.xml b/dev-libs/userspace-rcu/metadata.xml
new file mode 100644
index 000000000000..96a2d586367d
--- /dev/null
+++ b/dev-libs/userspace-rcu/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.7.12.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.7.12.ebuild
new file mode 100644
index 000000000000..e9d2a385b659
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.7.12.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="userspace RCU (read-copy-update) library"
+HOMEPAGE="http://lttng.org/urcu"
+SRC_URI="http://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="test? ( sys-process/time )"
+
+# tests fail with separate build dir
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.7.13.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.7.13.ebuild
new file mode 100644
index 000000000000..e9d2a385b659
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.7.13.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="userspace RCU (read-copy-update) library"
+HOMEPAGE="http://lttng.org/urcu"
+SRC_URI="http://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="test? ( sys-process/time )"
+
+# tests fail with separate build dir
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.8.4.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.8.4.ebuild
new file mode 100644
index 000000000000..07ff9b543245
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.8.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="userspace RCU (read-copy-update) library"
+HOMEPAGE="http://lttng.org/urcu"
+SRC_URI="http://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/2" # subslot = soname version
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="test? ( sys-process/time )"
+
+# tests fail with separate build dir
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.8.5.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.8.5.ebuild
new file mode 100644
index 000000000000..07ff9b543245
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.8.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="userspace RCU (read-copy-update) library"
+HOMEPAGE="http://lttng.org/urcu"
+SRC_URI="http://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/2" # subslot = soname version
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="test? ( sys-process/time )"
+
+# tests fail with separate build dir
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.8.6.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.8.6.ebuild
new file mode 100644
index 000000000000..07ff9b543245
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.8.6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="userspace RCU (read-copy-update) library"
+HOMEPAGE="http://lttng.org/urcu"
+SRC_URI="http://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/2" # subslot = soname version
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="static-libs test"
+
+DEPEND="test? ( sys-process/time )"
+
+# tests fail with separate build dir
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/ustr/Manifest b/dev-libs/ustr/Manifest
new file mode 100644
index 000000000000..dfc4d3224066
--- /dev/null
+++ b/dev-libs/ustr/Manifest
@@ -0,0 +1 @@
+DIST ustr-1.0.4.tar.bz2 233723 SHA256 3daf6eae9f78de1e872c0b2b83cce35515b94d4bb8a074e48f331fd99e1fc2c4 SHA512 b7df6ca3a9f25ee6f5c9ab4325732d348de27c5e02ebff36a7d5706f56b2df994df35bd652825a28e27bbde731c6a5933248d99c670d192b1952e7534eec1510 WHIRLPOOL b37783d844e85c3bd7725ac92ca2c84f27f03914d5cf79da2a1c2e48f737d869c49763d1c1ed799cc117d7b414aa8792e6d5833e028521ffaf500735ad4084c2
diff --git a/dev-libs/ustr/metadata.xml b/dev-libs/ustr/metadata.xml
new file mode 100644
index 000000000000..3e931e3686e7
--- /dev/null
+++ b/dev-libs/ustr/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>Yamakuzure@gmx.net</email>
+ <name>Sven Eden</name>
+ <description>Maintainer. Assign bugs to him</description>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ustr/ustr-1.0.4-r5.ebuild b/dev-libs/ustr/ustr-1.0.4-r5.ebuild
new file mode 100644
index 000000000000..6108d92a5198
--- /dev/null
+++ b/dev-libs/ustr/ustr-1.0.4-r5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="Low-overhead managed string library for C"
+HOMEPAGE="http://www.and.org/ustr"
+SRC_URI="ftp://ftp.and.org/pub/james/ustr/${PV}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD-2 MIT LGPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=(ChangeLog README README-DEVELOPERS AUTHORS NEWS TODO)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/ustr-conf.h
+ /usr/include/ustr-conf-debug.h
+)
+
+src_prepare() {
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ prefix="${EPREFIX}/usr" \
+ SHRDIR="/usr/share/${P}" \
+ HIDE= \
+ all-shared
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ mandir="/usr/share/man" \
+ SHRDIR="/usr/share/${P}" \
+ DOCSHRDIR="/usr/share/doc/${PF}" \
+ HIDE= \
+ install
+}
+
+multilib_src_test() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ prefix="${EPREFIX}/usr" \
+ SHRDIR="/usr/share/${P}" \
+ HIDE= \
+ check
+}
diff --git a/dev-libs/utfcpp/Manifest b/dev-libs/utfcpp/Manifest
new file mode 100644
index 000000000000..10b1863dd2b3
--- /dev/null
+++ b/dev-libs/utfcpp/Manifest
@@ -0,0 +1 @@
+DIST utf8_v2_3_4.zip 22422 SHA256 3373cebb25d88c662a2b960c4d585daf9ae7b396031ecd786e7bb31b15d010ef SHA512 0e85e443e7bd4ecbe85dedfb7bdf8b1767808108b3a4fc1c0c508bcf74787539ae0af95a31a70e715ca872689ac4d7233afc075ceb375375d26743f92051e222 WHIRLPOOL 023d9f1712d84b1f24ea3acaf17d2d4d17b3528dee819b72ffef907480bde78014e4e2a59344a1de25f26b5ac1fd02cc9bb3a33409ef37438e211a468e293222
diff --git a/dev-libs/utfcpp/metadata.xml b/dev-libs/utfcpp/metadata.xml
new file mode 100644
index 000000000000..57948adc993b
--- /dev/null
+++ b/dev-libs/utfcpp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>yac@gentoo.org</email>
+ <name>Jan Matejka</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">utfcpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/utfcpp/utfcpp-2.3.4.ebuild b/dev-libs/utfcpp/utfcpp-2.3.4.ebuild
new file mode 100644
index 000000000000..4235308b8f46
--- /dev/null
+++ b/dev-libs/utfcpp/utfcpp-2.3.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="A simple, portable and lightweight generic library for handling UTF-8 encoded strings."
+HOMEPAGE="http://sourceforge.net/projects/utfcpp/"
+SRC_URI="mirror://sourceforge/utfcpp/utf8_v${PV//./_}.zip"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}/source"
+
+src_install() {
+ doheader utf8.h
+ insinto /usr/include/utf8
+ doins utf8/{checked,unchecked,core}.h
+}
diff --git a/dev-libs/uthash/Manifest b/dev-libs/uthash/Manifest
new file mode 100644
index 000000000000..ce0ff431d76e
--- /dev/null
+++ b/dev-libs/uthash/Manifest
@@ -0,0 +1,2 @@
+DIST uthash-1.9.7.tar.bz2 373059 SHA256 956f5c99798349c413275fe4c9ff128d72e280655dadbe4365f8e9fbda91393f SHA512 8c02f9ac846a6bfd7292724a3683ae360ff37bba8e3ca98fca106da84976cac9c61766069989ee2c633b20bf82b64658400687a7cfbccab5e98e5fb6cb2e5caa WHIRLPOOL bd673e371470d0576524a9e8f096beb7b8ae713f5bdca5b513077932e2fc78bc8e08249af8f5b6c0c213ed41775d8e5fc9483b6a330423760864ec5748dba041
+DIST uthash-1.9.9.tar.gz 225620 SHA256 f2f10115f4de03b98d8c2e860e241d165aa15019bd634ee0e3debe58341bbf0c SHA512 40b888529db6baba7bdb0a11c3f782719c40470f6b8e4d75ed480c4c465606e990abf65786156a93f4e2f9c8805cbc098550cc3c62e33b7345fa5bf6d146a8c4 WHIRLPOOL 89be54eb95221d18b1676798cd1a823d625567035f59abc5dcf6b98e7c4343422b5c049395cece8585dce5eb7f99c5fa95bdcb6c5706dd6e67560904a6fffcf4
diff --git a/dev-libs/uthash/metadata.xml b/dev-libs/uthash/metadata.xml
new file mode 100644
index 000000000000..6d39bbae5c45
--- /dev/null
+++ b/dev-libs/uthash/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="github">troydhanson/uthash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/uthash/uthash-1.9.7.ebuild b/dev-libs/uthash/uthash-1.9.7.ebuild
new file mode 100644
index 000000000000..ab2f563190cd
--- /dev/null
+++ b/dev-libs/uthash/uthash-1.9.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy-to-use hash implementation for C programmers"
+HOMEPAGE="http://uthash.sourceforge.net"
+SRC_URI="mirror://sourceforge/uthash/${P}.tar.bz2"
+
+LICENSE="BSD-1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 sparc x86"
+IUSE="test"
+
+DEPEND="test? ( dev-lang/perl )"
+RDEPEND=""
+
+src_test() {
+ cd tests
+ sed -i "/CFLAGS/s/-O3/${CFLAGS}/" Makefile || die "sed cflags failed"
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ insinto /usr/include
+ doins src/*.h || die "doins failed"
+
+ dodoc doc/txt/{ChangeLog,userguide,ut*}.txt
+}
diff --git a/dev-libs/uthash/uthash-1.9.9.ebuild b/dev-libs/uthash/uthash-1.9.9.ebuild
new file mode 100644
index 000000000000..e1cdddbf2b10
--- /dev/null
+++ b/dev-libs/uthash/uthash-1.9.9.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy-to-use hash implementation for C programmers"
+HOMEPAGE="http://troydhanson.github.io/uthash/index.html"
+SRC_URI="https://github.com/troydhanson/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+DEPEND="sys-apps/sed
+ test? ( dev-lang/perl )"
+RDEPEND=""
+
+src_test() {
+ cd tests || die
+ sed -i "/CFLAGS/s/-O3/${CFLAGS}/" Makefile || die
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ insinto /usr/include
+ doins src/*.h
+
+ dodoc doc/{ChangeLog,todo,userguide,ut*}.txt
+}
diff --git a/dev-libs/uulib/Manifest b/dev-libs/uulib/Manifest
new file mode 100644
index 000000000000..f47afed0cc0b
--- /dev/null
+++ b/dev-libs/uulib/Manifest
@@ -0,0 +1 @@
+DIST uudeview-0.5.20.tar.gz 261574 SHA256 e49a510ddf272022af204e96605bd454bb53da0b3fe0be437115768710dae435 SHA512 d080e9c3940bad7bacd28457f21133056384a01e33ba014de42502d23f81f2c7f5fa7f6c472ce9f37bec2edb8e18d27135bf18426cf2f23188a3683558e1721c WHIRLPOOL 4c18f8b1930852c89d2d0ca31e64d3eb06c19cef58d0901e3cafe0ae73b1245b749e7548d1726f772a631c2ffa2ad15b815861ab6dc779e8184334948c149326
diff --git a/dev-libs/uulib/files/uulib-0.5.20-shared.patch b/dev-libs/uulib/files/uulib-0.5.20-shared.patch
new file mode 100644
index 000000000000..3a7f6582ef4e
--- /dev/null
+++ b/dev-libs/uulib/files/uulib-0.5.20-shared.patch
@@ -0,0 +1,83 @@
+Source: PDL Linux
+https://raw.githubusercontent.com/pld-linux/uudeview/master/uudeview-shared.patch
+https://github.com/pld-linux/uudeview
+
+
+diff -ruN uudeview-0.5.20.orig/uulib/Makefile.in uudeview-0.5.20/uulib/Makefile.in
+--- uudeview-0.5.20.orig/uulib/Makefile.in 2002-03-11 10:15:46.000000000 +0100
++++ uudeview-0.5.20/uulib/Makefile.in 2014-10-11 20:20:04.280175737 +0200
+@@ -40,9 +40,13 @@
+ VDEF = -DVERSION=\"$(VERSION)\" -DPATCH=\"$(PATCH)\"
+ #
+
++DESTDIR =
++libdir = @libdir@
++includedir = @prefix@/@includedir@
++
+ UULIB_SOURCE = uulib.c uucheck.c uunconc.c uuutil.c uuencode.c \
+ uuscan.c uustring.c fptools.c crc32.c
+-UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
++UULIB_OBJ = ${UULIB_SOURCE:.c=.lo}
+
+ #
+ # make stuff
+@@ -51,11 +55,11 @@
+ .SUFFIXES:
+ .SUFFIXES: .c .o
+
+-all: libuu.a
++all: libuu.la
+
+ clean:
+ rm -f [Xx]deview gif2gfp
+- rm -f *.o *.a *.so core *~ TAGS
++ rm -f *.o *.a *.so core *~ TAGS *.lo *.la
+
+ distclean: clean
+ rm -f config.status config.cache config.log Makefile config.h
+@@ -64,25 +68,28 @@
+ realclean: distclean
+
+ new: clean
+- rm -f libuu.a
++ rm -f libuu.la
+ $(MAKE) all
+
+-libuu.a: $(UULIB_OBJ)
+- rm -f $@
+- ar r $@ $(UULIB_OBJ)
+- -$(RANLIB) $@
+-
+-.c.o:
+- $(CC) -c $(CFLAGS) $(VDEF) $<
+-
+-uuencode.o: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uunconc.o: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uucheck.o: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuutil.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuscan.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uustring.o: uustring.c uudeview.h uuint.h uustring.h config.h
+-fptools.o: fptools.c fptools.h config.h
++libuu.la: $(UULIB_OBJ)
++ libtool --mode=link $(CC) -o libuu.la $(LDFLAGS) $(UULIB_OBJ) -rpath $(libdir)
++
++%.lo : %.c
++ libtool --mode=compile $(CC) -c $(CFLAGS) $(VDEF) $<
++
++install: libuu.la
++ install -d $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
++ libtool --mode=install install libuu.la $(DESTDIR)$(libdir)
++ install uudeview.h fptools.h $(DESTDIR)$(includedir)
++
++uuencode.lo: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
++uulib.lo: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
++uunconc.lo: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
++uucheck.lo: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuutil.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuscan.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uustring.lo: uustring.c uudeview.h uuint.h uustring.h config.h
++fptools.lo: fptools.c fptools.h config.h
+
+ uustring.h: uustring.c
+ awk -f uustring.awk < uustring.c > uustring.h
diff --git a/dev-libs/uulib/metadata.xml b/dev-libs/uulib/metadata.xml
new file mode 100644
index 000000000000..cc074c683a6c
--- /dev/null
+++ b/dev-libs/uulib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>library that supports Base64 (MIME), uuencode, xxencode and binhex coding</longdescription>
+</pkgmetadata>
diff --git a/dev-libs/uulib/uulib-0.5.20-r1.ebuild b/dev-libs/uulib/uulib-0.5.20-r1.ebuild
new file mode 100644
index 000000000000..1ba2403bfc09
--- /dev/null
+++ b/dev-libs/uulib/uulib-0.5.20-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+MY_P=uudeview-${PV}
+
+DESCRIPTION="Library that supports Base64 (MIME), uuencode, xxencode and binhex coding"
+HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
+SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-shared.patch"
+ sed -i 's:\<ar\>:$(AR):' Makefile.in || die
+ tc-export AR CC RANLIB
+}
diff --git a/dev-libs/uulib/uulib-0.5.20.ebuild b/dev-libs/uulib/uulib-0.5.20.ebuild
new file mode 100644
index 000000000000..c946422c27fb
--- /dev/null
+++ b/dev-libs/uulib/uulib-0.5.20.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs
+
+MY_P=uudeview-${PV}
+
+DESCRIPTION="Library that supports Base64 (MIME), uuencode, xxencode and binhex coding"
+HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
+SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}/${PN}
+
+src_prepare() {
+ sed -i 's:\<ar\>:$(AR):' Makefile.in || die
+ tc-export AR CC RANLIB
+}
+
+src_install() {
+ dolib.a libuu.a
+ insinto /usr/include
+ doins uudeview.h
+}
diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest
new file mode 100644
index 000000000000..418160131fc1
--- /dev/null
+++ b/dev-libs/vala-common/Manifest
@@ -0,0 +1,3 @@
+DIST vala-0.24.0.tar.xz 2666032 SHA256 22a37c977512c19cd29c373eaaef96cb2c994795d491106f32387f3f9d1e899c SHA512 a5897af7926affbdb018f0c31d4ec84d3322dc03e7cc64cb8b28c60fd4887a64b94760e061145aab5c36442a0d8665f3e3d584e09502e5f2587860d199317479 WHIRLPOOL d19cdf123abc3689c84c3746729a1452a8a9051271aaa64782db226ab4c276e963fa574900b4d145577d4fd0329cb29f73782b5f67ac1650ad1bdf663096e88f
+DIST vala-0.26.2.tar.xz 2682856 SHA256 37f13f430c56a93b6dac85239084681fd8f31c407d386809c43bc2f2836e03c4 SHA512 9c8dcb59f01e7f77c79f5f9ed996930c23444bddf22898ee775602e54f817b4cbd7c477c9a46a140acca57db9d8047b8fcffdb87f51276ff1719857faed6e535 WHIRLPOOL 492790367f93b0e913ccb1c3c04c098473020f68236f6ec3c70eeb85023bbb913ecef366793996e4952b79dadd4d3687e167d8b9eed87daac950c6d66d9153bc
+DIST vala-0.28.0.tar.xz 2720652 SHA256 0d9e3bd3f82145664875f7c29b2f544ba92d2814f75412948f774c0727fc977f SHA512 4f9adc4a3e672c25b508f5193bb1984e848dcaca059c2eb733e93ca7f58b5d58028a56f4234a62baa30ff50b63d87af24510334eba41630692c5f16e580bad88 WHIRLPOOL cfdd97f90f033b030d768ed66e78b5f86b6e1e50bac34806cd70dda168a5ff3192249d08ee9e020e0ea33d753b20aa69c6e269c65fa193a19e6ae4353912c7d2
diff --git a/dev-libs/vala-common/metadata.xml b/dev-libs/vala-common/metadata.xml
new file mode 100644
index 000000000000..6e0e2ecb48ca
--- /dev/null
+++ b/dev-libs/vala-common/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-libs/vala-common/vala-common-0.24.0.ebuild b/dev-libs/vala-common/vala-common-0.24.0.ebuild
new file mode 100644
index 000000000000..398ee55b81f7
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.24.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Vala"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE=""
+
+# Previously ${PN} was part of dev-lang/vala
+RDEPEND="
+ !<dev-lang/vala-0.10.4-r2
+ !<dev-lang/vala-0.12.1-r1:0.12
+ !<dev-lang/vala-0.14.2-r2:0.14
+ !<dev-lang/vala-0.16.1-r2:0.16
+ !<dev-lang/vala-0.17.5:0.18
+"
+DEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
+
+pkg_postinst() {
+ # Hack to prevent alternatives_auto_makesym in previously installed
+ # dev-lang/vala's pkg_postrm from overwriting vala-common's files
+ if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
+ ebegin "Removing old vala-0.10 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
+ ebegin "Removing old vala-0.12 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
+ ebegin "Removing old vala-0.14 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
+ ebegin "Removing old vala-0.16 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.16 makefile template"
+ rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+ if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
+ ebegin "Removing old vala-0.18 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.18 makefile template"
+ rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+}
diff --git a/dev-libs/vala-common/vala-common-0.26.2.ebuild b/dev-libs/vala-common/vala-common-0.26.2.ebuild
new file mode 100644
index 000000000000..84a825ff4751
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.26.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Vala"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE=""
+
+# Previously ${PN} was part of dev-lang/vala
+RDEPEND="
+ !<dev-lang/vala-0.10.4-r2
+ !<dev-lang/vala-0.12.1-r1:0.12
+ !<dev-lang/vala-0.14.2-r2:0.14
+ !<dev-lang/vala-0.16.1-r2:0.16
+ !<dev-lang/vala-0.17.5:0.18
+"
+DEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
+
+pkg_postinst() {
+ # Hack to prevent alternatives_auto_makesym in previously installed
+ # dev-lang/vala's pkg_postrm from overwriting vala-common's files
+ if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
+ ebegin "Removing old vala-0.10 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
+ ebegin "Removing old vala-0.12 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
+ ebegin "Removing old vala-0.14 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
+ ebegin "Removing old vala-0.16 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.16 makefile template"
+ rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+ if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
+ ebegin "Removing old vala-0.18 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.18 makefile template"
+ rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+}
diff --git a/dev-libs/vala-common/vala-common-0.28.0.ebuild b/dev-libs/vala-common/vala-common-0.28.0.ebuild
new file mode 100644
index 000000000000..5baa04e16af6
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.28.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Vala"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE=""
+
+# Previously ${PN} was part of dev-lang/vala
+RDEPEND="
+ !<dev-lang/vala-0.10.4-r2
+ !<dev-lang/vala-0.12.1-r1:0.12
+ !<dev-lang/vala-0.14.2-r2:0.14
+ !<dev-lang/vala-0.16.1-r2:0.16
+ !<dev-lang/vala-0.17.5:0.18
+"
+DEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
+
+pkg_postinst() {
+ # Hack to prevent alternatives_auto_makesym in previously installed
+ # dev-lang/vala's pkg_postrm from overwriting vala-common's files
+ if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
+ ebegin "Removing old vala-0.10 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
+ ebegin "Removing old vala-0.12 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
+ ebegin "Removing old vala-0.14 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ fi
+ if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
+ ebegin "Removing old vala-0.16 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.16 makefile template"
+ rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+ if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
+ ebegin "Removing old vala-0.18 macros"
+ rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
+ eend $?
+ if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
+ ebegin "Removing old vala-0.18 makefile template"
+ rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
+ eend $?
+ fi
+ fi
+}
diff --git a/dev-libs/vanessa-adt/Manifest b/dev-libs/vanessa-adt/Manifest
new file mode 100644
index 000000000000..a83d9533a08c
--- /dev/null
+++ b/dev-libs/vanessa-adt/Manifest
@@ -0,0 +1,2 @@
+DIST vanessa_adt-0.0.6.tar.gz 315242 SHA256 67a5ae191a067ed46a4922d155319fd3c9872e7a83544c2a28c0d5fb69206024 SHA512 d26726b3baedffb7f7e37d62101af3d05166d70e2709caf76be2623fcd53f3e38bc4c920ea2ab95d4729aa130ab62aa3c92db388e4ffe25023bf57e29d414884 WHIRLPOOL dc29806bd6412560e22f2dd7804aeb98bce86b25baa8ec21c5d2bc1496ced67f4a1bcabfcac56bb1c44c3777f19a6eeb2f44df61bc4cf137d8a13b2037121d78
+DIST vanessa_adt-0.0.9.tar.gz 342309 SHA256 8bcbb69f64702239010541ec7d7fd86737574b6ae2fa477caa5b2cd86a12c3f1 SHA512 c32eec21879c43350389d62e74667cdd44921f054037bf33eaf869873f1b49e26b5d74bf2bed03b834f28babe072f25d499c9a717be7431b7dc42cd455526019 WHIRLPOOL b30f86fe43b668e894eb7a045b341c6482d6a1a01ab505c6395f6840c7791592977f9f166f7034ffb702a906df7f9f4085c0d85e5cbbcb108999db5c5f693617
diff --git a/dev-libs/vanessa-adt/metadata.xml b/dev-libs/vanessa-adt/metadata.xml
new file mode 100644
index 000000000000..6b1d02987300
--- /dev/null
+++ b/dev-libs/vanessa-adt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild b/dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild
new file mode 100644
index 000000000000..e1d1a6ff620e
--- /dev/null
+++ b/dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Provides Abstract Data Types (ADTs) Includes queue, dynamic array, hash and key value ADT"
+HOMEPAGE="http://www.vergenet.net/linux/vanessa/"
+SRC_URI="http://www.vergenet.net/linux/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86 ~ppc"
+IUSE=""
+
+DEPEND=">=dev-libs/vanessa-logger-0.0.6"
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ econf || die "error configure"
+ emake || die "error compiling"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "error installing"
+ dodoc AUTHORS NEWS README TODO
+}
diff --git a/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild b/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild
new file mode 100644
index 000000000000..15d80dd0e823
--- /dev/null
+++ b/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Provides Abstract Data Types (ADTs) Includes queue, dynamic array, hash and key value ADT"
+HOMEPAGE="http://www.vergenet.net/linux/vanessa/"
+SRC_URI="http://www.vergenet.net/linux/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-libs/vanessa-logger-0.0.7"
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ econf || die "error configure"
+ emake || die "error compiling"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "error installing"
+ dodoc AUTHORS NEWS README TODO
+}
diff --git a/dev-libs/vanessa-logger/Manifest b/dev-libs/vanessa-logger/Manifest
new file mode 100644
index 000000000000..f18dd2c468b9
--- /dev/null
+++ b/dev-libs/vanessa-logger/Manifest
@@ -0,0 +1 @@
+DIST vanessa_logger-0.0.10.tar.gz 328814 SHA256 9b0e12cdd9e281818c28daec5bc4454a7693df3cc935dc2bd793443161a9073d SHA512 e8fb11c9ba48cbef6abc1cbb2f6c15786eb405d2eb721d24c33b0e529f0eee8fc3e9d35ffbbdced42c33677377fccee15344bc249521339c4fed5bd5a8c4f20c WHIRLPOOL 406c54a5c3907a1ca66dc74fe66f700c6d124e911922446bfcd6bf3de3c1d7d43a9a6737942a1b08593cd97ab372569dbfc73b50c69089f20740a48735ebbe9f
diff --git a/dev-libs/vanessa-logger/metadata.xml b/dev-libs/vanessa-logger/metadata.xml
new file mode 100644
index 000000000000..cc9cb9e0aa4d
--- /dev/null
+++ b/dev-libs/vanessa-logger/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild b/dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild
new file mode 100644
index 000000000000..bc7773eca2a5
--- /dev/null
+++ b/dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Generic logging layer that to log to syslog, an open file handle or a file name"
+HOMEPAGE="http://www.vergenet.net/linux/vanessa/"
+SRC_URI="http://www.vergenet.net/linux/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ make DESTDIR="${D}" install || die "error installing"
+ dodoc AUTHORS NEWS README TODO sample/*.c sample/*.h
+}
diff --git a/dev-libs/vc/Manifest b/dev-libs/vc/Manifest
new file mode 100644
index 000000000000..694ede541aa4
--- /dev/null
+++ b/dev-libs/vc/Manifest
@@ -0,0 +1,30 @@
+DIST vc-0.7.3-reference-acos-dp.dat 2400000 SHA256 b2b5d9537c68b25cc5efceed776b1d4c888ac74fecd3a0188f4ce6c28d473a23 SHA512 f64357c8dd5000a3e8d48af4d3dff167d0b2f6f5c90d90949fe1ee7b00668211cfef959c44775f37a2982acbba259895af6e262ef8e77d7570b6f9a2520d415b WHIRLPOOL 9f2d1be7ac400809bd7ac4d06d18be98c63a1ea7dddd5d5738ecaf36b0f52dae6461fd308475f9de3a1ca537b03e1bc0a2b701e8ac30249f1ce574a4985970bf
+DIST vc-0.7.3-reference-acos-sp.dat 1200000 SHA256 0b0c4590042f00a67398ede2be3ffc7f6f8bb9b39a06154f1d73f43afe1cab7d SHA512 8a1077735acf06c9a70874bdf202f952855f04e8aea1b75d21b43cd098d6c26af691ecb3ff345cd26bf3ac8e46263c26ba465f8c39903908b3e72cb356802f8b WHIRLPOOL bbb8559279404bf03d04563f5b53eb2c296c6af5fdb10055d891b5f392d2ae59cb7d99cf129a8392533d1274ac42ddd91cbe0f81857e4d383eb739bece3ef206
+DIST vc-0.7.3-reference-asin-dp.dat 2400000 SHA256 382a9d3731a09a05e0f481fa264070f556f8c6f048f04d2ede4da1dc25b2abf7 SHA512 62dc115731978118e45cef0e3c11abbad6b8810a9e480ada6d479ef62413ef9eca0ece1674dcbd9fd0d4cbb50fdb86bcb860f797e17c1cab93a2f756e683d50d WHIRLPOOL 660ac0cded7897ad227877e924a9f53c8a692d7737b0d8bac0e096290709d8021a0935d8999b22aadc2e3367bf79a07824c19d876727624c2cba624892a0d4ad
+DIST vc-0.7.3-reference-asin-sp.dat 1200000 SHA256 27578bea470bb82a06a2ce86c47dfd8fd10045f2490d3bae499c5c519982e0a3 SHA512 859622a5b86b2fa6077bfc931afbbff515ec779ecbd54c93e91bb1837b8f8475f7c247f89d90b7847fb3a8a96a95d5c4692ce7863c0a0f9e5d4904039189ea3f WHIRLPOOL a1ed01578ba60ea94063cd01de27b3a76663a2b0c6d304104ec0dca9fcd09c0c568c1cb277ca0d8483b141f46206123c7b6527dceb5341504a04a641975bb566
+DIST vc-0.7.3-reference-atan-dp.dat 4800000 SHA256 5d86c364d063fe3666f5af22c860e9595246877d1a4657a6c96392552bc93e14 SHA512 20b2ffd707ab3f251d6d8a3ea39cb9436176154962cf60512acaf40aa3ac463cbf8e6149969ce273a9f755a1ecbcd8ac20f57444fdb73bc0ac15c43a73d82513 WHIRLPOOL faa53572cdbad3e2fdb77ec5ad6aa60dca3c566a51193c30989bf29b9e29c9fe84c3783c67c28c546bec3219b6a18138335f5d999faa81f4dda8e8627f354b4f
+DIST vc-0.7.3-reference-atan-sp.dat 2400000 SHA256 f659dd94dcc8e9691d807cdb4305a7a9967c1caa90590ed6f66453a67fa5fb1a SHA512 3c137570f882f057ecdf772dfd659b199d4a37d1f098450476abc0ffafb9abe324aaf6155dbd9a0d2b7f9ce3022fe91d8c81a8b6303f7bd1a1c18785ec2e96b3 WHIRLPOOL 4d3a766925e3fde9a88bac488177f471bad21697ddd3ba6e4ecfee3b271bc6a086d0a96604e0a6d83ae36da2e503006e85886f2168bc670f06cd52897d7d068c
+DIST vc-0.7.3-reference-ln-dp.dat 2400000 SHA256 13aa81ff64852b14442fd4158ff011c974d4d41f7b1788ecc77be0d1944314e9 SHA512 279b9221fd56507be580598c8f29bac602494ad230c975e726d49c3cea3264b6b45c385a50be12d94acd7c3b9c0527bb9b1339c380a746a639fd0ae6928fe2c3 WHIRLPOOL a8c3255d9909e49efe0ccf31863cc388534bfe36d654b73ea5e507adfa992f21d25dad9543f252ec39e1a495c1f1d471321b962da67caa061bbab8bb0818a924
+DIST vc-0.7.3-reference-ln-sp.dat 1196328 SHA256 add681b969c841d810d12510be2aef42fab69e2e1a0da0fec1ea613057d18a7a SHA512 5cf13ab4997bdbe08b08bd79c719ad80844bbc451fcd1636e2c93c4a4b015c8f1909549638636b30a289c53b75822114b5aa9c5e40699b3867e23b8024a610e8 WHIRLPOOL 116caa676fee93ec815af2745d595b84715ed3657313d2ee0b54bb882f0a96cd456db5ffc1dcbcb174bc979a9729094c55ec8276c2a204843718450557d01315
+DIST vc-0.7.3-reference-log10-dp.dat 2400000 SHA256 57b5d62cd0c13e4bd303e297763e599b6268654bae967a93628a3405cae84c6b SHA512 7086b73d2eeda17ef154b53fdeedf9fa21ac7016837eb9dd5e197d7a61343f1ac4b341fd04e6ef6477adc51391da7874ed7dd03a2b761d231c66611b994410df WHIRLPOOL bbdabe0d4cb271ca2a2f02588d4cde3a689a8ecac637cd0fff3bcc18517d6490350cccb9ce1b2dca7269c1eedaea21a21f714d604cc282b1a3fd79785bd8f66c
+DIST vc-0.7.3-reference-log10-sp.dat 1200000 SHA256 129cf04f8924af282b0c3ee6f10143ff4180a6e29d54f5c3da05ed20f13ea6b7 SHA512 5d027ec089f9179f4f4544c445693b64c4d4db4b8267c2360511fed52748a904a00c03ee7fbdcac234d3284b9288bd19d8722567cdf7acf21311d7f19fc53f3a WHIRLPOOL 2b7a27817db2995ae13dbf211a816b9806af68c3f06e6118a74d68c162d1a074fdf956698aa7fae04ead552d17ff84fb070b21e8ab8b4d5da398ff005bbcf640
+DIST vc-0.7.3-reference-log2-dp.dat 2400000 SHA256 04e0ad378a8608243634a7517854301a925f60f23c499f581c32bd5c7ad4b444 SHA512 54692dbf61c2764969cda3f87ba76bcc464f9e513864625ec115b9f06b26e85db4a53775baf4d87f83ae04452d246b4b01d0d3cde733058a07f872b0d0aa8097 WHIRLPOOL af7b7cc14a35430d13dcedfc7e20f69213e5c14ad1fb7160087d4e5d1cfd480fdff03e191e5b9e104b4f6cec18d7ce871a8387ae32682d57c49301728961ae24
+DIST vc-0.7.3-reference-log2-sp.dat 1200200 SHA256 f8d8f1e968d26faa25eac5a3acefd3751106eb748cac4a8dd40b98b0aeeb2e20 SHA512 edcc6100a20b1ef6aaf855ccdaff05c89f6f33357749681c577bc22fdc80877f90ddc7c1c8e260b1dd0c639865c8b701d48c7612ef39de2b4fece067f88b2808 WHIRLPOOL 8d727cbd1d65d8c116f28243227b66f32f9c26b7d85efe5097e21b46ae2f54ff2d1c61e3d382dbaeb99ab8ea30ad01c24dba9e8f541e944a2f0f3e1715fbf398
+DIST vc-0.7.3-reference-sincos-dp.dat 3600000 SHA256 9bdad42562d4190a8e037854f1023946114e235c9148af09a3c72d65a69252f9 SHA512 92f5cbe61cc79188759cc7d03e28df1644405bf2249fc59bb84f567bca6937053c5e2c1f7b0674e745d6656da6772703305118040b9c7a272da1d8bc52d49858 WHIRLPOOL 1a6fddbf4d4527fb76f596fdf24288560b8e4718c2b112a15baa2723bc4fabd1110f30cd83ab97a56849e5584c4b452250e4a4866e0283b78d231e42dae3e6d4
+DIST vc-0.7.3-reference-sincos-sp.dat 1800000 SHA256 e91cf4bd52d58d30b584326375296448520972d769936836239141aa731e6802 SHA512 0760409ae093c7d897e6ac0b689fea5c1cf9cf58e3c39e2880fcacf56398e9c3ceb897f725ef54730b95847f11ca73a05fd96e108aa153ba6d22c21f7104c009 WHIRLPOOL 34dc7a26ebd1b03dab3629e28bd7d9715855fa1334ef34f651044f194a620d239f896b96e28324bf82074d2bc5a26e5f96d0c24201364760a3a49679787ff459
+DIST vc-0.7.3.tar.gz 307970 SHA256 02b838d0c8e2097ca83c5276473bb289b61d6a3722eccee12baa897bdf774a61 SHA512 4eb60e13ae68320910d5bfd4b67b5b0a7a811ace8086cf511c545578a42ac7f3561020f96ce59a425cfce4976ffffb60cb4111ee37c7d6600fc17cd6e0ee33a7 WHIRLPOOL 34c9b10e0a9aa19dc7f7dd88a47c50de918f69b124cb6488e1f9ae1a86283d0026ed5a24dea72e00ed78f2e431821883f3febadb8e7181d66d028cd724f5dca6
+DIST vc-0.7.4-reference-acos-dp.dat 2400000 SHA256 b2b5d9537c68b25cc5efceed776b1d4c888ac74fecd3a0188f4ce6c28d473a23 SHA512 f64357c8dd5000a3e8d48af4d3dff167d0b2f6f5c90d90949fe1ee7b00668211cfef959c44775f37a2982acbba259895af6e262ef8e77d7570b6f9a2520d415b WHIRLPOOL 9f2d1be7ac400809bd7ac4d06d18be98c63a1ea7dddd5d5738ecaf36b0f52dae6461fd308475f9de3a1ca537b03e1bc0a2b701e8ac30249f1ce574a4985970bf
+DIST vc-0.7.4-reference-acos-sp.dat 1200000 SHA256 0b0c4590042f00a67398ede2be3ffc7f6f8bb9b39a06154f1d73f43afe1cab7d SHA512 8a1077735acf06c9a70874bdf202f952855f04e8aea1b75d21b43cd098d6c26af691ecb3ff345cd26bf3ac8e46263c26ba465f8c39903908b3e72cb356802f8b WHIRLPOOL bbb8559279404bf03d04563f5b53eb2c296c6af5fdb10055d891b5f392d2ae59cb7d99cf129a8392533d1274ac42ddd91cbe0f81857e4d383eb739bece3ef206
+DIST vc-0.7.4-reference-asin-dp.dat 2400000 SHA256 382a9d3731a09a05e0f481fa264070f556f8c6f048f04d2ede4da1dc25b2abf7 SHA512 62dc115731978118e45cef0e3c11abbad6b8810a9e480ada6d479ef62413ef9eca0ece1674dcbd9fd0d4cbb50fdb86bcb860f797e17c1cab93a2f756e683d50d WHIRLPOOL 660ac0cded7897ad227877e924a9f53c8a692d7737b0d8bac0e096290709d8021a0935d8999b22aadc2e3367bf79a07824c19d876727624c2cba624892a0d4ad
+DIST vc-0.7.4-reference-asin-sp.dat 1200000 SHA256 27578bea470bb82a06a2ce86c47dfd8fd10045f2490d3bae499c5c519982e0a3 SHA512 859622a5b86b2fa6077bfc931afbbff515ec779ecbd54c93e91bb1837b8f8475f7c247f89d90b7847fb3a8a96a95d5c4692ce7863c0a0f9e5d4904039189ea3f WHIRLPOOL a1ed01578ba60ea94063cd01de27b3a76663a2b0c6d304104ec0dca9fcd09c0c568c1cb277ca0d8483b141f46206123c7b6527dceb5341504a04a641975bb566
+DIST vc-0.7.4-reference-atan-dp.dat 4800000 SHA256 5d86c364d063fe3666f5af22c860e9595246877d1a4657a6c96392552bc93e14 SHA512 20b2ffd707ab3f251d6d8a3ea39cb9436176154962cf60512acaf40aa3ac463cbf8e6149969ce273a9f755a1ecbcd8ac20f57444fdb73bc0ac15c43a73d82513 WHIRLPOOL faa53572cdbad3e2fdb77ec5ad6aa60dca3c566a51193c30989bf29b9e29c9fe84c3783c67c28c546bec3219b6a18138335f5d999faa81f4dda8e8627f354b4f
+DIST vc-0.7.4-reference-atan-sp.dat 2400000 SHA256 f659dd94dcc8e9691d807cdb4305a7a9967c1caa90590ed6f66453a67fa5fb1a SHA512 3c137570f882f057ecdf772dfd659b199d4a37d1f098450476abc0ffafb9abe324aaf6155dbd9a0d2b7f9ce3022fe91d8c81a8b6303f7bd1a1c18785ec2e96b3 WHIRLPOOL 4d3a766925e3fde9a88bac488177f471bad21697ddd3ba6e4ecfee3b271bc6a086d0a96604e0a6d83ae36da2e503006e85886f2168bc670f06cd52897d7d068c
+DIST vc-0.7.4-reference-ln-dp.dat 2400000 SHA256 13aa81ff64852b14442fd4158ff011c974d4d41f7b1788ecc77be0d1944314e9 SHA512 279b9221fd56507be580598c8f29bac602494ad230c975e726d49c3cea3264b6b45c385a50be12d94acd7c3b9c0527bb9b1339c380a746a639fd0ae6928fe2c3 WHIRLPOOL a8c3255d9909e49efe0ccf31863cc388534bfe36d654b73ea5e507adfa992f21d25dad9543f252ec39e1a495c1f1d471321b962da67caa061bbab8bb0818a924
+DIST vc-0.7.4-reference-ln-sp.dat 1196328 SHA256 add681b969c841d810d12510be2aef42fab69e2e1a0da0fec1ea613057d18a7a SHA512 5cf13ab4997bdbe08b08bd79c719ad80844bbc451fcd1636e2c93c4a4b015c8f1909549638636b30a289c53b75822114b5aa9c5e40699b3867e23b8024a610e8 WHIRLPOOL 116caa676fee93ec815af2745d595b84715ed3657313d2ee0b54bb882f0a96cd456db5ffc1dcbcb174bc979a9729094c55ec8276c2a204843718450557d01315
+DIST vc-0.7.4-reference-log10-dp.dat 2400000 SHA256 57b5d62cd0c13e4bd303e297763e599b6268654bae967a93628a3405cae84c6b SHA512 7086b73d2eeda17ef154b53fdeedf9fa21ac7016837eb9dd5e197d7a61343f1ac4b341fd04e6ef6477adc51391da7874ed7dd03a2b761d231c66611b994410df WHIRLPOOL bbdabe0d4cb271ca2a2f02588d4cde3a689a8ecac637cd0fff3bcc18517d6490350cccb9ce1b2dca7269c1eedaea21a21f714d604cc282b1a3fd79785bd8f66c
+DIST vc-0.7.4-reference-log10-sp.dat 1200000 SHA256 129cf04f8924af282b0c3ee6f10143ff4180a6e29d54f5c3da05ed20f13ea6b7 SHA512 5d027ec089f9179f4f4544c445693b64c4d4db4b8267c2360511fed52748a904a00c03ee7fbdcac234d3284b9288bd19d8722567cdf7acf21311d7f19fc53f3a WHIRLPOOL 2b7a27817db2995ae13dbf211a816b9806af68c3f06e6118a74d68c162d1a074fdf956698aa7fae04ead552d17ff84fb070b21e8ab8b4d5da398ff005bbcf640
+DIST vc-0.7.4-reference-log2-dp.dat 2400000 SHA256 04e0ad378a8608243634a7517854301a925f60f23c499f581c32bd5c7ad4b444 SHA512 54692dbf61c2764969cda3f87ba76bcc464f9e513864625ec115b9f06b26e85db4a53775baf4d87f83ae04452d246b4b01d0d3cde733058a07f872b0d0aa8097 WHIRLPOOL af7b7cc14a35430d13dcedfc7e20f69213e5c14ad1fb7160087d4e5d1cfd480fdff03e191e5b9e104b4f6cec18d7ce871a8387ae32682d57c49301728961ae24
+DIST vc-0.7.4-reference-log2-sp.dat 1200200 SHA256 f8d8f1e968d26faa25eac5a3acefd3751106eb748cac4a8dd40b98b0aeeb2e20 SHA512 edcc6100a20b1ef6aaf855ccdaff05c89f6f33357749681c577bc22fdc80877f90ddc7c1c8e260b1dd0c639865c8b701d48c7612ef39de2b4fece067f88b2808 WHIRLPOOL 8d727cbd1d65d8c116f28243227b66f32f9c26b7d85efe5097e21b46ae2f54ff2d1c61e3d382dbaeb99ab8ea30ad01c24dba9e8f541e944a2f0f3e1715fbf398
+DIST vc-0.7.4-reference-sincos-dp.dat 3600000 SHA256 9bdad42562d4190a8e037854f1023946114e235c9148af09a3c72d65a69252f9 SHA512 92f5cbe61cc79188759cc7d03e28df1644405bf2249fc59bb84f567bca6937053c5e2c1f7b0674e745d6656da6772703305118040b9c7a272da1d8bc52d49858 WHIRLPOOL 1a6fddbf4d4527fb76f596fdf24288560b8e4718c2b112a15baa2723bc4fabd1110f30cd83ab97a56849e5584c4b452250e4a4866e0283b78d231e42dae3e6d4
+DIST vc-0.7.4-reference-sincos-sp.dat 1800000 SHA256 e91cf4bd52d58d30b584326375296448520972d769936836239141aa731e6802 SHA512 0760409ae093c7d897e6ac0b689fea5c1cf9cf58e3c39e2880fcacf56398e9c3ceb897f725ef54730b95847f11ca73a05fd96e108aa153ba6d22c21f7104c009 WHIRLPOOL 34dc7a26ebd1b03dab3629e28bd7d9715855fa1334ef34f651044f194a620d239f896b96e28324bf82074d2bc5a26e5f96d0c24201364760a3a49679787ff459
+DIST vc-0.7.4.tar.gz 310014 SHA256 6dd8ce901491db6b71c77b2b7464137f6fdfa311b7b6f0e21b1d00e932c3c3db SHA512 278a59be74915c5b714d177d71180ff5d0648474fa753770d463e5f0159db0089dcd7b1b36488d646aa2b0966ab0db521a5cebd7079eb48987eb95026ca0687c WHIRLPOOL efa483d8fc326ed66133140cfc5df0d7e26b3579eafc3e1b258cfa280b51c846ae6399b16b2d560c368bd4bb21d6bf0b051735f2bb3d6ee31fe8a6b712c6d6dc
diff --git a/dev-libs/vc/metadata.xml b/dev-libs/vc/metadata.xml
new file mode 100644
index 000000000000..91d14d0d81e7
--- /dev/null
+++ b/dev-libs/vc/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>amadio@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/vc/vc-0.7.3.ebuild b/dev-libs/vc/vc-0.7.3.ebuild
new file mode 100644
index 000000000000..9d49b8857510
--- /dev/null
+++ b/dev-libs/vc/vc-0.7.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit vcs-snapshot cmake-utils
+
+VC_TEST_DATA=( reference-{acos,asin,atan,ln,log2,log10,sincos}-{dp,sp}.dat )
+for i in ${VC_TEST_DATA[@]}; do
+ SRC_URI+="test? ( http://compeng.uni-frankfurt.de/~kretz/Vc-testdata/$i -> ${P}-${i} ) "
+done
+
+DESCRIPTION="A library to ease explicit vectorization of C++ code"
+HOMEPAGE="http://code.compeng.uni-frankfurt.de/projects/vc"
+SRC_URI+=" https://gitorious.org/${PN}/${PN}/archive-tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+src_unpack() {
+ vcs-snapshot_src_unpack
+
+ if use test ; then
+ mkdir -p "${WORKDIR}"/${P}_build/tests || die
+ for i in ${VC_TEST_DATA[@]}; do
+ cp "${DISTDIR}"/${P}-$i "${WORKDIR}"/${P}_build/tests/${i} || die
+ done
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/vc/vc-0.7.4.ebuild b/dev-libs/vc/vc-0.7.4.ebuild
new file mode 100644
index 000000000000..698bce4dafee
--- /dev/null
+++ b/dev-libs/vc/vc-0.7.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="SIMD Vector Class Library for C++"
+HOMEPAGE="https://github.com/VcDevel/Vc"
+
+VC_TEST_DATA=( reference-{acos,asin,atan,ln,log2,log10,sincos}-{dp,sp}.dat )
+for i in ${VC_TEST_DATA[@]}; do
+ SRC_URI+="test? ( http://compeng.uni-frankfurt.de/~kretz/Vc-testdata/$i -> ${P}-${i} ) "
+done
+
+SRC_URI+="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+src_unpack() {
+ default_src_unpack
+ S="${WORKDIR}"/Vc-${PV}
+ if use test ; then
+ mkdir -p "${WORKDIR}"/${P}_build/tests || die
+ for i in ${VC_TEST_DATA[@]}; do
+ cp "${DISTDIR}"/${P}-$i "${WORKDIR}"/${P}_build/tests/${i} || die
+ done
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/vdk/Manifest b/dev-libs/vdk/Manifest
new file mode 100644
index 000000000000..ca3188c9d101
--- /dev/null
+++ b/dev-libs/vdk/Manifest
@@ -0,0 +1 @@
+DIST vdk-2.5.1.tar.gz 1113765 SHA256 5d8f6942b8ec2f83b477f24a4e15a9945c1b1b348412d3d22a89627a35130745 SHA512 49e458785d88ab145b40e6ddcd5c7aadc950697b797d17f1ac633354abb46cd7457ea449c62d4993fca53136051d7d7810a15ab561b49e730635566021997292 WHIRLPOOL 8240ccaaffe1169fbe13b25f585f2e0df483ff633f1e0bf00d2b01b5c60e29a21d7e1a0dbe8bb90da69d0e04c330a3ebb81ffc6355afa314af3a4733e7bcd65d
diff --git a/dev-libs/vdk/files/vdk-2.4.1-gcc4.patch b/dev-libs/vdk/files/vdk-2.4.1-gcc4.patch
new file mode 100644
index 000000000000..924248b75957
--- /dev/null
+++ b/dev-libs/vdk/files/vdk-2.4.1-gcc4.patch
@@ -0,0 +1,28 @@
+diff -Naur vdk-2.4.1/vdk/vdkcomboentry.h vdk-2.4.1-ok/vdk/vdkcomboentry.h
+--- vdk-2.4.1/vdk/vdkcomboentry.h 2004-09-10 08:14:48.000000000 +0200
++++ vdk-2.4.1-ok/vdk/vdkcomboentry.h 2006-05-30 11:39:18.000000000 +0200
+@@ -51,8 +51,8 @@
+ class VDKComboEntry: public VDKObject
+ {
+ protected:
+- static int VDKComboEntry::FocusOutEvent(GtkWidget *, GdkEventFocus*, gpointer wid);
+- static int VDKComboEntry::FocusInEvent(GtkWidget *, GdkEventFocus*, gpointer wid);
++ static int FocusOutEvent(GtkWidget *, GdkEventFocus*, gpointer wid);
++ static int FocusInEvent(GtkWidget *, GdkEventFocus*, gpointer wid);
+ VDKObjectSignal s_activated, s_changed, s_selected;
+ public:
+ /*!
+diff -Naur vdk-2.4.1/vdk/vdkfilechooser.h vdk-2.4.1-ok/vdk/vdkfilechooser.h
+--- vdk-2.4.1/vdk/vdkfilechooser.h 2004-09-10 08:15:10.000000000 +0200
++++ vdk-2.4.1-ok/vdk/vdkfilechooser.h 2006-05-30 11:39:04.000000000 +0200
+@@ -106,8 +106,8 @@
+ DECLARE_EVENT_LIST(VDKFileChooser);
+ // declares two static used to initialize
+ // form display type and initial position
+- static GtkWindowType VDKFileChooser::DisplayType;
+- static GtkWindowPosition VDKFileChooser::InitialPosition;
++ static GtkWindowType DisplayType;
++ static GtkWindowPosition InitialPosition;
+ //
+ /*!
+ * Add a filter based on a pattern
diff --git a/dev-libs/vdk/files/vdk-2.4.1-gcc43.patch b/dev-libs/vdk/files/vdk-2.4.1-gcc43.patch
new file mode 100644
index 000000000000..f0fe758050c7
--- /dev/null
+++ b/dev-libs/vdk/files/vdk-2.4.1-gcc43.patch
@@ -0,0 +1,33 @@
+diff -Nurpa vdk-2.4.1.orig/vdk/entry.cc vdk-2.4.1/vdk/entry.cc
+--- vdk-2.4.1.orig/vdk/entry.cc 2008-12-15 05:16:06.000000000 +0300
++++ vdk-2.4.1/vdk/entry.cc 2008-12-15 05:16:33.000000000 +0300
+@@ -30,6 +30,7 @@
+ #include "vdk/forms.h"
+ #include "vdk/colors.h"
+ #include <string>
++#include <cstring>
+ static void
+ EntryChanged(GtkWidget* wid, gpointer gp)
+ {
+diff -Nurpa vdk-2.4.1.orig/vdk/image.cc vdk-2.4.1/vdk/image.cc
+--- vdk-2.4.1.orig/vdk/image.cc 2008-12-15 05:16:06.000000000 +0300
++++ vdk-2.4.1/vdk/image.cc 2008-12-15 05:17:41.000000000 +0300
+@@ -32,6 +32,7 @@
+ #include <vdk/tooltips.h>
+ #include <cstdio>
+ #include <string>
++#include <cstring>
+ #include <unistd.h>
+ #include <vdk/rawpixbuf.h>
+
+diff -Nurpa vdk-2.4.1.orig/vdk/vdkdate.cc vdk-2.4.1/vdk/vdkdate.cc
+--- vdk-2.4.1.orig/vdk/vdkdate.cc 2008-12-15 05:16:06.000000000 +0300
++++ vdk-2.4.1/vdk/vdkdate.cc 2008-12-15 05:20:52.000000000 +0300
+@@ -28,6 +28,7 @@
+
+ #include "vdk/vdkdate.h"
+ #include <string>
++#include <cstring>
+ #include <cstdlib>
+ #include <cstdio>
+ #include <time.h>
diff --git a/dev-libs/vdk/metadata.xml b/dev-libs/vdk/metadata.xml
new file mode 100644
index 000000000000..e111126efa21
--- /dev/null
+++ b/dev-libs/vdk/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>lang-misc</herd>
+ <upstream>
+ <remote-id type="sourceforge">vdklib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/vdk/vdk-2.5.1.ebuild b/dev-libs/vdk/vdk-2.5.1.ebuild
new file mode 100644
index 000000000000..306008d8e6c0
--- /dev/null
+++ b/dev-libs/vdk/vdk-2.5.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A Visual Development Kit for RAD"
+SRC_URI="mirror://sourceforge/vdklib/${P}.tar.gz"
+HOMEPAGE="http://www.mariomotta.it/vdklib/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ppc x86"
+IUSE="doc debug"
+
+RDEPEND="x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_configure() {
+ local myconf=""
+
+ # gnome and sigc USE flags need to be added later
+ # when upstream decides to re-support them - ChrisWhite
+
+ use doc && \
+ myconf="${myconf} --enable-doc-html=yes \
+ --enable-doc-latex=yes \
+ --enable-doc-man=yes" \
+ || myconf="${myconf} --enable-doc-html=no \
+ --enable-doc-latex=no \
+ --enable-doc-man=no"
+
+ use debug && \
+ myconf="${myconf} --enable-debug=yes" \
+ || myconf="${myconf} --enable-debug=no"
+
+ econf \
+ ${myconf} \
+ --enable-testvdk=no \
+ || die "econf failed"
+
+ # die non user custom CFLAGS!
+ sed -e "s/CFLAGS = .*/CFLAGS = ${CFLAGS}/" -i Makefile
+ sed -e "s/CXXFLAGS = .*/CXXFLAGS = ${CXXFLAGS}/" -i Makefile
+ sed -e "s/CFLAGS = .*/CFLAGS = ${CFLAGS}/" -i vdk/Makefile
+ sed -e "s/CXXFLAGS = .*/CXXFLAGS = ${CXXFLAGS}/" -i vdk/Makefile
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README TODO
+}
diff --git a/dev-libs/vrb/Manifest b/dev-libs/vrb/Manifest
new file mode 100644
index 000000000000..51066fcf98d6
--- /dev/null
+++ b/dev-libs/vrb/Manifest
@@ -0,0 +1,2 @@
+DIST vrb-0.3.0.tar.gz 30228 SHA256 982a7b0c49db88b61a2ebd7fd442d691548a5ab7e3cacd90431a045c314ed99c SHA512 7a79497a1497afb72c02c404fe628042bfc39ded06ec92d6d835948aaa3d9ee7a595e3e0a379515d2ebb498422f9a9c493853a75831180892e8e9070d6bb2f95 WHIRLPOOL 62cdac11c824b93627061c23c20cc88e040a36a646c8e305ed7647f0584a1cc1d33ed660a9e9447ec6e3737a60ef579c2e0fe3fa1c120018f32524cbd9b2c0a5
+DIST vrb-0.5.1.tar.bz2 41106 SHA256 d579ed1998ef2d78e2ef8481a748d26e1fa12cdda806d2e31d8ec66ffb0e289f SHA512 0db418e659d4c7cfc38ed5774345d204a87ca72525ea1d86e15ee3a09ff66828df1c110e2c84336fc8789a94b3e05eda1a2c4881799e511a7f75b728e2bc0734 WHIRLPOOL 2033b40a2875dc374ba82188cb8ec98f1bfd26eaa2ed151f561537868f696bc7b509c8388f1ce6802b9a9ef4b689041a4d6391248363a1f7f672e6b9a3c25df4
diff --git a/dev-libs/vrb/files/vrb-0.5.1-configure.patch b/dev-libs/vrb/files/vrb-0.5.1-configure.patch
new file mode 100644
index 000000000000..281efa6850e9
--- /dev/null
+++ b/dev-libs/vrb/files/vrb-0.5.1-configure.patch
@@ -0,0 +1,98 @@
+diff -NrU5 vrb-0.5.1.original/configure vrb-0.5.1/configure
+--- vrb-0.5.1.original/configure 2009-08-05 19:22:47.000000000 -0600
++++ vrb-0.5.1/configure 2009-08-05 19:57:15.000000000 -0600
+@@ -314,11 +314,11 @@
+ #-----------------------------------------------------------------------------
+ unamem=$( uname -m | tr ' ' '_' )
+ unames=$( uname -s | tr ' ' '_' )
+ unamer=$( uname -r | tr ' ' '_' )
+
+-gcc="gcc"
++gcc=${CC}
+
+ lib_cp_cmd="${gcc}"
+ pgm_cp_cmd="${gcc}"
+
+ lib_cc_cmd="${gcc}"
+@@ -331,23 +331,23 @@
+ pgm_ld_cmd="${gcc}"
+
+ lib_def=( "${lib_def[@]}" "-DARCH_${unamem}" "-DARCH=${unamem}" )
+ pgm_def=( "${pgm_def[@]}" "-DARCH_${unamem}" "-DARCH=${unamem}" )
+
+-lib_warn=( -Werror -Wall -Wnested-externs -Wno-cast-qual -Wno-trigraphs -Wuninitialized -Wwrite-strings )
+-pgm_warn=( -Werror -Wall -Wnested-externs -Wno-cast-qual -Wno-trigraphs -Wuninitialized -Wwrite-strings )
++lib_warn=( -Wall -Wnested-externs -Wno-cast-qual -Wno-trigraphs -Wuninitialized -Wwrite-strings )
++pgm_warn=( -Wall -Wnested-externs -Wno-cast-qual -Wno-trigraphs -Wuninitialized -Wwrite-strings )
+
+ if [[ -n "${warninline}" ]]; then
+ lib_warn=( "${lib_warn[@]}" -Winline )
+ pgm_warn=( "${pgm_warn[@]}" -Winline )
+ fi
+
+-lib_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -fgnu-linker -frerun-loop-opt -finline -finline-functions -fmove-all-movables )
+-pgm_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -fgnu-linker -frerun-loop-opt -finline -finline-functions -fmove-all-movables )
++lib_feat="${CFLAGS} ${LDFLAGS}"
++pgm_feat="${CFLAGS} ${LDFLAGS}"
+
+-lib_cp_opt=( -pipe )
+-pgm_cp_opt=( -pipe )
++lib_cp_opt="${CFLAGS} ${LDFLAGS}"
++pgm_cp_opt="${CFLAGS} ${LDFLAGS}"
+
+ if [[ -n "${std}" ]]; then
+ lib_cp_opt=( "${lib_cp_opt[@]}" "-std=${std}" )
+ pgm_cp_opt=( "${pgm_cp_opt[@]}" "-std=${std}" )
+ fi
+@@ -375,11 +375,11 @@
+ if [[ -n "${as_verbose}" ]]; then
+ lib_as_opt=( -v "${lib_as_opt[@]}" )
+ pgm_as_opt=( -v "${pgm_as_opt[@]}" )
+ fi
+
+-lib_ld_opt=( -pipe -shared -nostdlib -nostartfiles )
++lib_ld_opt=("${CFLAGS} ${LDFLAGS}" -pipe -shared -nostdlib -nostartfiles)
+ pgm_ld_opt=( -pipe )
+ if [[ -n "${ld_verbose}" ]]; then
+ lib_ld_opt=( -v "${lib_ld_opt[@]}" )
+ pgm_ld_opt=( -v "${pgm_ld_opt[@]}" )
+ fi
+@@ -1266,11 +1266,11 @@
+ # Generate Makefile specs to compile library sources.
+ #----------------------------------------------------
+ class_product_src lib "${libname}" | while read srcname; do
+ vmsg 9 "Generating Makefile section: lib ${libname} ${srcname}"
+ srcdir=$( dirname "${srcname}" )
+- srcref="-I ${srcdir} -I ${source}/include -I- -I ./include ${srcname}"
++ srcref="-iquote ${srcdir} -iquote ${source}/include -I ./include ${srcname}"
+ objname=$( echo "${srcname}" | gawk -F/ '{print $NF;}' | gawk -F. 'BEGIN{OFS=".";}{$NF="o";print $0;}' )
+ for lc in arlib solib; do
+ [[ "${lc}" = "arlib" ]] && libfeat=( -DARLIBRARY=1 )
+ [[ "${lc}" = "solib" ]] && libfeat=( -DSOLIBRARY=1 -DfPIC=1 -fPIC )
+
+@@ -1352,11 +1352,11 @@
+ echo -n " obj/${pgmclass}/${pgmname}/${objname}"
+ done
+ echo ""
+
+ # link, object files, libraries
+- echo -n "${tab}\$(pgm_ld_cmd) \$(pgm_ld_opt) -o ${pgmclass}/${pgmname}"
++ echo -n "${tab}\$(pgm_ld_cmd) \$(CFLAGS) \$(LDFLAGS) \$(pgm_ld_opt) -o ${pgmclass}/${pgmname}"
+ class_product_obj "${pgmclass}" "${pgmname}" | while read objname; do
+ echo -n " obj/${pgmclass}/${pgmname}/${objname}"
+ done
+ if [[ -z "${nosolib}" && -n "${execdynamic}" ]]; then
+ echo -n " -L./lib"
+@@ -1396,11 +1396,11 @@
+
+ # compile each source file for each object needed by this executable
+ class_product_src "${pgmclass}" "${pgmname}" | while read srcname; do
+ vmsg 9 "Generating Makefile section: ${pgmclass} ${pgmname} ${srcname}"
+ srcdir=$( dirname "${srcname}" )
+- srcref="-I ${srcdir} -I ${source}/include -I- -I ./include ${srcname}"
++ srcref="-iquote ${srcdir} -iquote ${source}/include -I ./include ${srcname}"
+ objname=$( echo "${srcname}" | gawk -F/ '{print $NF;}' | gawk -F. 'BEGIN{OFS=".";}{$NF="o";print $0;}' )
+ echo "obj/${pgmclass}/${pgmname}/${objname}: ${srcname}"
+ if [[ -n "${asm}" ]]; then
+ if [[ -n "${cpp}" ]]; then
+ cppname=$( echo "${objname}" | gawk -F. 'BEGIN{OFS=".";}{$NF="i";print $0;}' )
diff --git a/dev-libs/vrb/metadata.xml b/dev-libs/vrb/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/dev-libs/vrb/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/vrb/vrb-0.3.0.ebuild b/dev-libs/vrb/vrb-0.3.0.ebuild
new file mode 100644
index 000000000000..8144ba00d007
--- /dev/null
+++ b/dev-libs/vrb/vrb-0.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="library for a virtual ring buffer"
+HOMEPAGE="http://phil.ipal.org/freeware/vrb/"
+SRC_URI="http://phil.ipal.org/freeware/vrb/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="x86 sparc"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+MAKEOPTS="${MAKEOPTS} -j1"
+
+src_compile() {
+ #respecting CFLAGS and LDFLAGS
+ sed -i "s/copts=\"-pipe -O2\"/copts=\"${CFLAGS} ${LDFLAGS}\"/g" Configure
+ sed -i "s/gcc -v/\${CC} \${COPTS}/g" Configure
+
+ #respecting CC
+ sed -i "s/gcc/\${CC}/g" Configure
+
+ #omiting -Werror
+ sed -i "s/-Werror//g" Configure
+
+ CC="$(tc-getCC)" ./Configure \
+ --prefix=/usr || die "./Configure failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/include/libvrb/
+ doins include/vrb.h
+
+ dolib.so lib/libvrb.so.0.3.0
+
+ dosym libvrb.so.0.3.0 /usr/$(get_libdir)/libvrb.so.0.3
+ dosym libvrb.so.0.3.0 /usr/$(get_libdir)/libvrb.so.0
+ dosym libvrb.so.0.3.0 /usr/$(get_libdir)/libvrb.so
+
+ dobin bin/iobuffer
+
+ dodoc README
+}
diff --git a/dev-libs/vrb/vrb-0.5.1.ebuild b/dev-libs/vrb/vrb-0.5.1.ebuild
new file mode 100644
index 000000000000..26e7d4fa1a62
--- /dev/null
+++ b/dev-libs/vrb/vrb-0.5.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Library for a virtual ring buffer"
+HOMEPAGE="http://vrb.slashusr.org/"
+SRC_URI="http://vrb.slashusr.org/download/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~sparc ~x86"
+IUSE="static"
+RESTRICT="strip"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ epatch "${FILESDIR}"/${P}-configure.patch
+
+ CC="$(tc-getCC)" ./configure --prefix=/usr || die "Configure failed!"
+ make || die "Make failed!"
+}
+
+src_install() {
+ insinto /usr/include
+ doins build/include/vrb.h
+
+ mkdir "${D}"usr/lib
+
+ if use static ; then
+ cp build/lib/libvrb.a* "${D}"usr/lib/
+ fi
+
+ cp build/lib/libvrb.so* "${D}"usr/lib/
+
+ dobin build/bin/vbuf
+
+ dodoc README
+ doman vrb/man/man3/*.3
+}
diff --git a/dev-libs/wayland/Manifest b/dev-libs/wayland/Manifest
new file mode 100644
index 000000000000..fa0c6876cf20
--- /dev/null
+++ b/dev-libs/wayland/Manifest
@@ -0,0 +1,11 @@
+DIST wayland-0.95.0.tar.xz 359928 SHA256 a38b915ce294efb3f45d3c66ea21f8424aea676656eca93af0edcc5d55a1efcb SHA512 fe0b93528ad1c515231c8763ff6ea6506d0c6fa97412e873d16a0549aaf45831e6c98bb5eb43de7fcf4b28ceb7abde58cbb98a068e9ecbe56e61c7636cabab54 WHIRLPOOL 80b8de926dec7a805bb32e3721301d6c0478eabe8973e659c235e62e8e431b6a79763095736e20e4c82256c9251648df124e7b79a91a1328c68dfcff6ef69352
+DIST wayland-1.0.6.tar.xz 391348 SHA256 f52a012df699eff434b0f49e56000d6978b5f781048402ca8e0232242970fc49 SHA512 f914639d7c41b666c4f60bc7b3016a6d7924346e1190809c9246371ac1ea271df4e2049272dc70490fee8f271e1c30b7729d81fe43a078a45e4c975ef4d05ad2 WHIRLPOOL d5125577d8a36dab197da345ac81d9a568c3851d63977d3918810d4f2af3e36624ad755052393c67be7701f639b7ebb4fc8cb185bfc74b1c7f227f2a796eee94
+DIST wayland-1.1.0.tar.xz 401932 SHA256 2ef587cf1a0e52b6dee44eeb9c288110e8180819abf4e419d247dfe234867a5c SHA512 d4af0126c994916983d7464a66a64bcc3b8d44c9578da9c5c2b0f3a3e75c5009e29e549b2cd5b8765b461209b6ceb24fb29fc36493ce0eb911f307425f962d47 WHIRLPOOL f07397c2d8258e83c1b6d5a7c9f753bed7e1537847e713f0fd27ce2402fd50c29f6472c4c31a5f02090513bca36d66f0a9488fc1156d26defc05a1d26bf46590
+DIST wayland-1.2.0.tar.xz 406208 SHA256 6b0439a017185bc5b2fed96c178bed3abf7f19188f3078f4d69fd3ce222d654c SHA512 48c6929d3d278f146037e08536eafb8a6780b6e4c3e1b7b484f92f3f7757b22ba4e38b8f7f8d20f2df1b8135e013e42b9e1714d7f68c78439d210cf81c3adf02 WHIRLPOOL 9b7d31503c2998e89675036fc9270e91bc7a5f10fe709542272d160e49f63dad0c5da45b3790362f586063ba726f19fb1e327448b4fc3be5a038fca82cd73563
+DIST wayland-1.2.1.tar.xz 407420 SHA256 78062e2b081731d96de6a514a91322ad6e7cf6cacfa9c32997bbb3ad6e7f166f SHA512 7ad99856dc4b6ceeef5905a0bbe56cbf58476870c39129dd09801e505f82101c023356e1c0b601360210147ff4bf36c6b60d382d7b8918f73b49d06657d055c0 WHIRLPOOL 226a2ffd895cb767fca77ae532c93ca1bc56305b1f80719e1fd6d8afd7f21af0728173768a7026011b70dcb1f3c97465e2fe8bd1cdf54d3295afbe8c7744ed48
+DIST wayland-1.3.0.tar.xz 412480 SHA256 2e817685f68a26acd19964d69ddbc4549ba5412114ad95e1a9f5934cce470d6e SHA512 f393494385c739d315db463ae4f04361d40595327d2e07a25212fd460ec63f9d3bb425713321c57cc719def4e3f1341082a2fd68b850504fbab6e81c637cb1d9 WHIRLPOOL 832ce30854328cd3c7daf8f2617a7d7e4a792517decd09431b840bc4fa1e9c880cc67d7b1f327394090b1a27b5efeee7c4f58e6e02ad11d7072c1bc5ec247506
+DIST wayland-1.4.0.tar.xz 421564 SHA256 18f33b9f15b4c8b662fb1968e7636e7926b419dfc48de8a164b3a3d7095c5a58 SHA512 0d8af3780bd56062efda2fe92f54e61b8ad03b544a771ddd91971dfc461cf5a98845f94512bf96b8191a6e18ca2b50b77323d65a86a4a69aecd2ba1944113743 WHIRLPOOL 43a368db8a60e28b156eca062931dd5f77b917d55b4769d2b43f2d93fa39529ed9189c347b84ca931d2a5967e260235dec0b91a0d9cdf884bad84e2d59d17b26
+DIST wayland-1.5.0.tar.xz 404644 SHA256 0069e1e9af888b3e05384380ad8cc6c976ea3e81d08ba19b7675ce1d693a41b5 SHA512 2b7d5f51e740d98488a59b0c477da39dd585ae1934a0720ad5d8d402026a31a964768ea583d2ecd0b59a4fbdaf224bd711d6a6e37ab83bf4b17e7fa5a248a783 WHIRLPOOL 401cb62435a5a2aba8e042ef06e910178e53b733a248ccafdbe55ece0494d876a3ad9e7b4a35c4581410cb4b1452a3492ef9cbefabadd32f536fdca66a39b0a8
+DIST wayland-1.6.0.tar.xz 415192 SHA256 a7d5102dcf53d08c059d24bc62de491d7cd482070abeb6737a20d0d86ba6fc7f SHA512 11fc8cb90f00a07b9952c073f1d18bf53284a46b4cc3aa5c71ed33cf509fca0cdf45afbdb852461a7fae236424b1be0e5314a2bbde8a59de2ab81246960da055 WHIRLPOOL 376a4023e47cf5ce624b4d724386b5b8e6cce0696bed8103301cf72fa816bd144e5f3f346a71a3776a1ee922f52fd26060d5b021bf0c7d2ee68fefbe0fe4ea1e
+DIST wayland-1.6.1.tar.xz 418628 SHA256 d1aeb95b433cab33a928b56cb80efa551802e0a064adb4a8ea1517249d3c10b0 SHA512 28a0980ece2fb4ba0ca688f3913ffba34c2741167d7686be80cfbc9cb56f995282a68173d69d2849eb5c2986684ebe6d5cfaca04518ab74a4512c8dfb4d8d0c2 WHIRLPOOL be307a292c8f939921700fc85c9ad1675c491fdc3e1a16ffc52512e39d971f6afdbd378c60c57a64781cdccb364ed77271e07b64f5c3b7b96abd45a1595dfc4e
+DIST wayland-1.7.0.tar.xz 372004 SHA256 bdea47a2db96f7e53f1ce0351559c0af5b7f7aae7e95f0a884a78af9f1057c9c SHA512 2475a5e8c2ef5c4bc97d90f946a89e4155d840a342886a7634df5423e5764973dbf5d721e1a8a941b7bd2305017cdcb74af7a29bee7bb8b58373306e5c03add7 WHIRLPOOL 152be0d1c3ac314cd3dcd765e6a04eaa71b618b1577c423147ccb5b1d82cdeaf09d09c8933746e6bd100b2d59374749084eede36b9075a153328fda179955ea2
diff --git a/dev-libs/wayland/metadata.xml b/dev-libs/wayland/metadata.xml
new file mode 100644
index 000000000000..01c4c004e735
--- /dev/null
+++ b/dev-libs/wayland/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/dev-libs/wayland/wayland-0.95.0.ebuild b/dev-libs/wayland/wayland-0.95.0.ebuild
new file mode 100644
index 000000000000..d62867a95791
--- /dev/null
+++ b/dev-libs/wayland/wayland-0.95.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit autotools toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/expat
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ dev-libs/libxslt"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ if tc-is-cross-compiler ; then
+ econf $(use_enable static-libs static) --disable-scanner
+ else
+ econf $(use_enable static-libs static)
+ fi
+}
diff --git a/dev-libs/wayland/wayland-1.0.6.ebuild b/dev-libs/wayland/wayland-1.0.6.ebuild
new file mode 100644
index 000000000000..320d7fb1e13c
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.0.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit autotools toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/expat
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ myconf="$(use_enable static-libs static) \
+ $(use_enable doc documentation)"
+ if tc-is-cross-compiler ; then
+ myconf+=" --disable-scanner"
+ fi
+ econf ${myconf}
+}
diff --git a/dev-libs/wayland/wayland-1.1.0.ebuild b/dev-libs/wayland/wayland-1.1.0.ebuild
new file mode 100644
index 000000000000..320d7fb1e13c
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.1.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit autotools toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/expat
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ myconf="$(use_enable static-libs static) \
+ $(use_enable doc documentation)"
+ if tc-is-cross-compiler ; then
+ myconf+=" --disable-scanner"
+ fi
+ econf ${myconf}
+}
diff --git a/dev-libs/wayland/wayland-1.2.0.ebuild b/dev-libs/wayland/wayland-1.2.0.ebuild
new file mode 100644
index 000000000000..24cbcc96b3dd
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.2.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit autotools toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/expat
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ myconf="$(use_enable static-libs static) \
+ $(use_enable doc documentation)"
+ if tc-is-cross-compiler ; then
+ myconf+=" --disable-scanner"
+ fi
+ econf ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ default
+}
diff --git a/dev-libs/wayland/wayland-1.2.1-r1.ebuild b/dev-libs/wayland/wayland-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..f181ba08a53f
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.2.1-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.2.1.ebuild b/dev-libs/wayland/wayland-1.2.1.ebuild
new file mode 100644
index 000000000000..ab18f2fcb92e
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.2.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+inherit autotools toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="amd64 arm hppa ia64 ppc ppc64 x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/expat
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ myconf="$(use_enable static-libs static) \
+ $(use_enable doc documentation)"
+ if tc-is-cross-compiler ; then
+ myconf+=" --disable-scanner"
+ fi
+ econf ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ default
+}
diff --git a/dev-libs/wayland/wayland-1.3.0.ebuild b/dev-libs/wayland/wayland-1.3.0.ebuild
new file mode 100644
index 000000000000..e5fd56c4ec1c
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_prepare() {
+ # Remove resources-test from TESTS as it has failed since it was added.
+ sed -i -e 's/ resources-test$(EXEEXT)/ $(NULL)/' "${S}"/tests/Makefile.in || die
+
+ autotools-multilib_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.4.0.ebuild b/dev-libs/wayland/wayland-1.4.0.ebuild
new file mode 100644
index 000000000000..a0871a09de68
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.4.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ppc ppc64 ~s390 ~sh ~sparc x86"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ppc ppc64 ~s390 ~sh ~sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.5.0.ebuild b/dev-libs/wayland/wayland-1.5.0.ebuild
new file mode 100644
index 000000000000..b329a6920e98
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.6.0.ebuild b/dev-libs/wayland/wayland-1.6.0.ebuild
new file mode 100644
index 000000000000..0334d748ae8e
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.6.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.6.1.ebuild b/dev-libs/wayland/wayland-1.6.1.ebuild
new file mode 100644
index 000000000000..d9e9428b3fc3
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.6.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/wayland/wayland-1.7.0.ebuild b/dev-libs/wayland/wayland-1.7.0.ebuild
new file mode 100644
index 000000000000..a1d85ff23b3b
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.7.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/${PN}/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-multilib toolchain-funcs $GIT_ECLASS
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? (
+ >=app-doc/doxygen-1.6[dot]
+ app-text/xmlto
+ >=media-gfx/graphviz-2.26.0
+ sys-apps/grep[pcre]
+ )
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable doc documentation)
+ )
+ if tc-is-cross-compiler ; then
+ myeconfargs+=( --disable-scanner )
+ fi
+ if ! multilib_is_native_abi; then
+ myeconfargs+=( --disable-documentation )
+ fi
+
+ autotools-multilib_src_configure
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ autotools-multilib_src_test
+}
diff --git a/dev-libs/weston/Manifest b/dev-libs/weston/Manifest
new file mode 100644
index 000000000000..dc3ec286a73a
--- /dev/null
+++ b/dev-libs/weston/Manifest
@@ -0,0 +1,7 @@
+DIST weston-1.2.0.tar.xz 654068 SHA256 122e12ae8e4ec4618780465c0cc31d70d67054900a2aac458f82ed6eb5d397b7 SHA512 57e826058cb8b30250864c77029b21ccbec1969a94d7f0473697cd71a5dfaa937726646b0a536c84f3e92291b20de6fdee1c22c90e3d227636b8cf4533ba7900 WHIRLPOOL 7504c9c7c4bee9860577f2005376494ccb1a32755a15b4f513f9b7be6ccdf60fe6f738a35a9053bd31acd8ad78346a22c0faa36595db4f9076b0de3bcc19c6f1
+DIST weston-1.2.1.tar.xz 658140 SHA256 f2d40d15bfad267c58ed8de25593a69d4cb08a7f3178be13f4d11af99a8360ad SHA512 81fea5ed4b0a485b919756f4238415766ad64565484560fb8032d2215576f98cb84ec2a3d513ed3cddb1ba72927226624f1cb768793e98fa904cc189a45f098a WHIRLPOOL 86ac4ebb4fa8e6105a6e84316a67401eb6205ab119a7f989925b3cc807523b3548d7677fc69d9a73e588af37f1d2ef8d67343c8a743c68d6225b642f43fef5bb
+DIST weston-1.4.0.tar.xz 709808 SHA256 74a2319d98e9cdb1acf24659699719aa89ac268cf549759271e326edc5f9ed64 SHA512 19842f2b85ce74dc70ce20349942ce13cd5c9d763ae67c86027e584dd564ea5171457f52119127940b75833042c5582d131c0596a0c7356439e2c52c2cd051f2 WHIRLPOOL 2fadf6eeb8304021cb1ae5bad96bbe8282008d115523a5b024f949a0bf879f8f8779be00a237acf6bd641ac7f92691d3befd3ab55d1e63ddaf7b62b67aab0051
+DIST weston-1.5.0.tar.xz 722616 SHA256 06388ba04ac79aa72d685cc1a8e646ddb2b8cfe11fcc742294f9addac48b7684 SHA512 25230a2d2d0242fecfb35426d538ffe65bec1c984ef3529569d5aa97afd47058785227567ee80bd46cfaa2e914191eee24351a7fe5442f72d1cc32ff646c50e9 WHIRLPOOL 487f8e8d31ea6ceeca13e89bc0da227f9d88b48c3b0aff25763fa869e661cd32dc91a2a0eec416f726222b2c057f843137c7c3a4856727573e9e02844bb70aa0
+DIST weston-1.6.0.tar.xz 733112 SHA256 dc3ea5d13bbf025fabc006216c5ddc0d80d5f4ebe778912b8c4d1d4acaaa614d SHA512 24220a60ee599cd5cf90258f0ce284370162a78bb8aca513a0372220ccfd67b8bbc72efd1123824dcefacea66c0f053a9ee2a73a16f1f00563bed0b83b774de2 WHIRLPOOL 5cf2f06feca4c8469f2ef58e3adeb9df99c68d2a686eff80cc38d66ee96ec41b302f619edf3aff76255196c5900be8174987d19965958f561bfec5c202e50a1f
+DIST weston-1.6.1.tar.xz 734968 SHA256 e9ef779fda4008b7081ee6c64df7971c50954c5cf0d166d8a2fcb104ec1042fd SHA512 837c632d47dc496d7daf488e9887e6ff3d6baf9d954c3a283640722f068165955c22677c26abb9f8c0142352084d6a22054edf0963deb9a62b0f7e84e1c0e6cf WHIRLPOOL 6dc60bb64841fb77af30aca532ad069a169ebdababeaa3a14b3974ff3b32e04159157b0c270f333fcc5ac97c5061a44fb1387be358bcf1ded45f6dc55f366445
+DIST weston-1.7.0.tar.xz 1286904 SHA256 1c4511945f3f476c24af712e82a7b500ae91a99cbc0fe2e381da1449125166cd SHA512 2ba9c7cfd2a18354af8996bf8d78bbccd12bff1ee99102d5057758cdc54311632f7e7583ffcb075efb75e702a8fa210ea0c4f0f8bb8b18e9df39a9db77d03d19 WHIRLPOOL 48ee5e4b8676cc84fbeef019034b9961fe1be51f31af11d3df24ba1d5d446133b747ac1494ef080647d8b845492125fbb453a037d0b552b43a5167bbba8c36aa
diff --git a/dev-libs/weston/files/README.gentoo b/dev-libs/weston/files/README.gentoo
new file mode 100644
index 000000000000..ed8c5c3bae40
--- /dev/null
+++ b/dev-libs/weston/files/README.gentoo
@@ -0,0 +1,9 @@
+For running Weston you need to have $XDG_RUNTIME_DIR in your environment,
+directory must exist and have correct permissions. If you are not using systemd,
+it will not be created automatically, you can create it using your shell,
+add these lines to ~/.bash_profile:
+
+# wayland
+export XDG_RUNTIME_DIR=/tmp/.runtime-${USER}
+mkdir -p "${XDG_RUNTIME_DIR}"
+chmod 0700 "${XDG_RUNTIME_DIR}"
diff --git a/dev-libs/weston/metadata.xml b/dev-libs/weston/metadata.xml
new file mode 100644
index 000000000000..be0b9a074f74
--- /dev/null
+++ b/dev-libs/weston/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+<use>
+ <flag name='colord'>Allow setting color managment</flag>
+ <flag name='drm'>Enable drm compositor support</flag>
+ <flag name='editor'>Install wayland-editor example application</flag>
+ <flag name='egl'>Enable egl acceleration</flag>
+ <flag name='fbdev'>Enable fbdev compositor support</flag>
+ <flag name='gles2'>Use GLESv2 cairo instead of full GL</flag>
+ <flag name='headless'>Headless backend and a noop renderer, mainly for testing purposes</flag>
+ <flag name='ivi'>Enable the IVI shell</flag>
+ <flag name='launch'>Install weston-launch utility</flag>
+ <flag name='rdp'>Enable Remote Desktop Protocol compositor support</flag>
+ <flag name='resize-optimization'>Increase performance, allocate more RAM. Recommended to disable on Raspberry Pi</flag>
+ <flag name='rpi'>Raspberry Pi GPU support</flag>
+ <flag name='screen-sharing'>Enable screen-sharing through RDP</flag>
+ <flag name='tablet'>Enable interface for tablets</flag>
+ <flag name='unwind'>Enable libunwind usage for backtraces</flag>
+ <flag name='view'>Install wayland-view example application</flag>
+ <flag name='wayland-compositor'>Enable Wayland compositor support</flag>
+ <flag name='xwayland'>Enable ability support native X11 applications</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/weston/weston-1.2.0-r1.ebuild b/dev-libs/weston/weston-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..acf51dc007bb
--- /dev/null
+++ b/dev-libs/weston/weston-1.2.0-r1.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="~arm ~amd64 ~x86 ~arm-linux"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+IUSE="colord +drm +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi static-libs +suid systemd tablet test unwind view wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ editor? ( examples )
+ egl? ( || ( gles2 opengl ) )
+ fbdev? ( drm )
+ gles2? ( !opengl )
+ test? ( X )
+ view? ( examples )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.1.90
+ media-libs/mesa[egl?,wayland]
+ media-libs/lcms:2
+ media-libs/libpng:=
+ media-libs/libwebp
+ virtual/jpeg
+ sys-libs/pam
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2]
+ )
+ examples? (
+ editor? ( x11-libs/pango )
+ view? (
+ app-text/poppler:=[cairo]
+ dev-libs/glib:2
+ )
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ gnome-base/librsvg
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+ econf \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_with gles2 cairo-glesv2) \
+ $(use_enable resize-optimization) \
+ $(use_enable suid setuid-install) \
+ $(use_enable tablet tablet-shell) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+
+ cd "${BUILD_DIR}" || die
+ if use opengl && use egl; then
+ newbin clients/gears weston-gears
+ fi
+ if use examples; then
+ use egl && newbin clients/simple-egl weston-simple-egl
+ use editor && newbin clients/editor weston-editor
+ use view && newbin clients/view weston-view
+ local i
+ for i in calibrator clickdot cliptest dnd eventdemo flower fullscreen image resizor simple-shm simple-touch smoke transformed; do
+ newbin "clients/${i}" "weston-${i}"
+ done
+ fi
+}
diff --git a/dev-libs/weston/weston-1.2.1.ebuild b/dev-libs/weston/weston-1.2.1.ebuild
new file mode 100644
index 000000000000..0160df50a24a
--- /dev/null
+++ b/dev-libs/weston/weston-1.2.1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="~arm ~amd64 ~x86 ~arm-linux"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+IUSE="colord +drm +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi static-libs +suid systemd tablet test unwind view wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ fbdev? ( drm )
+ gles2? ( !opengl )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.1.90
+ media-libs/mesa[egl?,wayland]
+ media-libs/lcms:2
+ media-libs/libpng:=
+ media-libs/libwebp
+ virtual/jpeg
+ sys-libs/pam
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2]
+ )
+ editor? ( x11-libs/pango )
+ view? (
+ app-text/poppler:=[cairo]
+ dev-libs/glib:2
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ gnome-base/librsvg
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable suid setuid-install) \
+ $(use_enable tablet tablet-shell) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+
+ pushd clients || die
+
+ if use opengl && use egl && use !gles2; then
+ dobin weston-gears
+ fi
+ if use editor; then
+ dobin weston-editor
+ fi
+ if use view; then
+ dobin weston-view
+ fi
+ if use examples; then
+ use egl && dobin weston-simple-egl
+ dobin \
+ weston-calibrator \
+ weston-clickdot \
+ weston-cliptest \
+ weston-dnd \
+ weston-eventdemo \
+ weston-flower \
+ weston-fullscreen \
+ weston-image \
+ weston-resizor \
+ weston-simple-shm \
+ weston-simple-touch \
+ weston-smoke \
+ weston-transformed
+ fi
+ popd
+
+}
diff --git a/dev-libs/weston/weston-1.4.0.ebuild b/dev-libs/weston/weston-1.4.0.ebuild
new file mode 100644
index 000000000000..90c5aa2b0fd9
--- /dev/null
+++ b/dev-libs/weston/weston-1.4.0.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+RESTRICT="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+ KEYWORDS=""
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+ KEYWORDS="amd64 arm x86 ~arm-linux"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+IUSE="colord +drm dbus +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi +launch static-libs +suid systemd test unwind view wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ gles2? ( !opengl )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.4.0
+ media-libs/lcms:2
+ media-libs/libpng:0=
+ media-libs/libwebp:0=
+ virtual/jpeg
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-misc/xkeyboard-config
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ dbus? ( sys-apps/dbus )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2,wayland]
+ )
+ editor? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[wayland]
+ )
+ opengl? (
+ media-libs/mesa[wayland]
+ )
+ view? (
+ app-text/poppler:=[cairo]
+ dev-libs/glib:2
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ launch? ( sys-auth/pambase )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ gnome-base/librsvg
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable dbus) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable launch weston-launch) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable suid setuid-install) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+
+ pushd clients || die
+
+ if use opengl && use egl && use !gles2; then
+ dobin weston-gears
+ fi
+ if use editor; then
+ dobin weston-editor
+ fi
+ if use view; then
+ dobin weston-view
+ fi
+ if use examples; then
+ use egl && dobin weston-simple-egl
+ dobin \
+ weston-calibrator \
+ weston-clickdot \
+ weston-cliptest \
+ weston-dnd \
+ weston-eventdemo \
+ weston-flower \
+ weston-fullscreen \
+ weston-image \
+ weston-resizor \
+ weston-simple-shm \
+ weston-simple-touch \
+ weston-smoke \
+ weston-transformed
+ fi
+ popd
+
+}
diff --git a/dev-libs/weston/weston-1.5.0.ebuild b/dev-libs/weston/weston-1.5.0.ebuild
new file mode 100644
index 000000000000..e396bf404ed8
--- /dev/null
+++ b/dev-libs/weston/weston-1.5.0.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+RESTRICT="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~arm-linux"
+IUSE="colord dbus +drm +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi +launch screen-sharing static-libs +suid systemd test unwind wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ gles2? ( !opengl )
+ screen-sharing? ( rdp )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.4.0
+ media-libs/lcms:2
+ media-libs/libpng:0=
+ media-libs/libwebp:0=
+ virtual/jpeg
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-misc/xkeyboard-config
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ dbus? ( sys-apps/dbus )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2,wayland]
+ )
+ editor? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[wayland]
+ )
+ opengl? (
+ media-libs/mesa[wayland]
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ launch? ( sys-auth/pambase )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xorg-server[wayland]
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable examples demo-clients-install) \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable dbus) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable launch weston-launch) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable screen-sharing) \
+ $(use_enable suid setuid-install) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ --disable-libinput-backend \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+}
diff --git a/dev-libs/weston/weston-1.6.0.ebuild b/dev-libs/weston/weston-1.6.0.ebuild
new file mode 100644
index 000000000000..01fa93ccc1c7
--- /dev/null
+++ b/dev-libs/weston/weston-1.6.0.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+RESTRICT="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~arm-linux"
+IUSE="colord dbus +drm +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi +launch screen-sharing static-libs +suid systemd test unwind wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ gles2? ( !opengl )
+ screen-sharing? ( rdp )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.6.0
+ media-libs/lcms:2
+ media-libs/libpng:0=
+ media-libs/libwebp:0=
+ virtual/jpeg
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-misc/xkeyboard-config
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ dbus? ( sys-apps/dbus )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2,wayland]
+ )
+ editor? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[wayland]
+ )
+ opengl? (
+ media-libs/mesa[wayland]
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ launch? ( sys-auth/pambase )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xorg-server[wayland]
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable examples demo-clients-install) \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable dbus) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable launch weston-launch) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable screen-sharing) \
+ $(use_enable suid setuid-install) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ --disable-libinput-backend \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+}
diff --git a/dev-libs/weston/weston-1.6.1.ebuild b/dev-libs/weston/weston-1.6.1.ebuild
new file mode 100644
index 000000000000..75414a3d7792
--- /dev/null
+++ b/dev-libs/weston/weston-1.6.1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+RESTRICT="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~arm-linux"
+IUSE="colord dbus +drm +egl editor examples fbdev gles2 headless +opengl rdp +resize-optimization rpi +launch screen-sharing static-libs +suid systemd test unwind wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ gles2? ( !opengl )
+ screen-sharing? ( rdp )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/wayland-1.6.0
+ media-libs/lcms:2
+ media-libs/libpng:0=
+ media-libs/libwebp:0=
+ virtual/jpeg
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-misc/xkeyboard-config
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ dbus? ( sys-apps/dbus )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2,wayland]
+ )
+ editor? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[wayland]
+ )
+ opengl? (
+ media-libs/mesa[wayland]
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ launch? ( sys-auth/pambase )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xorg-server[wayland]
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable examples demo-clients-install) \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable dbus) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable launch weston-launch) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable screen-sharing) \
+ $(use_enable suid setuid-install) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ --disable-libinput-backend \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+}
diff --git a/dev-libs/weston/weston-1.7.0.ebuild b/dev-libs/weston/weston-1.7.0.ebuild
new file mode 100644
index 000000000000..06fe4daef0f9
--- /dev/null
+++ b/dev-libs/weston/weston-1.7.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/wayland/${PN}"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+VIRTUALX_REQUIRED="test"
+RESTRICT="test"
+
+inherit autotools readme.gentoo toolchain-funcs virtualx $GIT_ECLASS
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="http://wayland.freedesktop.org/"
+
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="http://wayland.freedesktop.org/releases/${P}.tar.xz"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~arm-linux"
+IUSE="colord dbus +drm +egl editor examples fbdev gles2 headless ivi +opengl rdp +resize-optimization rpi +launch screen-sharing static-libs +suid systemd test unwind wayland-compositor +X xwayland"
+
+REQUIRED_USE="
+ drm? ( egl )
+ egl? ( || ( gles2 opengl ) )
+ gles2? ( !opengl )
+ screen-sharing? ( rdp )
+ test? ( X )
+ wayland-compositor? ( egl )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-0.8.0
+ >=dev-libs/wayland-1.7.0
+ media-libs/lcms:2
+ media-libs/libpng:0=
+ media-libs/libwebp:0=
+ virtual/jpeg
+ >=x11-libs/cairo-1.11.3[gles2(-)?,opengl?]
+ >=x11-libs/libdrm-2.4.30
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-misc/xkeyboard-config
+ fbdev? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ colord? ( >=x11-misc/colord-0.1.27 )
+ dbus? ( sys-apps/dbus )
+ drm? (
+ media-libs/mesa[gbm]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ egl? (
+ media-libs/glu
+ media-libs/mesa[gles2,wayland]
+ )
+ editor? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[wayland]
+ )
+ opengl? (
+ media-libs/mesa[wayland]
+ )
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
+ rpi? (
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ systemd? (
+ sys-auth/pambase[systemd]
+ sys-apps/systemd[pam]
+ )
+ launch? ( sys-auth/pambase )
+ unwind? ( sys-libs/libunwind )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xorg-server[wayland]
+ x11-libs/cairo[xcb]
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf
+ if use examples || use gles2 || use test; then
+ myconf="--enable-simple-clients
+ $(use_enable egl simple-egl-clients)"
+ else
+ myconf="--disable-simple-clients
+ --disable-simple-egl-clients"
+ fi
+
+ if use gles2; then
+ myconf+=" --with-cairo=glesv2"
+ elif use opengl; then
+ myconf+=" --with-cairo=gl"
+ else
+ myconf+=" --with-cairo=image"
+ fi
+
+ econf \
+ $(use_enable examples demo-clients-install) \
+ $(use_enable fbdev fbdev-compositor) \
+ $(use_enable dbus) \
+ $(use_enable drm drm-compositor) \
+ $(use_enable headless headless-compositor) \
+ $(use_enable ivi ivi-shell) \
+ $(use_enable rdp rdp-compositor) \
+ $(use_enable rpi rpi-compositor) \
+ $(use_enable wayland-compositor) \
+ $(use_enable X x11-compositor) \
+ $(use_enable launch weston-launch) \
+ $(use_enable colord) \
+ $(use_enable egl) \
+ $(use_enable unwind libunwind) \
+ $(use_enable resize-optimization) \
+ $(use_enable screen-sharing) \
+ $(use_enable suid setuid-install) \
+ $(use_enable xwayland) \
+ $(use_enable xwayland xwayland-test) \
+ ${myconf}
+}
+
+src_test() {
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ cd "${BUILD_DIR}" || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_src_install
+}
diff --git a/dev-libs/wnn7sdk/Manifest b/dev-libs/wnn7sdk/Manifest
new file mode 100644
index 000000000000..fb84533a7813
--- /dev/null
+++ b/dev-libs/wnn7sdk/Manifest
@@ -0,0 +1 @@
+DIST Wnn7SDK.tgz 178403 SHA256 725d2900707076a0aeb6f793e01e2deade45c28daf4a6a37049b48bb6a6e561a SHA512 d6e24357c0071eb29e3a91cd3484c8fe7901a5e1537bff6632fa04eef21d0e56d7a5f3d7d899599401f607eee259cab36026321f09eea45590d00425d1963f52 WHIRLPOOL 8b4c51bba7253e736249ed699d6be8cc78537dcfe6a6907e74ca8d58355ac7e68f0bb92856ed28ed16cdda7b1c2b5906e37815f506ee908e184900b16ff8787f
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch b/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch
new file mode 100644
index 000000000000..f97845f449f1
--- /dev/null
+++ b/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch
@@ -0,0 +1,30 @@
+diff -urN Wnn/etc/bdic.c Wnn-gcc4/etc/bdic.c
+--- Wnn/etc/bdic.c 2001-10-17 10:37:17.000000000 +0900
++++ Wnn-gcc4/etc/bdic.c 2006-11-06 01:31:31.000000000 +0900
+@@ -177,6 +177,14 @@
+ #define max(a, b) ((a < b)? b:a)
+ #endif
+
++#ifdef WNN_CHECK_INODE
++static int change_file_uniq1();
++#else
++#ifdef JS
++static int change_file_uniq1();
++#endif
++#endif
++
+ /*:::DOC_START
+ *
+ * Function Name: dic_fopen
+diff -urN Wnn/jlib/jl.c Wnn-gcc4/jlib/jl.c
+--- Wnn/jlib/jl.c 2001-10-17 10:37:17.000000000 +0900
++++ Wnn-gcc4/jlib/jl.c 2006-11-06 01:33:13.000000000 +0900
+@@ -297,6 +297,8 @@
+ static int insert_dai_or_ikeiji();
+ static int jl_dic_save_all_e_body();
+
++static void jl_disconnect_if_server_dead_body_by_jsid();
++
+ static struct wnn_buf *jl_open_lang_core();
+ static struct wnn_env *jl_connect_lang_core();
+
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch b/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch
new file mode 100644
index 000000000000..e203c8b5fa83
--- /dev/null
+++ b/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch
@@ -0,0 +1,67 @@
+--- work/src/Wnn/jlib/Imakefile Wed Oct 17 10:37:17 2001
++++ Wnn/jlib/Imakefile Sat Oct 19 17:15:25 2002
+@@ -60,9 +60,9 @@
+
+ LibraryObjectRule()
+ #if DoSharedLib
+-AllTarget($(OBJS) libwnn.a libwnn.so.$(SOWNN7LIBREV))
++AllTarget($(OBJS) libwnn7.a libwnn7.so.$(SOWNN7LIBREV))
+ #else
+-AllTarget($(OBJS) libwnn.a)
++AllTarget($(OBJS) libwnn7.a)
+ #endif
+
+
+@@ -75,23 +75,23 @@
+ SingleProgramTarget(kankana,kankana.o,$(WNNJLIB),)
+
+ #if DoSharedLib
+-SharedLibraryTarget(wnn,$(SOWNN7LIBREV),$(OBJS),.,.)
++SharedLibraryTarget(wnn7,$(SOWNN7LIBREV),$(OBJS),.,.)
+ #endif
+-UnsharedLibraryTarget(wnn,$(UNSHAREDOBJS),unshared,..)
+-LintLibraryTarget(wnn,$(SRCS))
++UnsharedLibraryTarget(wnn7,$(UNSHAREDOBJS),unshared,..)
++LintLibraryTarget(wnn7,$(SRCS))
+
+
+
+ instlib:: install
+
+ #if DoSharedLib
+-InstallSharedLibrary(wnn,$(SOWNN7LIBREV),$(WNNLIBDIR))
++InstallSharedLibrary(wnn7,$(SOWNN7LIBREV),$(WNNLIBDIR))
+ #endif
+-InstallLibrary(wnn,$(WNNLIBDIR))
++InstallLibrary(wnn7,$(WNNLIBDIR))
+
+ #if ProfileLibJlib
+-ProfiledLibraryTarget(wnn,$(OBJS))
+-InstallLibrary(wnn_p,$(WNNLIBDIR))
++ProfiledLibraryTarget(wnn7,$(OBJS))
++InstallLibrary(wnn7_p,$(WNNLIBDIR))
+ #endif
+
+ #if DoSharedLib
+--- work/src/config/Project.tmpl.orig Wed Oct 17 10:37:18 2001
++++ config/Project.tmpl Sat Oct 19 18:04:30 2002
+@@ -599,7 +599,7 @@
+ XWNMOJDSRC = $(XWNMOTOP)/jd
+ XWNMOROMKANMSRC = $(XWNMOTOP)/romkan_m
+ XWNMOINCLUDES = -I$(XWNMOROMKANMSRC) -I$(WNNINCLUDESRC)
+- XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn_m.a
++ XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn7_m.a
+ XWNMOLIBRARIES = $(XWNMOJLIB)
+ XWNMODEFS = $(XVERSION) -DUSING_BUSHU
+ XCOMMONDIR = $(IMTOP)/XClient/Common/src
+--- work/src/config/X11.tmpl~ Wed Oct 17 10:37:18 2001
++++ config/X11.tmpl Sat Oct 19 18:08:32 2002
+@@ -599,7 +599,7 @@
+ XWNMOJDSRC = $(XWNMOTOP)/jd
+ XWNMOROMKANMSRC = $(XWNMOTOP)/romkan_m
+ XWNMOINCLUDES = -I$(XWNMOROMKANMSRC) -I$(WNNINCLUDESRC)
+- XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn_m.a
++ XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn7_m.a
+ XWNMOLIBRARIES = $(XWNMOJLIB)
+ XWNMODEFS = $(XVERSION) -DUSING_BUSHU
+ XCOMMONDIR = $(IMTOP)/XClient/Common/src
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch b/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch
new file mode 100644
index 000000000000..0a0ce4337080
--- /dev/null
+++ b/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch
@@ -0,0 +1,20 @@
+--- Wnn/jlib/js.c.bak 2005-01-20 12:33:10.000000000 +0900
++++ Wnn/jlib/js.c 2005-01-20 12:33:10.000000000 +0900
+@@ -159,7 +159,7 @@
+ */
+
+
+-extern char *malloc();
++extern void *malloc();
+
+ #include <stdio.h>
+ #include <ctype.h>
+@@ -199,7 +199,7 @@
+ #include "../etc/pwd.c"
+
+
+-char *malloc();
++void *malloc();
+
+ typedef struct _host_address {
+ int address_len;
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch b/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch
new file mode 100644
index 000000000000..a41223af8e6f
--- /dev/null
+++ b/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch
@@ -0,0 +1,52 @@
+diff -Naur src.orig/Wnn/etc/msg.c src/Wnn/etc/msg.c
+--- src.orig/Wnn/etc/msg.c 2001-10-17 10:37:17.000000000 +0900
++++ src/Wnn/etc/msg.c 2008-11-22 10:38:22.000000000 +0900
+@@ -148,6 +148,8 @@
+ <message id>\t<message>
+ */
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include "commonhd.h"
+ #include "config.h"
+ #include "dslib.h"
+@@ -156,7 +158,7 @@
+
+
+ static char *
+-bsearch(ky, bs, nel, width, compar)
++a_bsearch(ky, bs, nel, width, compar)
+ char *ky;
+ char *bs;
+ unsigned long nel;
+@@ -244,7 +246,7 @@
+ return(NULL);
+ if (cd->msg_bd == 0 || cd->msg_cnt == 0)
+ return(NULL);
+- bd = (struct msg_bd *)bsearch(id, cd->msg_bd, cd->msg_cnt,
++ bd = (struct msg_bd *)a_bsearch(id, cd->msg_bd, cd->msg_cnt,
+ sizeof(struct msg_bd), _search);
+ if (bd == NULL)
+ return(NULL);
+diff -Naur src.orig/Wnn/jlib/jl.c src/Wnn/jlib/jl.c
+--- src.orig/Wnn/jlib/jl.c 2001-10-17 10:37:17.000000000 +0900
++++ src/Wnn/jlib/jl.c 2008-11-22 10:18:36.000000000 +0900
+@@ -143,6 +143,7 @@
+ #include "commonhd.h"
+ #include "config.h"
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #ifdef SYSVR2
+ # include <string.h>
+diff -Naur src.orig/Wnn/jlib/js.c src/Wnn/jlib/js.c
+--- src.orig/Wnn/jlib/js.c 2001-10-17 10:37:17.000000000 +0900
++++ src/Wnn/jlib/js.c 2008-11-22 10:27:04.000000000 +0900
+@@ -162,6 +162,7 @@
+ extern char *malloc();
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <ctype.h>
+ #ifdef UX386
+ #include <X11/Xos.h>
diff --git a/dev-libs/wnn7sdk/metadata.xml b/dev-libs/wnn7sdk/metadata.xml
new file mode 100644
index 000000000000..2d5852c16c60
--- /dev/null
+++ b/dev-libs/wnn7sdk/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+</pkgmetadata>
diff --git a/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild b/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild
new file mode 100644
index 000000000000..496d30fa530f
--- /dev/null
+++ b/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Library and headers for Wnn7 client"
+HOMEPAGE="http://www.omronsoft.co.jp/SP/pcunix/sdk/index.html"
+SRC_URI="ftp://ftp.omronsoft.co.jp/pub/Wnn7/sdk_source/Wnn7SDK.tgz"
+
+LICENSE="freedist"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# x11 is required for imake
+DEPEND="x11-misc/imake"
+RDEPEND=""
+
+S="${WORKDIR}/src"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-malloc.patch"
+ epatch "${FILESDIR}/${PN}-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-gcc4.patch"
+ epatch "${FILESDIR}/${PN}-qa.patch"
+
+ # Fix path to point to Xorg directory
+ sed -e "s:X11R6/::g" -i config/X11.tmpl || sed "sed 1 failed"
+
+ sed -i -e "/CONFIGSRC =/s:=.*:= /usr/$(get_libdir)/X11/config:" Makefile.ini || die "sed 2 failed"
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" CDEBUGFLAGS="${CFLAGS}" \
+ SHLIBGLOBALSFLAGS="${LDFLAGS}" \
+ World -f Makefile.ini || die "make World failed"
+}
+
+src_install() {
+ dolib.so Wnn/jlib/*.so* || die "dolib.so failed"
+ dolib.a Wnn/jlib/*.a || die "dolib.a failed"
+
+ insinto /usr/include/${PN}/wnn
+ doins Wnn/include/*.h || die "doins failed"
+
+ dodoc README
+}
diff --git a/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild b/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild
new file mode 100644
index 000000000000..82c397d2f0b3
--- /dev/null
+++ b/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="Library and headers for Wnn7 client"
+HOMEPAGE="http://www.omronsoft.co.jp/SP/download/pcunix/sdk.html"
+SRC_URI="ftp://ftp.omronsoft.co.jp/pub/Wnn7/sdk_source/Wnn7SDK.tgz"
+
+LICENSE="freedist"
+
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE=""
+
+# x11 is required for imake
+DEPEND="x11-misc/imake"
+RDEPEND=""
+
+S="${WORKDIR}/src"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch "${FILESDIR}/${PN}-malloc.patch"
+ epatch "${FILESDIR}/${PN}-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-gcc4.patch"
+}
+
+src_compile() {
+ make World -f Makefile.ini || die "make World failed"
+}
+
+src_install() {
+ cd ${S}/Wnn/jlib
+ dolib.so *.so* || die
+ dolib.a *.a || die
+
+ cd ${S}/Wnn/include
+ insinto /usr/include/${PN}/wnn
+ doins *.h || die
+
+ dodoc ${S}/README
+}
diff --git a/dev-libs/xalan-c/Manifest b/dev-libs/xalan-c/Manifest
new file mode 100644
index 000000000000..4ae6b7ac3371
--- /dev/null
+++ b/dev-libs/xalan-c/Manifest
@@ -0,0 +1 @@
+DIST Xalan-C_r1153059-src.tar.gz 1573651 SHA256 518d012f550004c760e225bcfb4a040ec93d0797a2d45a6fa25994a9b23636fa SHA512 2382c1343ae97d0196d84053139758d3b3b7574bcd835b754e34acdc6ab708a58fc23d2f27d41870c768c78a1de7be1bb6031cc78d205b6024f1ad7cd6fca653 WHIRLPOOL ba18f4a6e0b461875792df40d660e9f92bbff102cfe7ed6d8a2b940a2b04696166b6389752c9b2de48ef1c9e3806aef3014524d8abd7e53f0c6852b1e537ffaa
diff --git a/dev-libs/xalan-c/files/1.10.0-as-needed.patch b/dev-libs/xalan-c/files/1.10.0-as-needed.patch
new file mode 100644
index 000000000000..60fa962b5b79
--- /dev/null
+++ b/dev-libs/xalan-c/files/1.10.0-as-needed.patch
@@ -0,0 +1,78 @@
+diff -uprN xml-xalan/c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
+--- xml-xalan/c/src/xalanc/Makefile.in 2007-03-31 14:54:16.106346968 -0400
++++ xml-xalan/c/src/xalanc/Makefile.in 2007-03-31 14:57:37.159195728 -0400
+@@ -172,7 +172,7 @@ XalanExe: lib "//'$(LOADSAMP)(${BATCH_X
+
+ "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'": ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -180,7 +180,7 @@ testXSLT: lib "//'$(LOADSAMP)(${BATCH_T
+
+ "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'": ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -190,7 +190,7 @@ XalanExe: lib $(XSL_BIN_DIR)/Xalan
+
+ $(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(OTHER_LINK_PARAMETERS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+ endif
+@@ -199,7 +199,7 @@ testXSLT: lib $(XSL_BIN_DIR)/testXSLT
+
+ $(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(OTHER_LINK_PARAMETERS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -207,7 +207,7 @@ testXPath: lib $(XSL_BIN_DIR)/testXPath
+
+ $(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $(OTHER_LINK_PARAMETERS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -220,7 +220,7 @@ locale:
+
+ ${BATCH_TARGET}: $(ALL_OBJECTS)
+ @echo Building ${BATCH_TARGET}
+- $(MAKE_SHARED) $(ALLLIBS) $^ -o $@
++ $(MAKE_SHARED) $^ -o $@ $(ALLLIBS)
+
+ else
+
+@@ -230,7 +230,7 @@ locale:
+ $(MAKE) -C Utils $@
+
+ $(XSL_LIB_DIR)/$(LIB): $(ALL_OBJECTS)
+- $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_LIB_PARAMERES)
++ $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $^ -o $@ $(ALLLIBS) $(OTHER_LINK_LIB_PARAMERES)
+ ifeq ($(PLATFORM), OS390)
+ mv *.x ${XSL_LIB_DIR}
+ else
+diff -uprN xml-xalan/c/src/xalanc/MsgCreator/Makefile.in xml-xalan/c/src/xalanc/MsgCreator/Makefile.in
+--- xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in 2007-03-31 15:10:07.927334556 -0400
++++ xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in 2007-03-31 15:10:35.038804580 -0400
+@@ -29,7 +29,7 @@ MSG_CREATOR_SRC=$(XALANCROOT)/src/xalanc
+
+ $(XSL_BIN_DIR)/MsgCreator : $(MSG_CREATOR_OBJECTS)
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
+- ${EXTRA_LINK_OPTIONS} $(XERCES_LIB) $^ -o $@ $(LOC_OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XERCES_LIB) $(LOC_OTHER_LINK_PARAMETERS)
+
+ $(XSL_OBJ_DIR)/%.o : $(MSG_CREATOR_SRC)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch
new file mode 100644
index 000000000000..e8a9cc9d03b3
--- /dev/null
+++ b/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch
@@ -0,0 +1,108 @@
+diff -Naur xml-xalan.orig/c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
+--- xml-xalan.orig/c/src/xalanc/Makefile.in 2009-07-27 00:23:08.411122528 +0200
++++ xml-xalan/c/src/xalanc/Makefile.in 2009-07-27 00:45:09.514777553 +0200
+@@ -174,7 +174,7 @@
+
+ "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'": ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -182,7 +182,7 @@
+
+ "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'": ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -192,7 +192,7 @@
+
+ $(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+ endif
+@@ -201,7 +201,7 @@
+
+ $(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -209,7 +209,7 @@
+
+ $(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -222,7 +222,7 @@
+
+ ${BATCH_TARGET}: $(ALL_OBJECTS)
+ @echo Building ${BATCH_TARGET}
+- $(MAKE_SHARED) $(ALLLIBS) $^ -o $@
++ $(MAKE_SHARED) $^ -o $@ $(ALLLIBS)
+
+ else
+
+@@ -232,7 +232,7 @@
+ $(MAKE) -C Utils $@
+
+ $(XSL_LIB_DIR)/$(LIB): $(ALL_OBJECTS)
+- $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS)
++ $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS) $(ALLLIBS)
+ ifeq ($(PLATFORM), OS390)
+ mv *.x ${XSL_LIB_DIR}
+ else
+diff -Naur xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in
+--- xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:23:08.431122558 +0200
++++ xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:43:47.674693543 +0200
+@@ -29,7 +29,7 @@
+
+ $(XSL_BIN_DIR)/MsgCreator : $(MSG_CREATOR_OBJECTS)
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
+- ${EXTRA_LINK_OPTIONS} $(LIBS) $(XERCES_LIB) $^ -o $@ $(LOC_OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(LIBS) $(XERCES_LIB) $(LOC_OTHER_LINK_PARAMETERS)
+
+ $(XSL_OBJ_DIR)/%.o : $(MSG_CREATOR_SRC)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+diff -Naur xml-xalan.orig/c/Tests/Makefile.in xml-xalan/c/Tests/Makefile.in
+--- xml-xalan.orig/c/Tests/Makefile.in 2009-07-27 00:23:08.514445103 +0200
++++ xml-xalan/c/Tests/Makefile.in 2009-07-27 00:45:50.541094978 +0200
+@@ -62,7 +62,7 @@
+
+ $(XSL_BIN_DIR)/ThreadTest: ${XSL_OBJ_DIR}/ThreadTest.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -70,7 +70,7 @@
+
+ $(XSL_BIN_DIR)/Conf: ${XSL_OBJ_DIR}/conf.o
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+@@ -92,7 +92,7 @@
+
+ $(XSL_BIN_DIR)/Perf: $(PERF_OBJECTS)
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+
+ ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Performance/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch
new file mode 100644
index 000000000000..d86f1bd45f4b
--- /dev/null
+++ b/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch
@@ -0,0 +1,50 @@
+diff -Naur xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp
+--- xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:23:08.507787691 +0200
++++ xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:53:50.781756249 +0200
+@@ -28,7 +28,7 @@
+ #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
+
+ #include <cstring>
+-
++#include <cstdio>
+ #include <cerrno>
+
+ XALAN_CPP_NAMESPACE_BEGIN
+@@ -44,7 +44,7 @@
+
+ XalanNLSMessageLoader::~XalanNLSMessageLoader()
+ {
+- if ((int)m_catalogHandle != -1)
++ if ((long)m_catalogHandle != -1)
+ {
+ catclose(m_catalogHandle);
+ }
+@@ -77,7 +77,7 @@
+ */
+ m_catalogHandle = catopen(fileName, 0);
+
+- if (reinterpret_cast<int>(m_catalogHandle) == -1)
++ if (reinterpret_cast<long>(m_catalogHandle) == -1)
+ {
+ // Probably have to call panic here
+ // the user will get an error with retrieving messages
+@@ -87,8 +87,8 @@
+
+ bool
+ XalanNLSMessageLoader::loadMsg(
+- XalanMessages::Codes msgToLoad
+- XalanDOMChar* toFill
++ XalanMessages::Codes msgToLoad,
++ XalanDOMChar* toFill,
+ XalanSize_t maxChars)
+ {
+
+@@ -99,7 +99,7 @@
+ return bRetValue;
+ }
+
+- if (static_cast<int>(m_catalogHandle) == -1)
++ if (reinterpret_cast<long>(m_catalogHandle) == -1)
+ {
+ // for transcoding to Unicode
+ const XalanDOMString errorMsg("Message can't be retrieved: the message catalog is not open.", m_memoryManager );
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch
new file mode 100644
index 000000000000..46d9659b0f0a
--- /dev/null
+++ b/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch
@@ -0,0 +1,62 @@
+diff -urN xml-xalan.orig//c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
+--- xml-xalan.orig//c/src/xalanc/Makefile.in 2010-02-23 10:51:30.058353490 +0100
++++ xml-xalan/c/src/xalanc/Makefile.in 2010-02-23 10:52:53.251679288 +0100
+@@ -84,6 +84,10 @@
+ SAMPLES_DIR = ${XALANCROOT}/samples
+ TESTS_DIR = ${XALANCROOT}/Tests
+
++TESTXSLT_OBJS = ${XSL_OBJ_DIR}/process.o
++XALANEXE_OBJS = ${XSL_OBJ_DIR}/XalanExe.o
++TESTXPATH_OBJS = ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
++
+ ALL_VPATH_CPP = \
+ $(XALANDOM_DIR):$(PLATFORMSUPPORT_DIR):$(DOMSUPPORT_DIR):$(XMLSUPPORT_DIR): \
+ $(XPATH_DIR):$(XERCESPARSERLIAISON_DIR):$(DEPRECATED_XERCESPARSERLIAISON_DIR):$(XALANSOURCETREE_DIR):$(XPATHCAPI_DIR): \
+@@ -169,6 +173,9 @@
+
+ compile: $(ALL_OBJECTS)
+
++$(ALL_OBJECTS) $(TESTXSLT_OBJS) $(XALANEXE_OBJS) $(TESTXPATH_OBJS): locale
++locale: prepare
++
+ ifeq (${OS390BATCH},1)
+ XalanExe: lib "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'"
+
+@@ -188,28 +195,28 @@
+
+ else # Not OS390BATCH
+
+-XalanExe: lib $(XSL_BIN_DIR)/Xalan
++XalanExe: $(XSL_BIN_DIR)/Xalan
+
+-$(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
++$(XSL_BIN_DIR)/Xalan: lib ${XALANEXE_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} ${XALANEXE_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+ endif
+
+-testXSLT: lib $(XSL_BIN_DIR)/testXSLT
++testXSLT: $(XSL_BIN_DIR)/testXSLT
+
+-$(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
++$(XSL_BIN_DIR)/testXSLT: lib ${TESTXSLT_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} ${TESTXSLT_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
+-testXPath: lib $(XSL_BIN_DIR)/testXPath
++testXPath: $(XSL_BIN_DIR)/testXPath
+
+-$(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
++$(XSL_BIN_DIR)/testXPath: lib ${TESTXPATH_OBJS}
+ ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
+- ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
++ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) ${TESTXPATH_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
+ ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
+ $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
+
diff --git a/dev-libs/xalan-c/files/xalan-c-1.10.0+gcc-4.3.patch b/dev-libs/xalan-c/files/xalan-c-1.10.0+gcc-4.3.patch
new file mode 100644
index 000000000000..e08ef961ea39
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.10.0+gcc-4.3.patch
@@ -0,0 +1,50 @@
+--- XalanDOMString.cpp 2008-03-21 09:50:39.000000000 +0100
++++ xalan-c-1.10.0/work/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp 2008-03-21 09:51:06.000000000 +0100
+@@ -26,6 +26,7 @@
+
+
+ #include <cstdlib>
++#include <cstring>
+
+
+
+--- FormatterToHTML.cpp 2008-03-21 09:56:31.000000000 +0100
++++ xalan-c-1.10.0/work/xml-xalan/c/src/xalanc/XMLSupport/FormatterToHTML.cpp 2008-03-21 09:56:54.000000000 +0100
+@@ -26,6 +26,7 @@
+
+
+ #include <cassert>
++#include <cstring>
+
+
+
+--- ElemNumber.cpp 2008-03-21 10:09:56.000000000 +0100
++++ xalan-c-1.10.0/work/xml-xalan/c/src/xalanc/XSLT/ElemNumber.cpp 2008-03-21 10:10:15.000000000 +0100
+@@ -14,6 +14,7 @@
+ * limitations under the License.
+ */
+ #include "ElemNumber.hpp"
++#include <cstring>
+
+
+
+--- DirectoryEnumerator.hpp 2008-03-21 10:19:13.000000000 +0100
++++ xalan-c-1.10.0/work/xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp 2008-03-21 10:19:41.000000000 +0100
+@@ -36,6 +36,7 @@
+
+ #include <functional>
+ #include <iterator>
++#include <cstring>
+
+
+ #include "xercesc/framework/MemoryManager.hpp"
+--- XalanExe.cpp 2008-03-21 12:11:08.000000000 +0100
++++ xalan-c-1.10.0/work/xml-xalan/c/src/xalanc/XalanExe/XalanExe.cpp 2008-03-21 12:11:44.000000000 +0100
+@@ -19,6 +19,7 @@
+
+
+ #include <cstdlib>
++#include <cstring>
+ #if defined(XALAN_CLASSIC_IOSTREAMS)
+ #include <iostream.h>
+ #else
diff --git a/dev-libs/xalan-c/metadata.xml b/dev-libs/xalan-c/metadata.xml
new file mode 100644
index 000000000000..8434377a6047
--- /dev/null
+++ b/dev-libs/xalan-c/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+</pkgmetadata>
diff --git a/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild b/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild
new file mode 100644
index 000000000000..acbb8a191dbe
--- /dev/null
+++ b/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs eutils flag-o-matic multilib
+
+DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types"
+HOMEPAGE="http://xml.apache.org/xalan-c/"
+SRC_URI="mirror://gentoo/Xalan-C_r${PV#*_pre}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="doc examples nls threads"
+
+RDEPEND=">=dev-libs/xerces-c-2.8.0"
+# icu? ( dev-libs/icu )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/xml-xalan/c"
+
+pkg_setup() {
+# export ICUROOT="/usr"
+ export XALANCROOT="${S}"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/1.11.0_pre797991-as-needed.patch" \
+ "${FILESDIR}/1.11.0_pre797991-bugfixes.patch" \
+ "${FILESDIR}/1.11.0_pre797991-parallel-build.patch"
+
+ # - do not run configure in runConfigure
+ # - echo the export commands instead exporting the vars
+ # - remove -O3
+ # - make sure our {C,CXX}FLAGS get respected
+ sed -i \
+ -e '/\/configure/d' \
+ -e 's/^export \([a-zA-Z_]*\)/echo export \1=\\"$\1\\"/' \
+ -e 's/\(debugflag\)="-O.\? /\1="/' \
+ -e 's/^\(CXXFLAGS\)="$compileroptions/\1="${\1}/' \
+ -e 's/^\(CFLAGS\)="$compileroptions/\1="${\1}/' \
+ runConfigure || die "sed failed"
+}
+
+src_configure() {
+ export XERCESCROOT="/usr"
+
+ local target="linux"
+ # add more if needed, see xerces-c-2.8.0-r1 ebuild
+
+ local mloader="inmem"
+ use nls && mloader="nls"
+# use icu && mloader="icu"
+
+ local transcoder="default"
+# use icu && transcoder="icu"
+
+ local thread="none"
+ use threads && thread="pthread"
+
+ local bitstobuild="32"
+ $(has_m64) && bitstobuild="64"
+
+ ./runConfigure -p ${target} -c "$(tc-getCC)" -x "$(tc-getCXX)" \
+ -m ${mloader} -t ${transcoder} \
+ -r ${thread} -b ${bitstobuild} > configure.vars || die "runConfigure failed"
+
+ eval $(grep export configure.vars)
+
+ default
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ mkdir build
+ cd "${S}/xdocs"
+ doxygen DoxyfileXalan
+ fi
+}
+
+src_install() {
+ default
+
+ if use doc ; then
+ dodir /usr/share/doc/${PF}
+ dohtml -r build/docs/apiDocs/*
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r samples/*
+ fi
+}
+
+pkg_postinst() {
+ ewarn "If you are upgrading you should run"
+ ewarn " revdep-rebuild --library=libxalan-c.so.110"
+ ewarn "if using portage or"
+ ewarn " reconcilio --library libxalan-c.so.110"
+ ewarn "if using paludis as your package manager."
+}
diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest
new file mode 100644
index 000000000000..fca65f6ba033
--- /dev/null
+++ b/dev-libs/xapian-bindings/Manifest
@@ -0,0 +1,5 @@
+DIST xapian-bindings-1.2.19.tar.xz 828904 SHA256 3b9434c6144cc347783175c92829f304e86919bbbd44f51b7b4a7148960cde17 SHA512 ac72ec35ae3b767e04e848a9782b41d74e99b6b1f795d5096373911ff549b3bf2e602a91ed0e5f7dce2e43e1dd308af710719e5a80c6a179393aac4af316de30 WHIRLPOOL 33770203390fea6f6048ebdc63cb7031f53a30be3568e3f3f6f8a25f8aa30a284347b402e360c0c2182069e3f6dab067fc5f6cd2b950f45e196afe057e4d80e3
+DIST xapian-bindings-1.2.20.tar.xz 828864 SHA256 98594534697642dee563c0e7fede43fde256f7e03488ea4922800f56baadc401 SHA512 4797431974442b210bb637e1d307a8c7eafb5f60093aee9d86223bacec7f828bd3d30c2d159d34cc160208cd016be3822acd19f1be9159af8f8871d83e7ec688 WHIRLPOOL 9ebeec220142865b6f983f065cef568623d2fb26e5393c2e8a74fc12c3dbb0fefd5541991beb494179ec4bff402164c9a5edafb520013b89ee3ae8fa73f06686
+DIST xapian-bindings-1.2.21.tar.xz 842696 SHA256 28a39247ac875be2dc1386c273167aab5c9949227c1070b65ca8de603c06d546 SHA512 bebb4c6fce57f9b54b307bf921e760efe8fbd06d404629cfb80717eed9bfb886c82559c2ba2b333a4e24ce14d389c916ca36924f9d4b2f72fae183d4a00e635b WHIRLPOOL 065efe7c9ad38f8f27a2fb109969b1ec6eb2ef403cb6e194f7c5f4147cb666931f2e70f698f6c974916087489af7ea05e0c8c1a2a39232d1176083b624ff5cf6
+DIST xapian-bindings-1.3.2.tar.xz 1177620 SHA256 bcf9948cd6e51c4e80ed5c1284b3349e667162dcbd048a4136c380adfe570f92 SHA512 65b8cb9a27b19c04179c6b8147110bcac118b5c41308ad87fef7db2b3b16d2032645f5d010492ebd772cb6bc673228b68837159764cb6d8fc09dde11e81174a7 WHIRLPOOL ffb4709a95d4139b4d9863195ec8ffc23a4936a055424b154e0e1f8c6d00bc81e919246e58fe68b76738bee05941a868b38e87ba1302ac3e392152b4592a1d1a
+DIST xapian-bindings-1.3.3.tar.xz 1195784 SHA256 a443a16ac8279daa5b50d3308861034f859f71c824ff5fa2d75cfda3cf31858f SHA512 db0f672cdc886b975dcfdec9ec1b30401627fdecdafe5381f0da41da1bebe3c15d80d6126fa443107ba1b7c259f15ff26c08f7b18524f620b2cb8e48f2c4c2d7 WHIRLPOOL beee4de0346bbcb11dd3c5f14b775e61a9cd2dbfc03fd61f12af90e883f09495a2a951543cd001a7e778920901c2a7001cd22d0179c5173f13cf543ce9b60c98
diff --git a/dev-libs/xapian-bindings/metadata.xml b/dev-libs/xapian-bindings/metadata.xml
new file mode 100644
index 000000000000..0441f1355104
--- /dev/null
+++ b/dev-libs/xapian-bindings/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.2.19.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.2.19.ebuild
new file mode 100644
index 000000000000..0ea3496a5788
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.2.19.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+USE_PHP="php5-4 php5-5 php5-6"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+#mono violates sandbox, we disable it until we figure this out
+#inherit java-pkg-opt-2 mono-env php-ext-source-r2 python
+inherit java-pkg-opt-2 php-ext-source-r2 python-r1
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 sparc x86"
+#IUSE="java lua mono perl php python ruby tcl"
+#REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+IUSE="java lua perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( >=dev-lang/lua-5.1 )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+# mono? ( >=dev-lang/mono-1.0.8 )
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+ if use java; then
+ sed \
+ -e 's/$(JAVAC)/$(JAVAC) $(JAVACFLAGS)/' \
+ -i java{/,/org/xapian/errors/,/org/xapian/}Makefile.in || die "sed failed"
+ fi
+
+ if use python; then
+ sed \
+ -e 's:\(^pkgpylib_DATA = xapian/__init__.py\).*:\1:' \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian.so|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+# $(use_with mono csharp) \
+
+ # PHP and Python bindings are built/tested/installed manually.
+ sed -e "/SUBDIRS =/s/ php//" -i Makefile || die "sed Makefile"
+ sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
+}
+
+src_compile() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ cp -r php php-${php_slot}
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)"
+ done
+ fi
+
+ if use python; then
+ python_copy_sources
+# building() {
+# emake -C python \
+# PYTHON="$(PYTHON)" \
+# PYTHON_INC="$(python_get_includedir)" \
+# PYTHON_LIB="$(python_get_libdir)" \
+# PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+# pkgpylibdir="$(python_get_sitedir)/xapian"
+# }
+ building() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian"
+ VERBOSE="1"
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_test() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ check
+ done
+ fi
+
+ if use python; then
+ testing() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ check
+ }
+ python_foreach_impl testing
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake DESTDIR="${D}" -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ install
+ done
+
+ php-ext-source-r2_createinifiles
+ fi
+
+ if use python; then
+ installation() {
+ emake -C python \
+ DESTDIR="${D}" \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ install
+ }
+ python_foreach_impl installation
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.2.20.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.2.20.ebuild
new file mode 100644
index 000000000000..63c9c466ea86
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.2.20.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+USE_PHP="php5-4 php5-5 php5-6"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+#mono violates sandbox, we disable it until we figure this out
+#inherit java-pkg-opt-2 mono-env php-ext-source-r2 python
+inherit java-pkg-opt-2 php-ext-source-r2 python-r1
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+#IUSE="java lua mono perl php python ruby tcl"
+#REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+IUSE="java lua perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( dev-lang/lua:= )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:= )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+# mono? ( >=dev-lang/mono-1.0.8 )
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+ if use java; then
+ sed \
+ -e 's/$(JAVAC)/$(JAVAC) $(JAVACFLAGS)/' \
+ -i java{/,/org/xapian/errors/,/org/xapian/}Makefile.in || die "sed failed"
+ fi
+
+ if use python; then
+ sed \
+ -e 's:\(^pkgpylib_DATA = xapian/__init__.py\).*:\1:' \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian.so|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+# $(use_with mono csharp) \
+
+ # PHP and Python bindings are built/tested/installed manually.
+ sed -e "/SUBDIRS =/s/ php//" -i Makefile || die "sed Makefile"
+ sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
+}
+
+src_compile() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ cp -r php php-${php_slot}
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)"
+ done
+ fi
+
+ if use python; then
+ python_copy_sources
+# building() {
+# emake -C python \
+# PYTHON="$(PYTHON)" \
+# PYTHON_INC="$(python_get_includedir)" \
+# PYTHON_LIB="$(python_get_libdir)" \
+# PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+# pkgpylibdir="$(python_get_sitedir)/xapian"
+# }
+ building() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian"
+ VERBOSE="1"
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_test() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ check
+ done
+ fi
+
+ if use python; then
+ testing() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ check
+ }
+ python_foreach_impl testing
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake DESTDIR="${D}" -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ install
+ done
+
+ php-ext-source-r2_createinifiles
+ fi
+
+ if use python; then
+ installation() {
+ emake -C python \
+ DESTDIR="${D}" \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ install
+ }
+ python_foreach_impl installation
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.2.21.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.2.21.ebuild
new file mode 100644
index 000000000000..63c9c466ea86
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.2.21.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+USE_PHP="php5-4 php5-5 php5-6"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+#mono violates sandbox, we disable it until we figure this out
+#inherit java-pkg-opt-2 mono-env php-ext-source-r2 python
+inherit java-pkg-opt-2 php-ext-source-r2 python-r1
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+#IUSE="java lua mono perl php python ruby tcl"
+#REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+IUSE="java lua perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( dev-lang/lua:= )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:= )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+# mono? ( >=dev-lang/mono-1.0.8 )
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+ if use java; then
+ sed \
+ -e 's/$(JAVAC)/$(JAVAC) $(JAVACFLAGS)/' \
+ -i java{/,/org/xapian/errors/,/org/xapian/}Makefile.in || die "sed failed"
+ fi
+
+ if use python; then
+ sed \
+ -e 's:\(^pkgpylib_DATA = xapian/__init__.py\).*:\1:' \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian.so|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+# $(use_with mono csharp) \
+
+ # PHP and Python bindings are built/tested/installed manually.
+ sed -e "/SUBDIRS =/s/ php//" -i Makefile || die "sed Makefile"
+ sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
+}
+
+src_compile() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ cp -r php php-${php_slot}
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)"
+ done
+ fi
+
+ if use python; then
+ python_copy_sources
+# building() {
+# emake -C python \
+# PYTHON="$(PYTHON)" \
+# PYTHON_INC="$(python_get_includedir)" \
+# PYTHON_LIB="$(python_get_libdir)" \
+# PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+# pkgpylibdir="$(python_get_sitedir)/xapian"
+# }
+ building() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian"
+ VERBOSE="1"
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_test() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ check
+ done
+ fi
+
+ if use python; then
+ testing() {
+ emake -C python \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ check
+ }
+ python_foreach_impl testing
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ emake DESTDIR="${D}" -C php-${php_slot} \
+ PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
+ PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
+ PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
+ PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
+ install
+ done
+
+ php-ext-source-r2_createinifiles
+ fi
+
+ if use python; then
+ installation() {
+ emake -C python \
+ DESTDIR="${D}" \
+ PYTHON_INC="$(python_get_includedir)" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ install
+ }
+ python_foreach_impl installation
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.3.2.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.3.2.ebuild
new file mode 100644
index 000000000000..ffe2da3c8855
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.3.2.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_DEPEND="python? 2"
+PYTHON_USE_WITH="threads"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+USE_PHP="php5-4"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+inherit java-pkg-opt-2 mono-env php-ext-source-r2 python
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( dev-lang/lua:= )
+ mono? ( >=dev-lang/mono-1.0.8 )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:= )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+pkg_setup() {
+ mono-env_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ if use python; then
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ if use python; then
+ sed \
+ -e 's|\(^pkgpylib_DATA = xapian/__init__.py\).*|\1|' \
+ -e '/\s\sxapian\/__init__.pyc/d' \
+ -e '/\s\sxapian\/__init__.pyo/d' \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian$(PYTHON_SO)|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with mono csharp) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+
+ # Python bindings are built/tested/installed manually.
+ sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ python_copy_sources python
+ building() {
+ emake \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian"
+ }
+ python_execute_function -s --source-dir python building
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ testing() {
+ emake \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ check
+ }
+ python_execute_function -s --source-dir python testing
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use python; then
+ installation() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ install
+ }
+ python_execute_function -s --source-dir python installation
+ fi
+
+ if use php; then
+ php-ext-source-r2_createinifiles
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README || die "dodoc failed"
+}
+
+pkg_postinst() {
+ if use python; then
+ python_mod_optimize xapian
+ fi
+
+ if use php_targets_php5-4; then
+ ewarn "Note: subclassing Xapian classes in PHP currently doesn't work with PHP 5.4"
+ fi
+}
+
+pkg_postrm() {
+ if use python; then
+ python_mod_cleanup xapian
+ fi
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.3.3-r1.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..0590f279fa4d
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.3.3-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE=threads
+
+USE_PHP="php5-4"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+inherit java-pkg-opt-2 mono-env php-ext-source-r2 python-single-r1
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( dev-lang/lua:= )
+ mono? ( >=dev-lang/mono-1.0.8 )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( dev-lang/ruby:= )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+pkg_setup() {
+ mono-env_pkg_setup
+ java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ if use python; then
+ sed \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian$(PYTHON_SO)|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with mono csharp) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+}
+
+src_compile() {
+ local -x PYTHONDONTWRITEBYTECODE
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use php; then
+ php-ext-source-r2_createinifiles
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
+
+pkg_postinst() {
+ if use php_targets_php5-4; then
+ ewarn "Note: subclassing Xapian classes in PHP currently doesn't work with PHP 5.4"
+ fi
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.3.3.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.3.3.ebuild
new file mode 100644
index 000000000000..ffe2da3c8855
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.3.3.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_DEPEND="python? 2"
+PYTHON_USE_WITH="threads"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+USE_PHP="php5-4"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+inherit java-pkg-opt-2 mono-env php-ext-source-r2 python
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )"
+
+COMMONDEPEND="=dev-libs/xapian-${PV}*
+ lua? ( dev-lang/lua:= )
+ mono? ( >=dev-lang/mono-1.0.8 )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:= )
+ tcl? ( >=dev-lang/tcl-8.1:0= )"
+DEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jdk-1.3 )"
+RDEPEND="${COMMONDEPEND}
+ java? ( >=virtual/jre-1.3 )"
+
+pkg_setup() {
+ mono-env_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ if use python; then
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ if use python; then
+ sed \
+ -e 's|\(^pkgpylib_DATA = xapian/__init__.py\).*|\1|' \
+ -e '/\s\sxapian\/__init__.pyc/d' \
+ -e '/\s\sxapian\/__init__.pyo/d' \
+ -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian$(PYTHON_SO)|' \
+ -i python/Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ if use java; then
+ CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ if use lua; then
+ export LUA_LIB="$(pkg-config --variable=INSTALL_CMOD lua)"
+ fi
+
+ econf \
+ $(use_with java) \
+ $(use_with lua) \
+ $(use_with mono csharp) \
+ $(use_with perl) \
+ $(use_with php) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with tcl)
+
+ # Python bindings are built/tested/installed manually.
+ sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ python_copy_sources python
+ building() {
+ emake \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian"
+ }
+ python_execute_function -s --source-dir python building
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ testing() {
+ emake \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ VERBOSE="1" \
+ check
+ }
+ python_execute_function -s --source-dir python testing
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use java; then
+ java-pkg_dojar java/built/xapian_jni.jar
+ # TODO: make the build system not install this...
+ java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
+ rm "${D}/${S}/java/built/libxapian_jni.so"
+ rmdir -p "${D}/${S}/java/built"
+ rmdir -p "${D}/${S}/java/native"
+ fi
+
+ if use python; then
+ installation() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON="$(PYTHON)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ PYTHON_LIB="$(python_get_libdir)" \
+ PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
+ pkgpylibdir="$(python_get_sitedir)/xapian" \
+ install
+ }
+ python_execute_function -s --source-dir python installation
+ fi
+
+ if use php; then
+ php-ext-source-r2_createinifiles
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README || die "dodoc failed"
+}
+
+pkg_postinst() {
+ if use python; then
+ python_mod_optimize xapian
+ fi
+
+ if use php_targets_php5-4; then
+ ewarn "Note: subclassing Xapian classes in PHP currently doesn't work with PHP 5.4"
+ fi
+}
+
+pkg_postrm() {
+ if use python; then
+ python_mod_cleanup xapian
+ fi
+}
diff --git a/dev-libs/xapian/Manifest b/dev-libs/xapian/Manifest
new file mode 100644
index 000000000000..84df3bdf2963
--- /dev/null
+++ b/dev-libs/xapian/Manifest
@@ -0,0 +1,5 @@
+DIST xapian-core-1.2.19.tar.xz 3175384 SHA256 4a78260388ff1b042f0ab5d18afdd524a530ae609690d0339990ddc147a54785 SHA512 5cd29b8c278b4fa652f947cd6689945bbe239c95425344d0fedb445bf1534198333844d91e6e59cf870043066f4dc511cd0268071916002e96bd38b59aa91c1b WHIRLPOOL 5d65982d47145addc6585b72a99494bf6d14277df2c796925fbe6284ddd08b89fbc147c1a29575d573afebb2e2f6eb6dc73d58161260404be7e5ceefe1371ffb
+DIST xapian-core-1.2.20.tar.xz 3181788 SHA256 c4f8d5b9e393ea32912955a17e6b6ea3f6c052ae9133ded6fe48582c25b1aa8f SHA512 89b2b4dabd4ef5946a2fab95c0bc3786fe36172f4dc750713aa4f3fa5d9e1716ee598faca1385209c1a669f5b7fed1a88c038d1f9cc47522fa956d04ea86560a WHIRLPOOL ec5145306208ba2fa7b458033573ff526bc2ee12a89dfd8fb81e43d836c2d6ac44a573ccd0c336c358fc55e17c73452929ecef6eb8d8edc1eef2a6f3050008f5
+DIST xapian-core-1.2.21.tar.xz 3202560 SHA256 63f48758fbd13fa8456dd4cf9bf3ec35a096e4290f14a51ac7df23f78c162d3f SHA512 a821043ea1686a09178bb91b14ed6a8cf00c50dfb0f066e420a40395edd3be085d7f89abb8f6a1151c847272c13601274e645055ede3548b07d5e912f0a70f81 WHIRLPOOL 9de8b2b70252b87da16a2502a831b46857f48cca8623a6ac411291bb6607bd61968ddd64a77c8685f300818abcbf91149a3f43af849a7843f67a5ebcc5130963
+DIST xapian-core-1.3.2.tar.xz 2490944 SHA256 203624f292fd9a023d51cdba53b01c7132210866a34bdca79ba721a7dd3745e6 SHA512 712c19aa2416d1493dfb601e1abe7242bf8f893197a3d0c229e5cabaac446950dd4c71c23200ce8a568e3bfae60e0d987c0c2d9938b1d185af2d44df3627c1cf WHIRLPOOL a1e4d8840d2d62cc524d287110de2e4370b2f60c614b91bc4cc624f96a73cc6397d5125cdae877b6781df1cc8d4ac9b34ffdeb4892c20aac0099afd5ef28c46c
+DIST xapian-core-1.3.3.tar.xz 2543260 SHA256 2d273ca0df6af208c4b6904542a9dffed8a9520376522d650e1a2885b476a280 SHA512 8b0d0fce532748efc1c2705e3f6f45ff83ec97be7c1f5b54846a9ff94b9d416b67491262a157afdc40497c52e1c4aa94bd11a78b4494db4a1fb45ba6d18f7099 WHIRLPOOL bf9c2f1606ba72469f2306cc6edfff63834c58831ee75063e39445392460b85478c9c44ef7d2ec1fdfd63bad113544f8c1ba3eb01ee178abf63da3a7ae2d5b3b
diff --git a/dev-libs/xapian/metadata.xml b/dev-libs/xapian/metadata.xml
new file mode 100644
index 000000000000..2860138a1536
--- /dev/null
+++ b/dev-libs/xapian/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+ <longdescription lang="en">
+ Xapian is an Open Source Probabilistic Information Retrieval library,
+ released under the GPL. It's written in C++, with bindings to allow use
+ from Perl, Python, PHP, Java, TCL, C#, and Ruby (so far!)
+
+ Xapian is designed to be a highly adaptable toolkit to allow developers
+ to easily add advanced indexing and search facilities to their own
+ applications.
+ </longdescription>
+ <use>
+ <flag name='brass'>Enabled brass backend db support</flag>
+ <flag name='chert'>Enabled chert backend db support</flag>
+ <flag name='inmemory'>Enabled inmemory backend db support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/xapian/xapian-1.2.19.ebuild b/dev-libs/xapian/xapian-1.2.19.ebuild
new file mode 100644
index 000000000000..ff992488f2f5
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.2.19.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf=""
+
+ ewarn
+ if use cpu_flags_x86_sse2; then
+ ewarn "Using sse2"
+ myconf="${myconf} --enable-sse=sse2"
+ else
+ if use cpu_flags_x86_sse; then
+ ewarn "Using sse"
+ myconf="${myconf} --enable-sse=sse"
+ else
+ ewarn "Disabling sse and sse2"
+ myconf="${myconf} --disable-sse"
+ fi
+ fi
+ ewarn
+
+ myconf="${myconf} $(use_enable static-libs static)"
+
+ use brass || myconf="${myconf} --disable-backend-brass"
+ use chert || myconf="${myconf} --disable-backend-chert"
+ use inmemory || myconf="${myconf} --disable-backend-inmemory"
+
+ myconf="${myconf} --enable-backend-flint --enable-backend-remote"
+
+ econf $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${D}usr/share/doc/xapian-core" "${D}usr/share/doc/${PF}"
+ use doc || rm -rf "${D}usr/share/doc/${PF}"
+
+ dodoc AUTHORS HACKING PLATFORMS README NEWS
+}
+
+src_test() {
+ emake check VALGRIND=
+}
diff --git a/dev-libs/xapian/xapian-1.2.20.ebuild b/dev-libs/xapian/xapian-1.2.20.ebuild
new file mode 100644
index 000000000000..9d8afd537991
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.2.20.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf=""
+
+ ewarn
+ if use cpu_flags_x86_sse2; then
+ ewarn "Using sse2"
+ myconf="${myconf} --enable-sse=sse2"
+ else
+ if use cpu_flags_x86_sse; then
+ ewarn "Using sse"
+ myconf="${myconf} --enable-sse=sse"
+ else
+ ewarn "Disabling sse and sse2"
+ myconf="${myconf} --disable-sse"
+ fi
+ fi
+ ewarn
+
+ myconf="${myconf} $(use_enable static-libs static)"
+
+ use brass || myconf="${myconf} --disable-backend-brass"
+ use chert || myconf="${myconf} --disable-backend-chert"
+ use inmemory || myconf="${myconf} --disable-backend-inmemory"
+
+ myconf="${myconf} --enable-backend-flint --enable-backend-remote"
+
+ econf $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${D}usr/share/doc/xapian-core" "${D}usr/share/doc/${PF}"
+ use doc || rm -rf "${D}usr/share/doc/${PF}"
+
+ dodoc AUTHORS HACKING PLATFORMS README NEWS
+}
+
+src_test() {
+ emake check VALGRIND=
+}
diff --git a/dev-libs/xapian/xapian-1.2.21.ebuild b/dev-libs/xapian/xapian-1.2.21.ebuild
new file mode 100644
index 000000000000..9d8afd537991
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.2.21.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf=""
+
+ ewarn
+ if use cpu_flags_x86_sse2; then
+ ewarn "Using sse2"
+ myconf="${myconf} --enable-sse=sse2"
+ else
+ if use cpu_flags_x86_sse; then
+ ewarn "Using sse"
+ myconf="${myconf} --enable-sse=sse"
+ else
+ ewarn "Disabling sse and sse2"
+ myconf="${myconf} --disable-sse"
+ fi
+ fi
+ ewarn
+
+ myconf="${myconf} $(use_enable static-libs static)"
+
+ use brass || myconf="${myconf} --disable-backend-brass"
+ use chert || myconf="${myconf} --disable-backend-chert"
+ use inmemory || myconf="${myconf} --disable-backend-inmemory"
+
+ myconf="${myconf} --enable-backend-flint --enable-backend-remote"
+
+ econf $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${D}usr/share/doc/xapian-core" "${D}usr/share/doc/${PF}"
+ use doc || rm -rf "${D}usr/share/doc/${PF}"
+
+ dodoc AUTHORS HACKING PLATFORMS README NEWS
+}
+
+src_test() {
+ emake check VALGRIND=
+}
diff --git a/dev-libs/xapian/xapian-1.3.2.ebuild b/dev-libs/xapian/xapian-1.3.2.ebuild
new file mode 100644
index 000000000000..72c6720be03a
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.3.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf=""
+
+ ewarn
+ if use cpu_flags_x86_sse2; then
+ ewarn "Using sse2"
+ myconf="${myconf} --enable-sse=sse2"
+ else
+ if use cpu_flags_x86_sse; then
+ ewarn "Using sse"
+ myconf="${myconf} --enable-sse=sse"
+ else
+ ewarn "Disabling sse and sse2"
+ myconf="${myconf} --disable-sse"
+ fi
+ fi
+ ewarn
+
+ myconf="${myconf} $(use_enable static-libs static)"
+
+ use brass || myconf="${myconf} --disable-backend-brass"
+ use chert || myconf="${myconf} --disable-backend-chert"
+ use inmemory || myconf="${myconf} --disable-backend-inmemory"
+
+ myconf="${myconf} --enable-backend-remote --program-suffix="
+
+ econf $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${D}usr/share/doc/xapian-core" "${D}usr/share/doc/${PF}"
+ use doc || rm -rf "${D}usr/share/doc/${PF}"
+
+ dodoc AUTHORS HACKING PLATFORMS README NEWS
+}
+
+src_test() {
+ emake check VALGRIND=
+}
diff --git a/dev-libs/xapian/xapian-1.3.3.ebuild b/dev-libs/xapian/xapian-1.3.3.ebuild
new file mode 100644
index 000000000000..72c6720be03a
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.3.3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="http://www.xapian.org/"
+SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf=""
+
+ ewarn
+ if use cpu_flags_x86_sse2; then
+ ewarn "Using sse2"
+ myconf="${myconf} --enable-sse=sse2"
+ else
+ if use cpu_flags_x86_sse; then
+ ewarn "Using sse"
+ myconf="${myconf} --enable-sse=sse"
+ else
+ ewarn "Disabling sse and sse2"
+ myconf="${myconf} --disable-sse"
+ fi
+ fi
+ ewarn
+
+ myconf="${myconf} $(use_enable static-libs static)"
+
+ use brass || myconf="${myconf} --disable-backend-brass"
+ use chert || myconf="${myconf} --disable-backend-chert"
+ use inmemory || myconf="${myconf} --disable-backend-inmemory"
+
+ myconf="${myconf} --enable-backend-remote --program-suffix="
+
+ econf $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${D}usr/share/doc/xapian-core" "${D}usr/share/doc/${PF}"
+ use doc || rm -rf "${D}usr/share/doc/${PF}"
+
+ dodoc AUTHORS HACKING PLATFORMS README NEWS
+}
+
+src_test() {
+ emake check VALGRIND=
+}
diff --git a/dev-libs/xerces-c/Manifest b/dev-libs/xerces-c/Manifest
new file mode 100644
index 000000000000..f27ac77044ba
--- /dev/null
+++ b/dev-libs/xerces-c/Manifest
@@ -0,0 +1 @@
+DIST xerces-c-3.1.2.tar.gz 6959894 SHA256 743bd0a029bf8de56a587c270d97031e0099fe2b7142cef03e0da16e282655a0 SHA512 89b61c336b270e124f7773534606706787da02437cf0b9d0374481027eb235692990b99e8ead383cb2d6da52dab2ae5f14fafcf30aba748900e1a0c32957fdc8 WHIRLPOOL 768e6f653345ed30de2b3840f437bd22df381e8c341ddfdaedd08ed48d2331937e2431cdbc503c9d1a9180848cbc6a13f0a0fe359b6d8b7e846f0b49e9e2a43b
diff --git a/dev-libs/xerces-c/files/3.1.1-disable-thread-tests.patch b/dev-libs/xerces-c/files/3.1.1-disable-thread-tests.patch
new file mode 100644
index 000000000000..bb94299af238
--- /dev/null
+++ b/dev-libs/xerces-c/files/3.1.1-disable-thread-tests.patch
@@ -0,0 +1,74 @@
+diff --git a/scripts/sanityTest_ExpectedResult.log b/scripts/sanityTest_ExpectedResult.log
+index 3588d84..9a45457 100644
+--- a/scripts/sanityTest_ExpectedResult.log
++++ b/scripts/sanityTest_ExpectedResult.log
+@@ -1146,42 +1146,7 @@ Options:
+ 1Test Run Successfully
+ 2Test Run Successfully
+ 3Test Run Successfully
+-No input XML file specified on command line.
+-usage: ThreadTest [-v] [-threads nnn] [-time nnn] [-quiet] [-verbose] xmlfile...
+- -v=xxx Validation scheme [always | never | auto]. Default is AUTO.
+- -n Enable namespace processing. Defaults to off.
+- -s Enable schema processing. Defaults to off.
+- -f Enable full schema constraint checking. Defaults to off.
+- -parser=xxx Parser Type [dom | sax | sax2]. Default is SAX (SAX1).
+- -p Enable namespace prefixes. Defaults to off.
+- (Only used with -parser=sax2, ignored otherwise.)
+- -quiet Suppress periodic status display.
+- -verbose Display extra messages.
+- -reuse Retain and reuse parser. Default creates new for each parse.
+- -threads nnn Number of threads. Default is 2.
+- -time nnn Total time to run, in seconds. Default is forever.
+- -parses nnn Run for nnn parses instead of time. Default is to use time
+- -dump Dump DOM tree on error.
+- -mem Read files into memory once only, and parse them from there.
+- -gc Enable grammar caching (i.e. grammar cached and used in subsequent parses). Defaults to off.
+- -init Perform an initial parse of the file(s) before starting up the individual threads.
+-
+-1Test Run Successfully
+-2Test Run Successfully
+-3Test Run Successfully
+-4Test Run Successfully
+-5Test Run Successfully
+-6Test Run Successfully
+-7Test Run Successfully
+-8Test Run Successfully
+-9Test Run Successfully
+-10Test Run Successfully
+-11Test Run Successfully
+-12Test Run Successfully
+-13Test Run Successfully
+-14Test Run Successfully
+-15Test Run Successfully
+-
++123456789101112131415
+ Usage:
+ MemHandlerTest [options] <XML file | List file>
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 177c1c8..f333700 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -84,8 +84,6 @@ NetAccessorTest_SOURCES = src/NetAccessorTest/NetAccessorT
+ # src/ParserTest/ParserTest_Parser.cpp \
+ # src/ParserTest/ParserTest_Parser.hpp
+
+-testprogs += ThreadTest
+-ThreadTest_SOURCES = src/ThreadTest/ThreadTest.cpp
+
+ # Fails to compile under gcc 4 (ambiguous calls to NullPointerException)
+ # dcargill says this is obsolete and we can delete it.
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index d1df240..c4749fd 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -92,7 +92,7 @@ am__EXEEXT_1 = DOMTest$(EXEEXT) DOMMemTest$(EXEEXT) \
+ DOMTraversalTest$(EXEEXT) DOMTypeInfoTest$(EXEEXT) \
+ EncodingTest$(EXEEXT) InitTermTest$(EXEEXT) \
+ MemHandlerTest$(EXEEXT) NetAccessorTest$(EXEEXT) \
+- ThreadTest$(EXEEXT) XSerializerTest$(EXEEXT) \
++ XSerializerTest$(EXEEXT) \
+ XSTSHarness$(EXEEXT) XSValueTest$(EXEEXT)
+ am__dirstamp = $(am__leading_dot)dirstamp
+ am_DOMMemTest_OBJECTS = src/DOM/DOMMemTest/DOMMemTest.$(OBJEXT)
diff --git a/dev-libs/xerces-c/files/50xerces-c b/dev-libs/xerces-c/files/50xerces-c
new file mode 100644
index 000000000000..6fdb7ffbdee9
--- /dev/null
+++ b/dev-libs/xerces-c/files/50xerces-c
@@ -0,0 +1 @@
+XERCESC_NLS_HOME="/usr/share/xerces-c/msg"
diff --git a/dev-libs/xerces-c/metadata.xml b/dev-libs/xerces-c/metadata.xml
new file mode 100644
index 000000000000..4ae03a969480
--- /dev/null
+++ b/dev-libs/xerces-c/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cpp</herd>
+<longdescription>xerces-c is a C++ library specializing in XML parsing. It is released by the Apache Foundation</longdescription>
+<use>
+ <flag name='iconv'>Use iconv (<pkg>virtual/libiconv</pkg>) as message loader
+ and transcoder (in general it would be possible to use iconv only as
+ message loader and something else like icu or the native method as
+ transcoder and vice-versa, but this is a less common case and hard to
+ handle)</flag>
+ <flag name='threads'>Enable threading support through pthread (or other
+ libraries on AIX, IRIX, HPUX, Solars). Highly recommended</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/xerces-c/xerces-c-3.1.2.ebuild b/dev-libs/xerces-c/xerces-c-3.1.2.ebuild
new file mode 100644
index 000000000000..2f55f905f94e
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.1.2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A validating XML parser written in a portable subset of C++"
+HOMEPAGE="http://xerces.apache.org/xerces-c/"
+SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD iconv icu static-libs threads"
+
+RDEPEND="icu? ( dev-libs/icu:0= )
+ curl? ( net-misc/curl )
+ virtual/libiconv"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( CREDITS KEYS NOTICE README version.incl )
+
+pkg_setup() {
+ export ICUROOT="/usr"
+
+ if use iconv && use icu ; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU will precede."
+ fi
+}
+
+src_prepare() {
+ use threads || epatch "${FILESDIR}/3.1.1-disable-thread-tests.patch"
+
+ sed -i \
+ -e 's|$(prefix)/msg|$(DESTDIR)/$(prefix)/share/xerces-c/msg|' \
+ -e 's/@mkdir_p@/@MKDIR_P@/' \
+ src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in || die
+
+ epatch_user
+}
+
+src_configure() {
+ local mloader="inmemory"
+ use iconv && mloader="iconv"
+ use icu && mloader="icu"
+
+ local transcoder="gnuiconv"
+ use elibc_FreeBSD && transcoder="iconv"
+ use elibc_Darwin && transcoder="macosunicodeconverter"
+ use icu && transcoder="icu"
+ # for interix maybe: transcoder="windows"
+
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor="socket"
+ use elibc_Darwin && netaccessor="cfurl"
+ use curl && netaccessor="curl"
+
+ econf \
+ --disable-pretty-make \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ --enable-msgloader-${mloader} \
+ --enable-netaccessor-${netaccessor} \
+ --enable-transcoder-${transcoder} \
+ $(use_enable cpu_flags_x86_sse2 sse2)
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ cd "${S}/doc"
+ doxygen || die "making docs failed"
+ fi
+}
+
+src_install () {
+ default
+ prune_libtool_files
+
+ # To make sure an appropriate NLS msg file is around when using the iconv msgloader
+ # ICU has the messages compiled in.
+ if use iconv && ! use icu ; then
+ doenvd "${FILESDIR}/50xerces-c"
+ fi
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ rm -rf samples/Makefile* samples/runConfigure samples/src/*/Makefile* samples/.libs
+ doins -r samples
+ dohtml -r doc/html/*
+ fi
+}
diff --git a/dev-libs/xml-security-c/Manifest b/dev-libs/xml-security-c/Manifest
new file mode 100644
index 000000000000..8212ec6ce94d
--- /dev/null
+++ b/dev-libs/xml-security-c/Manifest
@@ -0,0 +1 @@
+DIST xml-security-c-1.7.3.tar.gz 909320 SHA256 e5226e7319d44f6fd9147a13fb853f5c711b9e75bf60ec273a0ef8a190592583 SHA512 ea46709d6706edf345e19132d9998774e50dc7b5947a7b4a55e3627998f5ac66f976fdff0a5015ef3cee73c03c04f3c4cf993efd397082491c2000c6548b89d2 WHIRLPOOL 5aba039916ffabdb6394c5a97ce10027a546cbba9b7978bfde06db22ee48e6820a42db9d1e1095fc2ef7235cb2e6f948bbe3fd6dcaf5e99f16316111a28a717b
diff --git a/dev-libs/xml-security-c/files/1.6.1-nss-compilation-fix.patch b/dev-libs/xml-security-c/files/1.6.1-nss-compilation-fix.patch
new file mode 100644
index 000000000000..1635d6b80339
--- /dev/null
+++ b/dev-libs/xml-security-c/files/1.6.1-nss-compilation-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/xsec/tools/xtest/xtest.cpp b/xsec/tools/xtest/xtest.cpp
+index ec40cb2..9cd389e 100644
+--- a/xsec/tools/xtest/xtest.cpp
++++ b/xsec/tools/xtest/xtest.cpp
+@@ -2566,7 +2566,7 @@ int main(int argc, char **argv) {
+ }
+ #endif
+ #if defined(XSEC_HAVE_NSS)
+- else if (stricmp(argv[paramCount], "--nss") == 0 || stricmp(argv[paramCount], "-n") == 0) {
++ else if (_stricmp(argv[paramCount], "--nss") == 0 || _stricmp(argv[paramCount], "-n") == 0) {
+ g_useNSS = true;
+ paramCount++;
+ }
diff --git a/dev-libs/xml-security-c/metadata.xml b/dev-libs/xml-security-c/metadata.xml
new file mode 100644
index 000000000000..adf837241a71
--- /dev/null
+++ b/dev-libs/xml-security-c/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <use>
+ <flag name='xalan'>Enable support for XSLT and XPath parsing
+ by <pkg>dev-libs/xalan-c</pkg></flag>
+ <flag name='nss'>Use <pkg>dev-libs/nss</pkg> for certain crypto
+ operations (configureable at runtime)</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/xml-security-c/xml-security-c-1.7.3.ebuild b/dev-libs/xml-security-c/xml-security-c-1.7.3.ebuild
new file mode 100644
index 000000000000..ed8d346c41a9
--- /dev/null
+++ b/dev-libs/xml-security-c/xml-security-c-1.7.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Apache C++ XML security libraries"
+HOMEPAGE="http://santuario.apache.org/"
+SRC_URI="mirror://apache/santuario/c-library/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug examples nss static-libs xalan"
+
+RDEPEND=">=dev-libs/xerces-c-3.1
+ dev-libs/openssl
+ nss? ( dev-libs/nss )
+ xalan? ( dev-libs/xalan-c )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( CHANGELOG.txt NOTICE.txt )
+
+src_prepare() {
+ epatch "${FILESDIR}/1.6.1-nss-compilation-fix.patch"
+ epatch_user
+}
+
+src_configure() {
+ econf \
+ --with-openssl \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_with xalan) \
+ $(use_with nss)
+}
+
+src_install() {
+ default
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins xsec/samples/*.cpp
+ fi
+}
diff --git a/dev-libs/xmlrpc-c/Manifest b/dev-libs/xmlrpc-c/Manifest
new file mode 100644
index 000000000000..75c7ec17e7de
--- /dev/null
+++ b/dev-libs/xmlrpc-c/Manifest
@@ -0,0 +1 @@
+DIST xmlrpc-c-1.32.05.tar.gz 769040 SHA256 cefd25dcb90556c90358cb44013a644f1aeafd37d2e18be37e66a3355b5ae0d2 SHA512 40813ad97010684e346ce4f286d9d7314547572f8681cf99d4c3c36cb7aa38b1cb72b84d63ab46e44282dc2bd95b85dbb022e3039700caa939469c6f7bf08d1f WHIRLPOOL 1e6ebbc1b3caa78e1e22210d81a61b74d71f61a33d1ea97f96ef250a5277d3cbe6d532d286bed8bb57e1ba4ccb54fd38bdf51f8d3bdbba00225bb5678de17292
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch
new file mode 100644
index 000000000000..affa917f7427
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch
@@ -0,0 +1,20 @@
+--- a/common.mk
++++ b/common.mk
+@@ -17,7 +17,7 @@
+ # fully made.
+ .DELETE_ON_ERROR:
+
+-GCC_WARNINGS = -Wall -W -Wno-uninitialized -Wundef -Wimplicit \
++GCC_WARNINGS = -Wall -W -Wno-uninitialized -Wundef \
+ -Wno-unknown-pragmas
+ # We need -Wwrite-strings after we fix all the missing consts
+ #
+@@ -27,7 +27,7 @@
+ # on -Wuninitialized for all the others.
+
+ GCC_C_WARNINGS = $(GCC_WARNINGS) \
+- -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
++ -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wimplicit
+
+ GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Wsynth
+
diff --git a/dev-libs/xmlrpc-c/metadata.xml b/dev-libs/xmlrpc-c/metadata.xml
new file mode 100644
index 000000000000..8be0201c8ad6
--- /dev/null
+++ b/dev-libs/xmlrpc-c/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <use>
+ <flag name='abyss'>Build the Abyss mini web-server.</flag>
+ <flag name='libxml2'>Use dev-libs/libxml2 to parse XML instead of the internal expat library.</flag>
+ <flag name='threads'>Controls whether to build the Abyss web-server with pthreads or fork 'threading'.</flag>
+ <flag name='tools'>Build the xmlrpc* tools.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild
new file mode 100644
index 000000000000..f21d5f19d5bf
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils multilib
+
+# Maintainer notes: Take a look at http://xmlrpc-c.sourceforge.net/release.html
+# We use "advanced" branch, so for the current release revision take look here:
+# http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/version.mk?view=log
+# e.g. for 1.27.05 corresponds following revision 2182 and thus following URL:
+# http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced.tar.gz?view=tar&pathrev=2182
+# Note: autogenerated tarball checksum changes every download, thus download it
+# manually and distribute on mirrors.
+# It's possible to build net-libs/libwww without ssl support, but taking into
+# account that libwww is not really well maintained and upstream is dead we
+# better use it only in case ssl is required.
+
+DESCRIPTION="A lightweigt RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="http://dev.gentoo.org/~maksbotan/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="abyss +cgi +curl +cxx +libxml2 static-libs threads test tools"
+
+REQUIRED_USE="test? ( static-libs abyss curl cxx ) tools? ( curl )"
+
+DEPEND="
+ sys-libs/ncurses
+ sys-libs/readline
+ curl? ( net-misc/curl )
+ libxml2? ( dev-libs/libxml2 )"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/advanced"
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+#Bug 214137: We need to filter this.
+unset SRCDIR
+
+# Bug 255440
+export LC_ALL=C
+export LANG=C
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.32.05-Wimplicit.patch
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ "${S}"/common.mk || die
+
+ export LADD=${LDFLAGS} # Respect the user's LDFLAGS.
+
+ use static-libs || { sed \
+ -e '/\(^TARGET_STATIC_LIBRARIES =\)/{s:\(^TARGET_STATIC_LIBRARIES =\).*:\1:;P;N;d;}' \
+ -i common.mk || die; }
+}
+
+src_configure() {
+ #Disable libwww support due GBZ #409549 and #320253
+
+ econf --disable-wininet-client \
+ $(use_enable libxml2 libxml2-backend) \
+ --disable-libwww-client \
+ --without-libwww-ssl \
+ $(use_enable threads abyss-threads) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable curl curl-client)
+}
+
+src_compile() {
+ emake -r
+ use tools && emake -rC "${S}"/tools
+}
+
+src_install() {
+ default_src_install
+ use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+}
+
+src_test() {
+ unset LDFLAGS LADD SRCDIR
+ cd "${S}"/test/
+ einfo "Building general tests"
+ make || die "Make of general tests failed"
+ einfo "Running general tests"
+ ./test || die "General tests failed"
+ cd "${S}"/test/cpp/
+ einfo "Running C++ tests"
+ ./test || die "C++ tests failed"
+}
diff --git a/dev-libs/xmlrpc-epi/Manifest b/dev-libs/xmlrpc-epi/Manifest
new file mode 100644
index 000000000000..2e2075671da7
--- /dev/null
+++ b/dev-libs/xmlrpc-epi/Manifest
@@ -0,0 +1 @@
+DIST xmlrpc-epi-0.54.2.tar.bz2 348478 SHA256 c74ef8fb680b140890138a82f37619714b67f69025a775b9ba2009d62cded0b8 SHA512 2a8e818bd0eff4d1b0ad0c1cb26f93bc65d941096cf9f4555d1969c69601c452ab26edccee511b06efc9927c5deb7bd2a93fe44da23e5e4f78f6c77ca8e1e9c5 WHIRLPOOL 0c050750f12cf917483173aa2fcdb7478e1a0027439eb67c61e3e7eeb9104e530f6ed348cb2594d39c6e6968be5d99bdc7960fb7215af05e040d719d77ca03f0
diff --git a/dev-libs/xmlrpc-epi/metadata.xml b/dev-libs/xmlrpc-epi/metadata.xml
new file mode 100644
index 000000000000..09b78dc4aaf1
--- /dev/null
+++ b/dev-libs/xmlrpc-epi/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">xmlrpc-epi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild b/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild
new file mode 100644
index 000000000000..4afd7fb426eb
--- /dev/null
+++ b/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit multilib
+
+DESCRIPTION="Epinions implementation of XML-RPC protocol in C"
+HOMEPAGE="http://xmlrpc-epi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xmlrpc-epi/${P}.tar.bz2"
+
+LICENSE="Epinions"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+IUSE="examples static-libs"
+
+DEPEND="dev-libs/expat"
+RDEPEND="${DEPEND}"
+
+# NOTES:
+# to prevent conflict with xmlrpc-c, headers are installed in
+# /usr/include/${PN} instead of /usr/include (bug 274291)
+
+src_prepare() {
+ # do not build examples
+ sed -i -e "s:sample::" Makefile.in || die "sed failed"
+}
+
+src_configure() {
+ econf \
+ --includedir=/usr/include/${PN} \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if ! use static-libs; then
+ # remove useless la files
+ rm "${D}"/usr/$(get_libdir)/lib${PN}.la || die "rm failed"
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins sample/*.c sample/*.php || die "doins failed"
+ doins -r sample/tests || die "doins failed"
+ fi
+}
diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
new file mode 100644
index 000000000000..d55d0e9110f4
--- /dev/null
+++ b/dev-libs/xmlsec/Manifest
@@ -0,0 +1,3 @@
+DIST xmlsec1-1.2.18.tar.gz 1731099 SHA256 c93c3816db79daf339bf0418a39e07560590cb5ad7eb0306c3ffe0fcb09cd777 SHA512 09788a35691c0fc3b4c8bc9c78a31caf3c056c270abdf642c17d74fd7ce33a1f32edd505650aaf14339ff4e9ffd38b9df67bbf7c60f982494f19bdb6592a780c WHIRLPOOL 4bc0851b6e3f68639a852be4a5b20849ccfd9a2b01716c87a293a8f13fafc6ef99411dbaa3bacc7d0169648559b39ccbe4a262df607ad8d2d76ee8f5d3029a5f
+DIST xmlsec1-1.2.19.tar.gz 1766298 SHA256 2fc8f7c9fadb0f6c565bf304de798a875fc719005c20169f8e88028b20c8aac0 SHA512 9d391658902e163261a61474fc0415ee0f25732dc4a98d2012459294674f7984212607febc10cdf5f5b6255932c4ad51a23d0a7b868990439812f5e276fd1a89 WHIRLPOOL 57795d4ac05727867680f7f81d50203fe7603d4a804650db7fafcbe48f8af1c5ef10a021218b3edaebc1dcc06653536f8545d2601a61e32c699701716e3353c5
+DIST xmlsec1-1.2.20.tar.gz 1769329 SHA256 3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305 SHA512 2f8d473916abf9822367edbe857fc2e12dc9858d12e790d689d787e439904bd6a452bf631043aa66e7502457ab0815a473657f58fca17a213e2490f5655e5ae5 WHIRLPOOL 29ddaef03d46fe08aa2dba200be755817f8e77de3bbbb3ed86dae65e891239f3051f79fdfadec6ae56023197e32e1c44a94385a1ce306081f3bf94be6226f8c7
diff --git a/dev-libs/xmlsec/metadata.xml b/dev-libs/xmlsec/metadata.xml
new file mode 100644
index 000000000000..b4229edcd38f
--- /dev/null
+++ b/dev-libs/xmlsec/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <use>
+ <flag name="gcrypt">Install xmlsec-gcrypt library</flag>
+ <flag name="gnutls">Install xmlsec-gnutls library</flag>
+ <flag name="nss">Install xmlsec-nss library</flag>
+ <flag name="openssl">Install xmlsec-openssl library</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/xmlsec/xmlsec-1.2.18.ebuild b/dev-libs/xmlsec/xmlsec-1.2.18.ebuild
new file mode 100644
index 000000000000..391bb3821ff2
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.18.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="http://www.aleksey.com/xmlsec"
+SRC_URI="http://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="gcrypt gnutls nss +openssl"
+REQUIRED_USE="|| ( gcrypt gnutls nss openssl ) gnutls? ( gcrypt )"
+
+RDEPEND=">=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0 )
+ gnutls? ( >=net-libs/gnutls-2.8.0 )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( >=dev-libs/openssl-0.9.7 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}1-${PV}"
+
+#src_prepare() {
+# eautoreconf
+# append-cppflags '-DLTDL_OBJDIR=\".libs\"' '-DLTDL_SHLIB_EXT=\".so\"'
+#}
+
+src_configure() {
+ econf \
+ $(use_with gcrypt gcrypt "") \
+ $(use_with gnutls gnutls "") \
+ $(use_with nss nspr "") \
+ $(use_with nss nss "") \
+ $(use_enable openssl aes) \
+ $(use_with openssl openssl "") \
+ --enable-pkgconfig \
+ --enable-xkms \
+ --with-html-dir=/usr/share/doc/${PF}
+}
+
+src_test() {
+ emake TMPFOLDER="${T}" check || die "emake check failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ find "${ED}" -name "*.la" -print0 | xargs -0 rm -f
+ dodoc AUTHORS README NEWS || die "dodoc failed"
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.19.ebuild b/dev-libs/xmlsec/xmlsec-1.2.19.ebuild
new file mode 100644
index 000000000000..f4ebef53a7aa
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.19.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="http://www.aleksey.com/xmlsec"
+SRC_URI="http://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs"
+REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )"
+
+RDEPEND=">=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0 )
+ gnutls? ( >=net-libs/gnutls-2.8.0 )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( >=dev-libs/openssl-0.9.7 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}1-${PV}
+
+src_prepare() {
+ # conditionally install extra documentation
+ if ! use doc ; then
+ sed -i '/^SUBDIRS/s/docs//' Makefile.am || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt gcrypt "") \
+ $(use_with gnutls gnutls "") \
+ $(use_with nss nspr "") \
+ $(use_with nss nss "") \
+ $(use_enable openssl aes) \
+ $(use_with openssl openssl "") \
+ --enable-pkgconfig \
+ --enable-xkms \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_test() {
+ emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.20.ebuild b/dev-libs/xmlsec/xmlsec-1.2.20.ebuild
new file mode 100644
index 000000000000..62b20a0690ff
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.20.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="http://www.aleksey.com/xmlsec"
+SRC_URI="http://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs"
+REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )"
+
+RDEPEND=">=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0 )
+ gnutls? ( >=net-libs/gnutls-2.8.0 )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( >=dev-libs/openssl-0.9.7 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}1-${PV}
+
+src_prepare() {
+ # conditionally install extra documentation
+ if ! use doc ; then
+ sed -i '/^SUBDIRS/s/docs//' Makefile.am || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt gcrypt "") \
+ $(use_with gnutls gnutls "") \
+ $(use_with nss nspr "") \
+ $(use_with nss nss "") \
+ $(use_enable openssl aes) \
+ $(use_with openssl openssl "") \
+ --enable-pkgconfig \
+ --enable-xkms \
+ --with-html-dir=/usr/share/doc/${PF}/html
+}
+
+src_test() {
+ emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/xmlwrapp/Manifest b/dev-libs/xmlwrapp/Manifest
new file mode 100644
index 000000000000..11fab96102cb
--- /dev/null
+++ b/dev-libs/xmlwrapp/Manifest
@@ -0,0 +1,3 @@
+DIST xmlwrapp-0.5.0.tgz 442550 SHA256 af3b71a6983c5c08e00096f5bb9f8ce61de3147f020aef327624043736d5ac73 SHA512 edc8d524e114a8699befec28f43828127b24c2edfa4f71c66f3d0bbe20fc8a96b273a1f6a028ed5cb7388213c789477c76256c5f9cece73aa581e7823636bdb9 WHIRLPOOL 33504b10fbb436f5767c74fec24e13aaed403bc8709f53846c54299f3c5f4f36dfce48b3ddc14aea64af02b547ff2c958090dd178b1e81fc0c52251b3beaee5b
+DIST xmlwrapp-0.6.3.tar.gz 910879 SHA256 1701fa2960cf2afd70b8ebee2740cbe893d4318a3c269319e657e5738d802ab2 SHA512 28a283aaaf4e9e6690f4a720784fd72ca83606e416bafb5343c4160325834772fb7b4d4604269cdb1bbc5dfd95cc03bdb338fdd08a99d113fcf00532df2239bd WHIRLPOOL e60eb6d73362ff2acc647bfb75b5a3b698623e8b7aff7be98f82f52672d771d0fe9464b7f2474edf903a78bb14ca5fb4a8c77c43ec2fad6c17e898a55375ffe7
+DIST xmlwrapp-0.7.1.tar.gz 1453771 SHA256 3787f05715081257d970ac0c03141f705d9eeb03bd3747c2f4c5a77103b30728 SHA512 73aaa9821f861edaab8e83d97414c9525ae7f6281a4812d8df6239e10ec76dd941cc0a8ed4769469084f694642c2f0c978f6c7477c63f99735a8cc9d98d7b9a0 WHIRLPOOL fba8d428856fc7512b1cf54a3b0f3cee94cf440cbb6f4670d630192a9ee01b94b37797cfc836429d30af9e9b075a885ff1c2844e304b3303f1161f380f7bdb02
diff --git a/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-fbsd.patch b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-fbsd.patch
new file mode 100644
index 000000000000..813a43185939
--- /dev/null
+++ b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-fbsd.patch
@@ -0,0 +1,10 @@
+--- tools/cxxflags.orig 2006-12-13 22:56:53.000000000 +0100
++++ tools/cxxflags 2006-12-13 22:57:30.000000000 +0100
+@@ -286,6 +286,7 @@
+ if ($^O =~ /freebsd/i) {
+ $flags{'mtlink'} .= " -pthread";
+ $flags{'arextra'}.= "ranlib";
++ $flags{'pic'} = '-fpic -shared';
+ } elsif ($^O =~ /darwin/i) {
+ $flags{'pic'} = '';
+ $flags{'shared.ext'} = '.dylib'; \ No newline at end of file
diff --git a/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc-4.3.patch b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc-4.3.patch
new file mode 100644
index 000000000000..dba843f520d2
--- /dev/null
+++ b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc-4.3.patch
@@ -0,0 +1,10 @@
+--- src/libxml/node.cxx.orig 2008-04-05 02:55:35.804091000 +0200
++++ src/libxml/node.cxx 2008-04-05 03:09:21.170667965 +0200
+@@ -51,6 +51,7 @@
+ #include <algorithm>
+ #include <stdexcept>
+ #include <functional>
++#include <cstring>
+
+ // libxml includes
+ #include <libxml/tree.h>
diff --git a/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc42_namespace.patch b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc42_namespace.patch
new file mode 100644
index 000000000000..6b61bcb60641
--- /dev/null
+++ b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-gcc42_namespace.patch
@@ -0,0 +1,20 @@
+--- xmlwrapp-0.5.0/src/libxml/node.cxx.orig 2007-07-06 08:13:31.000000000 +0200
++++ xmlwrapp-0.5.0/src/libxml/node.cxx 2007-07-06 08:13:05.000000000 +0200
+@@ -512,10 +512,12 @@
+ }
+ }
+ //####################################################################
+-std::ostream& xml::operator<< (std::ostream &stream, const xml::node &n) {
+- std::string xmldata;
+- n.node_to_string(xmldata);
+- stream << xmldata;
+- return stream;
++namespace xml {
++ std::ostream& operator<< (std::ostream &stream, const xml::node &n) {
++ std::string xmldata;
++ n.node_to_string(xmldata);
++ stream << xmldata;
++ return stream;
++ }
+ }
+ //####################################################################
diff --git a/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-tests.patch b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-tests.patch
new file mode 100644
index 000000000000..7de77450c474
--- /dev/null
+++ b/dev-libs/xmlwrapp/files/xmlwrapp-0.5.0-tests.patch
@@ -0,0 +1,33 @@
+diff -Naur tests.orig/attributes/data/09.xml tests/attributes/data/09.xml
+--- tests.orig/attributes/data/09.xml 2006-10-24 21:45:02.000000000 +0200
++++ tests/attributes/data/09.xml 2006-10-24 21:45:21.000000000 +0200
+@@ -1,2 +1,2 @@
+-<!DOCTYPE root SYSTEM "data/09.dtd">
++<!DOCTYPE root SYSTEM "09.dtd">
+ <root one="1"/>
+diff -Naur tests.orig/attributes/data/10.xml tests/attributes/data/10.xml
+--- tests.orig/attributes/data/10.xml 2006-10-24 21:45:02.000000000 +0200
++++ tests/attributes/data/10.xml 2006-10-24 21:45:30.000000000 +0200
+@@ -1,3 +1,3 @@
+ <?xml version="1.0" ?>
+-<!DOCTYPE example SYSTEM "data/10.dtd">
++<!DOCTYPE example SYSTEM "10.dtd">
+ <example>See?</example>
+diff -Naur tests.orig/document/data/14inc.xml tests/document/data/14inc.xml
+--- tests.orig/document/data/14inc.xml 2006-10-24 21:45:02.000000000 +0200
++++ tests/document/data/14inc.xml 2006-10-24 21:45:09.000000000 +0200
+@@ -1 +1 @@
+-<subchild><innerchild self="yes"/></subchild>
++<subchild xml:base="data/14inc.xml"><innerchild self="yes"/></subchild>
+diff -Naur tests.orig/xslt/runtest.pl tests/xslt/runtest.pl
+--- tests.orig/xslt/runtest.pl 2006-12-13 23:10:49.000000000 +0100
++++ tests/xslt/runtest.pl 2006-12-13 23:11:05.000000000 +0100
+@@ -42,7 +42,7 @@
+ sub runtests
+ {
+ ###########################################################################
+- foreach (['a', 1], ['b', 0], ['c', 1]) {
++ foreach (['b', 0]) {
+ $test->run_test_exit_status("constructor (01$_->[0])", "./test_xslt-01 data/01$_->[0].xsl", $_->[1]);
+ }
+ ###########################################################################
diff --git a/dev-libs/xmlwrapp/files/xmlwrapp-gentoo.diff b/dev-libs/xmlwrapp/files/xmlwrapp-gentoo.diff
new file mode 100644
index 000000000000..31f0315eef0f
--- /dev/null
+++ b/dev-libs/xmlwrapp/files/xmlwrapp-gentoo.diff
@@ -0,0 +1,12 @@
+diff -urN ori/configure.pl xmlwrapp-0.4.0/configure.pl
+--- ori/configure.pl 2003-02-03 23:47:54.000000000 +0100
++++ xmlwrapp-0.4.0/configure.pl 2003-03-24 12:21:07.000000000 +0100
+@@ -277,7 +277,7 @@
+ $output =~ s/-I//g;
+ my @include_dirs = split(/\s+/, $output);
+ my $main_include_dir = undef;
+- my $xslt_include_dir = undef;
++ my $xslt_include_dir = "/usr/include/libxml2";
+
+ foreach my $dir (@include_dirs) {
+ if (-d "$dir${dirsep}libxml") {
diff --git a/dev-libs/xmlwrapp/metadata.xml b/dev-libs/xmlwrapp/metadata.xml
new file mode 100644
index 000000000000..ce776a3f57ef
--- /dev/null
+++ b/dev-libs/xmlwrapp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <bugs-to>https://github.com/vslavik/xmlwrapp/issues</bugs-to>
+ <remote-id type='github'>vslavik/xmlwrapp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/xmlwrapp/xmlwrapp-0.5.0-r1.ebuild b/dev-libs/xmlwrapp/xmlwrapp-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..f4309140f2bd
--- /dev/null
+++ b/dev-libs/xmlwrapp/xmlwrapp-0.5.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="modern style C++ library that provides a simple and easy interface to libxml2"
+HOMEPAGE="http://sourceforge.net/projects/xmlwrapp/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc test"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-gentoo.diff" \
+ "${FILESDIR}/${P}-tests.patch" \
+ "${FILESDIR}/${P}-fbsd.patch" \
+ "${FILESDIR}/${P}-gcc42_namespace.patch" \
+ "${FILESDIR}/${P}-gcc-4.3.patch"
+
+ sed -i 's/-O2//' tools/cxxflags || die "sed tools/cxxflags failed"
+}
+
+src_compile() {
+ local myconf="--prefix /usr --libdir /usr/$(get_libdir) --disable-examples"
+ use test && myconf="${myconf} --enable-tests"
+
+ export CXX="$(tc-getCXX)"
+ ./configure.pl ${myconf} || die "configure failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ sed -i "s%/usr%${D}/usr%g" Makefile || die "sed Makefile failed"
+ emake install || die "emake install failed"
+
+ dodoc README docs/{CREDITS,TODO,VERSION}
+ if use doc ; then
+ dohtml "${S}"/docs/doxygen/html/*
+ cd examples
+ for ex in 0* ; do
+ docinto examples/${ex}
+ dodoc ${ex}/*
+ done
+ fi
+}
diff --git a/dev-libs/xmlwrapp/xmlwrapp-0.6.3.ebuild b/dev-libs/xmlwrapp/xmlwrapp-0.6.3.ebuild
new file mode 100644
index 000000000000..348e19933a80
--- /dev/null
+++ b/dev-libs/xmlwrapp/xmlwrapp-0.6.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="modern style C++ library that provides a simple and easy interface to libxml2"
+HOMEPAGE="http://sourceforge.net/projects/xmlwrapp/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/boost:=
+ dev-libs/libxml2
+ dev-libs/libxslt"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ epatch_user
+
+ # buildsystem forgot about this
+ append-libs -lboost_system
+}
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/xmlwrapp/xmlwrapp-0.7.1.ebuild b/dev-libs/xmlwrapp/xmlwrapp-0.7.1.ebuild
new file mode 100644
index 000000000000..35da67293c43
--- /dev/null
+++ b/dev-libs/xmlwrapp/xmlwrapp-0.7.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="modern style C++ library that provides a simple and easy interface to libxml2"
+HOMEPAGE="http://vslavik.github.io/xmlwrapp/"
+SRC_URI="https://github.com/vslavik/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/boost:=
+ dev-libs/libxml2
+ dev-libs/libxslt"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir="/usr/share/doc/${PF}/html" \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/xplc/Manifest b/dev-libs/xplc/Manifest
new file mode 100644
index 000000000000..f93d2f6946ab
--- /dev/null
+++ b/dev-libs/xplc/Manifest
@@ -0,0 +1 @@
+DIST xplc-0.3.13.tar.gz 175431 SHA256 158a0f44a2eb055522377c275bbd0e7412dd3b8a9b75ec344c0457b3a1a29cbb SHA512 6969ed16c282589ddc285678e1c02016810f83c4c0fea373d8b7a72c97474e6cc21ca3f8f7a7a6aae814037dfae51c3a41bd39f13a67445552b6a7c1b698195d WHIRLPOOL a4f40cb8d25b1af645d47c53a5cedbb6780b79db427fd2212f997eeaf224ae7a888063efd6b15fdd0b5b336957db81de45dbbcc50cb931302f3e0563fb966d7e
diff --git a/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch b/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch
new file mode 100644
index 000000000000..3e002db2ad00
--- /dev/null
+++ b/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch
@@ -0,0 +1,22 @@
+--- config/rules.mk.orig 2006-05-06 19:28:46.000000000 +0200
++++ config/rules.mk 2006-05-06 19:28:53.000000000 +0200
+@@ -44,7 +44,7 @@
+ $(RANLIB) $@
+
+ %.so:
+- $(LINK.cc) $(SHARED) $^ -o $@
++ $(LINK.cc) $(SHARED) $^ $(LDLIBS) -o $@
+
+ %.dll:
+ $(LINK.cc) $(SHARED) $^ -o $@
+--- xplc/vars.mk.orig 2006-05-06 19:32:06.000000000 +0200
++++ xplc/vars.mk 2006-05-06 19:32:12.000000000 +0200
+@@ -32,7 +32,7 @@
+
+ ifneq ("$(enable_loader)", "no")
+ ifneq ("$(with_dlopen)", "no")
+-libxplc.so: LDFLAGS+=$(with_dlopen)
++libxplc.so: LDLIBS+=$(with_dlopen)
+ endif
+ endif
+
diff --git a/dev-libs/xplc/metadata.xml b/dev-libs/xplc/metadata.xml
new file mode 100644
index 000000000000..d151eb9a26d0
--- /dev/null
+++ b/dev-libs/xplc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <longdescription>cross platform lightweight components library for C++</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">xplc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/xplc/xplc-0.3.13-r1.ebuild b/dev-libs/xplc/xplc-0.3.13-r1.ebuild
new file mode 100644
index 000000000000..ae671571b0de
--- /dev/null
+++ b/dev-libs/xplc/xplc-0.3.13-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="cross platform lightweight components library for C++"
+HOMEPAGE="http://xplc.sourceforge.net"
+SRC_URI="mirror://sourceforge/xplc/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc sparc x86"
+IUSE=""
+
+DEPEND="virtual/pkgconfig"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-as-needed.patch"
+
+ #solve conflict with uuidgen utility installed by sys-fs/e2fsprogs (#116699)
+ sed -i -e "s/uuidgen/xplc-uuidgen/g" -e "s/uuidcdef/xplc-uuidcdef/g" \
+ uuid/{rules.mk,vars.mk} config/rules.mk \
+ uuid/bin/*.1 include/xplc/*.h && \
+ mv uuid/bin/uuidgen.1 uuid/bin/xplc-uuidgen.1 &&
+ mv uuid/bin/uuidgen.c uuid/bin/xplc-uuidgen.c ||
+ die "uuidgen rename failed"
+}
+
+src_test() {
+ make tests || die "at least one test has failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dosym /usr/lib/pkgconfig/${P}.pc /usr/lib/pkgconfig/${PN}.pc
+ dodoc LICENSE README NEWS CREDITS
+}
diff --git a/dev-libs/xqilla/Manifest b/dev-libs/xqilla/Manifest
new file mode 100644
index 000000000000..cc91e6fe0443
--- /dev/null
+++ b/dev-libs/xqilla/Manifest
@@ -0,0 +1,2 @@
+DIST XQilla-2.2.4.tar.gz 15667750 SHA256 f39f8d11bca67ded2036d543bb6780ebeeee5b5723d75f067f256ae26516854b SHA512 2071377519846d131fc7dc5b97ddf653763e898921490278200be1be48464d67e6466af2a447b266f952a2af2b1eac2febc33c0d4aca0cbefe9672ced42d5f14 WHIRLPOOL ccf294529721035d8995438a905c401c7de43e3f72c7ed27b8b0d347a818459a784b37e3f84ebc221b2583959a869b8d6d76d694a1b1e5318ba9eff53229c53a
+DIST XQilla-2.3.0.tar.gz 7409736 SHA256 60e163cbbbe2900f999ee863bfa5a63d913b1d6e2ea17376302d565d2e9e1bc7 SHA512 cd9b8ce8f44b307ea17ed8d2507d811eca6c69a425341bea568719ef3468840f713f4e5fc3abf61e27cdcc01c2c834fb3745730bb2244777388f293c9d2723ac WHIRLPOOL 6ec8c0b8d88087b813071138c5652bd6cd31664108c06f34b0a80b3ab3c987332106a4e60c18c43fa6798f0ace1756945d7a0c4c6849e4a3b816736e8afcb586
diff --git a/dev-libs/xqilla/files/2.2.4-respect-ldflags-no-rpath.patch b/dev-libs/xqilla/files/2.2.4-respect-ldflags-no-rpath.patch
new file mode 100644
index 000000000000..5188617c2585
--- /dev/null
+++ b/dev-libs/xqilla/files/2.2.4-respect-ldflags-no-rpath.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.am b/Makefile.am
+index 1c08992..ffeb840 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = foreign dist-zip
+ SUBDIRS = include
+
+ INCLUDES = -I$(top_srcdir)/include/ $(xerces_include) -I$(top_srcdir)/src/lexer/ $(faxpp_include) $(tidy_include)
+-LDFLAGS = -L$(xerces_lib) -R$(xerces_lib) $(faxpp_lib) $(tidy_lib) -lxerces-c $(faxpp_library) $(tidy_library)
++LDFLAGS += -L$(xerces_lib) $(faxpp_lib) $(tidy_lib) -lxerces-c $(faxpp_library) $(tidy_library)
+ LDADD = libxqilla.la
+ ACLOCAL_AMFLAGS = -I autotools/m4
+
diff --git a/dev-libs/xqilla/files/xqilla-2.2.4-gcc46.patch b/dev-libs/xqilla/files/xqilla-2.2.4-gcc46.patch
new file mode 100644
index 000000000000..d64a28d73ce0
--- /dev/null
+++ b/dev-libs/xqilla/files/xqilla-2.2.4-gcc46.patch
@@ -0,0 +1,11 @@
+diff -uNr XQilla-2.2.4.ORIG/include/xqilla/framework/XPath2MemoryManager.hpp XQilla-2.2.4/include/xqilla/framework/XPath2MemoryManager.hpp
+--- XQilla-2.2.4.ORIG/include/xqilla/framework/XPath2MemoryManager.hpp 2011-09-24 13:31:20.666469427 +0100
++++ XQilla-2.2.4/include/xqilla/framework/XPath2MemoryManager.hpp 2011-09-24 13:32:01.175470668 +0100
+@@ -23,6 +23,7 @@
+ #define __XPATH2MEMORYMANAGER_HPP
+
+ #include <algorithm>
++#include <cstddef>
+ #include <assert.h>
+
+ #include <xqilla/framework/XQillaExport.hpp>
diff --git a/dev-libs/xqilla/files/xqilla-2.2.4-gcc47.patch b/dev-libs/xqilla/files/xqilla-2.2.4-gcc47.patch
new file mode 100644
index 000000000000..d7f5cde5993e
--- /dev/null
+++ b/dev-libs/xqilla/files/xqilla-2.2.4-gcc47.patch
@@ -0,0 +1,15 @@
+Fix build failure with GCC 4.7.
+https://bugs.gentoo.org/441800
+
+
+--- a/src/items/DatatypeFactoryTemplate.hpp
++++ b/src/items/DatatypeFactoryTemplate.hpp
+@@ -79,7 +79,7 @@ public:
+ AnyAtomicType::Ptr createInstance(const XMLCh* value,
+ const DynamicContext* context) const
+ {
+- return createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(),
++ return this->createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(),
+ DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeName(), value, context);
+ }
+
diff --git a/dev-libs/xqilla/metadata.xml b/dev-libs/xqilla/metadata.xml
new file mode 100644
index 000000000000..af34b3930505
--- /dev/null
+++ b/dev-libs/xqilla/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <use>
+ <flag name="faxpp">Use <pkg>dev-libs/faxpp</pkg> instead of Xerces-C for
+ certain tasks</flag>
+ <flag name="htmltidy">Use <pkg>app-text/htmltidy</pkg> when parsing
+ HTML</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">xqilla</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/xqilla/xqilla-2.2.4.ebuild b/dev-libs/xqilla/xqilla-2.2.4.ebuild
new file mode 100644
index 000000000000..bcca10ee4005
--- /dev/null
+++ b/dev-libs/xqilla/xqilla-2.2.4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+inherit autotools base
+
+MY_P="XQilla-${PV}"
+
+DESCRIPTION="An XQuery and XPath 2 library and command line utility written in C++"
+HOMEPAGE="http://xqilla.sourceforge.net/HomePage"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples faxpp htmltidy"
+
+# XQilla bundles two libraries:
+# - mapm, heavily patched
+# - yajl, moderately patched
+# There's currently no way to unbundle those
+
+RDEPEND=">=dev-libs/xerces-c-3.1.0
+ faxpp? ( dev-libs/faxpp )
+ htmltidy? ( app-text/htmltidy )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-respect-ldflags-no-rpath.patch"
+ "${FILESDIR}/${P}-gcc46.patch"
+ "${FILESDIR}/${P}-gcc47.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-xerces=/usr \
+ $(use_enable debug) \
+ $(use_with htmltidy tidy) \
+ $(use_with faxpp faxpp /usr)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ emake docs || die "emake docs failed"
+ emake devdocs || die "emake devdocs failed"
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake docs failed"
+
+ dodoc ChangeLog TODO
+
+ if use doc; then
+ cd docs
+ dohtml -r dev-api dom3-api simple-api
+ fi
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r "${S}"/src/samples/*
+ fi
+}
diff --git a/dev-libs/xqilla/xqilla-2.3.0.ebuild b/dev-libs/xqilla/xqilla-2.3.0.ebuild
new file mode 100644
index 000000000000..fc1a8a735f72
--- /dev/null
+++ b/dev-libs/xqilla/xqilla-2.3.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools base
+
+MY_P="XQilla-${PV}"
+
+DESCRIPTION="An XQuery and XPath 2 library and command line utility written in C++"
+HOMEPAGE="http://xqilla.sourceforge.net/HomePage"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples faxpp htmltidy static-libs"
+
+# XQilla bundles two libraries:
+# - mapm, heavily patched
+# - yajl, moderately patched
+# There's currently no way to unbundle those
+
+RDEPEND=">=dev-libs/xerces-c-3.1.1
+ faxpp? ( dev-libs/faxpp )
+ htmltidy? ( app-text/htmltidy )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/2.2.4-respect-ldflags-no-rpath.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-xerces="${EPREFIX}"/usr \
+ $(use_enable debug) \
+ $(use_with htmltidy tidy /usr) \
+ $(use_with faxpp faxpp /usr) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ emake docs || die "emake docs failed"
+ emake devdocs || die "emake devdocs failed"
+ fi
+}
+
+src_install () {
+ default
+
+ use static-libs || rm -rf "${ED}"/usr/lib*/*.la
+
+ if use doc; then
+ cd docs
+ dohtml -r dev-api dom3-api simple-api
+ fi
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r "${S}"/src/samples/*
+ fi
+}
diff --git a/dev-libs/xxl/Manifest b/dev-libs/xxl/Manifest
new file mode 100644
index 000000000000..58c0e53dc615
--- /dev/null
+++ b/dev-libs/xxl/Manifest
@@ -0,0 +1 @@
+DIST xxl-1.0.1.tar.gz 456048 SHA256 7decbada52dabb0f7298b36982371c7ba4d817b281797498d0515ec2440b20f9 SHA512 fd7d16ed3a077f5c0d938e7ecf0357fbfa5c63ade835ef6e0672c032542db9aa921f8a14ffdff88c2df09700e0868e818ffc240a9f21d75571682295a407ca71 WHIRLPOOL c2ce9290869ff7865070ad60551121034a1faa7bf61db5c1acb879d1a1f7452af8c69b5a45caabe6280505b5b659367d40fed154f112cdf481fb6ce1f7197904
diff --git a/dev-libs/xxl/files/xxl-1.0.1-nested-exception.patch b/dev-libs/xxl/files/xxl-1.0.1-nested-exception.patch
new file mode 100644
index 000000000000..c6d52c5a09d4
--- /dev/null
+++ b/dev-libs/xxl/files/xxl-1.0.1-nested-exception.patch
@@ -0,0 +1,12 @@
+diff -Naur xxl-1.0.1-orig/xxl.c xxl-1.0.1/xxl.c
+--- xxl-1.0.1-orig/xxl.c 2004-12-22 03:42:52.000000000 -0600
++++ xxl-1.0.1/xxl.c 2008-01-17 13:25:18.000000000 -0600
+@@ -380,6 +380,8 @@
+ if (!tsd->contexts)
+ die("XXL: Exception thrown with no handler to catch it!\n");
+ tsd->contexts->exception = *exception;
++ how=XXL_SETJMP_TRY;
++ tsd->contexts->state |= XXL_STATE_THROWN;
+ xxl_leave_handler(how);
+ return;
+ }
diff --git a/dev-libs/xxl/metadata.xml b/dev-libs/xxl/metadata.xml
new file mode 100644
index 000000000000..e96e35b1a37c
--- /dev/null
+++ b/dev-libs/xxl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-libs/xxl/xxl-1.0.1-r1.ebuild b/dev-libs/xxl/xxl-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..b223ce77e511
--- /dev/null
+++ b/dev-libs/xxl/xxl-1.0.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="C/C++ library that provides exception handling and asset management"
+HOMEPAGE="http://www.zork.org/xxl/"
+SRC_URI="http://www.zork.org/software/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="threads static-libs"
+
+DOCS=( README )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nested-exception.patch
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable threads)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/xxl/xxl-1.0.1.ebuild b/dev-libs/xxl/xxl-1.0.1.ebuild
new file mode 100644
index 000000000000..25a1f415fab1
--- /dev/null
+++ b/dev-libs/xxl/xxl-1.0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="C/C++ library that provides exception handling and asset management"
+HOMEPAGE="http://www.zork.org/xxl/"
+SRC_URI="http://www.zork.org/software/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-nested-exception.patch
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc README
+}
diff --git a/dev-libs/yajl/Manifest b/dev-libs/yajl/Manifest
new file mode 100644
index 000000000000..d01e72c445d3
--- /dev/null
+++ b/dev-libs/yajl/Manifest
@@ -0,0 +1,3 @@
+DIST yajl-1.0.11.tar.gz 53705 SHA256 1e98e03b927a8ec466baea527647f5e243f56f71bdec48cdab1c875f0f8b96a9 SHA512 6ab0e5052da45be327f1987818037b89b37b382c095a9e64043422425759c4819e46eb6c43919677b6020d10c042d077655ad50809d13733f781bee7db8babf0 WHIRLPOOL 28cf0723b65cbdea8d177d4326322fe24d335fc9ff84482b363f797e622ca9f683b1d21c50e1cb8289ac4895906da833e6229a903431c04691c5fd50aa926f57
+DIST yajl-2.0.3.tar.gz 82544 SHA256 606ee384f288b6ad4f17c9c57b8868f8db525d542790fd1071139c9636e71952 SHA512 cef6e895ad169aac9e729f8bde006367d39456c6c1a62e1984d097f2f237cc5e317ddfef4d90c36242f772c867cee220082313f6d324a57e58a56d3e51ae0f85 WHIRLPOOL e9f3b37358d904f3e0aadad256fa7829b97170af5f9c3c3605c54f216cd1ac7958a281eb39f7e5cf5a0af2dce6120f900c3489ac50eeaef154b7ee4c50dd2d8b
+DIST yajl-2.0.4.tar.gz 82814 SHA256 c19b9691cf15f22e74d903cd06ac9ba5e1e216e6a1b82bfe787c3b48a25bc118 SHA512 ab99fdd6b7e6f7add5530fff2d3ac6171ed3698267016d6cd23449742d36c9d848f065ba920dc2abb934488239e11e4ceda571c05fa472ab5d3f0480e9033a13 WHIRLPOOL ed821d07f5c06e4722d9de9648d4929fe6a5bcc13d2bd3bb6bcddce60a9817612d59f14963cc46b43b002345fc56813230194d997098de77f4d9075cf64dd85b
diff --git a/dev-libs/yajl/files/yajl-2.0.4-pkgconfig_multilib.patch b/dev-libs/yajl/files/yajl-2.0.4-pkgconfig_multilib.patch
new file mode 100644
index 000000000000..4a01848acd49
--- /dev/null
+++ b/dev-libs/yajl/files/yajl-2.0.4-pkgconfig_multilib.patch
@@ -0,0 +1,40 @@
+From 409098e97292aa1698ddff7f34dd8099db41a550 Mon Sep 17 00:00:00 2001
+From: ksergey <inndie@gmail.com>
+Date: Tue, 28 Jan 2014 00:35:36 -0500
+Subject: [PATCH] fixed pkgconfig file path
+
+---
+ src/CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e36b736..27b7c7d 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -30,7 +30,7 @@ ADD_DEFINITIONS(-DYAJL_BUILD)
+ # set up some paths
+ SET (libDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib)
+ SET (incDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/include/yajl)
+-SET (shareDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/share/pkgconfig)
++SET (pkgConfigDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib/pkgconfig)
+
+ # set the output path for libraries
+ SET(LIBRARY_OUTPUT_PATH ${libDir})
+@@ -61,7 +61,7 @@ FILE(MAKE_DIRECTORY ${incDir})
+ # generate build-time source
+ SET(dollar $)
+ CONFIGURE_FILE(api/yajl_version.h.cmake ${incDir}/yajl_version.h)
+-CONFIGURE_FILE(yajl.pc.cmake ${shareDir}/yajl.pc)
++CONFIGURE_FILE(yajl.pc.cmake ${pkgConfigDir}/yajl.pc)
+
+ # copy public headers to output directory
+ FOREACH (header ${PUB_HDRS})
+@@ -82,5 +82,5 @@ IF(NOT WIN32)
+ INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ INSTALL(FILES ${PUB_HDRS} DESTINATION include/yajl)
+ INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl)
+- INSTALL(FILES ${shareDir}/yajl.pc DESTINATION share/pkgconfig)
++ INSTALL(FILES ${pkgConfigDir}/yajl.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+ ENDIF()
+--
+1.8.5.5
diff --git a/dev-libs/yajl/files/yajl-fix_static_linking.patch b/dev-libs/yajl/files/yajl-fix_static_linking.patch
new file mode 100644
index 000000000000..56bf0e737319
--- /dev/null
+++ b/dev-libs/yajl/files/yajl-fix_static_linking.patch
@@ -0,0 +1,24 @@
+diff -urN lloyd-yajl-f4baae0.old//reformatter/CMakeLists.txt lloyd-yajl-f4baae0//reformatter/CMakeLists.txt
+--- lloyd-yajl-f4baae0.old//reformatter/CMakeLists.txt 2010-07-22 00:12:15.000000000 +0200
++++ lloyd-yajl-f4baae0//reformatter/CMakeLists.txt 2011-02-11 19:28:40.006756997 +0100
+@@ -42,7 +42,7 @@
+
+ ADD_EXECUTABLE(json_reformat ${SRCS})
+
+-TARGET_LINK_LIBRARIES(json_reformat yajl_s)
++TARGET_LINK_LIBRARIES(json_reformat yajl)
+
+ # copy the binary into the output directory
+ GET_TARGET_PROPERTY(binPath json_reformat LOCATION)
+diff -urN lloyd-yajl-f4baae0.old//verify/CMakeLists.txt lloyd-yajl-f4baae0//verify/CMakeLists.txt
+--- lloyd-yajl-f4baae0.old//verify/CMakeLists.txt 2010-07-22 00:12:15.000000000 +0200
++++ lloyd-yajl-f4baae0//verify/CMakeLists.txt 2011-02-11 19:28:58.296756998 +0100
+@@ -42,7 +42,7 @@
+
+ ADD_EXECUTABLE(json_verify ${SRCS})
+
+-TARGET_LINK_LIBRARIES(json_verify yajl_s)
++TARGET_LINK_LIBRARIES(json_verify yajl)
+
+ # copy in the binary
+ GET_TARGET_PROPERTY(binPath json_verify LOCATION)
diff --git a/dev-libs/yajl/files/yajl-fix_tests.patch b/dev-libs/yajl/files/yajl-fix_tests.patch
new file mode 100644
index 000000000000..b4a6498ced4c
--- /dev/null
+++ b/dev-libs/yajl/files/yajl-fix_tests.patch
@@ -0,0 +1,15 @@
+diff -urN lloyd-yajl-9c15d72.old/test/run_tests.sh lloyd-yajl-9c15d72//test/run_tests.sh
+--- lloyd-yajl-9c15d72.old/test/run_tests.sh 2010-04-04 23:59:51.000000000 +0200
++++ lloyd-yajl-9c15d72//test/run_tests.sh 2010-04-05 00:00:26.000000000 +0200
+@@ -8,9 +8,9 @@
+ # find test binary on both platforms. allow the caller to force a
+ # particular test binary (useful for non-cmake build systems).
+ if [ -z "$testBin" ]; then
+- testBin="../build/test/Debug/yajl_test.exe"
++ testBin="./yajl_test.exe"
+ if [[ ! -x $testBin ]] ; then
+- testBin="../build/test/yajl_test"
++ testBin="./yajl_test"
+ if [[ ! -x $testBin ]] ; then
+ echo "cannot execute test binary: '$testBin'"
+ exit 1;
diff --git a/dev-libs/yajl/metadata.xml b/dev-libs/yajl/metadata.xml
new file mode 100644
index 000000000000..429319866423
--- /dev/null
+++ b/dev-libs/yajl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>ruby</herd>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lloyd/yajl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/yajl/yajl-1.0.11-r1.ebuild b/dev-libs/yajl/yajl-1.0.11-r1.ebuild
new file mode 100644
index 000000000000..18c520cd462b
--- /dev/null
+++ b/dev-libs/yajl/yajl-1.0.11-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib vcs-snapshot
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-fix_tests.patch
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_test() {
+ emake test
+}
diff --git a/dev-libs/yajl/yajl-1.0.11.ebuild b/dev-libs/yajl/yajl-1.0.11.ebuild
new file mode 100644
index 000000000000..d1894efc3e61
--- /dev/null
+++ b/dev-libs/yajl/yajl-1.0.11.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit cmake-utils
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86"
+
+IUSE=""
+
+CMAKE_IN_SOURCE_BUILD="1"
+
+src_prepare() {
+ cd "${WORKDIR}"/lloyd-${PN}-*
+ S=$(pwd)
+
+ epatch "${FILESDIR}"/${PN}-fix_tests.patch
+}
+
+src_test() {
+ emake test
+}
diff --git a/dev-libs/yajl/yajl-2.0.3.ebuild b/dev-libs/yajl/yajl-2.0.3.ebuild
new file mode 100644
index 000000000000..3921a6213b0b
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit base cmake-utils
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-fix_static_linking.patch
+)
+
+src_unpack() {
+ unpack ${A}
+ mv "${WORKDIR}"/lloyd-${PN}-* "${S}"
+}
+
+src_test() {
+ emake -C "${CMAKE_BUILD_DIR}" test
+}
+
+src_install() {
+ cmake-utils_src_install
+}
diff --git a/dev-libs/yajl/yajl-2.0.4-r1.ebuild b/dev-libs/yajl/yajl-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..4abe1e8429e1
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.0.4-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit base cmake-multilib
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-fix_static_linking.patch
+)
+
+src_unpack() {
+ unpack ${A}
+ mv "${WORKDIR}"/lloyd-${PN}-* "${S}"
+}
+
+src_test() {
+ emake -C ${CMAKE_BUILD_DIR} test
+}
diff --git a/dev-libs/yajl/yajl-2.0.4-r2.ebuild b/dev-libs/yajl/yajl-2.0.4-r2.ebuild
new file mode 100644
index 000000000000..05092a0f10cc
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.0.4-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils cmake-multilib vcs-snapshot
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-fix_static_linking.patch
+
+ multilib_copy_sources
+}
+
+src_test() {
+ run_test() {
+ cd "${BUILD_DIR}"/test
+ ./run_tests.sh ./yajl_test || die
+ }
+ multilib_parallel_foreach_abi run_test
+}
+
+src_install() {
+ cmake-multilib_src_install
+
+ use static-libs || \
+ find "${D}" -name libyajl_s.a -delete
+}
diff --git a/dev-libs/yajl/yajl-2.0.4-r3.ebuild b/dev-libs/yajl/yajl-2.0.4-r3.ebuild
new file mode 100644
index 000000000000..1bc8495b7b30
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.0.4-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils cmake-multilib vcs-snapshot
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="http://lloyd.github.com/yajl/"
+SRC_URI="http://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-fix_static_linking.patch \
+ "${FILESDIR}"/${P}-pkgconfig_multilib.patch
+
+ multilib_copy_sources
+}
+
+src_test() {
+ run_test() {
+ cd "${BUILD_DIR}"/test
+ ./run_tests.sh ./yajl_test || die
+ }
+ multilib_parallel_foreach_abi run_test
+}
+
+src_install() {
+ cmake-multilib_src_install
+
+ use static-libs || \
+ find "${D}" -name libyajl_s.a -delete
+}
diff --git a/dev-libs/yaz/Manifest b/dev-libs/yaz/Manifest
new file mode 100644
index 000000000000..2e0a4c935784
--- /dev/null
+++ b/dev-libs/yaz/Manifest
@@ -0,0 +1,4 @@
+DIST yaz-3.0.50.tar.gz 2123168 SHA256 f94b69d232159f56a16c2b66b545a441d6a0f240ac188aa677762b9055b4f374 SHA512 902c7f7cf1265744c1174b2d7860d2fbc09ed3b6ae3da57eb6caf080dfc5cc1265ce4ec7d8e3d215dc3ba7fc88d8d78ecaa808cf11d38393b5d6253e809b3eae WHIRLPOOL cb5150c63024b61832d3298be21fd153c869af5ccff92267c5b497b7ba46d57f949e751ce17ca0f97e0092a9c85a225292c9f07b5a859246b915e408f07591dc
+DIST yaz-3.0.53.tar.gz 2164681 SHA256 2e66707d62ae431a7fecc1822429dca249f22655215b5d2f94aa098a52af1149 SHA512 537d54757e401c1b29ad2120209b2cd038f26ff7f43ffc3c1e22808e12a1580aedee3880478e951fd4b3057ca9af4a34afa2a64c0b8ffcbec24f76deb83ddc89 WHIRLPOOL 5acaafa5d943ebb7f77f24c42172338cba713c0022b28c865be162cac24d0234c8b4f513d28e07d0fc414144ed8ab0d7ad84ca5c3d76b899015a9ba4786848f8
+DIST yaz-4.2.30.tar.gz 2377546 SHA256 3e0afe656d63f062de16f53d2ed51853933f29e675d19c966513327cfd8cd1f8 SHA512 a3ab0fba3b318c5de7693fa8a54c20edf257c3766fc24bb8e4bc45b781489ac24d659fe602b25767f38535a06e52bd58176b775c5e7f55a1d499975f6494e2f8 WHIRLPOOL 2299e93e1ca52f76e793c54764b74df81a251cade6b9af6a60abcbd8dfcab38bf10d91d14cda88d8cf020cc61a4d0a673a9e920feafafb9c9077b65871a51484
+DIST yaz-4.2.51.tar.gz 2429046 SHA256 1698ca384df0b435eed752be5e788749ca7171666f20aba30b2024f44f70aad1 SHA512 43907e60af63e3bc883cfc638a7aa42719332df2e6ee3eca45f41dd12ea989ccbb8aff54afd17d2b9ff722aeda5ccb852b79510698296cabdb9226afd7a8c2e7 WHIRLPOOL 20a36d19e9b410458f144d8ab0596be3d6461cf830d980bb8160286d3a6ca627363eebb889518b5083a65142bde54f740fbf70fb64ba2704c9374214981694dd
diff --git a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch b/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
new file mode 100644
index 000000000000..a0aedfe05105
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
@@ -0,0 +1,25 @@
+--- yaz-3.0.47/configure.ac.orig 2009-07-08 04:58:43.000000000 -0700
++++ yaz-3.0.47/configure.ac 2009-07-31 01:46:21.764545198 -0700
+@@ -367,14 +367,14 @@
+
+ dnl
+ dnl
+-AC_CHECK_ICU([3.4],[
+- if test "$xml_enabled" = "true"; then
+- ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"
+- else
+- ICU_CPPFLAGS=""
+- AC_MSG_WARN([ICU support disabled because XML support is unavailable])
+- fi
+-])
++dnl ------ ICU
++AC_ARG_ENABLE(icu, [ --enable-icu enable ICU support],[enable_icu=$enableval],[enable_icu=no])
++if test "$enable_icu" = "yes"; then
++ AC_CHECK_ICU([3.4],[
++ ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"],[
++ AC_MSG_ERROR([For ICU support please install libicu34-dev or similar])
++ ])
++fi
+ dnl
+ dnl ------ Memory debugging
+ AC_ARG_ENABLE([memdebug],[ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none])
diff --git a/dev-libs/yaz/files/yaz-4.2.30-icu-automagic.patch b/dev-libs/yaz/files/yaz-4.2.30-icu-automagic.patch
new file mode 100644
index 000000000000..e6854448b513
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-4.2.30-icu-automagic.patch
@@ -0,0 +1,25 @@
+diff -Nuar yaz-4.2.30.orig/configure.ac yaz-4.2.30/configure.ac
+--- yaz-4.2.30.orig/configure.ac 2012-03-23 10:20:20.000000000 +0000
++++ yaz-4.2.30/configure.ac 2012-04-22 20:56:41.118691087 +0000
+@@ -372,14 +372,13 @@
+
+ dnl
+ dnl
+-AC_CHECK_ICU([3.4],[
+- if test "$xml_enabled" = "true"; then
+- ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"
+- else
+- ICU_CPPFLAGS=""
+- AC_MSG_WARN([ICU support disabled because XML support is unavailable])
+- fi
+-])
++AC_ARG_ENABLE(icu, [ --enable-icu enable ICU support],[enable_icu=$enableval],[enable_icu=no])
++if test "$enable_icu" = "yes"; then
++ AC_CHECK_ICU([3.4],[
++ ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"],[
++ AC_MSG_ERROR([For ICU support please install libicu34-dev or similar])
++ ])
++fi
+ dnl ------ versioning
+ dnl
+ WIN_FILEVERSION=`echo $PACKAGE_VERSION | $AWK 'BEGIN { FS = "."; } { m = $4; printf("%d,%d,%d,%d", $1, $2, $3 == "" ? "0" : $3, $4 == "" ? "1" : $4);}'`
diff --git a/dev-libs/yaz/metadata.xml b/dev-libs/yaz/metadata.xml
new file mode 100644
index 000000000000..fe6745443ea3
--- /dev/null
+++ b/dev-libs/yaz/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+</maintainer>
+<use>
+ <flag name='ziffy'>Install ziffy, a promiscuous Z39.50 APDU sniffer</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-libs/yaz/yaz-3.0.50.ebuild b/dev-libs/yaz/yaz-3.0.50.ebuild
new file mode 100644
index 000000000000..1185a412a9a0
--- /dev/null
+++ b/dev-libs/yaz/yaz-3.0.50.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools
+
+DESCRIPTION="C/C++ programmer's toolkit supporting the development of Z39.50v3 clients and servers"
+HOMEPAGE="http://www.indexdata.dk/yaz"
+SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="debug icu tcpd ziffy"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/openssl
+ icu? ( dev-libs/icu )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/tcl:0
+ >=sys-devel/libtool-2"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-static \
+ --enable-shared \
+ $(use_enable debug memdebug) \
+ $(use_enable icu) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
+
+ dodir ${docdir}/html
+ mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${D}"/usr/share/doc/${PN}
+
+ dodoc ChangeLog NEWS README
+}
diff --git a/dev-libs/yaz/yaz-3.0.53.ebuild b/dev-libs/yaz/yaz-3.0.53.ebuild
new file mode 100644
index 000000000000..9fdd73c01890
--- /dev/null
+++ b/dev-libs/yaz/yaz-3.0.53.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools
+
+DESCRIPTION="C/C++ programmer's toolkit supporting the development of Z39.50v3 clients and servers"
+HOMEPAGE="http://www.indexdata.dk/yaz"
+SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="debug icu tcpd ziffy"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/openssl
+ icu? ( dev-libs/icu )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/tcl:0
+ >=sys-devel/libtool-2"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-static \
+ --enable-shared \
+ $(use_enable debug memdebug) \
+ $(use_enable icu) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
+
+ dodir ${docdir}/html
+ mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${D}"/usr/share/doc/${PN}
+
+ dodoc ChangeLog NEWS README
+}
diff --git a/dev-libs/yaz/yaz-4.2.30.ebuild b/dev-libs/yaz/yaz-4.2.30.ebuild
new file mode 100644
index 000000000000..a2a7d782a9d1
--- /dev/null
+++ b/dev-libs/yaz/yaz-4.2.30.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools
+
+DESCRIPTION="C/C++ programmer's toolkit supporting the development of Z39.50v3 clients and servers"
+HOMEPAGE="http://www.indexdata.dk/yaz"
+SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="debug icu tcpd ziffy"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/openssl
+ icu? ( dev-libs/icu )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/tcl:0
+ >=sys-devel/libtool-2"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.2.30-icu-automagic.patch
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-static \
+ --enable-shared \
+ $(use_enable debug memdebug) \
+ $(use_enable icu) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
+
+ dodir ${docdir}/html
+ mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${D}"/usr/share/doc/${PN}
+
+ dodoc ChangeLog NEWS README
+}
diff --git a/dev-libs/yaz/yaz-4.2.51.ebuild b/dev-libs/yaz/yaz-4.2.51.ebuild
new file mode 100644
index 000000000000..a2a7d782a9d1
--- /dev/null
+++ b/dev-libs/yaz/yaz-4.2.51.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools
+
+DESCRIPTION="C/C++ programmer's toolkit supporting the development of Z39.50v3 clients and servers"
+HOMEPAGE="http://www.indexdata.dk/yaz"
+SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="debug icu tcpd ziffy"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/openssl
+ icu? ( dev-libs/icu )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/tcl:0
+ >=sys-devel/libtool-2"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.2.30-icu-automagic.patch
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-static \
+ --enable-shared \
+ $(use_enable debug memdebug) \
+ $(use_enable icu) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
+
+ dodir ${docdir}/html
+ mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${D}"/usr/share/doc/${PN}
+
+ dodoc ChangeLog NEWS README
+}
diff --git a/dev-libs/zthread/Manifest b/dev-libs/zthread/Manifest
new file mode 100644
index 000000000000..83ec03e9eaf7
--- /dev/null
+++ b/dev-libs/zthread/Manifest
@@ -0,0 +1 @@
+DIST ZThread-2.3.2.tar.gz 412527 SHA256 950908b7473ac10abb046bd1d75acb5934344e302db38c2225b7a90bd1eda854 SHA512 e17e12746d16f32f6f1dc8ec041795f3c05a541c015b9579252599b51de9f97dc780946e6e83b41ca78d1af892455e6f00169a089f6e1a7c3196d6a4f49a7f7b WHIRLPOOL c5ceca4639b26a86936ff49e781737b9b7e59abcd0ececa5a0799b01460a23c88c18c84027dcdbf16cd5c98549dfceba3a4d30a71c0052f8ffdbe0a824e2c254
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
new file mode 100644
index 000000000000..bcd9e0675979
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
@@ -0,0 +1,75 @@
+From 577b34b74b7a73650d906f371044bfaed6e8b74c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
+Date: Tue, 19 Feb 2013 10:13:12 +0100
+Subject: [PATCH] Use standard automake rules rather than hand coding the
+ install rules and append linker flags to LDFLAGS and not LDADD, otherwise
+ --as-needed gets ignored (and possibly others).
+
+---
+ Makefile.am | 21 +++++----------------
+ configure.ac | 1 -
+ src/Makefile.am | 2 --
+ 3 files changed, 5 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6c092cf..2d7bddf 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,24 +24,13 @@ LICENSE \
+ MIT.TXT \
+ depcomp
+
++bin_SCRIPTS = share/zthread-config
+
+-## install the config script
+-install-exec-hook:
+- $(mkinstalldirs) $(bindir)
+- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
++aclocaldir = $(datadir)/aclocal
++aclocal_DATA = share/zthread.m4 share/pthread.m4
+
+-## install the config script & m4 macros
+-install-data-hook:
+- $(mkinstalldirs) $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
+- mkdir -p $(DESTDIR)$(includedir)/zthread
+- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
+-
+-## uninstall the config script & m4 macros
+-uninstall-local:
+- -rm -rf $(datadir)/aclocal/pthread.m4
+- -rm -rf $(datadir)/aclocal/zthread.m4
++zincludedir = $(includedir)/zthread
++zinclude_HEADERS = include/zthread/*.h
+
+ distclean-local:
+ -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
+diff --git a/configure.ac b/configure.ac
+index 866041b..5d32a58 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -226,7 +226,6 @@ AC_TRY_LINK( [#include <windows.h>], [_beginthreadex((void*)0, 0, 0, (void*)0, 0
+
+ dnl Configure the final compiler & linker options
+ COMPILER_OPTIONS="$COMPILER_OPTIONS $CXXFLAGS"
+-LINKER_OPTIONS="$LINKER_OPTIONS $LDFLAGS"
+
+ dnl Configured flags for compiling ZThreads
+ AC_SUBST(LINKER_OPTIONS)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 04404d6..35dc764 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -21,8 +21,6 @@ AM_CXXFLAGS = @COMPILER_OPTIONS@ @EXTRA_COMPILER_OPTIONS@
+ INCLUDES = -I$(top_srcdir)/include
+ SUBDIRS=.
+
+-libdir=$(prefix)/lib
+-
+ lib_LTLIBRARIES = libZThread.la
+
+ libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
+--
+1.8.1.1
+
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake.patch b/dev-libs/zthread/files/zthread-2.3.2-automake.patch
new file mode 100644
index 000000000000..f2eae68c505b
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-automake.patch
@@ -0,0 +1,45 @@
+use standard automake rules rather than hand coding the install rules
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,24 +24,13 @@
+ MIT.TXT \
+ depcomp
+
++bin_SCRIPTS = share/zthread-config
+
+-## install the config script
+-install-exec-hook:
+- $(mkinstalldirs) $(bindir)
+- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
++aclocaldir = $(datadir)/aclocal
++aclocal_DATA = share/zthread.m4 share/pthread.m4
+
+-## install the config script & m4 macros
+-install-data-hook:
+- $(mkinstalldirs) $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
+- mkdir -p $(DESTDIR)$(includedir)/zthread
+- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
+-
+-## uninstall the config script & m4 macros
+-uninstall-local:
+- -rm -rf $(datadir)/aclocal/pthread.m4
+- -rm -rf $(datadir)/aclocal/zthread.m4
++zincludedir = $(includedir)/zthread
++zinclude_HEADERS = include/zthread/*.h
+
+ distclean-local:
+ -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -21,8 +21,6 @@
+ INCLUDES = -I$(top_srcdir)/include
+ SUBDIRS=.
+
+-libdir=$(prefix)/lib
+-
+ lib_LTLIBRARIES = libZThread.la
+
+ libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
diff --git a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
new file mode 100644
index 000000000000..57b122d22c5f
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
@@ -0,0 +1,25 @@
+Description: Make sure to use qualified lookups.
+http://bugs.debian.org/667430
+https://bugs.gentoo.org/show_bug.cgi?id=414133
+
+Author: Cyril Brulebois <kibi@debian.org>
+--- a/include/zthread/Guard.h
++++ b/include/zthread/Guard.h
+@@ -428,7 +428,7 @@
+ template <class U, class V>
+ Guard(Guard<U, V>& g) : LockHolder<LockType>(g) {
+
+- LockingPolicy::shareScope(*this, extract(g));
++ LockingPolicy::shareScope(*this, this->extract(g));
+
+ }
+
+@@ -458,7 +458,7 @@
+ template <class U, class V>
+ Guard(Guard<U, V>& g, LockType& lock) : LockHolder<LockType>(lock) {
+
+- LockingPolicy::transferScope(*this, extract(g));
++ LockingPolicy::transferScope(*this, this->extract(g));
+
+ }
+
diff --git a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
new file mode 100644
index 000000000000..72163a3b12a3
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
@@ -0,0 +1,26 @@
+fix m4 warnings:
+zthread.m4:34: warning: underquoted definition of AM_PATH_ZTHREAD
+pthread.m4:39: warning: underquoted definition of AM_DETECT_PTHREAD
+
+--- a/share/zthread.m4
++++ b/share/zthread.m4
+@@ -31,7 +31,7 @@
+ dnl ZTHREAD_CXXFLAGS
+ dnl ZTHREAD_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_ZTHREAD,
++AC_DEFUN([AM_PATH_ZTHREAD],
+ [
+
+
+--- a/share/pthread.m4
++++ b/share/pthread.m4
+@@ -36,7 +36,7 @@
+ GNU Pth can also be used if it was configured with --enable-pthread.
+ EOF
+
+-AC_DEFUN(AM_DETECT_PTHREAD,
++AC_DEFUN([AM_DETECT_PTHREAD],
+ [
+
+ pthread_explicit="no"
diff --git a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff
new file mode 100644
index 000000000000..21fad7c52c8e
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff
@@ -0,0 +1,94 @@
+--- include/zthread/Guard.h.orig 2008-07-22 14:46:28.000000000 +0200
++++ include/zthread/Guard.h 2008-07-22 14:51:41.000000000 +0200
+@@ -491,7 +491,7 @@
+
+ try {
+
+- if(!isDisabled())
++ if(!LockHolder<LockType>::isDisabled())
+ LockingPolicy::destroyScope(*this);
+
+ } catch (...) { /* ignore */ }
+--- src/MutexImpl.h.orig 2008-07-22 14:54:40.000000000 +0200
++++ src/MutexImpl.h 2008-07-22 15:03:30.000000000 +0200
+@@ -153,7 +153,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List,Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -164,7 +164,7 @@
+ _waiters.insert(self);
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>::waiterArrived(self);
+
+ {
+
+@@ -173,7 +173,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -192,7 +192,7 @@
+ assert(_owner == 0);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -236,7 +236,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -253,7 +253,7 @@
+
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>:: waiterArrived(self);
+
+ {
+
+@@ -262,7 +262,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -284,7 +284,7 @@
+ assert(0 == _owner);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -326,7 +326,7 @@
+
+ _owner = 0;
+
+- ownerReleased(impl);
++ MutexImpl<List, Behavior>::ownerReleased(impl);
+
+ // Try to find a waiter with a backoff & retry scheme
+ for(;;) {
diff --git a/dev-libs/zthread/metadata.xml b/dev-libs/zthread/metadata.xml
new file mode 100644
index 000000000000..a0ea0d126771
--- /dev/null
+++ b/dev-libs/zthread/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">zthread</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zthread/zthread-2.3.2-r1.ebuild b/dev-libs/zthread/zthread-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..82b4a7e8e63e
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools
+
+MY_P=ZThread-${PV}
+
+DESCRIPTION="A platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc sparc x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch "${FILESDIR}"/${P}-no-fpermissive.diff
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ emake || die
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/zthread.css doc/html/zthread.css || die
+ cp doc/bugs.js doc/html/bugs.js || die
+ fi
+}
+
+src_install() {
+ einstall || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ use doc && dohtml doc/html/*
+
+ find "${D}" -name '*.la' -delete
+}
diff --git a/dev-libs/zthread/zthread-2.3.2-r2.ebuild b/dev-libs/zthread/zthread-2.3.2-r2.ebuild
new file mode 100644
index 000000000000..4ec42fad9a37
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils autotools
+
+MY_P=ZThread-${PV}
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch "${FILESDIR}"/${P}-no-fpermissive.diff
+ epatch "${FILESDIR}"/${P}-m4-quote.patch
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ # Autoconf does not support --disable-debug properly.
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/zthread.css doc/html/zthread.css || die
+ cp doc/bugs.js doc/html/bugs.js || die
+ fi
+}
+
+src_install() {
+ emake install DESTDIR="${ED}"
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ use doc && dohtml doc/html/*
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/zthread/zthread-2.3.2-r3.ebuild b/dev-libs/zthread/zthread-2.3.2-r3.ebuild
new file mode 100644
index 000000000000..9f0a6df9d634
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils autotools
+
+MY_P="ZThread-${PV}"
+
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc sparc x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch \
+ "${FILESDIR}"/${P}-no-fpermissive.diff \
+ "${FILESDIR}"/${P}-m4-quote.patch \
+ "${FILESDIR}"/${P}-automake-r2.patch \
+ "${FILESDIR}"/${P}-gcc47.patch
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467778
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ # Autoconf does not support --disable-debug properly.
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ sed -i -e 's|href="html/|href="|' doc/documentation.html || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/{zthread.css,bugs.js} doc/html/ || die
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && dohtml doc/html/*
+
+ prune_libtool_files
+}
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
new file mode 100644
index 000000000000..0370d5fabee9
--- /dev/null
+++ b/dev-libs/zziplib/Manifest
@@ -0,0 +1,2 @@
+DIST zziplib-0.13.60.tar.bz2 685418 SHA256 4bc3ca7c5f249280bd6c8d1e96be8a03413dad9063a49c19601bd29ff4910155 SHA512 008fce480997764f21d6113117bb96bf9df2f64f696edf3cfb30f3ee221364ce50eefe49974e001e20c84176ca0c8226fd684968b9e20dbc6aea24bff58251cf WHIRLPOOL 0e92601cd9793bfc3d35cb3332bb66edc69c458695b83e4d74430cc073906ca653f2aa49bfdf00ed42135f238989a014494f109b4442d31a12961da7110bc1f9
+DIST zziplib-0.13.62.tar.bz2 685770 SHA256 a1b8033f1a1fd6385f4820b01ee32d8eca818409235d22caf5119e0078c7525b SHA512 fd3b9e9015ba7603bdebd8f6a2ac6d11003705bfab22f3a0025f75455042664aea69440845b59e6f389417dff5ac777f49541d8cbacb2a220e67d20bb6973e25 WHIRLPOOL 598571c5a2051fba0ede01aed6ada6fa9f9959ed3bc13ad668f9e79a9af9bcfd87090a34036e4b8cd6b5cec47f01848b786aaa8601e9ab2beea063d0190a3108
diff --git a/dev-libs/zziplib/files/zziplib-0.13.49-SDL-test.patch b/dev-libs/zziplib/files/zziplib-0.13.49-SDL-test.patch
new file mode 100644
index 000000000000..410a2c746c95
--- /dev/null
+++ b/dev-libs/zziplib/files/zziplib-0.13.49-SDL-test.patch
@@ -0,0 +1,14 @@
+this test isnt even run automatically and the dependencies are all broken,
+so just disable it and be done
+
+--- SDL/Makefile.in
++++ SDL/Makefile.in
+@@ -38,7 +38,7 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-check_PROGRAMS = zzcatsdl$(EXEEXT)
++check_PROGRAMS =
+ subdir = SDL
+ DIST_COMMON = $(pkgconfig_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
diff --git a/dev-libs/zziplib/files/zziplib-0.13.60-ldflags.patch b/dev-libs/zziplib/files/zziplib-0.13.60-ldflags.patch
new file mode 100644
index 000000000000..3c95ff465dff
--- /dev/null
+++ b/dev-libs/zziplib/files/zziplib-0.13.60-ldflags.patch
@@ -0,0 +1,14 @@
+https://sourceforge.net/tracker/?func=detail&aid=3175466&group_id=6389&atid=306389
+https://bugs.gentoo.org/354051
+
+--- a/configure
++++ b/configure
+@@ -292,7 +292,7 @@
+ # ---------------------------------------------------------------
+ AC_MSG_CHECKING([link options])
+ ZZIPLIB_LDFLAGS=""
+-test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="--export-dynamic"
++test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="-export-dynamic"
+ RESOLVES=" # "
+ case "$host_os" in mingw*)
+ ZZIPLIB_LDFLAGS="-no-undefined -export-all-symbols -mconsole"
diff --git a/dev-libs/zziplib/metadata.xml b/dev-libs/zziplib/metadata.xml
new file mode 100644
index 000000000000..913b769c2ced
--- /dev/null
+++ b/dev-libs/zziplib/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>mr_bones_@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">zziplib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zziplib/zziplib-0.13.60-r1.ebuild b/dev-libs/zziplib/zziplib-0.13.60-r1.ebuild
new file mode 100644
index 000000000000..5c0a9451e990
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.60-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+# PYTHON_BDEPEND="2"
+
+inherit libtool eutils flag-o-matic python
+
+DESCRIPTION="Lightweight library used to easily extract data from files archived in a single zip file"
+HOMEPAGE="http://zziplib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zziplib/${P}.tar.bz2"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc sdl static-libs test"
+
+RDEPEND="sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )"
+DEPEND="${RDEPEND}
+ =dev-lang/python-2*
+ virtual/pkgconfig
+ test? ( app-arch/zip )"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.13.49-SDL-test.patch
+ epatch "${FILESDIR}"/${PN}-0.13.60-ldflags.patch #354051
+
+ # workaround AX_CREATE_PKGCONFIG_INFO bug #353195
+ sed -i \
+ -e '/ax_create_pkgconfig_ldflags/s:$LDFLAGS::' \
+ -e '/ax_create_pkgconfig_cppflags/s:$CPPFLAGS::' \
+ configure || die
+
+ # zziplib tries to install backwards compat symlinks we dont want
+ sed -i -e '/^zzip-postinstall:/s|$|\ndisable-this:|' Makefile.in || die
+ sed -i -e '/^install-exec-hook:/s|$|\ndisable-this:|' zzip/Makefile.in || die
+
+ elibtoolize
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing # bug reported upstream
+ export ac_cv_path_XMLTO= # man pages are bundled in .tar's
+ # Disable aclocal probing as the default path works #449156
+ ACLOCAL=true \
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable sdl) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ # need this because `make test` will always return true
+ # tests fail with -j > 1 (bug #241186)
+ emake -j1 check || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ # fowners fails when we don't have enough permissions (Prefix)
+ if [[ ${EUID} == 0 ]] ; then
+ fowners -R root /usr/share/man || die #321975
+ fi
+
+ if ! use static-libs ; then
+ find "${D}" -type f -name '*.la' -exec rm {} + || die
+ fi
+
+ dodoc ChangeLog README TODO
+
+ if use doc ; then
+ dohtml -r docs/* || die 'dohtml failed'
+ fi
+}
diff --git a/dev-libs/zziplib/zziplib-0.13.62.ebuild b/dev-libs/zziplib/zziplib-0.13.62.ebuild
new file mode 100644
index 000000000000..3577071c6cbc
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.62.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+# PYTHON_BDEPEND="2"
+
+inherit libtool eutils flag-o-matic python
+
+DESCRIPTION="Lightweight library used to easily extract data from files archived in a single zip file"
+HOMEPAGE="http://zziplib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zziplib/${P}.tar.bz2"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc sdl static-libs test"
+
+RDEPEND="sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )"
+DEPEND="${RDEPEND}
+ =dev-lang/python-2*
+ virtual/pkgconfig
+ test? ( app-arch/zip )"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.13.49-SDL-test.patch
+
+ # workaround AX_CREATE_PKGCONFIG_INFO bug #353195
+ sed -i \
+ -e '/ax_create_pkgconfig_ldflags/s:$LDFLAGS::' \
+ -e '/ax_create_pkgconfig_cppflags/s:$CPPFLAGS::' \
+ configure || die
+
+ # zziplib tries to install backwards compat symlinks we dont want
+ sed -i -e '/^zzip-postinstall:/s|$|\ndisable-this:|' Makefile.in || die
+ sed -i -e '/^install-exec-hook:/s|$|\ndisable-this:|' zzip/Makefile.in || die
+
+ elibtoolize
+
+ # Do an out-of-tree build as their configure will do it automatically
+ # otherwise and that can lead to funky errors. #492816
+ mkdir -p build
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ append-flags -fno-strict-aliasing # bug reported upstream
+ export ac_cv_path_XMLTO= # man pages are bundled in .tar's
+
+ # Disable aclocal probing as the default path works #449156
+ ECONF_SOURCE=${S} \
+ ACLOCAL=true \
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable sdl) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake -C build
+}
+
+src_test() {
+ # need this because `make test` will always return true
+ # tests fail with -j > 1 (bug #241186)
+ emake -C build -j1 check
+}
+
+src_install() {
+ emake -C build DESTDIR="${D}" install
+ # fowners fails when we don't have enough permissions (Prefix)
+ if [[ ${EUID} == 0 ]] ; then
+ fowners -R root /usr/share/man #321975
+ fi
+
+ if ! use static-libs ; then
+ find "${D}" -type f -name '*.la' -delete || die
+ fi
+
+ dodoc ChangeLog README TODO
+
+ if use doc ; then
+ dohtml -r docs/*
+ fi
+}