Merge https://github.com/gentoo/gentoo.git
diff --git a/app-accessibility/at-spi2-atk/Manifest b/app-accessibility/at-spi2-atk/Manifest
index 881c14e..1ad490c 100644
--- a/app-accessibility/at-spi2-atk/Manifest
+++ b/app-accessibility/at-spi2-atk/Manifest
@@ -1,3 +1,2 @@
-DIST at-spi2-atk-2.12.1.tar.xz 280568 SHA256 5fa9c527bdec028e06797563cd52d49bcf06f638549df983424d88db89bb1336 SHA512 a7fc3cbc3665741ea6cee716cc68467ed110c0f6425fe418ea0f1b702931e4a07306e48264e9cd160d98c5bf762f076cad66ff2e46690af226ce33146d11aee2 WHIRLPOOL dc84563059d24ae56029989853d9e5a9a8cca5eecbed1227c4e36cd760aed4035beefbb71668221646cbd03057f1e30e44128081e2a6b32cfe48baabf4a631e5
-DIST at-spi2-atk-2.14.1.tar.xz 280952 SHA256 058f34ea60edf0a5f831c9f2bdd280fe95c1bcafb76e466e44aa0fb356d17bcb SHA512 1daee942d3c477444aaa42fb6ede6d821ff9b613f0686dd4a545406c97ceb819a3544419e0cb5d2e661f3a1b6fc92af9394801f3c51377db0ab77620e5c3d437 WHIRLPOOL 75d7e4569eed83df842e363c6203571b7bc26dbfdd71555ead0c1656eb61923817673ce18f8042c4a989a45af956ad9fd85aee5386c8aafb121bf71de99c04c6
 DIST at-spi2-atk-2.16.0.tar.xz 286668 SHA256 78efc45ec36383bf785f8636e64a8d866defeb020e00a08f92978f1fc3772ff9 SHA512 fcd40693e5ef55c640a52158996dc8bc66f53ef211c343cd5401c4bcd1669110ea836e0550eb41caee9c9f3a4f9670095a7dd8252600af943ddcb374bf50f011 WHIRLPOOL 0865cb8bfd62449bf345938a382c2a7d8efd425154e7e674c8097702e6873d98b8d2be8ac841858ba7dce166c2be4e18be1b1daf4fed43f667430ac3eeccebe2
+DIST at-spi2-atk-2.18.1.tar.xz 291676 SHA256 c4b15f9386d34d464ddad5f6cc85669742c016df87141ceee93513245979c12d SHA512 bf4cd26c8130dd3b92817eb7d0e927391039e86b5d4bd579154c219988af263421c2bf7712fd40fe910ea136cdd2226cf71ba527498b68d022fdbc768c09c7ad WHIRLPOOL d3a4afc5df9d3121836248eeb211cd4cbe7799931a08cc3d83baa6f69d71c11da8afe58ec7dcdef21769f60445b8b6a11e5a5694e310974da97a479590506a66
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1-r1.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1-r1.ebuild
deleted file mode 100644
index 0bac50c..0000000
--- a/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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 eutils gnome2 multilib-minimal virtualx
-
-DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE=""
-
-COMMON_DEPEND="
-	>=app-accessibility/at-spi2-core-2.11.2[${MULTILIB_USEDEP}]
-	>=dev-libs/atk-2.11.90[${MULTILIB_USEDEP}]
-	>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
-	>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
-"
-RDEPEND="${COMMON_DEPEND}
-	!<gnome-extra/at-spi-1.32.0-r1
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
-		!app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-multilib_src_configure() {
-	ECONF_SOURCE=${S} \
-	gnome2_src_configure --enable-p2p
-}
-
-multilib_src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	Xemake check
-}
-
-multilib_src_compile() { gnome2_src_compile; }
-multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1.ebuild
deleted file mode 100644
index 0517f40..0000000
--- a/app-accessibility/at-spi2-atk/at-spi2-atk-2.12.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME2_LA_PUNT="yes"
-
-inherit eutils gnome2 virtualx
-
-DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE=""
-
-COMMON_DEPEND="
-	>=app-accessibility/at-spi2-core-2.11.2
-	>=dev-libs/atk-2.11.90
-	>=dev-libs/glib-2.32:2
-	>=sys-apps/dbus-1.5
-"
-RDEPEND="${COMMON_DEPEND}
-	!<gnome-extra/at-spi-1.32.0-r1
-"
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-src_configure() {
-	gnome2_src_configure --enable-p2p
-}
-
-src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	Xemake check
-}
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.14.1.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.14.1.ebuild
deleted file mode 100644
index 3376e9d..0000000
--- a/app-accessibility/at-spi2-atk/at-spi2-atk-2.14.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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 eutils gnome2 multilib-minimal virtualx
-
-DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE=""
-
-COMMON_DEPEND="
-	>=app-accessibility/at-spi2-core-2.11.2[${MULTILIB_USEDEP}]
-	>=dev-libs/atk-2.11.90[${MULTILIB_USEDEP}]
-	>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
-	>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
-"
-RDEPEND="${COMMON_DEPEND}
-	!<gnome-extra/at-spi-1.32.0-r1
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
-		!app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-multilib_src_configure() {
-	ECONF_SOURCE=${S} \
-	gnome2_src_configure --enable-p2p
-}
-
-multilib_src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	Xemake check
-}
-
-multilib_src_compile() { gnome2_src_compile; }
-multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0-r1.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0-r1.ebuild
index c84e5b5..94550d9 100644
--- a/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0-r1.ebuild
+++ b/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0-r1.ebuild
@@ -13,7 +13,7 @@
 
 LICENSE="LGPL-2+"
 SLOT="2"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
 IUSE="test"
 
 COMMON_DEPEND="
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0.ebuild
deleted file mode 100644
index 2d5e220..0000000
--- a/app-accessibility/at-spi2-atk/at-spi2-atk-2.16.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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 eutils gnome2 multilib-minimal virtualx
-
-DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="test"
-
-COMMON_DEPEND="
-	>=app-accessibility/at-spi2-core-2.15.5[${MULTILIB_USEDEP}]
-	>=dev-libs/atk-2.15.4[${MULTILIB_USEDEP}]
-	>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
-	>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
-"
-RDEPEND="${COMMON_DEPEND}
-	!<gnome-extra/at-spi-1.32.0-r1
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
-		!app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig[${MULTILIB_USEDEP}]
-	test? ( >=dev-libs/libxml2-2.9.1 )
-"
-
-multilib_src_configure() {
-	ECONF_SOURCE=${S} \
-	gnome2_src_configure --enable-p2p $(use_with test tests)
-}
-
-multilib_src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	Xemake check
-}
-
-multilib_src_compile() { gnome2_src_compile; }
-multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-atk/at-spi2-atk-2.18.1.ebuild b/app-accessibility/at-spi2-atk/at-spi2-atk-2.18.1.ebuild
new file mode 100644
index 0000000..1a871d8
--- /dev/null
+++ b/app-accessibility/at-spi2-atk/at-spi2-atk-2.18.1.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"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
+HOMEPAGE="https://wiki.gnome.org/Accessibility"
+
+LICENSE="LGPL-2+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+COMMON_DEPEND="
+	>=app-accessibility/at-spi2-core-2.17.90[${MULTILIB_USEDEP}]
+	>=dev-libs/atk-2.15.4[${MULTILIB_USEDEP}]
+	>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
+	>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+	!<gnome-extra/at-spi-1.32.0-r1
+"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig[${MULTILIB_USEDEP}]
+	test? ( >=dev-libs/libxml2-2.9.1 )
+"
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	gnome2_src_configure --enable-p2p $(use_with test tests)
+}
+
+multilib_src_test() {
+	unset DBUS_SESSION_BUS_ADDRESS
+	dbus-run-session -- emake check
+}
+
+multilib_src_compile() { gnome2_src_compile; }
+multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-atk/metadata.xml b/app-accessibility/at-spi2-atk/metadata.xml
index d9f21e6..6949624 100644
--- a/app-accessibility/at-spi2-atk/metadata.xml
+++ b/app-accessibility/at-spi2-atk/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <herd>gnome-accessibility</herd>
+<herd>gnome-accessibility</herd>
 </pkgmetadata>
diff --git a/app-accessibility/at-spi2-core/Manifest b/app-accessibility/at-spi2-core/Manifest
index f8041bb..cd4bae3 100644
--- a/app-accessibility/at-spi2-core/Manifest
+++ b/app-accessibility/at-spi2-core/Manifest
@@ -1,3 +1,3 @@
-DIST at-spi2-core-2.12.0.tar.xz 454668 SHA256 db550edd98e53b4252521459c2dcaf0f3b060a9bad52489b9dbadbaedad3fb89 SHA512 955249568e28441201d0a079e26bd703e21716b9189e372bfa20cda70e1079bbb51f62246cdeb1b914953f448e0432b749d402d723710247f2a1b8b343b37ccc WHIRLPOOL 67870b40b3c0e343b3119bae93b23540f8ab2c71137d033c9b4ee000d28a4c66353dae8a72d815367ac8b291471dd3c21d985a0cdd4c6812e43f95ca1931010a
 DIST at-spi2-core-2.14.1.tar.xz 456272 SHA256 eef9660b14fdf0fb1f30d1be7c72d591fa7cbb87b00ca3a444425712f46ce657 SHA512 263f2353961787b510a22ede6243ebd6f9eba7fe00740b252ba372e78a2b4a20bd6ed1a9f509b2e33342fc5516d1e8b95f886573d51962755e51584771ac86b9 WHIRLPOOL 54d02cd41f1039c3b166c01215d983b768011c99b81831fc3256a4dde66b3a2fbff7b0fafa4958bbce367fee164c5f5c90531de11f57d65a1972af009b5afd62
 DIST at-spi2-core-2.16.0.tar.xz 455264 SHA256 1c0b77fb8ce81abbf1d80c0afee9858b3f9229f673b7881995fe0fc16b1a74d0 SHA512 b61cb6dad15e2a6f6cd4788e6b63fed37d0098a56d1417b43aed2ba111a7dd7fccbe7c393f0be794bcaf900f38decbd3974c36e395548000d429086f8717df57 WHIRLPOOL 556c504ba9aef2e4ad2b63e3b4d0417ce24a49fafd45287cf3d669612c2d23058f3e7b373a69a569d63938a0333b62d5c601e8a0f1f4b78d0252bea4b64ede3e
+DIST at-spi2-core-2.18.3.tar.xz 451408 SHA256 ada26add94155f97d0f601a20cb7a0e3fd3ba1588c3520b7288316494027d629 SHA512 89abc660b49ca690a027709da4e6ed75d84f6c2dae691a0428057da0514f4c7f1f49b946f19c17c6ea402a0f1c9a236921efedb05865756c71beca29a0fbd6f2 WHIRLPOOL eeff01c9859c6e260ac8de5adf3caa69551523c0247659cc657b1885f175120bad7dc69b47b94c9ad78db14fe44011a6caf973a3b053aed64c1cc99dac863ddf
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.12.0-r1.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.12.0-r1.ebuild
deleted file mode 100644
index 4ca83c0..0000000
--- a/app-accessibility/at-spi2-core/at-spi2-core-2.12.0-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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 eutils gnome2 multilib-minimal
-
-DESCRIPTION="D-Bus accessibility specifications and registration daemon"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-IUSE="+X +introspection"
-KEYWORDS="~alpha ~amd64 arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-
-# x11-libs/libSM is needed until upstream #719808 is solved either
-# making the dep unneeded or fixing their configure
-# Only libX11 is optional right now
-COMMON_DEPEND="
-	>=dev-libs/glib-2.36:2[${MULTILIB_USEDEP}]
-	>=sys-apps/dbus-1[${MULTILIB_USEDEP}]
-	x11-libs/libSM[${MULTILIB_USEDEP}]
-	x11-libs/libXi[${MULTILIB_USEDEP}]
-	x11-libs/libXtst[${MULTILIB_USEDEP}]
-	introspection? ( >=dev-libs/gobject-introspection-0.9.6 )
-	X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${COMMON_DEPEND}
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
-		!app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	>=dev-util/gtk-doc-am-1.9
-	>=dev-util/intltool-0.40
-	virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-src_prepare() {
-	# disable teamspaces test since that requires Novell.ICEDesktop.Daemon
-	epatch "${FILESDIR}/${PN}-2.0.2-disable-teamspaces-test.patch"
-
-	gnome2_src_prepare
-}
-
-multilib_src_configure() {
-	# xevie is deprecated/broken since xorg-1.6/1.7
-	ECONF_SOURCE=${S} \
-	gnome2_src_configure \
-		--disable-xevie \
-		$(multilib_native_use_enable introspection) \
-		$(use_enable X x11)
-
-	# work-around gtk-doc out-of-source brokedness
-	if multilib_is_native_abi; then
-		ln -s "${S}"/doc/libatspi/html doc/libatspi/html || die
-	fi
-}
-
-multilib_src_compile() { gnome2_src_compile; }
-multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.12.0.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.12.0.ebuild
deleted file mode 100644
index 9376680..0000000
--- a/app-accessibility/at-spi2-core/at-spi2-core-2.12.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME2_LA_PUNT="yes"
-
-inherit eutils gnome2
-
-DESCRIPTION="D-Bus accessibility specifications and registration daemon"
-HOMEPAGE="https://live.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="2"
-IUSE="+X +introspection"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-
-# x11-libs/libSM is needed until upstream #719808 is solved either
-# making the dep unneeded or fixing their configure
-# Only libX11 is optional right now
-RDEPEND="
-	>=dev-libs/glib-2.36:2
-	>=sys-apps/dbus-1
-	x11-libs/libSM
-	x11-libs/libXi
-	x11-libs/libXtst
-	introspection? ( >=dev-libs/gobject-introspection-0.9.6 )
-	X? ( x11-libs/libX11 )
-"
-DEPEND="${RDEPEND}
-	>=dev-util/gtk-doc-am-1.9
-	>=dev-util/intltool-0.40
-	virtual/pkgconfig
-"
-
-src_prepare() {
-	# disable teamspaces test since that requires Novell.ICEDesktop.Daemon
-	epatch "${FILESDIR}/${PN}-2.0.2-disable-teamspaces-test.patch"
-
-	gnome2_src_prepare
-}
-
-src_configure() {
-	# xevie is deprecated/broken since xorg-1.6/1.7
-	gnome2_src_configure \
-		--disable-xevie \
-		$(use_enable introspection) \
-		$(use_enable X x11)
-}
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.16.0.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.16.0.ebuild
index 91c20e4..e0b983e 100644
--- a/app-accessibility/at-spi2-core/at-spi2-core-2.16.0.ebuild
+++ b/app-accessibility/at-spi2-core/at-spi2-core-2.16.0.ebuild
@@ -14,7 +14,7 @@
 LICENSE="LGPL-2+"
 SLOT="2"
 IUSE="+X +introspection"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
 
 # x11-libs/libSM is needed until upstream #719808 is solved either
 # making the dep unneeded or fixing their configure
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.18.3.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.18.3.ebuild
new file mode 100644
index 0000000..f0af813
--- /dev/null
+++ b/app-accessibility/at-spi2-core/at-spi2-core-2.18.3.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"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2 multilib-minimal
+
+DESCRIPTION="D-Bus accessibility specifications and registration daemon"
+HOMEPAGE="https://wiki.gnome.org/Accessibility"
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="X +introspection"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+
+# x11-libs/libSM is needed until upstream #719808 is solved either
+# making the dep unneeded or fixing their configure
+# Only libX11 is optional right now
+RDEPEND="
+	>=dev-libs/glib-2.36:2[${MULTILIB_USEDEP}]
+	>=sys-apps/dbus-1[${MULTILIB_USEDEP}]
+	x11-libs/libSM[${MULTILIB_USEDEP}]
+	x11-libs/libXi[${MULTILIB_USEDEP}]
+	x11-libs/libXtst[${MULTILIB_USEDEP}]
+	introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
+	X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+	>=dev-util/gtk-doc-am-1.9
+	>=dev-util/intltool-0.40
+	sys-devel/gettext
+	virtual/pkgconfig[${MULTILIB_USEDEP}]
+"
+
+src_prepare() {
+	# disable teamspaces test since that requires Novell.ICEDesktop.Daemon
+	epatch "${FILESDIR}/${PN}-2.0.2-disable-teamspaces-test.patch"
+
+	gnome2_src_prepare
+}
+
+multilib_src_configure() {
+	# xevie is deprecated/broken since xorg-1.6/1.7
+	ECONF_SOURCE=${S} \
+	gnome2_src_configure \
+		--disable-xevie \
+		$(multilib_native_use_enable introspection) \
+		$(use_enable X x11)
+
+	# work-around gtk-doc out-of-source brokedness
+	if multilib_is_native_abi; then
+		ln -s "${S}"/doc/libatspi/html doc/libatspi/html || die
+	fi
+}
+
+multilib_src_compile() { gnome2_src_compile; }
+multilib_src_install() { gnome2_src_install; }
diff --git a/app-accessibility/at-spi2-core/metadata.xml b/app-accessibility/at-spi2-core/metadata.xml
index d9f21e6..6949624 100644
--- a/app-accessibility/at-spi2-core/metadata.xml
+++ b/app-accessibility/at-spi2-core/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <herd>gnome-accessibility</herd>
+<herd>gnome-accessibility</herd>
 </pkgmetadata>
diff --git a/app-accessibility/brltty/brltty-5.2.ebuild b/app-accessibility/brltty/brltty-5.2.ebuild
index e9e9815..8adcb66 100644
--- a/app-accessibility/brltty/brltty-5.2.ebuild
+++ b/app-accessibility/brltty/brltty-5.2.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
 FINDLIB_USE="ocaml"
 
 inherit findlib eutils multilib toolchain-funcs java-pkg-opt-2 flag-o-matic \
diff --git a/app-accessibility/caribou/Manifest b/app-accessibility/caribou/Manifest
index 9960825..9ed26fa 100644
--- a/app-accessibility/caribou/Manifest
+++ b/app-accessibility/caribou/Manifest
@@ -1,3 +1,2 @@
-DIST caribou-0.4.17.tar.xz 421960 SHA256 31828886b812421dd7217a7aa29043945b8601f3a101507f7e3faa0dc157e516 SHA512 97e773fb44f6bcf827bd8c839cd0669e029ebb377e1c3c777f7acf1cbf262ee58af09ea3e941843bc9519eee3bb59f3c572c04ddea0fb888baac9129c74c8932 WHIRLPOOL b3dee923e7815788655279857c5f6b4a6eac9ad34cffffff0b95f05bcb36ea09882acea5b88e1043b2c806d7a78a52a86772affd2e052588eacec41e76fcbf6b
 DIST caribou-0.4.18.1.tar.xz 410548 SHA256 aefadf125a647fc68696f4134e99ee43dca121da5de8e1edf6eab5664a9f3150 SHA512 226ca64fafb4e7c5e38ba714059e9e6ef7bbfce04160b98884fb299dc465e4f7d278033477f2539ba64fe9c39c62448903a8273dee0315bff81dbbe107d665d5 WHIRLPOOL 1310f79944ee547535a04563dd7910dfff2db400faf6c28685deecc062432759a24f0587f875d88cc87ddcdcd4c249a83abde0222ffcab4a24afe91dc9a55cdb
-DIST caribou-0.4.18.tar.xz 422580 SHA256 8d94977f3364926600b5f711406e765a9a61aa444609f87a1d435b301e147226 SHA512 cb1dbfa33ef7898b98d05af8ec937f4ecd6ee17148d136186e6bd1e00da97c4146d04e283f9b72a2ac88e8379f8aa4051535a247bce91dd87f32558322fa3720 WHIRLPOOL 5e3dcfb5ccf74d33f698678092468b2236b7cb1e78ba53816221c1c159c1a657ad32f56f2f389075d1ab4fb363ddaf019f0f3d27164b061ae8e9bba47015a56c
+DIST caribou-0.4.19.tar.xz 412328 SHA256 2f0bd0c14c5f94cf5ac3a7627018919addf7a054ac84aaa8e62356957c175a44 SHA512 ae8fd278612778eae35810eee199dc9c64b45340de1459cc71eb5806ebc14ddd05e7e0e5464e2976d0160a50c6d76656a7ed0362bfd79eecdc09de1fc78b6de1 WHIRLPOOL db26dbc91e231558712bd33f57f857de660cc17f5c7c6c8c8fd2687807b75d5784df8654e0328c35a4e06902ec5a628609b8c9dd2d568a2afcb59c2f12c081a8
diff --git a/app-accessibility/caribou/caribou-0.4.17.ebuild b/app-accessibility/caribou/caribou-0.4.17.ebuild
deleted file mode 100644
index 1bf20f3..0000000
--- a/app-accessibility/caribou/caribou-0.4.17.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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 )
-PYTHON_REQ_USE="xml"
-
-inherit gnome2 python-r1
-
-DESCRIPTION="Input assistive technology intended for switch and pointer users"
-HOMEPAGE="https://wiki.gnome.org/Projects/Caribou"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="
-	app-accessibility/at-spi2-core
-	>=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}]
-	>=x11-libs/gtk+-3:3[introspection]
-	x11-libs/gtk+:2
-	>=dev-libs/gobject-introspection-0.10.7
-	dev-libs/libgee:0.8
-	dev-libs/libxml2
-	>=media-libs/clutter-1.5.11:1.0[introspection]
-	x11-libs/libX11
-	x11-libs/libxklavier
-	x11-libs/libXtst
-"
-# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key
-# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed
-# librsvg needed to load svg images in css styles
-RDEPEND="${COMMON_DEPEND}
-	>=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}]
-	>=gnome-base/gsettings-desktop-schemas-3
-	gnome-base/librsvg:2
-	sys-apps/dbus
-"
-DEPEND="${COMMON_DEPEND}
-	dev-libs/libxslt
-	>=dev-util/intltool-0.35.5
-	virtual/pkgconfig
-"
-
-src_prepare() {
-	# delete custom PYTHONPATH, useless on Gentoo and potential bug source
-	# + caribou is python2 only so fix the shell scripts
-	sed -e '/export PYTHONPATH=.*python/ d' \
-		-e "s:@PYTHON@:${EPREFIX}/usr/bin/python2:" \
-		-i bin/{antler-keyboard,caribou-preferences}.in ||
-		die "sed failed"
-
-	gnome2_src_prepare
-
-	prepare_caribou() {
-		mkdir -p "${BUILD_DIR}" || die
-	}
-	python_foreach_impl prepare_caribou
-}
-
-src_configure() {
-	ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir \
-		gnome2_src_configure \
-			--disable-docs \
-			--disable-static \
-			--enable-gtk3-module \
-			--enable-gtk2-module \
-			VALAC=$(type -P true)
-	# vala is not needed for tarball builds, but configure checks for it...
-}
-
-src_compile() {
-	python_foreach_impl run_in_build_dir gnome2_src_compile
-}
-
-src_test() {
-	python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
-	python_foreach_impl run_in_build_dir gnome2_src_install
-	dodoc AUTHORS NEWS README # ChangeLog simply points to git log
-}
diff --git a/app-accessibility/caribou/caribou-0.4.18.ebuild b/app-accessibility/caribou/caribou-0.4.18.ebuild
deleted file mode 100644
index 26c3157..0000000
--- a/app-accessibility/caribou/caribou-0.4.18.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# 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 )
-PYTHON_REQ_USE="xml"
-
-inherit gnome2 python-r1
-
-DESCRIPTION="Input assistive technology intended for switch and pointer users"
-HOMEPAGE="https://wiki.gnome.org/Projects/Caribou"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="
-	app-accessibility/at-spi2-core
-	>=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}]
-	>=x11-libs/gtk+-3:3[introspection]
-	x11-libs/gtk+:2
-	>=dev-libs/gobject-introspection-0.10.7:=
-	dev-libs/libgee:0.8
-	dev-libs/libxml2
-	>=media-libs/clutter-1.5.11:1.0[introspection]
-	x11-libs/libX11
-	x11-libs/libxklavier
-	x11-libs/libXtst
-"
-# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key
-# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed
-# librsvg needed to load svg images in css styles
-RDEPEND="${COMMON_DEPEND}
-	dev-libs/glib[dbus]
-	>=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}]
-	>=gnome-base/gsettings-desktop-schemas-3
-	gnome-base/librsvg:2
-	sys-apps/dbus
-"
-DEPEND="${COMMON_DEPEND}
-	dev-libs/libxslt
-	>=dev-util/intltool-0.35.5
-	virtual/pkgconfig
-"
-
-src_prepare() {
-	# delete custom PYTHONPATH, useless on Gentoo and potential bug source
-	# + caribou is python2 only so fix the shell scripts
-	sed -e '/export PYTHONPATH=.*python/ d' \
-		-e "s:@PYTHON@:${EPREFIX}/usr/bin/python2:" \
-		-i bin/{antler-keyboard,caribou-preferences}.in ||
-		die "sed failed"
-
-	gnome2_src_prepare
-
-	prepare_caribou() {
-		mkdir -p "${BUILD_DIR}" || die
-	}
-	python_foreach_impl prepare_caribou
-}
-
-src_configure() {
-	ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir \
-		gnome2_src_configure \
-			--disable-docs \
-			--disable-static \
-			--enable-gtk3-module \
-			--enable-gtk2-module \
-			VALAC=$(type -P true)
-	# vala is not needed for tarball builds, but configure checks for it...
-}
-
-src_compile() {
-	python_foreach_impl run_in_build_dir gnome2_src_compile
-}
-
-src_test() {
-	python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
-	python_foreach_impl run_in_build_dir gnome2_src_install
-	dodoc AUTHORS NEWS README # ChangeLog simply points to git log
-}
diff --git a/app-accessibility/caribou/caribou-0.4.19.ebuild b/app-accessibility/caribou/caribou-0.4.19.ebuild
new file mode 100644
index 0000000..77a3490
--- /dev/null
+++ b/app-accessibility/caribou/caribou-0.4.19.ebuild
@@ -0,0 +1,90 @@
+# 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 )
+PYTHON_REQ_USE="xml"
+
+inherit gnome2 python-r1
+
+DESCRIPTION="Input assistive technology intended for switch and pointer users"
+HOMEPAGE="https://wiki.gnome.org/Projects/Caribou"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
+
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+	app-accessibility/at-spi2-core
+	>=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}]
+	>=x11-libs/gtk+-3:3[introspection]
+	x11-libs/gtk+:2
+	>=dev-libs/gobject-introspection-0.10.7:=
+	dev-libs/libgee:0.8
+	dev-libs/libxml2
+	>=media-libs/clutter-1.5.11:1.0[introspection]
+	x11-libs/libX11
+	x11-libs/libxklavier
+	x11-libs/libXtst
+"
+# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key
+# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed
+# librsvg needed to load svg images in css styles
+RDEPEND="${COMMON_DEPEND}
+	dev-libs/glib[dbus]
+	>=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}]
+	>=gnome-base/gsettings-desktop-schemas-3
+	gnome-base/librsvg:2
+	sys-apps/dbus
+"
+DEPEND="${COMMON_DEPEND}
+	dev-libs/libxslt
+	>=dev-util/intltool-0.35.5
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	# delete custom PYTHONPATH, useless on Gentoo and potential bug source
+	# + caribou is python2 only so fix the shell scripts
+	sed -e '/export PYTHONPATH=.*python/ d' \
+		-e "s:@PYTHON@:${EPREFIX}/usr/bin/python2:" \
+		-i bin/{antler-keyboard,caribou-preferences}.in ||
+		die "sed failed"
+
+	gnome2_src_prepare
+
+	prepare_caribou() {
+		mkdir -p "${BUILD_DIR}" || die
+	}
+	python_foreach_impl prepare_caribou
+}
+
+src_configure() {
+	ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir \
+		gnome2_src_configure \
+			--disable-docs \
+			--disable-static \
+			--enable-gtk3-module \
+			--enable-gtk2-module \
+			VALAC=$(type -P true)
+	# vala is not needed for tarball builds, but configure checks for it...
+}
+
+src_compile() {
+	python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+	python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+	python_foreach_impl run_in_build_dir gnome2_src_install
+	dodoc AUTHORS NEWS README # ChangeLog simply points to git log
+}
diff --git a/app-accessibility/orca/Manifest b/app-accessibility/orca/Manifest
index ad66383..9c7e424 100644
--- a/app-accessibility/orca/Manifest
+++ b/app-accessibility/orca/Manifest
@@ -1,2 +1,3 @@
 DIST orca-3.16.2.tar.xz 2078728 SHA256 cd14b28878cc04166ec43c7d9a8e6b0056c66cbfb1e4f934f12f74568937789a SHA512 768628c4630d84929a8a2b12b73771de7b104b1754e9462b1fe63c2bbadca192e56416a1e2a43ad5f5594c91a4fe94941d2deb1e44cccaf253d4f03704f31ee1 WHIRLPOOL eea3f9a1a0b1aebb4ca3a6da1a5cf016b1ea6d042c4e8e1b7275325cd08e77c6a7c6519048651ace34ef10d69c22663e9009dab20502ff3fca7d6c6c9a888c9a
 DIST orca-3.16.3.tar.xz 2124800 SHA256 540deeaa1a973cc7ccc8a463f8fcf51db51f7ccfb130bc2019ac53bf67943dc7 SHA512 c579437d956bee014db61aeb7494a295345e28a147a938a71a8062c30de67fcff3767c5ea8767067ce5f2f5ff84c0aaf2fc250730e4a7036ae100078fd6f058f WHIRLPOOL 839b3c7170f2fd44fa5b97cfd9ed6989dd94721d379d21428a166b8321fb5162a56f758327df0ea632bf320711362b0e03916358d023fba8dffec2a36f62b970
+DIST orca-3.18.2.tar.xz 2213548 SHA256 986244af7a0891b758eb8e772bc61d72483808e7e9c790360f9f389045d7262a SHA512 ec1210cea7a540bd931f7ede45c173829e780a4da4e61245920d15bb11b62d803771e32b791b2d0c307e15a8ef61b619b5e79e9909bf438a94252842a0dd8613 WHIRLPOOL 31475d1eacbf322cdd49d286c3585d97c93de08f92b0533fa58905d4ea089272bc16e8bb748041cc6f27dd54c19996b3d72993c5b148b3c8e6c873f9e452fe98
diff --git a/app-accessibility/orca/orca-3.16.3.ebuild b/app-accessibility/orca/orca-3.16.3.ebuild
index 00c8093..1fc8b59 100644
--- a/app-accessibility/orca/orca-3.16.3.ebuild
+++ b/app-accessibility/orca/orca-3.16.3.ebuild
@@ -15,7 +15,7 @@
 
 LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
 
 IUSE="+braille"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/app-accessibility/orca/orca-3.18.2.ebuild b/app-accessibility/orca/orca-3.18.2.ebuild
new file mode 100644
index 0000000..090e21a
--- /dev/null
+++ b/app-accessibility/orca/orca-3.18.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"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python3_{3,4,5} )
+PYTHON_REQ_USE="threads"
+
+inherit gnome2 python-r1
+
+DESCRIPTION="Extensible screen reader that provides access to the desktop"
+HOMEPAGE="https://wiki.gnome.org/Projects/Orca"
+
+LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+IUSE="+braille"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# liblouis is not in portage yet
+# it is used to provide contracted braille support
+COMMON_DEPEND="${PYTHON_DEPS}
+	>=app-accessibility/at-spi2-atk-2.12:2
+	>=app-accessibility/at-spi2-core-2.12:2[introspection]
+	>=dev-libs/atk-2.10
+	>=dev-libs/glib-2.28:2
+	>=dev-python/pygobject-3.10:3[${PYTHON_USEDEP}]
+	>=x11-libs/gtk+-3.6.2:3[introspection]
+	braille? (
+		>=app-accessibility/brltty-5.0-r3[python,${PYTHON_USEDEP}]
+		dev-libs/liblouis[python,${PYTHON_USEDEP}] )
+"
+RDEPEND="${COMMON_DEPEND}
+	>=app-accessibility/speech-dispatcher-0.8[python,${PYTHON_USEDEP}]
+	dev-libs/atk[introspection]
+	dev-python/pyatspi[${PYTHON_USEDEP}]
+	dev-python/setproctitle[${PYTHON_USEDEP}]
+	x11-libs/libwnck:3[introspection]
+	x11-libs/pango[introspection]
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-util/intltool-0.50
+	dev-util/itstool
+	virtual/pkgconfig
+"
+#	app-text/yelp-tools
+
+src_prepare() {
+	gnome2_src_prepare
+	python_copy_sources
+}
+
+src_configure() {
+	python_foreach_impl run_in_build_dir gnome2_src_configure \
+		$(use_with braille liblouis)
+}
+
+src_compile() {
+	python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_install() {
+	DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README TODO"
+	installing() {
+		gnome2_src_install
+		# Massage shebang to make python_doscript happy
+		sed -e 's:#!'"${PYTHON}:#!/usr/bin/python:" \
+			-i src/orca/orca || die
+		python_doscript src/orca/orca
+	}
+	python_foreach_impl run_in_build_dir installing
+}
diff --git a/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild b/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild
index 6d5217e..f9467a8 100644
--- a/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild
+++ b/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild
@@ -4,7 +4,8 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python3_3 python3_4 )
+PYTHON_COMPAT=( python3_3 python3_4 python3_5 )
+PYTHON_REQ_USE="threads(+)"
 
 inherit eutils python-r1
 
diff --git a/app-admin/ansible/Manifest b/app-admin/ansible/Manifest
index d4b79fe..bd11ba0 100644
--- a/app-admin/ansible/Manifest
+++ b/app-admin/ansible/Manifest
@@ -1,3 +1 @@
-DIST ansible-1.9.2.tar.gz 927525 SHA256 c25ef4738b08fdfb3094247c012f3fd1b29972acbd37f988070b2a85f5fbee00 SHA512 6c0b3eaac11e11bf90f5b63c54da86df0cb33b0ee98c987c48a68fa643b39e9f0817884767f2bd9c0f6e8852d37fd1b197d5299abc574fccc181fbb22985d4ad WHIRLPOOL 19d50845b9920d85c5ce0380303144e7a4237e673dd4beb5ff020042d7bac59dc0706cff88f08155029ce1a3aa9decc3c54261f9f16524b6e5e3b42e599d3a6b
-DIST ansible-1.9.3.tar.gz 936633 SHA256 2594f642fd800056a427c1026410dc6ed8dfa7c0033f5c3d187abdb2b0d4eeed SHA512 280d7506417affc11fe8c8715f82ffb011991e48e96db73aca915e1393d51073564c78a98b018c380b7fb8e697ce0fac6208822da44f2bac545f142707325d43 WHIRLPOOL 5738bcd263ca32279bbca30e3f1b5c53e5bd72a18025fdb82393a8d85e5a826b3be4ce78cbbc648133768d212fa49d1c3320af4b34f948c1b1cee40d73147f8a
 DIST ansible-1.9.4.tar.gz 937120 SHA256 972c2face49f1577bd0ff7989440bfe2820e66fb10d7579915cc536bccfa6fe3 SHA512 53ef5b3390be620cedc92687c7c9853c42f38547494f9b77056d5ea48ccd8f43d193648a7f4569fcba5afad343a9202b123296ab47c8cd02eecfe455d83b9586 WHIRLPOOL 0b88a27f690ff940eae1969ff163d8f8c26df038d2e9aa76694bdba1448ac9cbe8123795d0787e528c6d22cf66cc01d6b89add8e3e97bbb107a3f1a96860fd8e
diff --git a/app-admin/ansible/ansible-1.9.2.ebuild b/app-admin/ansible/ansible-1.9.2.ebuild
deleted file mode 100644
index a08091b..0000000
--- a/app-admin/ansible/ansible-1.9.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1 eutils readme.gentoo
-
-DESCRIPTION="Radically simple deployment, model-driven configuration management, and command execution framework"
-HOMEPAGE="http://ansible.com/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~x64-macos"
-IUSE="test"
-
-RDEPEND="
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/keyczar[${PYTHON_USEDEP}]
-	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	net-misc/sshpass
-	virtual/ssh
-"
-DEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/passlib[${PYTHON_USEDEP}]
-		dev-vcs/git
-	)"
-
-# not included in release tarball
-RESTRICT="test"
-
-python_test() {
-	nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
-}
-
-python_install_all() {
-	EXAMPLES=( examples )
-	distutils-r1_python_install_all
-
-	doman docs/man/man1/*.1
-
-	newenvd "${FILESDIR}"/${PN}.env 95ansible
-}
-
-src_install() {
-	distutils-r1_src_install
-	readme.gentoo_create_doc
-}
-
-pkg_postinst() {
-	optfeature "Alternative ssh transport" dev-python/paramiko
-}
diff --git a/app-admin/ansible/ansible-1.9.3.ebuild b/app-admin/ansible/ansible-1.9.3.ebuild
deleted file mode 100644
index 7c8406c..0000000
--- a/app-admin/ansible/ansible-1.9.3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1 eutils readme.gentoo
-
-DESCRIPTION="Radically simple deployment, model-driven configuration management, and command execution framework"
-HOMEPAGE="http://ansible.com/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~x64-macos"
-IUSE="test"
-
-RDEPEND="
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/keyczar[${PYTHON_USEDEP}]
-	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	net-misc/sshpass
-	virtual/ssh
-"
-DEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/passlib[${PYTHON_USEDEP}]
-		dev-vcs/git
-	)"
-
-# not included in release tarball
-RESTRICT="test"
-
-python_test() {
-	nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
-}
-
-python_install_all() {
-	EXAMPLES=( examples )
-	distutils-r1_python_install_all
-
-	doman docs/man/man1/*.1
-
-	newenvd "${FILESDIR}"/${PN}.env 95ansible
-}
-
-src_install() {
-	distutils-r1_src_install
-	readme.gentoo_create_doc
-}
-
-pkg_postinst() {
-	optfeature "Alternative ssh transport" dev-python/paramiko
-}
diff --git a/app-admin/ansible/ansible-1.9.4.ebuild b/app-admin/ansible/ansible-1.9.4.ebuild
index 273d25a..a08091b 100644
--- a/app-admin/ansible/ansible-1.9.4.ebuild
+++ b/app-admin/ansible/ansible-1.9.4.ebuild
@@ -14,7 +14,7 @@
 
 LICENSE="GPL-3"
 SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x64-macos"
+KEYWORDS="amd64 x86 ~x64-macos"
 IUSE="test"
 
 RDEPEND="
diff --git a/app-admin/ansible/ansible-9999.ebuild b/app-admin/ansible/ansible-9999.ebuild
index 175ebc5..4284a69 100644
--- a/app-admin/ansible/ansible-9999.ebuild
+++ b/app-admin/ansible/ansible-9999.ebuild
@@ -6,7 +6,7 @@
 
 PYTHON_COMPAT=( python2_7 )
 
-inherit distutils-r1 git-r3 readme.gentoo
+inherit distutils-r1 eutils git-r3 readme.gentoo
 
 DESCRIPTION="Radically simple deployment, model-driven configuration management, and command execution framework"
 HOMEPAGE="http://ansible.com/"
@@ -43,6 +43,13 @@
 	nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
 }
 
+python_compile_all() {
+	local _man
+	for _man in ansible{,-{galaxy,playbook,pull,vault}}; do
+		a2x -f manpage docs/man/man1/${_man}.1.asciidoc.in || die "Failed generating man page (${_man})"
+	done
+}
+
 python_install_all() {
 	EXAMPLES=( examples )
 	distutils-r1_python_install_all
diff --git a/app-admin/apache-tools/Manifest b/app-admin/apache-tools/Manifest
index d0beaf9..7b119ca 100644
--- a/app-admin/apache-tools/Manifest
+++ b/app-admin/apache-tools/Manifest
@@ -1,4 +1,3 @@
-DIST httpd-2.2.29.tar.bz2 5625498 SHA256 574b4f994b99178dfd5160bcb14025402e2ce381be9889b83e4be0ffbf5839a4 SHA512 0b953c97d79dfaaedaee72c6260e7a8e2e1711d47b19f9ace961b33f1226eeb58e37e04694a3e1207e0cf151a9ffbebf379d2bb81306bbf5111ec6db621a68b8 WHIRLPOOL d161104824c5bd6a42675489facf528a8ac2e727a8d2a295111b182e73bb17e7e8a52b720e74a37371e8bd3ddf5745afea32b32171831d95870daa440e7ac2a7
 DIST httpd-2.2.31.tar.bz2 5610489 SHA256 f32f9d19f535dac63b06cb55dfc023b40dcd28196b785f79f9346779e22f26ac SHA512 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74 WHIRLPOOL a2e3e53c51719cb6f7e641b41788cd89ce7b4d2ea105b403bfa3b3d4479b69c5604228269062f66722594e105e91121d05b1c9f27ca7dc4ecfcf339da8b8375c
-DIST httpd-2.4.12.tar.bz2 5054838 SHA256 ad6d39edfe4621d8cc9a2791f6f8d6876943a9da41ac8533d77407a2e630eae4 SHA512 f69db14b421f0e1e4861fe4d8b652688d50ca9eb41c622242d11ae55687eb6c2142a8505a8c3fb6f2bd53167be535bc0a77ca1af97e0720930fc7f20f4c1f8e8 WHIRLPOOL 56512066e8978c4a3d47d0cc2bb92093fd468a9b2f46b8b07fe4db366f55fa5e74ae58bbebe2377cbe0c66f1585759115c786f62f18ac1abc534fb257689d250
 DIST httpd-2.4.16.tar.bz2 5101005 SHA256 ac660b47aaa7887779a6430404dcb40c0b04f90ea69e7bd49a40552e9ff13743 SHA512 039750ff962c08a7261896acc8272e59874d066f7d52721aaf967ddb737fc5716acc47e1effaf7c4d156ba61bc393e0738f64f8e89cc277ba2651e0f61d56628 WHIRLPOOL f67a4449409cd1a50fcdf4d192a3a0c90e6e3483269d19e9f0454557cbfbda7fb3535063e1738de60d6f524e22eac7fc159d2abe5a60952219c1b01ee143ae05
+DIST httpd-2.4.17.tar.bz2 5157721 SHA256 331e035dec81d3db95b048f036f4d7b1a97ec8daa5b377bde42d4ccf1f2eb798 SHA512 d818dbd4b138db592a98fecdf5ae13dfadc19f9553e98bdafbdadd4693ae19bb44c96c8c279e9546978bbce55b9286ce3c4ae69cf701a9812be134a3a517b1f6 WHIRLPOOL f18dd92091e0d7f051f55276dc99656b299f3aaff5375d2fe286e18c33cfeb6887db9c792a426e88655dc0523e66008b2fc534ee1a5ae5b2ae5000bef1509aa8
diff --git a/app-admin/apache-tools/apache-tools-2.2.29.ebuild b/app-admin/apache-tools/apache-tools-2.2.29.ebuild
deleted file mode 100644
index a0a17b5..0000000
--- a/app-admin/apache-tools/apache-tools-2.2.29.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-inherit flag-o-matic eutils
-
-DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
-HOMEPAGE="http://httpd.apache.org/"
-SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-IUSE="ssl"
-RESTRICT="test"
-
-RDEPEND="=dev-libs/apr-1*
-	=dev-libs/apr-util-1*
-	dev-libs/expat
-	dev-libs/libpcre
-	kernel_linux? ( sys-apps/util-linux )
-	ssl? ( dev-libs/openssl )
-	!<www-servers/apache-2.2.4"
-
-DEPEND="${RDEPEND}
-	sys-devel/libtool"
-
-S="${WORKDIR}/httpd-${PV}"
-
-src_prepare() {
-	# Apply these patches:
-	# (1)	apache-tools-2.2.20-Makefile.patch:
-	#		- fix up the `make install' for support/
-	#		- remove envvars from `make install'
-	epatch "${FILESDIR}"/${PN}-2.2.20-Makefile.patch
-}
-
-src_configure() {
-	# Brain dead check.
-	tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
-
-	# Instead of filtering --as-needed (bug #128505), append --no-as-needed
-	append-ldflags $(no-as-needed)
-
-	# econf overwrites the stuff from config.layout.
-	econf \
-		--sbindir=/usr/sbin \
-		--with-z=/usr \
-		--with-apr=/usr \
-		--with-apr-util=/usr \
-		--with-pcre=/usr \
-		$(use_enable ssl) \
-		$(usex ssl '--with-ssl=/usr' '')
-}
-
-src_compile() {
-	cd support || die
-	emake
-}
-
-src_install () {
-	cd support || die
-
-	make DESTDIR="${D}" install || die
-
-	# install manpages
-	doman "${S}"/docs/man/{dbmmanage,htdigest,htpasswd,htdbm}.1 \
-		"${S}"/docs/man/{htcacheclean,rotatelogs,ab,logresolve}.8
-
-	# Providing compatiblity symlinks for #177697 (which we'll stop to install
-	# at some point).
-	pushd "${D}"/usr/sbin/ >/dev/null || die
-	for i in *; do
-		dosym /usr/sbin/${i} /usr/sbin/${i}2
-	done
-	popd >/dev/null || die
-
-	# Provide a symlink for ab-ssl
-	if use ssl; then
-		dosym /usr/sbin/ab /usr/sbin/ab-ssl
-		dosym /usr/sbin/ab /usr/sbin/ab2-ssl
-	fi
-
-	# make htpasswd accessible for non-root users
-	dosym /usr/sbin/htpasswd /usr/bin/htpasswd
-	dosym /usr/sbin/htdigest /usr/bin/htdigest
-
-	dodoc "${S}"/CHANGES
-}
diff --git a/app-admin/apache-tools/apache-tools-2.4.12.ebuild b/app-admin/apache-tools/apache-tools-2.4.12.ebuild
deleted file mode 100644
index 0dbc9b8..0000000
--- a/app-admin/apache-tools/apache-tools-2.4.12.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# 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 toolchain-funcs
-
-DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
-HOMEPAGE="http://httpd.apache.org/"
-SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
-IUSE="ssl"
-RESTRICT="test"
-
-RDEPEND=">=dev-libs/apr-1.5.0:1
-	dev-libs/apr-util:1
-	dev-libs/expat
-	dev-libs/libpcre
-	kernel_linux? ( sys-apps/util-linux )
-	ssl? ( dev-libs/openssl:0= )"
-
-DEPEND="${RDEPEND}
-	sys-devel/libtool"
-
-S="${WORKDIR}/httpd-${PV}"
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.4.7-Makefile.patch #459446
-
-	# This package really should upgrade to using pcre's .pc file.
-	cat <<-\EOF >"${T}"/pcre-config
-	#!/bin/sh
-	[ "${flag}" = "--version" ] && set -- --modversion
-	exec ${PKG_CONFIG} libpcre "$@"
-	EOF
-	chmod a+x "${T}"/pcre-config
-}
-
-src_configure() {
-	# Brain dead check.
-	tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
-
-	tc-export PKG_CONFIG
-
-	# Instead of filtering --as-needed (bug #128505), append --no-as-needed
-	append-ldflags $(no-as-needed)
-
-	# econf overwrites the stuff from config.layout.
-	ac_cv_path_PKGCONFIG=${PKG_CONFIG} \
-	econf \
-		--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules \
-		--sbindir="${EPREFIX}"/usr/sbin \
-		--with-perl="${EPREFIX}"/usr/bin/perl \
-		--with-expat="${EPREFIX}"/usr \
-		--with-z="${EPREFIX}"/usr \
-		--with-apr="${SYSROOT}${EPREFIX}"/usr \
-		--with-apr-util="${SYSROOT}${EPREFIX}"/usr \
-		--with-pcre="${T}"/pcre-config \
-		$(use_enable ssl) \
-		$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
-	sed -i \
-		-e '/^LTFLAGS/s:--silent::' \
-		build/rules.mk build/config_vars.mk || die
-}
-
-src_compile() {
-	emake -C support
-}
-
-src_install() {
-	emake -C support DESTDIR="${D}" install
-	dodoc CHANGES
-	doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
-		docs/man/{htcacheclean,rotatelogs}.8
-
-	# Providing compatiblity symlinks for #177697 (which we'll stop to install
-	# at some point).
-	pushd "${ED}"/usr/sbin >/dev/null || die
-	local i
-	for i in *; do
-		dosym ${i} /usr/sbin/${i}2
-	done
-	popd >/dev/null || die
-
-	# Provide a symlink for ab-ssl
-	if use ssl; then
-		dosym ab /usr/bin/ab-ssl
-		dosym ab /usr/bin/ab2-ssl
-	fi
-}
diff --git a/app-admin/apache-tools/apache-tools-2.4.17.ebuild b/app-admin/apache-tools/apache-tools-2.4.17.ebuild
new file mode 100644
index 0000000..ae3aeaf
--- /dev/null
+++ b/app-admin/apache-tools/apache-tools-2.4.17.ebuild
@@ -0,0 +1,96 @@
+# 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 toolchain-funcs
+
+DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
+HOMEPAGE="http://httpd.apache.org/"
+SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
+IUSE="libressl ssl"
+RESTRICT="test"
+
+RDEPEND=">=dev-libs/apr-1.5.0:1
+	dev-libs/apr-util:1
+	dev-libs/expat
+	dev-libs/libpcre
+	kernel_linux? ( sys-apps/util-linux )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:= )
+	)"
+
+DEPEND="${RDEPEND}
+	sys-devel/libtool"
+
+S="${WORKDIR}/httpd-${PV}"
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-2.4.7-Makefile.patch #459446
+
+	# This package really should upgrade to using pcre's .pc file.
+	cat <<-\EOF >"${T}"/pcre-config
+	#!/bin/sh
+	[ "${flag}" = "--version" ] && set -- --modversion
+	exec ${PKG_CONFIG} libpcre "$@"
+	EOF
+	chmod a+x "${T}"/pcre-config
+}
+
+src_configure() {
+	# Brain dead check.
+	tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
+
+	tc-export PKG_CONFIG
+
+	# Instead of filtering --as-needed (bug #128505), append --no-as-needed
+	append-ldflags $(no-as-needed)
+
+	# econf overwrites the stuff from config.layout.
+	ac_cv_path_PKGCONFIG=${PKG_CONFIG} \
+	econf \
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules \
+		--sbindir="${EPREFIX}"/usr/sbin \
+		--with-perl="${EPREFIX}"/usr/bin/perl \
+		--with-expat="${EPREFIX}"/usr \
+		--with-z="${EPREFIX}"/usr \
+		--with-apr="${SYSROOT}${EPREFIX}"/usr \
+		--with-apr-util="${SYSROOT}${EPREFIX}"/usr \
+		--with-pcre="${T}"/pcre-config \
+		$(use_enable ssl) \
+		$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
+	sed -i \
+		-e '/^LTFLAGS/s:--silent::' \
+		build/rules.mk build/config_vars.mk || die
+}
+
+src_compile() {
+	emake -C support
+}
+
+src_install() {
+	emake -C support DESTDIR="${D}" install
+	dodoc CHANGES
+	doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
+		docs/man/{htcacheclean,rotatelogs}.8
+
+	# Providing compatiblity symlinks for #177697 (which we'll stop to install
+	# at some point).
+	pushd "${ED}"/usr/sbin >/dev/null || die
+	local i
+	for i in *; do
+		dosym ${i} /usr/sbin/${i}2
+	done
+	popd >/dev/null || die
+
+	# Provide a symlink for ab-ssl
+	if use ssl; then
+		dosym ab /usr/bin/ab-ssl
+		dosym ab /usr/bin/ab2-ssl
+	fi
+}
diff --git a/app-admin/apg/metadata.xml b/app-admin/apg/metadata.xml
index 6569104..9cf9bbc 100644
--- a/app-admin/apg/metadata.xml
+++ b/app-admin/apg/metadata.xml
@@ -3,7 +3,7 @@
 <pkgmetadata>
 <herd>proxy-maintainers</herd>
 <maintainer>
-	<email>gentoobugsie.20.dsurawicz@spamgourmet.com</email>
+	<email>DuPol@gmx.de</email>
 	<name>Dustin Polke</name>
 	<description>Proxy Maintainer. CC him on bugs.</description>
 </maintainer>
diff --git a/app-admin/conky/conky-1.10.0.ebuild b/app-admin/conky/conky-1.10.0.ebuild
index 5994fb8..15b4eed 100644
--- a/app-admin/conky/conky-1.10.0.ebuild
+++ b/app-admin/conky/conky-1.10.0.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit autotools eutils libtool cmake-utils linux-info
+inherit eutils cmake-utils linux-info
 
 DESCRIPTION="An advanced, highly configurable system monitor for X"
 HOMEPAGE="https://github.com/brndnmtthws/conky"
@@ -67,7 +67,7 @@
 	app-text/docbook2X
 	"
 
-CONFIG_CHECK=IPV6
+CONFIG_CHECK=~IPV6
 
 DOCS=( README TODO ChangeLog NEWS AUTHORS )
 
@@ -77,41 +77,45 @@
 
 src_prepare() {
 	epatch "${FILESDIR}/${P}-cmake.patch"
+	epatch "${FILESDIR}/${P}-includefiles.patch"
 
 	# Allow user patches #478482
-	# Only run autotools if user patched something
-	epatch_user && eautoreconf || elibtoolize
+	epatch_user
 }
 
 src_configure() {
 	local mycmakeargs
 
 	if use X; then
-		mycmakeargs="-DBUILD_X11=ON"
-		mycmakeargs="${mycmakeargs} -DOWN_WINDOW=ON"
-		mycmakeargs="${mycmakeargs} -DBUILD_XDAMAGE=ON"
-		mycmakeargs="${mycmakeargs} -DBUILD_XDBE=ON"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build truetype XFT)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build imlib IMLIB2)"
-		mycmakeargs="${mycmakeargs} -DBUILD_XSHAPE=ON"
-		mycmakeargs="${mycmakeargs} -DBUILD_ARGB=ON"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build lua-cairo LUA_CAIRO)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build lua-imlib LUA_IMLIB2)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build lua-rsvg LUA_RSVG)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build nvidia)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build audacious)"
-		mycmakeargs="${mycmakeargs} $(cmake-utils_use_build xmms2)"
+		mycmakeargs=(
+			-DBUILD_X11=ON
+			-DOWN_WINDOW=ON
+			-DBUILD_XDAMAGE=ON
+			-DBUILD_XDBE=ON
+			$(cmake-utils_use_build truetype XFT)
+			$(cmake-utils_use_build imlib IMLIB2)
+			-DBUILD_XSHAPE=ON
+			-DBUILD_ARGB=ON
+			$(cmake-utils_use_build lua-cairo LUA_CAIRO)
+			$(cmake-utils_use_build lua-imlib LUA_IMLIB2)
+			$(cmake-utils_use_build lua-rsvg LUA_RSVG)
+			$(cmake-utils_use_build nvidia)
+			$(cmake-utils_use_build audacious)
+			$(cmake-utils_use_build xmms2)
+		)
 	else
-		mycmakeargs="-DBUILD_X11=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_NVIDIA=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_LUA_CAIRO=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_LUA_IMLIB2=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_LUA_RSVG=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_AUDACIOUS=OFF"
-		mycmakeargs="${mycmakeargs} -DBUILD_XMMS2=OFF"
+		mycmakeargs=(
+			-DBUILD_X11=OFF
+			-DBUILD_NVIDIA=OFF
+			-DBUILD_LUA_CAIRO=OFF
+			-DBUILD_LUA_IMLIB2=OFF
+			-DBUILD_LUA_RSVG=OFF
+			-DBUILD_AUDACIOUS=OFF
+			-DBUILD_XMMS2=OFF
+		)
 	fi
 
-	mycmakeargs="${mycmakeargs}
+	mycmakeargs+=(
 		$(cmake-utils_use_build apcupsd)
 		$(cmake-utils_use_build debug)
 		$(cmake-utils_use_build cmus)
@@ -142,7 +146,7 @@
 		-DBUILD_AUDACIOUS_LEGACY=OFF
 		-DBUILD_BMPX=OFF
 		-DDOC_PATH=/usr/share/doc/${PF}
-	"
+	)
 
 	cmake-utils_src_configure
 }
diff --git a/app-admin/conky/files/conky-1.10.0-includefiles.patch b/app-admin/conky/files/conky-1.10.0-includefiles.patch
new file mode 100644
index 0000000..9480720
--- /dev/null
+++ b/app-admin/conky/files/conky-1.10.0-includefiles.patch
@@ -0,0 +1,29 @@
+--- a/cmake/ConkyPlatformChecks.cmake
++++ b/cmake/ConkyPlatformChecks.cmake
+@@ -22,7 +22,7 @@
+ 
+ include(FindPkgConfig)
+ include(CheckFunctionExists)
+-include(CheckIncludeFile)
++include(CheckIncludeFiles)
+ include(CheckSymbolExists)
+ 
+ # Check for some headers
+@@ -119,7 +119,7 @@ if(BUILD_HTTP)
+ endif(BUILD_HTTP)
+ 
+ if(BUILD_NCURSES)
+-	check_include_file(ncurses.h NCURSES_H)
++	check_include_files(ncurses.h NCURSES_H)
+ 	find_library(NCURSES_LIB NAMES ncurses)
+ 	if(NOT NCURSES_H OR NOT NCURSES_LIB)
+ 		message(FATAL_ERROR "Unable to find ncurses library")
+@@ -167,7 +167,7 @@ endif(BUILD_PORT_MONITORS)
+ 
+ # Check for iconv
+ if(BUILD_ICONV)
+-	check_include_file(iconv.h HAVE_ICONV_H)
++	check_include_files(iconv.h HAVE_ICONV_H)
+ 	find_library(ICONV_LIBRARY NAMES iconv)
+ 	if(NOT ICONV_LIBRARY)
+ 		# maybe iconv() is provided by libc
diff --git a/app-admin/consul/metadata.xml b/app-admin/consul/metadata.xml
index fb27472..a5f3be1 100644
--- a/app-admin/consul/metadata.xml
+++ b/app-admin/consul/metadata.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
   <maintainer>
@@ -10,4 +10,7 @@
   <use>
     <flag name="web">Build the web UI.</flag>
   </use>
+  <upstream>
+    <remote-id type="github">ryanuber/columnize</remote-id>
+  </upstream>
 </pkgmetadata>
diff --git a/app-admin/cpulimit/Manifest b/app-admin/cpulimit/Manifest
index 2830b64..b2e9b0b 100644
--- a/app-admin/cpulimit/Manifest
+++ b/app-admin/cpulimit/Manifest
@@ -1 +1,2 @@
 DIST cpulimit-1.8.tar.gz 20610 SHA256 8d0cdc3ec3e462f2ddc6debb195e1a4e7a19cce8233211f473d921f1c517d5f5 SHA512 3098236139b092eb706ec2a6b84528a090b3f4b8b3adfc8debda1b92ffa119ed9adc508898e0f98add593561f5f6b67d52e0966de01a682a6e2e885e3c47b0fa WHIRLPOOL f9be855b9a4b010c8456c2841afc3551a9a28bfc4a9ec3211e2c1e312bf43cdce9e1b745cc325342433feca5a73df03860469ea3a966d3bd37f7ad11a1627510
+DIST cpulimit-2.2.tar.gz 22224 SHA256 3f64daa5c4ab9245fa6ae5b564a2ffb3ae60677785103a207fd5f9c5c4cc29e4 SHA512 e708b27e969024ed37689341d76979e5041c050c259359c46f988cfc55f571c16c17f48ca63cd93349041b76bb2c314ab69af36634fec5212e49aa0d0cb0a46e WHIRLPOOL cd9f4c1d2258f2beb7e150c349c5fee984d63c1b4b3c6ca50e8c853ddf26924964ea45230e5196478416b6d17be895966476522b3f9b3702e8c9d5196322029f
diff --git a/app-admin/cpulimit/cpulimit-2.2.ebuild b/app-admin/cpulimit/cpulimit-2.2.ebuild
new file mode 100644
index 0000000..e6f5cb1
--- /dev/null
+++ b/app-admin/cpulimit/cpulimit-2.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 toolchain-funcs
+
+DESCRIPTION="Limits the CPU usage of a process"
+HOMEPAGE="http://cpulimit.sourceforge.net"
+SRC_URI="mirror://sourceforge/limitcpu/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+	tc-export CC
+	# set correct VERSION
+	sed -i -e "/^#define VERSION/s@[[:digit:]\.]\+\$@${PV}@" cpulimit.c || die 'sed on VERSION string failed'
+}
+
+src_install() {
+	dosbin ${PN}
+	doman "${FILESDIR}/${PN}.8"
+}
diff --git a/app-admin/drush/Manifest b/app-admin/drush/Manifest
index 5fd5402..77ff48b 100644
--- a/app-admin/drush/Manifest
+++ b/app-admin/drush/Manifest
@@ -1,2 +1,2 @@
-DIST drush-5.8.tar.gz 409642 SHA256 15dd85f04c49b4a896b02dd6960d3140f3ae680bab3eea5d3aba27be0481e480 SHA512 85f7572aece8590d23164dc938e00b740718a5b9bf20ca866083f9e8ce2025ec07f57e06234bf50bfe2351f407f5bad21789103c1e04d18d2fd202fa735637e6 WHIRLPOOL 68f4a8ca09fc61c36de3d6cc6e3aeaab2021b677ba9d732a65f4d5a9940ebbee3cd63dc84f165e119770168547b1997aff6c23497dc50dbe548df348c296188c
 DIST drush-6.5.0.tar.gz 509643 SHA256 0e6bfb8a4bd75846dbca25f6d3e3130a706546f6a62edadce2eb00099750e2a7 SHA512 4afd348c025b9303386131687205af4219a77e6c822518b079a3f0475cbd7ed03647797d613300c7a281e2354f0d855435222fe1afe13447153cdbd6a4393add WHIRLPOOL 1f2a1a725e1c0f89cac90a1338e1541e587c7834560fd23d1a44341696be320e65cf93508d4841f02ca9b30ac62f3fed7de772e00f4eaeea64f287cf19682fcc
+DIST drush-6.6.0.tar.gz 511330 SHA256 67f7a1f08238c8c3f61d4e93f8c7c83508f392086c9931865fd1022981e8f698 SHA512 d7d361628406dd0f0fc5b07e7a318abd04ca7ac63da9d3fa705b0a64b531394f6e45e944dbd1c2e7eaec6643a92792b9b8558aea6ebb5311ce7acd32aa438a21 WHIRLPOOL ff0f2b1f20cc7a5767513be78b6f7ce1d09fb8929089ac918c4982e57f7c5c4f174c5dfd75235dafde57e65b90717844d4d9dfa199871e5c65bc4deda19b6b8c
diff --git a/app-admin/drush/drush-5.8.ebuild b/app-admin/drush/drush-5.8.ebuild
deleted file mode 100644
index daccda3..0000000
--- a/app-admin/drush/drush-5.8.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-
-inherit bash-completion-r1
-
-DESCRIPTION="Drush is a command line shell and scripting interface for Drupal"
-HOMEPAGE="http://drupal.org/project/drush"
-SRC_URI="http://ftp.drupal.org/files/projects/${PN}-7.x-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+examples"
-
-DEPEND="dev-lang/php[cli,ctype,simplexml]
-	dev-php/pear
-	dev-php/PEAR-Console_Table
-	dev-php/PEAR-Console_Getopt"
-RDEPEND="${DEPEND}"
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
-	sed -i -e \
-		"s!/share/doc/drush!/share/doc/${PF}!" \
-		-e "s!README\.txt!\0.bz2!g" \
-		includes/bootstrap.inc || die
-	sed -i \
-		-e "s!\.php'!.php.bz2'!" \
-		-e "s!\.ini'!.ini.bz2'!" \
-		-e "s!\.txt'!.txt.bz2'!" \
-		-e "s!\.bashrc'!.bashrc.bz2'!" \
-		commands/core/docs.drush.inc || die
-	sed \
-		-e "1,2d" \
-		-e "5,11d" \
-		drush.complete.sh > drush.bashcomp
-}
-
-src_install() {
-	local docs="README.txt docs"
-	use examples && docs="${docs} examples"
-	insinto /usr/share/drush
-	doins -r .
-	exeinto /usr/share/drush
-	doexe drush
-	dosym /usr/share/drush/drush /usr/bin/drush
-	dodoc -r ${docs}
-	# cleanup
-	for i in ${docs} LICENSE.txt drush.bat examples includes/.gitignore \
-		.gitignore .travis.yml drush.complete.sh ; do
-		rm -rf "${D}/usr/share/drush/${i}"
-	done
-	keepdir /etc/drush
-	newbashcomp drush.bashcomp drush
-}
diff --git a/app-admin/drush/drush-6.6.0.ebuild b/app-admin/drush/drush-6.6.0.ebuild
new file mode 100644
index 0000000..4737c38
--- /dev/null
+++ b/app-admin/drush/drush-6.6.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 bash-completion-r1 eutils
+
+DESCRIPTION="Command line shell and scripting interface for Drupal"
+HOMEPAGE="https://github.com/drush-ops/drush"
+SRC_URI="https://github.com/drush-ops/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-lang/php[cli,ctype,json,simplexml]
+	dev-php/PEAR-Console_Table"
+
+src_prepare() {
+	# Fix the bash completion script, check the patch for Gentoo/upstream
+	# bug numbers.
+	epatch "${FILESDIR}/update-bash-completion-script-for-2.1.patch"
+
+	# dodoc compresses all of the documentation, so we fix the filenames
+	# in a few places.
+
+	# First, the README location in bootstrap.inc.
+	sed -i -e \
+		"s!/share/doc/drush!/share/doc/${PF}!" \
+		-e "s!README\.md!\0.bz2!g" \
+		includes/bootstrap.inc || die
+
+	# Next, the list of documentation in docs.drush.inc. Note that
+	# html files don't get compressed.
+	sed -i \
+		-e "s!\.bashrc'!.bashrc.bz2'!" \
+		-e "s!\.inc'!.inc.bz2'!" \
+		-e "s!\.ini'!.ini.bz2'!" \
+		-e "s!\.md'!.md.bz2'!" \
+		-e "s!\.php'!.php.bz2'!" \
+		-e "s!\.script'!.script.bz2'!" \
+		-e "s!\.txt'!.txt.bz2'!" \
+		commands/core/docs.drush.inc || die
+}
+
+src_install() {
+	# Always install the examples; they're referenced within the source
+	# code and too difficult to exorcise.
+	dodoc -r README.md docs examples
+
+	insinto /usr/share/drush
+	doins -r classes commands includes lib misc
+	doins drush_logo-black.png drush.info drush.php
+
+	exeinto /usr/share/drush
+	doexe drush
+	dosym /usr/share/drush/drush /usr/bin/drush
+
+	keepdir /etc/drush
+	newbashcomp drush.complete.sh drush
+}
diff --git a/app-admin/entr/Manifest b/app-admin/entr/Manifest
index c67f7f3..14d0172 100644
--- a/app-admin/entr/Manifest
+++ b/app-admin/entr/Manifest
@@ -1 +1 @@
-DIST entr-3.2.tar.gz 22203 SHA256 b1eee00afbeccf03010c1c557436854be6aaf0ef9b72ab8d44b94affdd7d7146 SHA512 7287dfe86b829a73049dfbac78c76e06e69b1172bece80120977f03492ff325d0c026cb58d1ab56a10897beebbcfb0c2130aaf5167ad68fdbc5daa0959cc22b7 WHIRLPOOL 6c139c7f841a77a7420f8a09d47dedb38685016f0f3649b6a407d6c0c88040654783a3f3457f1c9523326a209a69468428158a1c3f1341fd8608ce32d40f5ff9
+DIST entr-3.3.tar.gz 22159 SHA256 701cb7b0a72b6c9ba794ad7cc15b6ebcc2e0c978bb6906c8ae407567a044461f SHA512 aa45bef57fb12d5ddaaebd8de03df33b69a833e4b729ad9fb0844af1c8b7031fc37ca1c81170b20967aa7dbf8854849a7b1f46da6d1d13a49d4d33502269bbca WHIRLPOOL 97f256bb37f0e517365ef7f3353d08b7c702a8182051c985c13efee3613d43eeda9da8a2911407a733c5f51e66e0fd5204a07b13f11c49ab7449ddb7d69b4334
diff --git a/app-admin/entr/entr-3.2.ebuild b/app-admin/entr/entr-3.2.ebuild
deleted file mode 100644
index fb6aaa5..0000000
--- a/app-admin/entr/entr-3.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Run arbitrary commands when files change"
-HOMEPAGE="http://entrproject.org/"
-SRC_URI="http://entrproject.org/code/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-src_unpack() {
-	unpack "${P}.tar.gz"
-	mv eradman-* "${P}"
-}
-
-src_configure() {
-	sh configure || die
-}
-
-src_test() {
-	emake test
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-}
diff --git a/app-admin/entr/entr-3.3.ebuild b/app-admin/entr/entr-3.3.ebuild
new file mode 100644
index 0000000..6cafdf9
--- /dev/null
+++ b/app-admin/entr/entr-3.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Run arbitrary commands when files change"
+HOMEPAGE="http://entrproject.org/"
+SRC_URI="http://entrproject.org/code/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+src_unpack() {
+	unpack "${P}.tar.gz"
+	mv eradman-* "${P}"
+}
+
+src_configure() {
+	sh configure || die
+	sed -i -e 's#\(^PREFIX \).*#\1\?= /usr#' Makefile.bsd || die
+}
+
+src_test() {
+	emake test
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+}
diff --git a/app-admin/fifo-cronolog/metadata.xml b/app-admin/fifo-cronolog/metadata.xml
index e698f1e..36a3c38 100644
--- a/app-admin/fifo-cronolog/metadata.xml
+++ b/app-admin/fifo-cronolog/metadata.xml
@@ -1,7 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
+	<longdescription>
+		fifo-cronolog is based on app-admin/cronolog, but uses a FIFO for input
+		instead of stdin. This package is used for the Gentoo infrastructure.
+	</longdescription>
 	<maintainer>
-		<email>infrastructure@gentoo.org</email>
+		<email>idl0r@gentoo.org</email>
+	</maintainer>
+	<maintainer>
+		<email>robbat2@gentoo.org</email>
+	</maintainer>
+	<maintainer>
+		<email>infra-bugs@gentoo.org</email>
 	</maintainer>
 </pkgmetadata>
diff --git a/app-admin/fleet/metadata.xml b/app-admin/fleet/metadata.xml
index a866648..6e88cbd 100644
--- a/app-admin/fleet/metadata.xml
+++ b/app-admin/fleet/metadata.xml
@@ -6,7 +6,7 @@
     <name>Alex Brandt</name>
   </maintainer>
   <maintainer>
-    <email>code@stefanjunker.de</email>
+    <email>mail@stefanjunker.de</email>
     <name>Stefan Junker</name>
   </maintainer>
   <longdescription lang="en">
diff --git a/app-admin/glance/Manifest b/app-admin/glance/Manifest
index ccfeede..e9b277f 100644
--- a/app-admin/glance/Manifest
+++ b/app-admin/glance/Manifest
@@ -1 +1,3 @@
+DIST glance-11.0.0.tar.gz 1565001 SHA256 35abd3af08b97a56556fdd1a68c61fcfa99ead6354f746f8f7cdc4517e90084e SHA512 33ceab2c7f52f5ce92b2bb33732697a85e4bdf552ca9d08bb7b21430ef942b545614de9b834bdd455b0544474217675731b77cded7218c56ef44274c29a97f47 WHIRLPOOL a256b0525f8a42e588a1d7cce4a6add919b9bd31752560dc7664814178fb4b3c952bfd7ec5d0d40932dc39c380c866561f9cb5ed1383482d4320f5417179c028
 DIST glance-2015.1.1.tar.gz 1102359 SHA256 5c5714264c4ad9c3d178b983899b54f69f138505ddd77e13141dc5f3d1598ebe SHA512 d9233b78174ec0f84b317abf7d26153a7e3ead25b4ebc31acbe5d0806b6877da5875de52ee0742dcbdd5fd3d23cb0240208f6fd57fa59cc403ad228ac85f2a0f WHIRLPOOL 69a4cd27b4ac57a47523ceb4b899bbbb3569e7af2bb8f3e64373d98b7c72450bd587c6da96d33903dcbf44e02f89ea563d116d9d2dc90d4a0f472eca89963a87
+DIST glance-2015.1.2.tar.gz 1108933 SHA256 e46bc6648a74a643cef3825dcd44c7e275ed3385b96cab83ef50c4c514932541 SHA512 0f8b8dbc3c507a47ad0873f35ec2212903d7e419b61c0298f77661f89a9718e3604786d52976860c78841fe0a94ad8fc1fe99514183d2b29ed414efe448e590a WHIRLPOOL df8ba6586b2f71c5d7ecb252b80e6c6de6f08df1029576fc8b2fb2a68633f5ce76de1334949af955e85c39e9f1df25b2f8763837ef8efa228b29559dc34be863
diff --git a/app-admin/glance/glance-11.0.0.ebuild b/app-admin/glance/glance-11.0.0.ebuild
new file mode 100644
index 0000000..b1cab13
--- /dev/null
+++ b/app-admin/glance/glance-11.0.0.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1 user
+
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
+HOMEPAGE="https://launchpad.net/glance"
+SRC_URI="https://launchpad.net/${PN}/liberty/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc mysql postgres +sqlite +swift test"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.6.0[${PYTHON_USEDEP}]"
+DEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	${CDEPEND}
+	test? (
+		${RDEPEND}
+		>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+		<=dev-python/Babel-2.0[${PYTHON_USEDEP}]
+		>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+		<=dev-python/coverage-4.0[${PYTHON_USEDEP}]
+		~dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+		<=dev-python/mox3-0.10.0[${PYTHON_USEDEP}]
+		>=dev-python/mock-1.2[${PYTHON_USEDEP}]
+		<=dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+		!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+		<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+		>=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+		<=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+		>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+		<=dev-python/testrepository-0.0.20[${PYTHON_USEDEP}]
+		>=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+		<=dev-python/testresources-0.2.7-r9999[${PYTHON_USEDEP}]
+		>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+		<=dev-python/testscenarios-0.5[${PYTHON_USEDEP}]
+		>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+		<=dev-python/testtools-1.8.0[${PYTHON_USEDEP}]
+		>=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
+		<dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
+		>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
+		<=dev-python/oslotest-1.11.0[${PYTHON_USEDEP}]
+		>=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+		<=dev-python/pymysql-0.6.7[${PYTHON_USEDEP}]
+		>=dev-python/psycopg-2.5[${PYTHON_USEDEP}]
+		<=dev-python/psycopg-2.6.1[${PYTHON_USEDEP}]
+		>=dev-python/pysendfile-2.0.0[${PYTHON_USEDEP}]
+		<=dev-python/pysendfile-2.0.1[${PYTHON_USEDEP}]
+		<=dev-python/qpid-python-0.26[$(python_gen_usedep 'python2_7')]
+		>=dev-python/pyxattr-0.5.0[${PYTHON_USEDEP}]
+		>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+		<=dev-python/oslo-sphinx-3.2.0[${PYTHON_USEDEP}]
+	)"
+
+#note to self, wsgiref is a python builtin, no need to package it
+#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}]
+
+RDEPEND="
+	${CDEPEND}
+	sqlite? (
+		>=dev-python/sqlalchemy-0.9.9[sqlite,${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+	)
+	mysql? (
+		dev-python/mysql-python
+		>=dev-python/sqlalchemy-0.9.9[${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+	)
+	postgres? (
+		dev-python/psycopg:2[${PYTHON_USEDEP}]
+		>=dev-python/sqlalchemy-0.9.9[${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+	)
+	~dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+	~dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+	>=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/pastedeploy-1.5.2[${PYTHON_USEDEP}]
+	>=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+	!~dev-python/routes-2.0[${PYTHON_USEDEP}]
+	!~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+	<=dev-python/routes-2.2[${PYTHON_USEDEP}]
+	>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+	<=dev-python/webob-1.4.1[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+	<=dev-python/sqlalchemy-migrate-0.10.0[${PYTHON_USEDEP}]
+	>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+	<=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+	<=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+	>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+	<=dev-python/iso8601-0.1.10[${PYTHON_USEDEP}]
+	>=dev-python/oslo-config-2.3.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-config-2.4.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-concurrency-2.3.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-concurrency-2.6.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-context-0.6.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-service-0.7.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-service-0.9.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-utils-2.0.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-utils-2.5.0[${PYTHON_USEDEP}]
+	>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/stevedore-1.8.0[${PYTHON_USEDEP}]
+	>=dev-python/futurist-0.1.2[${PYTHON_USEDEP}]
+	<=dev-python/futurist-0.5.0[${PYTHON_USEDEP}]
+	>=dev-python/taskflow-1.16.0[${PYTHON_USEDEP}]
+	<=dev-python/taskflow-1.21.0[${PYTHON_USEDEP}]
+	>=dev-python/keystonemiddleware-2.0.0[${PYTHON_USEDEP}]
+	<=dev-python/keystonemiddleware-2.3.1[${PYTHON_USEDEP}]
+	>=dev-python/WSME-0.7[${PYTHON_USEDEP}]
+	<=dev-python/WSME-0.8.0[${PYTHON_USEDEP}]
+	<=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+	>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+	!~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+	<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+	>=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
+	<=dev-python/python-keystoneclient-1.7.2-r9999[${PYTHON_USEDEP}]
+	>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+	<=dev-python/pyopenssl-0.15.1[${PYTHON_USEDEP}]
+	~dev-python/six-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-db-2.4.1[${PYTHON_USEDEP}]
+	<=dev-python/oslo-db-2.6.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-i18n-2.6.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-log-1.8.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-log-1.11.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-messaging-1.16.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-messaging-1.17.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-messaging-1.17.1[${PYTHON_USEDEP}]
+	<=dev-python/oslo-messaging-2.5.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-middleware-2.8.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-middleware-2.8.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-policy-0.5.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-policy-0.11.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-serialization-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+	!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+	<=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+	~dev-python/osprofiler-0.3.0[${PYTHON_USEDEP}]
+	>=dev-python/glance_store-0.7.1[${PYTHON_USEDEP}]
+	!~dev-python/glance_store-0.9.0[${PYTHON_USEDEP}]
+	<=dev-python/glance_store-0.9.1[${PYTHON_USEDEP}]
+	>=dev-python/semantic_version-2.3.1[${PYTHON_USEDEP}]
+	<=dev-python/semantic_version-2.4.2[${PYTHON_USEDEP}]
+	>=dev-python/castellan-0.2.0[${PYTHON_USEDEP}]
+	<=dev-python/castellan-0.2.1[${PYTHON_USEDEP}]
+	>=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+	<=dev-python/cryptography-1.1-r9999[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+)
+
+pkg_setup() {
+	enewgroup glance
+	enewuser glance -1 -1 /var/lib/glance glance
+}
+
+python_prepare_all() {
+	sed -i '/xattr/d' test-requirements.txt || die
+	sed -i '/pysendfile/d' test-requirements.txt || die
+	sed -i '/^hacking/d' test-requirements.txt || die
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+	# https://bugs.launchpad.net/glance/+bug/1251105
+	# https://bugs.launchpad.net/glance/+bug/1242501
+	testr init
+	testr run --parallel || die "failed testsuite under python2.7"
+}
+
+python_install() {
+	distutils-r1_python_install
+
+	for svc in api registry scrubber; do
+		newinitd "${FILESDIR}/glance.initd" glance-${svc}
+	done
+
+	diropts -m 0750 -o glance -g glance
+	dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber
+	keepdir /etc/glance
+	keepdir /var/log/glance
+	keepdir /var/lib/glance/images
+	keepdir /var/lib/glance/scrubber
+
+	insinto /etc/glance
+	insopts -m 0640 -o glance -g glance
+	doins etc/*.ini
+	doins etc/*.conf
+	doins etc/*.sample
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+	distutils-r1_python_install_all
+}
diff --git a/app-admin/glance/glance-2015.1.1-r3.ebuild b/app-admin/glance/glance-2015.1.1-r3.ebuild
index 88ae901..fe52e6c 100644
--- a/app-admin/glance/glance-2015.1.1-r3.ebuild
+++ b/app-admin/glance/glance-2015.1.1-r3.ebuild
@@ -7,8 +7,7 @@
 
 inherit distutils-r1 user
 
-DESCRIPTION="Provides services for discovering, registering, and retrieving
-virtual machine images"
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
 HOMEPAGE="https://launchpad.net/glance"
 SRC_URI="https://launchpad.net/${PN}/kilo/${PV}/+download/${P}.tar.gz"
 
diff --git a/app-admin/glance/glance-2015.1.2.ebuild b/app-admin/glance/glance-2015.1.2.ebuild
new file mode 100644
index 0000000..7d91039
--- /dev/null
+++ b/app-admin/glance/glance-2015.1.2.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 user
+
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
+HOMEPAGE="https://launchpad.net/glance"
+SRC_URI="https://launchpad.net/${PN}/kilo/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc mysql postgres +sqlite +swift test"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+		dev-python/setuptools[${PYTHON_USEDEP}]
+		>=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+		<dev-python/pbr-1.0[${PYTHON_USEDEP}]
+		test? (
+			${RDEPEND}
+			>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+			>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+			>=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+			<dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
+			>=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+			<dev-python/mox3-0.8.0[${PYTHON_USEDEP}]
+			>=dev-python/mock-1.0[${PYTHON_USEDEP}]
+			<dev-python/mock-1.1.0[${PYTHON_USEDEP}]
+			>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+			!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+			<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+			>=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+			!~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+			>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+			>=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+			!~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+			>=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
+			<dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
+			>=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+			<dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+			dev-python/mysql-python[${PYTHON_USEDEP}]
+			dev-python/psycopg[${PYTHON_USEDEP}]
+			~dev-python/pysendfile-2.0.1[${PYTHON_USEDEP}]
+			dev-python/qpid-python[${PYTHON_USEDEP}]
+			>=dev-python/pyxattr-0.5.0[${PYTHON_USEDEP}]
+			>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+			<dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+			>=dev-python/elasticsearch-py-1.3.0[${PYTHON_USEDEP}]
+		)"
+
+#note to self, wsgiref is a python builtin, no need to package it
+#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}]
+
+RDEPEND="
+	>=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+	sqlite? (
+		>=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+		<=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+	)
+	mysql? (
+		dev-python/mysql-python
+		>=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+		<=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+	)
+	postgres? (
+		dev-python/psycopg:2
+		>=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+		<=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+	)
+	>=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+	>=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+	!~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+	>=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+	>=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+	!~dev-python/routes-2.0[${PYTHON_USEDEP}]
+	>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+	!~dev-python/sqlalchemy-migrate-0.9.8[${PYTHON_USEDEP}]
+	<dev-python/sqlalchemy-migrate-0.10.0[${PYTHON_USEDEP}]
+	>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+	>=dev-python/kombu-2.5.0[${PYTHON_USEDEP}]
+	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+	>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+	dev-python/ordereddict[${PYTHON_USEDEP}]
+	>=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+	<dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-concurrency-1.8.2[${PYTHON_USEDEP}]
+	<dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-utils-1.4.1[${PYTHON_USEDEP}]
+	<dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+	>=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+	<dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+	>=dev-python/taskflow-0.7.1[${PYTHON_USEDEP}]
+	<dev-python/taskflow-0.8.0[${PYTHON_USEDEP}]
+	>=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
+	<dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
+	>=dev-python/WSME-0.6[${PYTHON_USEDEP}]
+	<dev-python/WSME-0.7[${PYTHON_USEDEP}]
+	dev-python/posix_ipc[${PYTHON_USEDEP}]
+	swift? (
+		>=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+		<dev-python/python-swiftclient-2.5.0[${PYTHON_USEDEP}]
+	)
+	>=dev-python/oslo-vmware-0.11.1[${PYTHON_USEDEP}]
+	<dev-python/oslo-vmware-0.12.0[${PYTHON_USEDEP}]
+	dev-python/paste[${PYTHON_USEDEP}]
+	>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+	<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+	>=dev-python/python-keystoneclient-1.2.0[${PYTHON_USEDEP}]
+	<dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+	>=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+	>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-policy-0.3.1[${PYTHON_USEDEP}]
+	<dev-python/oslo-policy-0.4.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+	<dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+	>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+	!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+	>=dev-python/osprofiler-0.3.0[${PYTHON_USEDEP}]
+	>=dev-python/glance_store-0.3.0[${PYTHON_USEDEP}]
+	<dev-python/glance_store-0.5.0[${PYTHON_USEDEP}]
+	>=dev-python/semantic_version-2.3.1[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+)
+
+pkg_setup() {
+	enewgroup glance
+	enewuser glance -1 -1 /var/lib/glance glance
+}
+
+python_prepare_all() {
+	sed -i '/xattr/d' test-requirements.txt || die
+	sed -i '/pysendfile/d' test-requirements.txt || die
+	sed -i '/^hacking/d' test-requirements.txt || die
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+	# https://bugs.launchpad.net/glance/+bug/1251105
+	# https://bugs.launchpad.net/glance/+bug/1242501
+	testr init
+	testr run --parallel || die "failed testsuite under python2.7"
+}
+
+python_install() {
+	distutils-r1_python_install
+
+	for svc in api registry scrubber; do
+		newinitd "${FILESDIR}/glance.initd" glance-${svc}
+	done
+
+	diropts -m 0750 -o glance -g glance
+	dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber
+	keepdir /etc/glance
+	keepdir /var/log/glance
+	keepdir /var/lib/glance/images
+	keepdir /var/lib/glance/scrubber
+
+	insinto /etc/glance
+	insopts -m 0640 -o glance -g glance
+	doins etc/*.ini
+	doins etc/*.conf
+	doins etc/*.sample
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+	distutils-r1_python_install_all
+}
diff --git a/app-admin/glance/glance-2015.1.9999.ebuild b/app-admin/glance/glance-2015.1.9999.ebuild
index 9bc465e..2192150 100644
--- a/app-admin/glance/glance-2015.1.9999.ebuild
+++ b/app-admin/glance/glance-2015.1.9999.ebuild
@@ -5,10 +5,9 @@
 EAPI=5
 PYTHON_COMPAT=( python2_7 )
 
-inherit distutils-r1 git-2 user
+inherit distutils-r1 git-r3 user
 
-DESCRIPTION="Provides services for discovering, registering, and retrieving
-virtual machine images"
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
 HOMEPAGE="https://launchpad.net/glance"
 EGIT_REPO_URI="https://github.com/openstack/glance.git"
 EGIT_BRANCH="stable/kilo"
@@ -25,12 +24,12 @@
 		<dev-python/pbr-1.0[${PYTHON_USEDEP}]
 		test? (
 			${RDEPEND}
-			>=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
-			<dev-python/hacking-0.11[${PYTHON_USEDEP}]
 			>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
 			>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
 			>=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
 			<dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
+			>=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+			<dev-python/mox3-0.8.0[${PYTHON_USEDEP}]
 			>=dev-python/mock-1.0[${PYTHON_USEDEP}]
 			<dev-python/mock-1.1.0[${PYTHON_USEDEP}]
 			>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
@@ -82,6 +81,8 @@
 	!~dev-python/routes-2.0[${PYTHON_USEDEP}]
 	>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
 	>=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+	!~dev-python/sqlalchemy-migrate-0.9.8[${PYTHON_USEDEP}]
+	<dev-python/sqlalchemy-migrate-0.10.0[${PYTHON_USEDEP}]
 	>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
 	>=dev-python/kombu-2.5.0[${PYTHON_USEDEP}]
 	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
@@ -89,11 +90,12 @@
 	dev-python/ordereddict[${PYTHON_USEDEP}]
 	>=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
 	<dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
-	>=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-concurrency-1.8.2[${PYTHON_USEDEP}]
 	<dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
 	>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
 	<dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
 	>=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-utils-1.4.1[${PYTHON_USEDEP}]
 	<dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
 	>=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
 	<dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
@@ -148,6 +150,7 @@
 python_prepare_all() {
 	sed -i '/xattr/d' test-requirements.txt || die
 	sed -i '/pysendfile/d' test-requirements.txt || die
+	sed -i '/^hacking/d' test-requirements.txt || die
 	distutils-r1_python_prepare_all
 }
 
diff --git a/app-admin/glance/glance-2015.2.9999.ebuild b/app-admin/glance/glance-2015.2.9999.ebuild
new file mode 100644
index 0000000..d44d287
--- /dev/null
+++ b/app-admin/glance/glance-2015.2.9999.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1 git-r3 user
+
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
+HOMEPAGE="https://launchpad.net/glance"
+EGIT_REPO_URI="https://github.com/openstack/glance.git"
+EGIT_BRANCH="stable/liberty"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc mysql postgres +sqlite +swift test"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.6.0[${PYTHON_USEDEP}]"
+DEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	${CDEPEND}
+	test? (
+		${RDEPEND}
+		>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+		<=dev-python/Babel-2.1.1[${PYTHON_USEDEP}]
+		>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+		<=dev-python/coverage-4.0.2[${PYTHON_USEDEP}]
+		>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
+		<=dev-python/fixtures-1.4.0-r9999[${PYTHON_USEDEP}]
+		>=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+		<=dev-python/mox3-0.12.0[${PYTHON_USEDEP}]
+		>=dev-python/mock-1.2[${PYTHON_USEDEP}]
+		<=dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+		!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+		<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+		>=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+		<=dev-python/requests-2.8.1[${PYTHON_USEDEP}]
+		>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+		<=dev-python/testrepository-0.0.20[${PYTHON_USEDEP}]
+		>=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+		<=dev-python/testresources-0.2.7-r9999[${PYTHON_USEDEP}]
+		>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+		<=dev-python/testscenarios-0.5[${PYTHON_USEDEP}]
+		>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+		<=dev-python/testtools-1.8.1[${PYTHON_USEDEP}]
+		>=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
+		<dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
+		>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
+		<=dev-python/oslotest-1.12.0[${PYTHON_USEDEP}]
+		>=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+		<=dev-python/pymysql-0.6.7[${PYTHON_USEDEP}]
+		>=dev-python/psycopg-2.5[${PYTHON_USEDEP}]
+		<=dev-python/psycopg-2.6.1[${PYTHON_USEDEP}]
+		>=dev-python/pysendfile-2.0.0[${PYTHON_USEDEP}]
+		<=dev-python/pysendfile-2.0.1[${PYTHON_USEDEP}]
+		<=dev-python/qpid-python-0.32[$(python_gen_usedep 'python2_7')]
+		>=dev-python/pyxattr-0.5.0[${PYTHON_USEDEP}]
+		>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+		<=dev-python/oslo-sphinx-3.2.0[${PYTHON_USEDEP}]
+	)"
+
+#note to self, wsgiref is a python builtin, no need to package it
+#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}]
+
+RDEPEND="
+	${CDEPEND}
+	sqlite? (
+		>=dev-python/sqlalchemy-0.9.9[sqlite,${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+	)
+	mysql? (
+		dev-python/mysql-python
+		>=dev-python/sqlalchemy-0.9.9[${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+	)
+	postgres? (
+		dev-python/psycopg:2[${PYTHON_USEDEP}]
+		>=dev-python/sqlalchemy-0.9.9[${PYTHON_USEDEP}]
+		<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+	)
+	~dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+	~dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+	>=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/pastedeploy-1.5.2[${PYTHON_USEDEP}]
+	>=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+	!~dev-python/routes-2.0[${PYTHON_USEDEP}]
+	!~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+	<=dev-python/routes-2.2[${PYTHON_USEDEP}]
+	>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+	<=dev-python/webob-1.5.1[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+	<=dev-python/sqlalchemy-migrate-0.10.0[${PYTHON_USEDEP}]
+	>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+	<=dev-python/httplib2-0.9.2[${PYTHON_USEDEP}]
+	>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+	<=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+	>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+	<=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+	>=dev-python/oslo-config-2.3.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-config-2.4.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-concurrency-2.3.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-concurrency-2.8.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-context-0.8.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-service-0.7.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-service-0.12.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-utils-2.0.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-utils-2.7.0[${PYTHON_USEDEP}]
+	>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/stevedore-1.9.0[${PYTHON_USEDEP}]
+	>=dev-python/futurist-0.1.2[${PYTHON_USEDEP}]
+	<=dev-python/futurist-0.8.0[${PYTHON_USEDEP}]
+	>=dev-python/taskflow-1.16.0[${PYTHON_USEDEP}]
+	<=dev-python/taskflow-1.23.0[${PYTHON_USEDEP}]
+	>=dev-python/keystonemiddleware-2.0.0[${PYTHON_USEDEP}]
+	<=dev-python/keystonemiddleware-3.0.0[${PYTHON_USEDEP}]
+	>=dev-python/WSME-0.7[${PYTHON_USEDEP}]
+	<=dev-python/WSME-0.8.0[${PYTHON_USEDEP}]
+	<=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+	>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+	!~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+	<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+	>=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
+	<=dev-python/python-keystoneclient-1.8.1-r9999[${PYTHON_USEDEP}]
+	>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+	<=dev-python/pyopenssl-0.15.1[${PYTHON_USEDEP}]
+	>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+	<=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-db-2.4.1[${PYTHON_USEDEP}]
+	<=dev-python/oslo-db-3.1.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-i18n-2.7.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-log-1.8.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-log-1.13.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-messaging-1.16.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-messaging-1.17.0[${PYTHON_USEDEP}]
+	!~dev-python/oslo-messaging-1.17.1[${PYTHON_USEDEP}]
+	<=dev-python/oslo-messaging-2.8.1[${PYTHON_USEDEP}]
+	>=dev-python/oslo-middleware-2.8.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-middleware-2.10.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-policy-0.5.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-policy-0.12.0[${PYTHON_USEDEP}]
+	>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+	<=dev-python/oslo-serialization-1.11.0[${PYTHON_USEDEP}]
+	>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+	!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+	<=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+	>=dev-python/osprofiler-0.3.0[${PYTHON_USEDEP}]
+	<=dev-python/osprofiler-0.3.1[${PYTHON_USEDEP}]
+	>=dev-python/glance_store-0.7.1[${PYTHON_USEDEP}]
+	!~dev-python/glance_store-0.9.0[${PYTHON_USEDEP}]
+	<=dev-python/glance_store-0.9.1[${PYTHON_USEDEP}]
+	>=dev-python/semantic_version-2.3.1[${PYTHON_USEDEP}]
+	<=dev-python/semantic_version-2.4.2[${PYTHON_USEDEP}]
+	>=dev-python/castellan-0.2.0[${PYTHON_USEDEP}]
+	<=dev-python/castellan-0.2.1[${PYTHON_USEDEP}]
+	>=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+	<=dev-python/cryptography-1.1-r9999[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+)
+
+pkg_setup() {
+	enewgroup glance
+	enewuser glance -1 -1 /var/lib/glance glance
+}
+
+python_prepare_all() {
+	sed -i '/xattr/d' test-requirements.txt || die
+	sed -i '/pysendfile/d' test-requirements.txt || die
+	sed -i '/^hacking/d' test-requirements.txt || die
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+	# https://bugs.launchpad.net/glance/+bug/1251105
+	# https://bugs.launchpad.net/glance/+bug/1242501
+	testr init
+	testr run --parallel || die "failed testsuite under python2.7"
+}
+
+python_install() {
+	distutils-r1_python_install
+
+	for svc in api registry scrubber; do
+		newinitd "${FILESDIR}/glance.initd" glance-${svc}
+	done
+
+	diropts -m 0750 -o glance -g glance
+	dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber
+	keepdir /etc/glance
+	keepdir /var/log/glance
+	keepdir /var/lib/glance/images
+	keepdir /var/lib/glance/scrubber
+
+	insinto /etc/glance
+	insopts -m 0640 -o glance -g glance
+	doins etc/*.ini
+	doins etc/*.conf
+	doins etc/*.sample
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+	distutils-r1_python_install_all
+}
diff --git a/app-admin/gtkdiskfree/metadata.xml b/app-admin/gtkdiskfree/metadata.xml
index e042f09..66824a4 100644
--- a/app-admin/gtkdiskfree/metadata.xml
+++ b/app-admin/gtkdiskfree/metadata.xml
@@ -3,7 +3,7 @@
 <pkgmetadata>
 	<herd>proxy-maintainers</herd>
 	<maintainer>
-		<email>samuel.bauer@yahoo.fr</email>
+		<email>BM-2cTVBXjxdVtEQCycBQjMxszLsgTNVujvM5@bitmessage.ch</email>
 		<name>Samuel Bauer</name>
 	</maintainer>
 	<maintainer>
diff --git a/app-admin/hardinfo/hardinfo-0.5.2_pre20130823.ebuild b/app-admin/hardinfo/hardinfo-0.5.2_pre20130823.ebuild
index b21a1bb..64f5ee6 100644
--- a/app-admin/hardinfo/hardinfo-0.5.2_pre20130823.ebuild
+++ b/app-admin/hardinfo/hardinfo-0.5.2_pre20130823.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -7,7 +7,7 @@
 inherit cmake-utils
 
 DESCRIPTION="A system information and benchmark tool for Linux systems"
-HOMEPAGE="http://hardinfo.berlios.de/"
+HOMEPAGE="http://hardinfo.org/"
 SRC_URI="https://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
 
 LICENSE="GPL-2"
diff --git a/app-admin/keepass/keepass-2.30.ebuild b/app-admin/keepass/keepass-2.30.ebuild
index d98b4e7..ec72e70 100644
--- a/app-admin/keepass/keepass-2.30.ebuild
+++ b/app-admin/keepass/keepass-2.30.ebuild
@@ -13,7 +13,7 @@
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
 IUSE="aot"
 
 COMMON_DEPEND=">=dev-lang/mono-2.10.5"
diff --git a/app-admin/lastpass-cli/Manifest b/app-admin/lastpass-cli/Manifest
index 4498b45..0cc1134 100644
--- a/app-admin/lastpass-cli/Manifest
+++ b/app-admin/lastpass-cli/Manifest
@@ -1,2 +1 @@
-DIST lastpass-cli-0.3.0.tar.gz 48596 SHA256 7956fe945aae64bd57350c3ed89773dd1449b99e8e0369eefcea14382e4aea08 SHA512 9993de2a8d8d66440d318985d1f15ed44033beb9932193f3ef90c5fdc2b598d9b9099d8a0bf871877dbf08014f028fad5305d33cc30bc9b1a7367a582e17002b WHIRLPOOL e7337847500c3a251ed81151517c4f3d8e4a8bd7089195f22748a117aad9c12f36c22471ea84a81ca7e2c4838063dbd852b34a86cf9701749d75278bec7c40ef
-DIST lastpass-cli-0.5.0.tar.gz 59237 SHA256 09e7b1e5c1520db2a34a49e7ae07e5b3a7555a4ed2490ed7b56f047065bca812 SHA512 7c34ba4cbf43b299656881766e40302edce1db27fb5eb20bed82fbd141354c7682f49d7dd114af0b1eae512e21f7b334b5bd9b820bac53aa52ad7400a579d925 WHIRLPOOL 443898d70290658900140f4262218b1923eed09a67a0aca18fb1c530a12b466b8362a1f190aaa73586e5ddfb4e843fbce9262e26d4ce2d66e38eed6e59b5820c
+DIST lastpass-cli-0.6.0.tar.gz 65047 SHA256 e48f210b34a030e8b8cef3e1d05957aabe757ea4cd31bf03c46b70ddc830733c SHA512 ceaa660e6a7d3b27b09ce6d1d522af216e2c8357859d87034f7f887b53631bf5214b02400f8cb91d0c0020fcfb7889dd0fd8731b1af76a63f94666de2ac4dcd4 WHIRLPOOL 4554d8576e71a0b4c7d69556614a33f3e34d85aec4dd6aa50973ba8eb212864fc45bf3a7cb4e2847cb60a00546e46652cf5baf7f34872ada23431e78078cc6ed
diff --git a/app-admin/lastpass-cli/lastpass-cli-0.5.0.ebuild b/app-admin/lastpass-cli/lastpass-cli-0.5.0.ebuild
deleted file mode 100644
index e112950..0000000
--- a/app-admin/lastpass-cli/lastpass-cli-0.5.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Interfaces with LastPass.com from the command line."
-SRC_URI="https://github.com/lastpass/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://github.com/lastpass/lastpass-cli"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE="X +pinentry"
-
-RDEPEND="
-	X? ( || ( x11-misc/xclip x11-misc/xsel ) )
-	dev-libs/openssl:0
-	net-misc/curl
-	dev-libs/libxml2
-	pinentry? ( app-crypt/pinentry )
-"
-DEPEND="${RDEPEND} app-text/asciidoc"
-
-src_prepare() {
-	sed -i 's/install -s/install/' Makefile || die "Could not remove stripping"
-}
-
-src_compile() {
-	emake PREFIX="${EPREFIX}/usr"
-	emake PREFIX="${EPREFIX}/usr" doc-man
-}
-
-src_install() {
-	emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-	emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install-doc
-}
diff --git a/app-admin/lastpass-cli/lastpass-cli-0.3.0.ebuild b/app-admin/lastpass-cli/lastpass-cli-0.6.0.ebuild
similarity index 100%
rename from app-admin/lastpass-cli/lastpass-cli-0.3.0.ebuild
rename to app-admin/lastpass-cli/lastpass-cli-0.6.0.ebuild
diff --git a/app-admin/logstash-bin/Manifest b/app-admin/logstash-bin/Manifest
index 5b69ca8..6e4440e 100644
--- a/app-admin/logstash-bin/Manifest
+++ b/app-admin/logstash-bin/Manifest
@@ -1,2 +1,3 @@
 DIST logstash-1.4.5.tar.gz 73896488 SHA256 ddb6fd2d26e87b13d87fa1495492a7346d45267df46eed29503df08d3e5d8a13 SHA512 b71b818dfb681459cc7cdd39d241b46c8bc905b4f26af377058feb78c9b9f3528059d136605685f24e7af1f2c190fa93557b0876765d78fc1f7cce32640a2593 WHIRLPOOL 7fa1189120fbfac487471261ae1a10e55986bee924df8356169d88ee37ef578607323316156ecbaa64e7e4f9fe9c1a70f475529f61f9977ac9287a484d2321cb
 DIST logstash-1.5.4.tar.gz 91956015 SHA256 f03075ee534ce6e7667679447f56543ce05cebbdb7b65a9396a5e538bf3e9fa8 SHA512 b20a8de5e22f82e6ddc03bae16d6ca01ab1fbff695a7fd0148feee9f8903c3805c45f296bceada6688fbcc86b8e318daaebcb6d67c2a6cd8d0cc3bdd8a3bf757 WHIRLPOOL 470e0a29b928690187ef17297393e702fc015c6a476e75b28d1abddc4082e0da0bd27f0fca5c2f81a207aeb0303e78ff6761126e08a800b3eb989710486f717c
+DIST logstash-1.5.5.tar.gz 89853616 SHA256 511c604ef096e6486cfbde83468cabad8f132401d32ae8f269c9144c959dd66e SHA512 badd0f78f3f48abc0d55c390e031b43a399301421b00f40d0a291629c49b58feb13ac292b567f334699194f4d035aec3d296ab4b95a375a1bda249d7a100f9a5 WHIRLPOOL 0f7bf4b26acabfba7e217b260a243e3c8455fbc876567b2c74372857db66cf4afd9c3a9033c82afa1ea4e0f635dbe33de8d1771fa7d470963584792651b70cc0
diff --git a/app-admin/logstash-bin/files/logstash.confd-r1 b/app-admin/logstash-bin/files/logstash.confd-r1
new file mode 100644
index 0000000..b101e86
--- /dev/null
+++ b/app-admin/logstash-bin/files/logstash.confd-r1
@@ -0,0 +1,7 @@
+#LS_USER="root"
+#LS_GROUP="root"
+#LS_CONFDIR="/etc/logstash/conf.d"
+#LS_LOGFILE="/var/log/logstash/logstash.log"
+#LS_PIDFILE="/run/logstash/logstash.pid"
+#LS_HEAP_SIZE="500m"
+#LS_OPTS=""
diff --git a/app-admin/logstash-bin/files/logstash.initd-r1 b/app-admin/logstash-bin/files/logstash.initd-r1
new file mode 100644
index 0000000..c65f098
--- /dev/null
+++ b/app-admin/logstash-bin/files/logstash.initd-r1
@@ -0,0 +1,44 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+LS_USER="${LS_USER:-root}"
+LS_GROUP="${LS_GROUP:-root}"
+LS_CONFDIR="${LS_CONFDIR:-/etc/logstash/conf.d}"
+LS_LOGFILE="${LS_LOGFILE:-/var/log/logstash/logstash.log}"
+LS_PIDFILE="${LS_PIDFILE:-/run/logstash/logstash.pid}"
+LS_HEAP_SIZE="${LS_HEAP_SIZE:-500m}"
+
+command="/opt/logstash/bin/logstash"
+command_args="agent --config ${LS_CONFDIR}/*.conf --log ${LS_LOGFILE} ${LS_OPTS}"
+extra_commands="checkconfig"
+command_background="true"
+start_stop_daemon_args="--user=${LS_USER}:${LS_GROUP} \
+	--env LS_HEAP_SIZE=${LS_HEAP_SIZE}"
+pidfile="${LS_PIDFILE}"
+
+depend() {
+	use net
+	after elasticsearch
+}
+
+checkconfig() {
+	ebegin "Checking your configuration"
+	${command} ${command_args} --configtest
+	eend $? "Configuration error. Please fix your configuration files."
+}
+
+start_pre() {
+	checkconfig || return 1
+
+	checkpath -d -o "${LS_USER}":"${LS_GROUP}" -m750 "$(dirname "${LS_PIDFILE}")"
+	checkpath -d -o "${LS_USER}":"${LS_GROUP}" -m750 "$(dirname "${LS_LOGFILE}")"
+	checkpath -f -o "${LS_USER}":"${LS_GROUP}" -m640 "${LS_LOGFILE}"
+}
+
+stop() {
+	ebegin "Stopping logstash"
+	start-stop-daemon --stop \
+		--pidfile="${LS_PIDFILE}" \
+		--retry=TERM/5/KILL/5
+}
diff --git a/app-admin/logstash-bin/logstash-bin-1.5.5.ebuild b/app-admin/logstash-bin/logstash-bin-1.5.5.ebuild
new file mode 100644
index 0000000..a7e0cac
--- /dev/null
+++ b/app-admin/logstash-bin/logstash-bin-1.5.5.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="${PN/-bin}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tool for managing events and logs"
+HOMEPAGE="https://www.elastic.co/products/logstash"
+SRC_URI="https://download.elastic.co/${MY_PN}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RESTRICT="strip"
+QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
+
+DEPEND=""
+RDEPEND="|| ( virtual/jre:1.8 virtual/jre:1.7 )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+	keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
+	keepdir "/var/log/${MY_PN}"
+
+	insinto "/etc/${MY_PN}/conf.d"
+	doins "${FILESDIR}/agent.conf.sample"
+
+	insinto "/opt/${MY_PN}"
+	doins -r .
+	fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby"
+
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/${MY_PN}.logrotate" "${MY_PN}"
+
+	newconfd "${FILESDIR}/${MY_PN}.confd-r1" "${MY_PN}"
+	newinitd "${FILESDIR}/${MY_PN}.initd-r1" "${MY_PN}"
+}
+
+pkg_postinst() {
+	einfo "Getting started with logstash:"
+	einfo "  https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html"
+	einfo ""
+	einfo "Packages that might be interesting:"
+	einfo "  app-misc/elasticsearch"
+	einfo "  dev-python/elasticsearch-curator"
+	einfo "  www-apps/kibana-bin"
+}
diff --git a/app-admin/mongo-tools/Manifest b/app-admin/mongo-tools/Manifest
index 3cdcaa6..2e009da 100644
--- a/app-admin/mongo-tools/Manifest
+++ b/app-admin/mongo-tools/Manifest
@@ -1,2 +1,3 @@
 DIST mongo-tools-3.0.5.tar.gz 2160877 SHA256 a0a46dabe493d32bda8dec4ca2e4b06c150b405d8184769d50936eb9bc6d126e SHA512 6434708f60c3edc08f439ecd1ae06f634a1897449f1244d9dc3c3024d6146329cfdadaff14a50ba7f35a4bee2bb302b00141d9f388d99a50c4391218c5e9d3e3 WHIRLPOOL d66563c12021bc84a951c7bd125827f958808e577c391252d815a89916fdb86187269d75f9d36a33828132d98040d328cc090ff4fdbc764e3bab15f5fcdb623c
 DIST mongo-tools-3.0.6.tar.gz 2161424 SHA256 ed4ebb42efe99f1eeac5ed128f4ae9b10e172396ad06eaae61d3a30c301c2a12 SHA512 ad9e635a6be911116e4a5ddaa4f509c6418036bf9fa4e1ea3940ce3bcc1a5479b403d26d2865b9938a66ed5b38ec4830b307baa7552cc4cf46cc0353dea8853f WHIRLPOOL 29e5364825795c5661ca595e294115d2a06ea43f0b0039bd56d31fd50c1325709a053ebbfc23d54954c4783229be218a6b426ffc6f301149fd946927aad62283
+DIST mongo-tools-3.0.7.tar.gz 2183495 SHA256 3136b8df6e7c81b5cf6609b3cd6113d69ea6c067d5bfd25b2e0dbabef9173ca0 SHA512 ff410f25a42e76f55716e6e478564aaeefd3999cf0e9db718969877709974d099c479690e81d6f639c27b0a4d9b59d193c43f1c31dc027b594f1fef33129cb5a WHIRLPOOL 3e3ac13de56c7abd5fd80dcfe5f94090aa78d240598ed0c879365b275bfab5da07aaf8c5b94ad27e3a6f7c0d24d6a68bbb5e54612b4fa2928efbf880c5c40dfc
diff --git a/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild b/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild
new file mode 100644
index 0000000..658782f
--- /dev/null
+++ b/app-admin/mongo-tools/mongo-tools-3.0.7.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
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-r${MY_PV}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="http://www.mongodb.org"
+SRC_URI="https://github.com/mongodb/mongo-tools/archive/r${MY_PV}.tar.gz -> mongo-tools-${MY_PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="sasl ssl"
+
+# Maintainer note:
+# openssl DEPEND constraint, see:
+# https://github.com/mongodb/mongo-tools/issues/11
+
+RDEPEND="!<dev-db/mongodb-3.0.0"
+DEPEND="${RDEPEND}
+	dev-lang/go:=
+	sasl? ( dev-libs/cyrus-sasl )
+	ssl? ( dev-libs/openssl )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PN}-3.0.0-build.patch"
+}
+
+src_compile() {
+	local myconf
+
+	if use sasl; then
+	  myconf="${myconf} sasl"
+	fi
+
+	if use ssl; then
+	  myconf="${myconf} ssl"
+	fi
+
+	./build.sh ${myconf}
+}
+
+src_install() {
+	dobin bin/*
+}
diff --git a/app-admin/monit/Manifest b/app-admin/monit/Manifest
index aa44614..1a5676a 100644
--- a/app-admin/monit/Manifest
+++ b/app-admin/monit/Manifest
@@ -1,6 +1,4 @@
 DIST monit-5.12.2.tar.gz 1192066 SHA256 8ab0296d1aa2351b1573481592d7b5e06de1edd49dff1b5552839605a450914c SHA512 086f9af2c6d155c5375e7de5641025707f34577d4f2a4a76d1a104361b5d5793a4f04313cafb5d6884a01aba59f1bbb405b37294ba133d9a93c05e484e5933ff WHIRLPOOL 3d25ab0dc3cfe0e2c881f35e48b64355fe12ce1d3357450d2b1d2aba7344acbe55c031e4fd6b49f7c523b674ff650cbad5bbc91853ec15dd10e64f164504ea70
-DIST monit-5.13.tar.gz 1193463 SHA256 9abae036f3be93a19c6b476ecd106b29d4da755bbc05f0a323e882eab6b2c5a9 SHA512 257fc9d5ece7b39973107adef51b437941c944909efa03949f53067a0811ab8929ea57e98cbf06a22dd6d69aaa0aadd65a22788165819ede8316dcd1894ad546 WHIRLPOOL 7556bd2299b4f930525877543c74c9a30f4a719e7abfb7e5b596ba070dc5c9a6aefaf129891e7ba1f5d1643bc8edbbfd9b35513b38c1bfec143f33e34b667420
 DIST monit-5.14.tar.gz 1200131 SHA256 d0424c3ee8ed43d670ba039184a972ac9f3ad6f45b0806ec17c23820996256c6 SHA512 6491434e15fab6f92e29b9f490418332a7700d110c0bd825d65e1aadd68ea082a1d9a7e2b570075b35d6cdb64ae207567bdeb2580e6e5407ba277cc6d1693c78 WHIRLPOOL 8e7ba198f6048d8de06082a269a9f7fa8fbbcd95e14174010bdf54935db53f840d00744e35f4260e9de5d8d9a6ea47aa7c4b037998b035775bbbe212057d75e7
-DIST monit-5.8.1.tar.gz 1212491 SHA256 a25e4b79257ac29ebaf46605dccb7ed693c8e001669c0ccc8feb22e7d4c870e5 SHA512 0cf8b46ea5a5ab42beac4aab649d4fa324b03e02aaceee6a86968849db46b129cd8f20e314c855653620a0bd4b4aa105e2c812a386ddd2be3196ff956f1e7e11 WHIRLPOOL 8134017da3c1f0dc2675df9cb2d7ecd0905765a92a248701a4de2b9ba449a548ae28cf661019e882a1992c027095360f14d1b2378c924623937c85b691c6056c
+DIST monit-5.15.tar.gz 1218043 SHA256 deada8153dc7e8755f572bc4d790143a92c7a8668dccb563ae4dbd73af56697c SHA512 7e2b011a89d9b1dc990faf413a38f0c68aea398e25efd5392d6aa1baf50d68ea2db087ea2093c84658a99b7a83d133b23562d5ad11e1197db7a54a2b961177cd WHIRLPOOL e305705583c79b8d861595cae4d000b5832e3288f3d0ec59e69ac811e1f402af489e44c8fe568941781d97c953ff181a8048f0b3dfaeec14a26fd4bbc8cff697
 DIST monit-5.8.tar.gz 1237958 SHA256 0c00573ebc0156c534a5952f392c2a7bedde194f8261c05497322055938847f5 SHA512 61f2cb4a6b2da8617adfd16ace4d9b246957385109fee9a3312272ac271003cd89a12872ac3a07b0148ad7bdbe544e447745033d2a9fab19908ef19b7a106dda WHIRLPOOL 0eb1f5b778264d7881281f7139037fa07c225a5c7ece7cae2149460036a58c008e16a3d883e1876a2dc08f092900e05d164e37714ec5fc19960d4127e13c6eeb
-DIST monit-5.9.tar.gz 1161683 SHA256 274044485170b7498de29e7876cd86488378f50d69df4303a14930ba1f5e4a11 SHA512 915d548d5a4e043b346ec32d9fd3131d7eafd8ed1167e4fca3d4918df9ff87a166dbb2b3398d59a8510c7190c43fe26043568742a27828257140683bea349c83 WHIRLPOOL d5bde04202b066665feeef7bca5e0ec23c18c0bf5a6940ac30b8bfc8cc01056a802b3beae8e0caac861770e167b7b48254fe08fbb9294554e25102bec620f508
diff --git a/app-admin/monit/monit-5.13.ebuild b/app-admin/monit/monit-5.13.ebuild
deleted file mode 100644
index 1fe7bec..0000000
--- a/app-admin/monit/monit-5.13.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit pam systemd
-
-DESCRIPTION="a utility for monitoring and managing daemons or similar programs running on a Unix system"
-HOMEPAGE="http://mmonit.com/monit/"
-SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="pam ssl"
-
-RDEPEND="ssl? ( dev-libs/openssl )"
-DEPEND="${RDEPEND}
-	sys-devel/flex
-	sys-devel/bison
-	pam? ( virtual/pam )"
-
-src_prepare() {
-	sed -i -e '/^INSTALL_PROG/s/-s//' Makefile.in || die "sed failed in Makefile.in"
-}
-
-src_configure() {
-	econf $(use_with ssl) $(use_with pam)
-}
-
-src_install() {
-	default
-
-	dodoc README*
-	dohtml -r doc/*
-
-	insinto /etc; insopts -m600; doins monitrc
-	newinitd "${FILESDIR}"/monit.initd-5.0-r1 monit
-	systemd_dounit "${FILESDIR}"/${PN}.service
-
-	use pam && newpamd "${FILESDIR}"/${PN}.pamd ${PN}
-}
-
-pkg_postinst() {
-	elog "Sample configurations are available at:"
-	elog "http://mmonit.com/monit/documentation/"
-}
diff --git a/app-admin/monit/monit-5.15.ebuild b/app-admin/monit/monit-5.15.ebuild
new file mode 100644
index 0000000..70f94ad
--- /dev/null
+++ b/app-admin/monit/monit-5.15.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 pam systemd
+
+DESCRIPTION="a utility for monitoring and managing daemons or similar programs running on a Unix system"
+HOMEPAGE="http://mmonit.com/monit/"
+SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="pam ssl"
+
+RDEPEND="ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}
+	sys-devel/flex
+	sys-devel/bison
+	pam? ( virtual/pam )"
+
+src_prepare() {
+	sed -i -e '/^INSTALL_PROG/s/-s//' Makefile.in || die "sed failed in Makefile.in"
+}
+
+src_configure() {
+	econf $(use_with ssl) $(use_with pam)
+}
+
+src_install() {
+	default
+
+	dodoc README*
+	dohtml -r doc/*
+
+	insinto /etc; insopts -m600; doins monitrc
+	newinitd "${FILESDIR}"/monit.initd-5.0-r1 monit
+	systemd_dounit "${FILESDIR}"/${PN}.service
+
+	use pam && newpamd "${FILESDIR}"/${PN}.pamd ${PN}
+}
+
+pkg_postinst() {
+	elog "Sample configurations are available at:"
+	elog "http://mmonit.com/monit/documentation/"
+}
diff --git a/app-admin/monit/monit-5.8.1-r1.ebuild b/app-admin/monit/monit-5.8.1-r1.ebuild
deleted file mode 100644
index 136e734..0000000
--- a/app-admin/monit/monit-5.8.1-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit systemd
-
-DESCRIPTION="a utility for monitoring and managing daemons or similar programs running on a Unix system"
-HOMEPAGE="http://mmonit.com/monit/"
-SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="pam ssl"
-
-RDEPEND="ssl? ( dev-libs/openssl )"
-DEPEND="${RDEPEND}
-	sys-devel/flex
-	sys-devel/bison
-	pam? ( virtual/pam )"
-
-src_prepare() {
-	sed -i -e '/^INSTALL_PROG/s/-s//' Makefile.in || die "sed failed in Makefile.in"
-}
-
-src_configure() {
-	econf $(use_with ssl) $(use_with pam) || die "econf failed"
-}
-
-src_compile() {
-	emake || die "emake failed"
-}
-
-src_install() {
-	make DESTDIR="${D}" install || die "make install failed"
-
-	dodoc README*
-	dohtml -r doc/*
-
-	insinto /etc; insopts -m600; doins monitrc || die "doins monitrc failed"
-	newinitd "${FILESDIR}"/monit.initd-5.0-r1 monit || die "newinitd failed"
-	systemd_dounit "${FILESDIR}"/${PN}.service || die
-}
-
-pkg_postinst() {
-	elog "Sample configurations are available at:"
-	elog "http://mmonit.com/monit/documentation/"
-}
diff --git a/app-admin/monit/monit-5.9.ebuild b/app-admin/monit/monit-5.9.ebuild
deleted file mode 100644
index 907070f..0000000
--- a/app-admin/monit/monit-5.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit systemd
-
-DESCRIPTION="a utility for monitoring and managing daemons or similar programs running on a Unix system"
-HOMEPAGE="http://mmonit.com/monit/"
-SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="pam ssl"
-
-RDEPEND="ssl? ( dev-libs/openssl )"
-DEPEND="${RDEPEND}
-	sys-devel/flex
-	sys-devel/bison
-	pam? ( virtual/pam )"
-
-src_prepare() {
-	sed -i -e '/^INSTALL_PROG/s/-s//' Makefile.in || die "sed failed in Makefile.in"
-}
-
-src_configure() {
-	econf $(use_with ssl) $(use_with pam) || die "econf failed"
-}
-
-src_compile() {
-	emake || die "emake failed"
-}
-
-src_install() {
-	make DESTDIR="${D}" install || die "make install failed"
-
-	dodoc README*
-	dohtml -r doc/*
-
-	insinto /etc; insopts -m600; doins monitrc || die "doins monitrc failed"
-	newinitd "${FILESDIR}"/monit.initd-5.0-r1 monit || die "newinitd failed"
-	systemd_dounit "${FILESDIR}"/${PN}.service || die
-}
-
-pkg_postinst() {
-	elog "Sample configurations are available at:"
-	elog "http://mmonit.com/monit/documentation/"
-}
diff --git a/app-admin/puppet-agent/Manifest b/app-admin/puppet-agent/Manifest
index ebf38f7..8107900 100644
--- a/app-admin/puppet-agent/Manifest
+++ b/app-admin/puppet-agent/Manifest
@@ -4,3 +4,9 @@
 DIST puppet-agent_1.2.4-1wheezy_i386.deb 15122670 SHA256 33e9b16ea215089e7a89288faebd4767163e05d7c4a9d5c51ca71b041496c204 SHA512 944f6388d317fab9a2714a6cdc57e713a973d3c1df259b3358be3a0d737878df9f1d66186af8aea0cc768e55650f1dd1d3ef8682b942728fba45e7c0bca20867 WHIRLPOOL bd5710845a9c8f27fb566ead63e45649fb3854200df0259c76b9478d93792b453a9d5cf4fdc20112991d4d091c82143b7504b51be65815b2dcb67796f275303d
 DIST puppet-agent_1.2.5-1wheezy_amd64.deb 15187830 SHA256 4d557e45571df033a9e1babf406f9b8a4c387fe6dec7d3645f5e7ad5d7625f0d SHA512 25557aa4d5fa3d2ba0aa226c835d6779d075f0ef7c054cfda9826b1fedd08c90f5143630206b1bd51550f193aecdf4eef6395437f24e5fdfe10d3ed10fb4b75f WHIRLPOOL d6ef920932a708d1a143245f84380384b3a22320c0bb21e60be9807e29af1d3da6dbfef2f498fcb90fe4584618ae338546103c71eb305b743d326e9c20704f1f
 DIST puppet-agent_1.2.5-1wheezy_i386.deb 15122650 SHA256 f34a6e9c70b5276806dacf64fb2b41fd927e6875071d044f9901c5a8d9dacd1d SHA512 0989501ca3f011601bb301126ad58084571ee67eb961fbf1f5cf002eb9155bf4f8e838452ac62b45472f00c0a7538cb5c72c3e43c651675a7940d8ab9a1a309c WHIRLPOOL f9698e3154254d9931fdbccd9a75edccae8ab799f8add0e32995453d62a0d070001ad858449c5b816c1b1a448beb8b99b180558feea3b36fc84c0e730e2d5b7e
+DIST puppet-agent_1.2.6-1wheezy_amd64.deb 15187698 SHA256 3448a92d6761bc1c284b17508bf541b0a8c40394b03e7608826e4f2a900e40cc SHA512 b5e6e43f22728cd7d9f4d103aa4de8fa1eccb3159abc31a921fa8f387dd0436a8d0f915b38be8ce233e39448b94f30be90e18da4e2861d6aeda9ef8a312474d2 WHIRLPOOL eca0f32e11b29050e53d93d02a68e874cc5f0f90d823aa7ea5241599872ef39d65f45103542fac84083b40ec47cf09435f27c4fb91b5a5c9a4dee84aa50a2c41
+DIST puppet-agent_1.2.6-1wheezy_i386.deb 15122826 SHA256 271d62f7f6634b49632308d95c75519620335d176d3ee694a3cee42bb445d658 SHA512 3eae7b5a112baf1123c6d942e0b60ee07d76b02a8313a7122884b66f08077fbe430447857e5862182de7cf64ef90f931a49936d6967134937ccff84dd419ae4c WHIRLPOOL bce7ce95c3f6c21ca658d7ba25b3cb7b04c20e5af5499e3f4efb1df997dedd01e0982c67da332fcd8da901f06ce8683219baa6c7e02a7a4eed5ce20547bcfa35
+DIST puppet-agent_1.2.7-1wheezy_amd64.deb 15280016 SHA256 c250bcdeb22296ef3b0097da507b32f1503abbff332c68df10291dcb975243ed SHA512 f2e8d37415d9b6c260c8b4fdee44cc1b85ab784b57c944b856082cc9a65b3de32985527a65aac49ae3c3eea54736bf3c26e11af91c09fd6bfb3b065e98ca99d0 WHIRLPOOL e6b62d968dd0a10031b42afd052c2a280e5d50caae5d51f493a3f432cb4f74ff783db8c4cb77fd2bb6defb4fd1743ce220bf9143fa7c1c02a1b8dffe01a474b2
+DIST puppet-agent_1.2.7-1wheezy_i386.deb 15214412 SHA256 c2b9f51cfe3d3e43b3cdfb7a1c6c92abaeaf2c4ab26e9ceac5aba2b58cf1480e SHA512 6950e09c49da35c0cf463364b4ec468ba011f15d3caf9c59c58ef01a0cfd859cb5c97a3271d9a11c958a71c4c77ba45a8dab205124b92a80354da519dc1a2f3c WHIRLPOOL 12ce6f5ba23f00d1320d7cd40734485ac69bdddda8a9711e18f3549c12919592ca27394963578c5850400864e2b524e7034833e8b2985b15f06bb66f06df1b75
+DIST puppet-agent_1.3.0-1wheezy_amd64.deb 18018964 SHA256 dd107d96f674100e399f1e1a773b22ed2dd77081f3580d7df729f0d02885326f SHA512 20b5a2e516e98db30450b54f0ae042b4c6d5ccf4f44bc3403381bc663c73a7349b393fefaafabfbe334a49afbfcabc8eeae727e4eca54ef7eaa81463a7f05ed2 WHIRLPOOL df75fda9fa2ddc46fea419a65dc0de7eccd9ded41534c96f9be6688b07287fb3f6343ae908fcede47f857d37af1513e74ae5b25302150b1b186f0dc698d85860
+DIST puppet-agent_1.3.0-1wheezy_i386.deb 17960480 SHA256 eda86599bd647e1367874636aedb9e2812540043b6bf3f0f614efb00b7f727b8 SHA512 d2a3555c9298c9a14ea9342e787f4971a0e6fbe0ea37a2ca8a6f8ee4863fb8eb21dd5cb45c493ad0bffdc85e239baa6aaec95c778fb697e6ec5fe65ba592ea84 WHIRLPOOL f77446c30aaf56e529ecec2dfbd00d438407ed58bfa460f147cc59c403eeafa4fbb62697d84696173501c349156d0b0c0a0166760dc2bdf1f133371bc9ee1d98
diff --git a/app-admin/puppet-agent/puppet-agent-1.2.6.ebuild b/app-admin/puppet-agent/puppet-agent-1.2.6.ebuild
new file mode 100644
index 0000000..7de77c5
--- /dev/null
+++ b/app-admin/puppet-agent/puppet-agent-1.2.6.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 systemd unpacker
+
+DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
+HOMEPAGE="https://puppetlabs.com/"
+SRC_BASE="http://apt.puppetlabs.com/pool/wheezy/PC1/${PN:0:1}/${PN}/${PN}_${PV}-1wheezy"
+SRC_URI="
+	amd64? ( ${SRC_BASE}_amd64.deb )
+	x86?   ( ${SRC_BASE}_i386.deb )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="puppetdb selinux"
+RESTRICT="strip"
+
+CDEPEND="!app-admin/augeas
+	!app-admin/mcollective
+	!app-admin/puppet
+	!dev-ruby/hiera
+	!dev-ruby/facter
+	!app-emulation/virt-what"
+
+DEPEND="
+	${CDEPEND}"
+RDEPEND="${CDEPEND}
+	sys-apps/dmidecode
+	selinux? (
+		sys-libs/libselinux[ruby]
+		sec-policy/selinux-puppet
+	)
+	puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
+
+S=${WORKDIR}
+
+src_install() {
+	# conf.d
+	doconfd etc/default/puppet
+	doconfd etc/default/mcollective
+	# logrotate.d
+	insinto /etc/logrotate.d
+	doins etc/logrotate.d/mcollective
+	# puppet itself
+	insinto /etc/puppetlabs
+	doins -r etc/puppetlabs/*
+	# logdir for systemd
+	dodir var/log/puppetlabs/puppet/
+	fperms 0750 var/log/puppetlabs/puppet/
+	# the rest
+	insinto /opt
+	dodir opt/puppetlabs/puppet/cache
+	doins -r opt/*
+	fperms 0750 /opt/puppetlabs/puppet/cache
+	# init
+	newinitd "${FILESDIR}/puppet.initd" puppet
+	newinitd "${FILESDIR}/mcollective.initd" mcollective
+	systemd_dounit "${FILESDIR}/puppet.service"
+	systemd_dounit "${FILESDIR}/mcollective.service"
+	systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
+	# symlinks
+	chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
+	chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
+	dosym /opt/puppetlabs/bin/facter /usr/bin/facter
+	dosym /opt/puppetlabs/bin/hiera /usr/bin/hiera
+	dosym /opt/puppetlabs/bin/mco /usr/bin/mco
+	dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
+	dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
+	dosym /opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
+	dosym /opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
+	dosym /opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
+	dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
+}
diff --git a/app-admin/puppet-agent/puppet-agent-1.2.7-r1.ebuild b/app-admin/puppet-agent/puppet-agent-1.2.7-r1.ebuild
new file mode 100644
index 0000000..c46e0fc
--- /dev/null
+++ b/app-admin/puppet-agent/puppet-agent-1.2.7-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
+inherit eutils systemd unpacker user
+
+DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
+HOMEPAGE="https://puppetlabs.com/"
+SRC_BASE="http://apt.puppetlabs.com/pool/wheezy/PC1/${PN:0:1}/${PN}/${PN}_${PV}-1wheezy"
+SRC_URI="
+	amd64? ( ${SRC_BASE}_amd64.deb )
+	x86?   ( ${SRC_BASE}_i386.deb )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="puppetdb selinux"
+RESTRICT="strip"
+
+CDEPEND="!app-admin/augeas
+	!app-admin/mcollective
+	!app-admin/puppet
+	!dev-ruby/hiera
+	!dev-ruby/facter
+	!app-emulation/virt-what"
+
+DEPEND="
+	${CDEPEND}"
+RDEPEND="${CDEPEND}
+	sys-apps/dmidecode
+	selinux? (
+		sys-libs/libselinux[ruby]
+		sec-policy/selinux-puppet
+	)
+	puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
+
+S=${WORKDIR}
+
+QA_PREBUILT="
+	/opt/puppetlabs/puppet
+	/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
+	/opt/puppetlabs/puppet/lib/engines/*
+	/opt/puppetlabs/puppet/lib/virt-what/*
+	/opt/puppetlabs/puppet/bin/*"
+
+pkg_setup() {
+	enewgroup puppet
+	enewuser puppet -1 -1 /var/run/puppet puppet
+}
+
+src_install() {
+	# conf.d
+	doconfd etc/default/puppet
+	doconfd etc/default/mcollective
+	# logrotate.d
+	insinto /etc/logrotate.d
+	doins etc/logrotate.d/mcollective
+	# puppet itself
+	insinto /etc/puppetlabs
+	doins -r etc/puppetlabs/*
+	# logdir for systemd
+	dodir var/log/puppetlabs/puppet/
+	fperms 0750 var/log/puppetlabs/puppet/
+	# the rest
+	insinto /opt
+	dodir opt/puppetlabs/puppet/cache
+	doins -r opt/*
+	fperms 0750 /opt/puppetlabs/puppet/cache
+	# init
+	newinitd "${FILESDIR}/puppet.initd" puppet
+	newinitd "${FILESDIR}/mcollective.initd" mcollective
+	systemd_dounit "${FILESDIR}/puppet.service"
+	systemd_dounit "${FILESDIR}/mcollective.service"
+	systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
+	# symlinks
+	chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
+	chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
+	dosym /opt/puppetlabs/bin/facter /usr/bin/facter
+	dosym /opt/puppetlabs/bin/hiera /usr/bin/hiera
+	dosym /opt/puppetlabs/bin/mco /usr/bin/mco
+	dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
+	dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
+	dosym /opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
+	dosym /opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
+	dosym /opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
+	dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
+}
diff --git a/app-admin/puppet-agent/puppet-agent-1.3.0.ebuild b/app-admin/puppet-agent/puppet-agent-1.3.0.ebuild
new file mode 100644
index 0000000..696bcc7
--- /dev/null
+++ b/app-admin/puppet-agent/puppet-agent-1.3.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils systemd unpacker user
+
+DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
+HOMEPAGE="https://puppetlabs.com/"
+SRC_BASE="http://apt.puppetlabs.com/pool/wheezy/PC1/${PN:0:1}/${PN}/${PN}_${PV}-1wheezy"
+SRC_URI="
+	amd64? ( ${SRC_BASE}_amd64.deb )
+	x86?   ( ${SRC_BASE}_i386.deb )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="puppetdb selinux"
+RESTRICT="strip"
+
+CDEPEND="!app-admin/augeas
+	!app-admin/mcollective
+	!app-admin/puppet
+	!dev-ruby/hiera
+	!dev-ruby/facter
+	!app-emulation/virt-what"
+
+DEPEND="
+	${CDEPEND}"
+RDEPEND="${CDEPEND}
+	sys-apps/dmidecode
+	selinux? (
+		sys-libs/libselinux[ruby]
+		sec-policy/selinux-puppet
+	)
+	puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
+
+S=${WORKDIR}
+
+QA_PREBUILT="
+	/opt/puppetlabs/puppet
+	/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
+	/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
+	/opt/puppetlabs/puppet/lib/engines/*
+	/opt/puppetlabs/puppet/lib/virt-what/*
+	/opt/puppetlabs/puppet/bin/*"
+
+pkg_setup() {
+	enewgroup puppet
+	enewuser puppet -1 -1 /var/run/puppet puppet
+}
+
+src_install() {
+	# conf.d
+	doconfd etc/default/puppet
+	doconfd etc/default/mcollective
+	# logrotate.d
+	insinto /etc/logrotate.d
+	doins etc/logrotate.d/mcollective
+	# puppet itself
+	insinto /etc/puppetlabs
+	doins -r etc/puppetlabs/*
+	# logdir for systemd
+	dodir var/log/puppetlabs/puppet/
+	fperms 0750 var/log/puppetlabs/puppet/
+	# the rest
+	insinto /opt
+	dodir opt/puppetlabs/puppet/cache
+	doins -r opt/*
+	fperms 0750 /opt/puppetlabs/puppet/cache
+	# init
+	newinitd "${FILESDIR}/puppet.initd" puppet
+	newinitd "${FILESDIR}/mcollective.initd" mcollective
+	systemd_dounit "${FILESDIR}/puppet.service"
+	systemd_dounit "${FILESDIR}/mcollective.service"
+	systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
+	# symlinks
+	chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
+	chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
+	dosym /opt/puppetlabs/bin/facter /usr/bin/facter
+	dosym /opt/puppetlabs/bin/hiera /usr/bin/hiera
+	dosym /opt/puppetlabs/bin/mco /usr/bin/mco
+	dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
+	dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
+	dosym /opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
+	dosym /opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
+	dosym /opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
+	dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
+}
diff --git a/app-admin/puppet/Manifest b/app-admin/puppet/Manifest
index 9731fe5..f0e6f45 100644
--- a/app-admin/puppet/Manifest
+++ b/app-admin/puppet/Manifest
@@ -3,6 +3,7 @@
 DIST puppet-3.8.1.tar.gz 2633982 SHA256 033d99125276c7062fa5928e3de38c5e487b406530b3c50e84027b3abfd945a8 SHA512 a188c9f5baad3260c7cc2ea26d79d6655b504809deefe90a9e9ed81d3a66c1e10cc0b72b63c9ef34e5dd9266d3588cb7dc0d55e7a762f5fa5bbdc1ebe347979d WHIRLPOOL fd476519032d7b346a8813e4c73826daafc69fc4f7a8924efb35dfc6d691a7734322a7746008484df3f62f32865b23c6203f38662f354057aff5e75c20bf1965
 DIST puppet-3.8.2.tar.gz 2637591 SHA256 5a89c623f22fc96a2919801ff874b10f8f1a66e95c09976c73b257b8bbc39986 SHA512 b209a7b009e1d9510753a7484e620c3fb34a83058e8dbc2d9de2c33aca97e813fa85046d9b4de2fad9cb8fb7db257d46c221dd6eb9c0f86e1343cce6e1a9ca5a WHIRLPOOL 55bc7ece7ee918fab29e0f116f8ebc58322b42c07285a8965f2acae9dcff9c13e90cfc9c3c2537f9d21c663062015482fd48e24a1505fc7445fb6b949bc805bc
 DIST puppet-3.8.3.tar.gz 2638669 SHA256 bbdf5e32428fe005ea7279e9396bfcdf2c9b112763595fbfed48fb599108df7f SHA512 8f955c68556a835de738cf5f34cefd916392145853cd59108af26cb5c23b28740cdd078ac33b3171280ac691884c073c53d230641c88484561ac463bca094da6 WHIRLPOOL 2ff3181a3ea11d4b25d8499c3984f22e530e94ccc5a87e668b758a55f3c9091ca3d344afc62fb0f08b1835d5668b2f90e26ddf2560111fb52c0292b511301cd2
+DIST puppet-3.8.4.tar.gz 2639537 SHA256 19e83ebbbf0933a9df6696255d7ff4d65e3daba1ed8dacf87f16a87ae40a7ad7 SHA512 bcd4251f56292529973c1694d4c1b0673e01cc6525c3fda8415e3b69b03861f0c1c168911b47c1372eeecd54c5eb2efc67ae23fd9ca0329b821b6f1b1e4e641a WHIRLPOOL 8088df2bcfa2f2ed5be8f0769c45d70d5b8496c59f84217299d0df9b143f7551c2fb3a86edc467dfdaca6574a57e7fe4a8b89e9a376e991385650f6ce4dc9f21
 DIST puppet-4.0.0.tar.gz 2498445 SHA256 c02a5cceb68d6c26228c242a312d68cf054233842e914e9d3aec32b38034e013 SHA512 c8ec0771105e83498f7558e1dfa8679d94cb2d526589041319f35cce214a4c8602ebf8541a15fa64ce542168d101042153815887fb8350bce0c4371c490f396f WHIRLPOOL af53d8b14b7110e6648873e9822de37a8bb17b7f635800d9a9fb1fff7df22000cd13604b45913ddddbae58b7af198c80e84c001cc8b6d1643db9ead4ece42bb7
 DIST puppet-4.1.0.tar.gz 2532579 SHA256 a168ac45a7b25932dfc78bd5da3efe41363e239c7361dd5c4f91615dc17bb275 SHA512 85ba32fb3a7e9f3413f201263943411fbb6b57a4aa13461954b32c1095b06d04f26288a216c5624290cf89d09183bc86bb5f57769fe2ccadc44bf57cd601f5d3 WHIRLPOOL 5288b3204a5c5b96da4eabdee19c1156e71b3a76662d8d28fc8e43988e76ca52618d423c207c1a25d5d92638c559db76ee3c8ce336286d3a5e875c1dc538f8b8
 DIST puppet-4.2.1.tar.gz 2546267 SHA256 519842dfa03ff78c94e77fb28867aef12933691b9e2ce41788f80c5c2865fe7e SHA512 d4ce3f6cd0fbca4270a9121671c27985c9aaa5360a1a317afcc8f79cd81d285e1661cc77d50dda47abd8e50309762d5931545ea4d675b9fb6c32b612e570fd3d WHIRLPOOL 492294158f7f5eb78b93098c759c97ca53a09fc7b24a8350dfd76220a1d578f78375ba3bd9d618b97299931001af83cc5475c4f6ad9bbb1c3d9744fa07585bfd
diff --git a/app-admin/puppet/puppet-3.8.4.ebuild b/app-admin/puppet/puppet-3.8.4.ebuild
new file mode 100644
index 0000000..2618d22
--- /dev/null
+++ b/app-admin/puppet/puppet-3.8.4.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+USE_RUBY="ruby19 ruby20 ruby21"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec"
+
+inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator
+
+DESCRIPTION="A system automation and configuration management software"
+HOMEPAGE="http://puppetlabs.com/"
+SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="augeas diff doc emacs ldap minimal rrdtool selinux shadow sqlite vim-syntax xemacs"
+
+ruby_add_rdepend "
+	dev-ruby/hiera
+	>=dev-ruby/rgen-0.7.0
+	>=dev-ruby/facter-1.6.2 <dev-ruby/facter-3
+	dev-ruby/json
+	augeas? ( dev-ruby/ruby-augeas )
+	diff? ( dev-ruby/diff-lcs )
+	doc? ( dev-ruby/rdoc )
+	ldap? ( dev-ruby/ruby-ldap )
+	shadow? ( dev-ruby/ruby-shadow )
+	sqlite? ( dev-ruby/sqlite3 )
+	virtual/ruby-ssl"
+
+ruby_add_bdepend "test? ( dev-ruby/mocha )"
+
+DEPEND="${DEPEND}
+	ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
+	emacs? ( virtual/emacs )
+	xemacs? ( app-editors/xemacs )"
+RDEPEND="${RDEPEND}
+	ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
+	rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
+	selinux? (
+		sys-libs/libselinux[ruby]
+		sec-policy/selinux-puppet
+	)
+	vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
+	>=app-portage/eix-0.18.0"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+pkg_setup() {
+	enewgroup puppet
+	enewuser puppet -1 -1 /var/lib/puppet puppet
+}
+
+all_ruby_prepare() {
+	# Avoid spec that require unpackaged json-schema.
+	rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
+
+	# Avoid Rails specs to avoid this dependency and because they
+	# currently fail against Rails 4.1.
+	find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die
+	rm -r spec/unit/rails || die
+	rm spec/unit/parser/collector_spec.rb || die
+
+	# Avoid specs that can only run in the puppet.git repository. This
+	# should be narrowed down to the specific specs.
+	rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die
+
+	# Avoid failing spec that need further investigation.
+	rm spec/unit/module_tool/metadata_spec.rb || die
+}
+
+all_ruby_compile() {
+	if use emacs ; then
+		elisp-compile ext/emacs/puppet-mode.el
+	fi
+
+	if use xemacs ; then
+		# Create a separate version for xemacs to be able to install
+		# emacs and xemacs in parallel.
+		mkdir ext/xemacs
+		cp ext/emacs/* ext/xemacs/
+		xemacs-elisp-compile ext/xemacs/puppet-mode.el
+	fi
+}
+
+each_ruby_install() {
+	each_fakegem_install
+	#${RUBY} install.rb --destdir="${D}" install || die
+}
+
+all_ruby_install() {
+	all_fakegem_install
+
+	#systemd stuffs
+	insinto /usr/lib/systemd/system
+	doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
+	insinto /usr/lib/tmpfiles.d
+	newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
+
+	newinitd "${FILESDIR}"/puppet.init-r1 puppet
+
+	# Initial configuration files
+	insinto /etc/puppet
+
+	# Location of log and data files
+	keepdir /var/log/puppet
+	fowners -R puppet:puppet /var/log/puppet
+
+	if use minimal ; then
+		rm "${ED}/etc/puppet/auth.conf"
+	else
+		insinto /usr/lib/systemd/system
+		doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service"
+		newinitd "${FILESDIR}"/puppetmaster.init-r1 puppetmaster
+		newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
+
+		insinto /etc/puppet
+
+		keepdir /etc/puppet/manifests
+		keepdir /etc/puppet/modules
+
+		keepdir /var/lib/puppet/ssl
+		keepdir /var/lib/puppet/facts
+		keepdir /var/lib/puppet/files
+		fowners -R puppet:puppet /var/lib/puppet
+		fperms 0750 /var/lib/puppet
+	fi
+	fperms 0750 /etc/puppet
+	fowners :puppet /etc/puppet
+
+	if use emacs ; then
+		elisp-install ${PN} ext/emacs/puppet-mode.el*
+		elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+	fi
+
+	if use xemacs ; then
+		xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el*
+		xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+	fi
+
+	if use ldap ; then
+		insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
+	fi
+
+	# ext and examples files
+	for f in $(find ext examples -type f) ; do
+		docinto "$(dirname ${f})"; dodoc "${f}"
+	done
+}
+
+pkg_postinst() {
+	elog
+	elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
+	elog "cause puppet to hang while installing packages."
+	elog
+	elog "Portage Puppet module with Gentoo-specific resources:"
+	elog "http://forge.puppetlabs.com/gentoo/portage"
+	elog
+
+	if [ \
+		-f "${EPREFIX}/etc/puppet/puppetd.conf" -o \
+		-f "${EPREFIX}/etc/puppet/puppetmaster.conf" -o \
+		-f "${EPREFIX}/etc/puppet/puppetca.conf" \
+	] ; then
+		elog
+		elog "Please remove deprecated config files."
+		elog "	/etc/puppet/puppetca.conf"
+		elog "	/etc/puppet/puppetd.conf"
+		elog "	/etc/puppet/puppetmasterd.conf"
+		elog
+	fi
+
+	if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then
+		elog
+		elog "If you're upgrading from 2.x then we strongly suggest you to read:"
+		elog "http://docs.puppetlabs.com/guides/upgrading.html"
+		elog
+	fi
+
+	use emacs && elisp-site-regen
+	use xemacs && xemacs-elisp-site-regen
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+	use xemacs && xemacs-elisp-site-regen
+}
diff --git a/app-admin/puppetdb/Manifest b/app-admin/puppetdb/Manifest
index 9878f83..1781d09 100644
--- a/app-admin/puppetdb/Manifest
+++ b/app-admin/puppetdb/Manifest
@@ -1,3 +1,4 @@
 DIST puppetdb-3.0.1.tar.gz 24693952 SHA256 b5e86d36845c62d75c078816cffd5d38d97f014da8886506819b21a6c2719366 SHA512 00960de13270a8063de1845f7f0c42a3fa4bdec10ab2b8f66ce0dba27acda1b78974c57c0f3c6e2c09187f63e85d799b94f95de563bcbc179e9d692470a1e902 WHIRLPOOL ec136a91b2712b9249defaff6ea24b6f1ed917e519850515d8c0b995c5dcbc049550b2ac9efbe585c197a5747edcdb10e490a016de2067b593c833e02d8a7426
 DIST puppetdb-3.0.2.tar.gz 24698063 SHA256 976ef25948b206ad9a0abfee1ac8a4e737e87b7d8b26c3af24bc3237d1dd757b SHA512 9bf8ed30f2156bd7e544899d0e135aeaa0a30b3df76245878ce27f3a195bb4a6356a143b65a7ba1bb8c8382e64d1d616131ffe7dbeea15d2d1b5bdd34a93fc8e WHIRLPOOL e55c7405b814ab39e7e58941c3c71ea31f7ebd42bb23de2d98f722a99382f50999fa83105b3d730d49188d137aee1bdf7ed63fc30f8a879809b6e4762ba00873
 DIST puppetdb-3.1.0.tar.gz 25250202 SHA256 e341de9cf9c2a698bb68fef75ef366fbd4760595131bdced3cd925f439d67535 SHA512 95dd5119e198f481f79f83fd7071932bf266b14e21730b5e4b5b19cf43bb1643d82f0c478da725da677f6dc58cfdd10ab4658481638fd48348c4113777e2a564 WHIRLPOOL cd338cf9ebd0a3ce4ec917ce7450a85e1c5dc8bb3c0fb7482bf62aceacbf2dab7d7fa3ddd83e1689f20dc022460ceb4bda231b436fa09c511dc307207cacfc28
+DIST puppetdb-3.2.0.tar.gz 25274763 SHA256 09527c4c4d70d14079f57dacf4744ecbfc1459ce10db0e2277909c37255adcc1 SHA512 71b68866ddb9c25d2903a30653c6e411464cbe2202f32d2d46edf6d72988ff00331a791d863f2c5f9dc3195038e35f753855c37ce68ac0a2b65a559d245c1ad6 WHIRLPOOL c7b7670b5571f6dcfcda74d091c1172e81f80705b9add1598a6687d2024f72f00ec21312e53209fbfda693f406d63a40616f3cb567c7cda873375fcac6f4b10d
diff --git a/app-admin/puppetdb/puppetdb-3.2.0.ebuild b/app-admin/puppetdb/puppetdb-3.2.0.ebuild
new file mode 100644
index 0000000..512445a
--- /dev/null
+++ b/app-admin/puppetdb/puppetdb-3.2.0.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 multilib systemd user
+
+DESCRIPTION="PuppetDB collects data generated by Puppet."
+HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
+SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+# will need the same keywords as puppet
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND+=">=virtual/jdk-1.7.0"
+DEPEND+=""
+
+pkg_setup() {
+	enewgroup puppetdb
+	enewuser puppetdb -1 -1 /opt/puppetlabs/server/data/puppetdb "puppetdb"
+}
+
+src_prepare() {
+	sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
+	sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
+	sed -i 's/sysconfig/conf\.d/g' install.sh || die
+	sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
+	sed -i 's/var\/run/run/g' install.sh || die
+}
+
+src_compile() {
+		einfo "not compiling"
+}
+
+src_install() {
+	dodir /opt/puppetlabs/server/data/puppetdb
+	insinto /opt/puppetlabs/server/apps/puppetdb
+	insopts -m0744
+	doins ext/ezbake-functions.sh
+	insopts -m0644
+	doins ext/ezbake.manifest
+	doins puppetdb.jar
+	insinto /etc/puppetlabs/puppetdb
+	doins ext/config/logback.xml
+	doins ext/config/bootstrap.cfg
+	doins ext/config/request-logging.xml
+	insinto /etc/puppetlabs/puppetdb/conf.d
+	doins ext/config/conf.d/jetty.ini
+	doins ext/config/conf.d/repl.ini
+	doins ext/config/conf.d/database.ini
+	doins ext/config/conf.d/config.ini
+	insopts -m0755
+	insinto /opt/puppetlabs/server/apps/puppetdb/scripts
+	doins install.sh
+	insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
+	doins ext/cli/foreground
+	doins ext/cli/ssl-setup
+	doins ext/cli/export
+	doins ext/cli/config-migration
+	doins ext/cli/foreground
+	doins ext/cli/anonymize
+	doins ext/cli/import
+	insinto /opt/puppetlabs/server/apps/puppetdb/bin
+	doins ext/bin/puppetdb
+	insopts -m0644
+	dodir /opt/puppetlabs/server/bin
+	dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
+	dodir /opt/puppetlabs/bin
+	dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
+	dosym /opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
+	# init type tasks
+	newconfd ext/default puppetdb
+	systemd_dounit ext/redhat/puppetdb.service
+	systemd_newtmpfilesd ext/puppetdb.tmpfiles.conf puppetdb.conf
+	newinitd "${FILESDIR}/puppetdb.initd" puppetdb
+	# misc
+	insinto /etc/logrotate.d
+	newins ext/puppetdb.logrotate.conf puppetdb
+	fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
+	fperms -R 770 /opt/puppetlabs/server/data/puppetdb
+}
+
+pkg_postinst() {
+	elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
+	elog
+	elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
+}
diff --git a/app-admin/puppetserver/Manifest b/app-admin/puppetserver/Manifest
index 39cba4f..9191ff6 100644
--- a/app-admin/puppetserver/Manifest
+++ b/app-admin/puppetserver/Manifest
@@ -1 +1,2 @@
-DIST puppetserver-2.1.1.tar.gz 42547364 SHA256 206db88de533ebf0071a3d957aa21145500abb7748897b01f0de8e5d57dbff0c SHA512 850276fdd67f77f4c8e67be920ca4685fb267d6c90ed1eea41792c5f500ad4b199c198a4367a0faeb55d7aaf85ad531f50bd6704562c1c26bce499265d03a3d5 WHIRLPOOL aabce9259f99926788b9ff16e1b547e4f3c543a54c50a0bd3b0ef0e27eb5b1042981b5bbc73339b28b063798da3cd2453f45a40fcc77f9019f8db40fb5216f28
+DIST puppetserver-2.1.2.tar.gz 42613471 SHA256 5b5ba875bad9d7ac6b060dab8ab02afb624878fa420d49c81954442c2d8b4048 SHA512 5b814f0268e232cef3e1b613cd0f608e14afacde2788700269687727c4a1f7dec2e353628e1714c71e086b9726972ef6d0aea2f997277e9c55eb481510430b5d WHIRLPOOL 357cf5e5c347d7942748cae3240a2aedaaab48293c4c7c7eb71b4723582a427760fe97cb954dc196a5fd87e1323ca3b2cd9e256429e5aee61f9a148a23de3537
+DIST puppetserver-2.2.0.tar.gz 42664943 SHA256 960603e0af9b7bf622db562d00516dfbbf1549ce82ad4eacf97c9a45c2c02e0d SHA512 a7413921ed2aaadfa0d9250482379e54ef7538f237a287bf3bc7226b3df45bdfd86b51768d4c36bfee7c26520c5c4189b56a2622009a8253140e5423a253198a WHIRLPOOL 6b77f4b47105600ec8f23871835852657b86a6692d4a89d104522cfcde2ad16136ef3f693857f56af4381af1320cd50d3b90ea255f59eadabc3f0edfaf92185f
diff --git a/app-admin/puppetserver/puppetserver-2.1.1.ebuild b/app-admin/puppetserver/puppetserver-2.1.1.ebuild
deleted file mode 100644
index d40553c..0000000
--- a/app-admin/puppetserver/puppetserver-2.1.1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit multilib systemd user
-
-DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
-HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
-SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="puppetdb"
-# will need the same keywords as puppet
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND+="
-		>=virtual/jdk-1.7.0
-		app-admin/puppet-agent[puppetdb?]"
-DEPEND+=""
-
-pkg_setup() {
-	enewgroup puppet
-	enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
-}
-
-src_prepare() {
-	sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetserver.service || die
-	sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetserver || die
-	sed -i 's/sysconfig/conf\.d/g' install.sh || die
-	sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
-	sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
-	sed -i 's/var\/run/run/g' install.sh || die
-}
-
-src_compile() {
-		einfo "not compiling"
-}
-
-src_install() {
-	insinto /opt/puppetlabs/server/apps/puppetserver
-	insopts -m0774
-	doins ext/ezbake-functions.sh
-	insopts -m0644
-	doins ext/ezbake.manifest
-	doins puppet-server-release.jar
-	insinto /etc/puppetlabs/puppetserver
-	doins ext/config/logback.xml
-	doins ext/config/bootstrap.cfg
-	doins ext/config/request-logging.xml
-	insinto /etc/puppetlabs/puppetserver/conf.d
-	doins ext/config/conf.d/puppetserver.conf
-	doins ext/config/conf.d/ca.conf
-	doins ext/config/conf.d/global.conf
-	doins ext/config/conf.d/web-routes.conf
-	doins ext/config/conf.d/webserver.conf
-	insopts -m0755
-	insinto /opt/puppetlabs/server/apps/puppetserver/scripts
-	doins install.sh
-	insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
-	doins ext/cli/irb
-	doins ext/cli/foreground
-	doins ext/cli/gem
-	doins ext/cli/ruby
-	insinto /opt/puppetlabs/server/apps/puppetserver/bin
-	doins ext/bin/puppetserver
-	insopts -m0644
-	dodir /opt/puppetlabs/server/bin
-	dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
-	dodir /opt/puppetlabs/bin
-	dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
-	dosym /opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
-	# other sys stuff
-	dodir /etc/puppetlabs/code
-	# needed for systemd
-	dodir /var/log/puppetlabs/puppetserver
-	dodir /etc/puppetlabs/puppet/ssl
-	fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
-	fperms -R 771 /etc/puppetlabs/puppet/ssl
-	# init type tasks
-	newconfd ext/default puppetserver
-	systemd_dounit ext/redhat/puppetserver.service
-	newinitd "${FILESDIR}/puppetserver.initd" puppetserver
-	# misc
-	insinto /etc/logrotate.d
-	newins ext/puppetserver.logrotate.conf puppetserver
-	# cleanup
-	dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
-	fowners -R puppet:puppet /opt/puppetlabs/server/data
-	fperms -R 775 /opt/puppetlabs/server/data/puppetserver
-	fperms -R 700 /var/log/puppetlabs/puppetserver
-}
-
-pkg_postinst() {
-	elog "to install you may want to run the following:"
-	elog
-	elog "puppet config set --section master vardir  /opt/puppetlabs/server/data/puppetserver"
-	elog "puppet config set --section master logdir  /var/log/puppetlabs/puppetserver"
-	elog "puppet config set --section master rundir  /run/puppetlabs/puppetserver"
-	elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
-	elog "puppet config set --section master codedir /etc/puppetlabs/code"
-#	elog
-#	elog "the jruby needs it's own puppet gem installed..."
-#	elog "/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver gem install puppet"
-}
diff --git a/app-admin/puppetserver/puppetserver-2.1.2.ebuild b/app-admin/puppetserver/puppetserver-2.1.2.ebuild
new file mode 100644
index 0000000..fd0caba
--- /dev/null
+++ b/app-admin/puppetserver/puppetserver-2.1.2.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 multilib systemd user
+
+DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
+HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
+SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="puppetdb"
+# will need the same keywords as puppet
+KEYWORDS="amd64 x86"
+
+RDEPEND+="
+		>=virtual/jdk-1.7.0
+		app-admin/puppet-agent[puppetdb?]"
+DEPEND+=""
+
+pkg_setup() {
+	enewgroup puppet
+	enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
+}
+
+src_prepare() {
+	sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetserver.service || die
+	sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetserver || die
+	sed -i 's/sysconfig/conf\.d/g' install.sh || die
+	sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
+	sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
+	sed -i 's/var\/run/run/g' install.sh || die
+}
+
+src_compile() {
+		einfo "not compiling"
+}
+
+src_install() {
+	insinto /opt/puppetlabs/server/apps/puppetserver
+	insopts -m0774
+	doins ext/ezbake-functions.sh
+	insopts -m0644
+	doins ext/ezbake.manifest
+	doins puppet-server-release.jar
+	insinto /etc/puppetlabs/puppetserver
+	doins ext/config/logback.xml
+	doins ext/config/bootstrap.cfg
+	doins ext/config/request-logging.xml
+	insinto /etc/puppetlabs/puppetserver/conf.d
+	doins ext/config/conf.d/puppetserver.conf
+	doins ext/config/conf.d/ca.conf
+	doins ext/config/conf.d/global.conf
+	doins ext/config/conf.d/web-routes.conf
+	doins ext/config/conf.d/webserver.conf
+	insopts -m0755
+	insinto /opt/puppetlabs/server/apps/puppetserver/scripts
+	doins install.sh
+	insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
+	doins ext/cli/irb
+	doins ext/cli/foreground
+	doins ext/cli/gem
+	doins ext/cli/ruby
+	insinto /opt/puppetlabs/server/apps/puppetserver/bin
+	doins ext/bin/puppetserver
+	insopts -m0644
+	dodir /opt/puppetlabs/server/bin
+	dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
+	dodir /opt/puppetlabs/bin
+	dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
+	dosym /opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
+	# other sys stuff
+	dodir /etc/puppetlabs/code
+	# needed for systemd
+	dodir /var/log/puppetlabs/puppetserver
+	dodir /etc/puppetlabs/puppet/ssl
+	fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
+	fperms -R 771 /etc/puppetlabs/puppet/ssl
+	# init type tasks
+	newconfd ext/default puppetserver
+	systemd_dounit ext/redhat/puppetserver.service
+	newinitd "${FILESDIR}/puppetserver.initd" puppetserver
+	# misc
+	insinto /etc/logrotate.d
+	newins ext/puppetserver.logrotate.conf puppetserver
+	# cleanup
+	dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
+	fowners -R puppet:puppet /opt/puppetlabs/server/data
+	fperms -R 775 /opt/puppetlabs/server/data/puppetserver
+	fperms -R 700 /var/log/puppetlabs/puppetserver
+}
+
+pkg_postinst() {
+	elog "to install you may want to run the following:"
+	elog
+	elog "puppet config set --section master vardir  /opt/puppetlabs/server/data/puppetserver"
+	elog "puppet config set --section master logdir  /var/log/puppetlabs/puppetserver"
+	elog "puppet config set --section master rundir  /run/puppetlabs/puppetserver"
+	elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
+	elog "puppet config set --section master codedir /etc/puppetlabs/code"
+}
diff --git a/app-admin/puppetserver/puppetserver-2.2.0.ebuild b/app-admin/puppetserver/puppetserver-2.2.0.ebuild
new file mode 100644
index 0000000..cfc7fb3
--- /dev/null
+++ b/app-admin/puppetserver/puppetserver-2.2.0.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 multilib systemd user
+
+DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
+HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
+SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="puppetdb"
+# will need the same keywords as puppet
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND+="
+		>=virtual/jdk-1.7.0
+		app-admin/puppet-agent[puppetdb?]"
+DEPEND+=""
+
+pkg_setup() {
+	enewgroup puppet
+	enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
+}
+
+src_prepare() {
+	sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetserver.service || die
+	sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetserver || die
+	sed -i 's/sysconfig/conf\.d/g' install.sh || die
+	sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
+	sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
+	sed -i 's/var\/run/run/g' install.sh || die
+}
+
+src_compile() {
+		einfo "not compiling"
+}
+
+src_install() {
+	insinto /opt/puppetlabs/server/apps/puppetserver
+	insopts -m0774
+	doins ext/ezbake-functions.sh
+	insopts -m0644
+	doins ext/ezbake.manifest
+	doins puppet-server-release.jar
+	insinto /etc/puppetlabs/puppetserver
+	doins ext/config/logback.xml
+	doins ext/config/bootstrap.cfg
+	doins ext/config/request-logging.xml
+	insinto /etc/puppetlabs/puppetserver/conf.d
+	doins ext/config/conf.d/puppetserver.conf
+	doins ext/config/conf.d/ca.conf
+	doins ext/config/conf.d/global.conf
+	doins ext/config/conf.d/web-routes.conf
+	doins ext/config/conf.d/webserver.conf
+	insopts -m0755
+	insinto /opt/puppetlabs/server/apps/puppetserver/scripts
+	doins install.sh
+	insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
+	doins ext/cli/irb
+	doins ext/cli/foreground
+	doins ext/cli/gem
+	doins ext/cli/ruby
+	insinto /opt/puppetlabs/server/apps/puppetserver/bin
+	doins ext/bin/puppetserver
+	insopts -m0644
+	dodir /opt/puppetlabs/server/bin
+	dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
+	dodir /opt/puppetlabs/bin
+	dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
+	dosym /opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
+	# other sys stuff
+	dodir /etc/puppetlabs/code
+	# needed for systemd
+	dodir /var/log/puppetlabs/puppetserver
+	dodir /etc/puppetlabs/puppet/ssl
+	fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
+	fperms -R 771 /etc/puppetlabs/puppet/ssl
+	# init type tasks
+	newconfd ext/default puppetserver
+	systemd_dounit ext/redhat/puppetserver.service
+	newinitd "${FILESDIR}/puppetserver.initd" puppetserver
+	# misc
+	insinto /etc/logrotate.d
+	newins ext/puppetserver.logrotate.conf puppetserver
+	# cleanup
+	dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
+	fowners -R puppet:puppet /opt/puppetlabs/server/data
+	fperms -R 775 /opt/puppetlabs/server/data/puppetserver
+	fperms -R 700 /var/log/puppetlabs/puppetserver
+}
+
+pkg_postinst() {
+	elog "to install you may want to run the following:"
+	elog
+	elog "puppet config set --section master vardir  /opt/puppetlabs/server/data/puppetserver"
+	elog "puppet config set --section master logdir  /var/log/puppetlabs/puppetserver"
+	elog "puppet config set --section master rundir  /run/puppetlabs/puppetserver"
+	elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
+	elog "puppet config set --section master codedir /etc/puppetlabs/code"
+}
diff --git a/app-admin/r10k/metadata.xml b/app-admin/r10k/metadata.xml
index 300319a..bf6926e 100644
--- a/app-admin/r10k/metadata.xml
+++ b/app-admin/r10k/metadata.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
   <maintainer>
@@ -8,9 +8,8 @@
   <herd>sysadmin</herd>
   <longdescription lang="en">
 			r10k provides a general purpose toolset for deploying Puppet environments and modules. It implements the Puppetfile format and provides a native implementation of Puppet dynamic environments.
-        </longdescription>
+  </longdescription>
   <upstream>
-    <remote-id type="rubyforge">r10k</remote-id>
     <remote-id type="github">adrienthebo/r10k</remote-id>
   </upstream>
 </pkgmetadata>
diff --git a/app-admin/sagan/files/sagan-1.0.0-liblognorm-json-c.patch b/app-admin/sagan/files/sagan-1.0.0-liblognorm-json-c.patch
new file mode 100644
index 0000000..f954065
--- /dev/null
+++ b/app-admin/sagan/files/sagan-1.0.0-liblognorm-json-c.patch
@@ -0,0 +1,55 @@
+diff -rupN old/sagan-1.0.0RC3/configure.ac new/sagan-1.0.0RC3/configure.ac
+--- old/sagan-1.0.0RC3/configure.ac	2014-06-16 22:23:22.000000000 +0200
++++ new/sagan-1.0.0RC3/configure.ac	2015-10-11 21:04:26.493632624 +0200
+@@ -192,29 +192,15 @@ If you're not interested in libesmtp sup
+        fi
+ 
+ if test "$LOGNORM" = "yes"; then
+-       AC_MSG_RESULT([------- liblognorm support is enabled -------])
+-       AC_CHECK_HEADER([liblognorm.h])
+-       AC_CHECK_HEADERS([json/json.h json.h], [break], [AC_MSG_ERROR([json-c headers not found or not usable.
+-This library is important for the correlation aspects of Sagan! Please see
+-https://wiki.quadrantsec.com/bin/view/Main/LibLogNorm. To disable this feature
+-use the --disable-lognorm flag.])]) 
+-       AC_CHECK_LIB(estr, main,,AC_MSG_ERROR(The libestr library cannot be found.
+-This library is important for the correlation aspects of Sagan! Please see
+-https://wiki.quadrantsec.com/bin/view/Main/LibLogNorm. To disable this feature
+-use the --disable-lognorm flag. ))
+-       AC_CHECK_LIB(ee, main,,AC_MSG_ERROR(The libee library cannot be found.
+-This library is important for the correlation aspects of Sagan! Please see
+-https://wiki.quadrantsec.com/bin/view/Main/LibLogNorm. To disable this feature
+-use the --disable-lognorm flag. ))
+-       AC_CHECK_LIB(lognorm, main,,AC_MSG_ERROR(The liblognorm library cannot be found.
+-This library is important for the correlation aspects of Sagan! Please see
+-https://wiki.quadrantsec.com/bin/view/Main/LibLogNorm. To disable this feature
+-use the --disable-lognorm flag. ))
+-       AC_CHECK_LIB(json, json_object_put,, [ AC_CHECK_LIB(json-c, json_object_put,,AC_MSG_ERROR(The json library cannot be found.
+-This library is important for the correlation aspects of Sagan! Please see
+-https://wiki.quadrantsec.com/bin/view/Main/LibLogNorm. To disable this feature
+-use the --disable-lognorm flag.)) ],)
+-       fi
++	AC_MSG_RESULT([------- liblognorm support is enabled -------])
++
++	PKG_CHECK_MODULES(LIBEE, libee >= 0.3.2)
++	PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.9)
++	PKG_CHECK_MODULES([JSON_C], [json-c],, [
++		PKG_CHECK_MODULES([JSON_C], [json],,)
++	])
++	PKG_CHECK_MODULES(LIBLOGNORM, lognorm >= 1.0.2)
++fi
+ 
+ if test "$LIBPCAP" = "yes"; then
+        AC_MSG_RESULT([------- libpcap support is enabled -------])
+diff -rupN old/sagan-1.0.0RC3/src/Makefile.am new/sagan-1.0.0RC3/src/Makefile.am
+--- old/sagan-1.0.0RC3/src/Makefile.am	2014-06-16 22:23:22.000000000 +0200
++++ new/sagan-1.0.0RC3/src/Makefile.am	2015-10-11 21:05:28.754492699 +0200
+@@ -2,6 +2,9 @@ AUTOMAKE_OPIONS=foreign no-dependencies
+ 
+ bin_PROGRAMS = sagan
+ 
++sagan_CFLAGS = $(JSON_C_CFLAGS) $(LIBESTR_CFLAGS) $(LIBLOGNORM_CFLAGS)
++sagan_LDFLAGS = $(JSON_C_LIBS) $(LIBESTR_LIBS) $(LIBLOGNORM_LIBS)
++
+ sagan_SOURCES = sagan.c \
+ sagan-classifications.c \
+ sagan-config.c \
diff --git a/app-admin/sagan/sagan-1.0.0_rc3.ebuild b/app-admin/sagan/sagan-1.0.0_rc3.ebuild
index 871c024..ea347ac 100644
--- a/app-admin/sagan/sagan-1.0.0_rc3.ebuild
+++ b/app-admin/sagan/sagan-1.0.0_rc3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -15,7 +15,7 @@
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
 IUSE="geoip +libdnet +lognorm mysql +pcap smtp snort"
 
 RDEPEND="dev-libs/libpcre
@@ -38,7 +38,7 @@
 	${RDEPEND}"
 
 DOCS=( AUTHORS ChangeLog FAQ INSTALL README NEWS TODO )
-PATCHES=( "${FILESDIR}"/json_header_location.patch )
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0-liblognorm-json-c.patch )
 S="${WORKDIR}/sagan-1.0.0RC3/"
 
 pkg_setup() {
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index ac0432a..163342a 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,4 +1,5 @@
-DIST salt-2015.5.3.tar.gz 5389038 SHA256 f8b04dc8bd4b00ce803d31ce5fba033c2f20fa38cdc5a3bf54b4c47362fbe853 SHA512 61203cb9b82fe8ab84fa36d06f442aebcf5c5decfacb99f8df6b52320979699d168f9df7e9e675a13a8078feabbe9210a40e526627a213239760ea43d85f1298 WHIRLPOOL 160455263ee1a95faec1f03dfcd16f9b811e5ecb961a2db5c9545070ed74786c83592e008c1ed70a6ea358ba2491128d6081d57bf7c0a679bb99abb1555bbd21
-DIST salt-2015.5.5.tar.gz 5526444 SHA256 5cd8d317616abab691a83f7fd3f8bcf9ad8aecaa95fcfdc0f6d788de87f0beeb SHA512 263f772d403c0e841957342f552389914c563add3f774f26b5d9da81efa04330ec95349223f81e192a2a4789b2d565f7a67e9e3be564296d6235a47cb6657ac3 WHIRLPOOL 7b4f71d6a12b50f4f0a92bfd68c1df2cf8992481d17db984079d4a9cadd51de56d7390ea69c9b02055e747993818756af85f82538a4640e5fb831e4a1ee1cb57
-DIST salt-2015.8.0.tar.gz 6584668 SHA256 71e1cb2eb1d4b30f3247f5590c00a2089190b8f9a90c9330dc9a65fae517ec9b SHA512 e5066773cdd69635272e8bda4e030ae270ea0d6a4895ca18c2d8e94ae7a2987700fda05a760d799e369f1ec977428da0a1c8797790f0f9ac30c03a4d80ce1599 WHIRLPOOL ca1c1d8f18d29b047ebbdf590ed1d1bbe932359017505af2b5043aa6e5035756e29f9d7d3f9293ca5a76c6d643b38d62cedbc3abffafef7cf8ab2443f7143fe9
+DIST salt-2015.5.6.tar.gz 5564414 SHA256 4fe478132ce84076b3e424cdd217443766d83ac40fa0ec0e914ca46111971c38 SHA512 6f091b2de8d5f949eb8df8d5173bc122b971a3966b3f4fa55209906dba83b744a72b24e40ee1b0b4dc0a51d740bc336e10798a310da3544e36d4d8585934ac11 WHIRLPOOL 2d25cfada4dab07e82dad6542ac8c290d55ca493fe90186af4b1f78b3684dcb7c9d95eab4a0fe22a0c82cb8b31e8176cc750ebab5304927bbbc7f2a2545ebc8b
+DIST salt-2015.5.7.tar.gz 5733060 SHA256 132feb4a067470a85a73942a125b2435612ca6798e88de3e4d413e8ac09a850e SHA512 ee552f82b2ffbe5eed608336a6ae6b60515f4ddb1cc5ea5d726f450f60b88f95874ac2686b5eaa39def41a73c447e949a5ee79c3816c5ee1265fca591a5a05a0 WHIRLPOOL eed3c57c43e28df89eddb4c7ff59ed2ddfe39dacb81f7aace9e7a5324a4bc5e399628e4809d4b82a8eb24aafd90847f29a916c06dd74ea777d3dd582119d84af
+DIST salt-2015.8.1.tar.gz 6527650 SHA256 04133839b4632859ad696a40261d1d14b62902dbcaf7df2f9e5e926c89401c23 SHA512 d882e3a8e70cf19c64e14c35d4c69fa308b8502d01095ce3f8c383a0ee0b70dbefd4b8eda95205f2cba2fe237279e2a3425daf0d5bf66144fb97ca3be0ec162a WHIRLPOOL a1014b8b2b1f815e2f9981cf3c8696b151a4788afb5525021ad94a6d9da774870290ed94fa159b5e3d8f8c73a682417937a1c48b0431d009a21c1e89a32d61f0
+DIST salt-2015.8.2.tar.gz 6724537 SHA256 075ab604cff3acc222904d9299ab6a1f86715bd11b043fd931e1cfe386221d27 SHA512 386d3fa36e4e6aaec069148b16d70c601ac1a805044b28630a671a12a45d813a80e058bba45ee664cce3010ef094c5e48736a50b7ba19c7ea2eb0f828bbf0706 WHIRLPOOL b7ad1ddfdfff1e4c679203be831e96b17c4ded3f3aa1ffc705501ff6bf2ef0256a514db90132d64abe554cd643c5f9065cb0ee202034157d8c55947744de4f39
 DIST salt-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545
diff --git a/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch
deleted file mode 100644
index 0cf3efe..0000000
--- a/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py
-index 59442bd..2c5d129 100644
---- a/tests/unit/pydsl_test.py
-+++ b/tests/unit/pydsl_test.py
-@@ -297,99 +297,6 @@ class PyDSLRendererTestCase(TestCase):
-         finally:
-             shutil.rmtree(dirpath, ignore_errors=True)
- 
--    def test_rendering_includes(self):
--        dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR)
--        if not os.path.isdir(dirpath):
--            self.skipTest(
--                'The temporary directory {0!r} was not created'.format(
--                    dirpath
--                )
--            )
--        output = os.path.join(dirpath, 'output')
--        try:
--            write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\
--                #!pydsl|stateconf -ps
--
--                include('xxx')
--                yyy = include('yyy')
--
--                # ensure states in xxx are run first, then those in yyy and then those in aaa last.
--                extend(state('yyy::start').stateconf.require(stateconf='xxx::goal'))
--                extend(state('.start').stateconf.require(stateconf='yyy::goal'))
--
--                extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}'))
--
--                __pydsl__.set(ordered=True)
--
--                yyy.hello('red', 1)
--                yyy.hello('green', 2)
--                yyy.hello('blue', 3)
--                '''.format(output)))
--
--            write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\
--                #!stateconf -os yaml . jinja
--
--                include:
--                  - yyy
--
--                extend:
--                  yyy::start:
--                    stateconf.set:
--                      - require:
--                        - stateconf: .goal
--
--                  yyy::Y1:
--                    cmd.run:
--                      - name: 'echo Y1 extended >> {0}'
--
--                .X1:
--                  cmd.run:
--                    - name: echo X1 >> {1}
--                    - cwd: /
--                .X2:
--                  cmd.run:
--                    - name: echo X2 >> {2}
--                    - cwd: /
--                .X3:
--                  cmd.run:
--                    - name: echo X3 >> {3}
--                    - cwd: /
--
--                '''.format(output, output, output, output)))
--
--            write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\
--                #!pydsl|stateconf -ps
--
--                include('xxx')
--                __pydsl__.set(ordered=True)
--
--                state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/')
--                state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/')
--                state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/')
--
--                def hello(color, number):
--                    state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/')
--                '''.format(output, output, output, output)))
--
--            state_highstate({'base': ['aaa']}, dirpath)
--            expected = textwrap.dedent('''\
--                X1
--                X2
--                X3
--                Y1 extended
--                Y2 extended
--                Y3
--                hello red 1
--                hello green 2
--                hello blue 3
--                ''')
--
--            with open(output, 'r') as f:
--                self.assertEqual(sorted(f.read()), sorted(expected))
--
--        finally:
--            shutil.rmtree(dirpath, ignore_errors=True)
--
-     def test_compile_time_state_execution(self):
-         if not sys.stdin.isatty():
-             self.skipTest('Not attached to a TTY')
diff --git a/app-admin/salt/files/salt-2015.8.2-tmpdir.patch b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
new file mode 100644
index 0000000..871551e
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
@@ -0,0 +1,56 @@
+diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
+index 615e6b5..fbd24aa 100644
+--- a/tests/unit/modules/qemu_nbd_test.py
++++ b/tests/unit/modules/qemu_nbd_test.py
+@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
+         Test if it mount the named image via qemu-nbd
+         and return the mounted roots
+         '''
++        tmpdir = os.environ.get('TMPDIR', '/tmp')
+         mock = MagicMock(return_value=True)
+         with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
+             self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
+@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
+                                  'mount.mount': mock,
+                                  'cmd.retcode': MagicMock(side_effect=[1, 0])}):
+                     self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
+-                                         {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
++                                         {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
+ 
+     # 'clear' function tests: 1
+ 
+diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
+index 63e4a53..20b196f 100644
+--- a/tests/unit/states/archive_test.py
++++ b/tests/unit/states/archive_test.py
+@@ -26,7 +26,7 @@ from salt.ext.six.moves import zip  # pylint: disable=import-error,redefined-bui
+ 
+ # Globals
+ archive.__salt__ = {}
+-archive.__opts__ = {"cachedir": "/tmp", "test": False}
++archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
+ archive.__env__ = 'test'
+ 
+ 
+@@ -75,7 +75,7 @@ class ArchiveTestCase(TestCase):
+                                                    'cmd.run_all': mock_run}):
+                     filename = os.path.join(
+                         tmp_dir,
+-                        'files/test/_tmp_test_archive_.tar'
++                        'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar'
+                     )
+                     for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts):
+                         ret = archive.extracted(tmp_dir,
+diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
+index 71e4330..d6f3f30 100644
+--- a/tests/unit/utils/context_test.py
++++ b/tests/unit/utils/context_test.py
+@@ -18,7 +18,7 @@ import salt.payload
+ import salt.utils
+ 
+ __context__ = {'a': 'b'}
+-__opts__ = {'cachedir': '/tmp'}
++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
+ 
+ 
+ @skipIf(NO_MOCK, NO_MOCK_REASON)
diff --git a/app-admin/salt/metadata.xml b/app-admin/salt/metadata.xml
index 7b86f45..70f439d 100644
--- a/app-admin/salt/metadata.xml
+++ b/app-admin/salt/metadata.xml
@@ -19,9 +19,8 @@
 
 Between the remote execution system, and state management Salt addresses the
 backbone of cloud and data center management.
-</longdescription>
+  </longdescription>
   <use>
-    <flag name="api">Enable support for salt-api.</flag>
     <flag name="cherrypy">Enable support for using cherrypy.</flag>
     <flag name="libcloud">Enable salt-cloud support via libcloud.</flag>
     <flag name="libvirt">Support managing virtual machines with app-emulation/libvirt.</flag>
@@ -39,5 +38,6 @@
   </use>
   <upstream>
     <remote-id type="pypi">salt</remote-id>
+    <remote-id type="github">saltstack/salt-vim</remote-id>
   </upstream>
 </pkgmetadata>
diff --git a/app-admin/salt/salt-2015.5.3.ebuild b/app-admin/salt/salt-2015.5.3.ebuild
deleted file mode 100644
index 37c2172..0000000
--- a/app-admin/salt/salt-2015.5.3.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# 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 systemd vim-plugin distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="http://saltstack.org/"
-SALT_VIM_HASH="20695f68e5895e5ae2b5884b78f5a2cd29897b05"
-
-if [[ ${PV} == 9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
-	EGIT_BRANCH="develop"
-	SRC_URI=""
-	KEYWORDS=""
-else
-	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-	KEYWORDS=""
-fi
-
-SRC_URI+=" vim-syntax? ( https://github.com/${PN}stack/${PN}-vim/archive/${SALT_VIM_HASH}.tar.gz -> salt-vim-20141109.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
-IUSE+=" openssl redis selinux test timelib raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
-	dev-python/jinja[${PYTHON_USEDEP}]
-	>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/markupsafe[${PYTHON_USEDEP}]
-	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=www-servers/tornado-4.0[${PYTHON_USEDEP}]
-	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
-	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
-	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
-	openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
-	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
-	raet? (
-		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
-		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
-		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
-	)
-	zeromq? (
-		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
-		>=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}]
-		dev-python/pycrypto[${PYTHON_USEDEP}]
-	)
-	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
-	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
-	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
-	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
-	redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
-	selinux? ( sec-policy/selinux-salt )
-	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
-	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
-	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
-	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		dev-python/pip[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/timelib[${PYTHON_USEDEP}]
-		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
-		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
-		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
-		${RDEPEND}
-	)"
-
-DOCS=(README.rst AUTHORS)
-
-REQUIRED_USE="|| ( raet zeromq )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-2014.7.1-remove-pydsl-includes-test.patch"
-	"${FILESDIR}/${PN}-2015.5.0-archive-test.patch"
-)
-
-python_prepare() {
-	# this test fails because it trys to "pip install distribute"
-	rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py
-}
-
-python_install_all() {
-	local svc
-	USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
-	for svc in minion master syndic api; do
-		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
-		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
-		systemd_dounit "${FILESDIR}"/salt-${svc}.service
-	done
-
-	insinto /etc/${PN}
-	doins -r conf/*
-
-	use vim-syntax && S="${WORKDIR}/salt-vim-${SALT_VIM_HASH}" \
-		vim-plugin_src_install
-}
-
-python_test() {
-	# testsuite likes lots of files
-	ulimit -n 3072
-
-	# using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX
-	USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \
-		${EPYTHON} tests/runtests.py \
-		--unit-tests --no-report --verbose || die "testing failed"
-}
diff --git a/app-admin/salt/salt-2015.5.5.ebuild b/app-admin/salt/salt-2015.5.5.ebuild
deleted file mode 100644
index 2ab01a5..0000000
--- a/app-admin/salt/salt-2015.5.5.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# 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 systemd vim-plugin distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="http://saltstack.org/"
-SALT_VIM_HASH="20695f68e5895e5ae2b5884b78f5a2cd29897b05"
-
-if [[ ${PV} == 9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
-	EGIT_BRANCH="develop"
-	SRC_URI=""
-	KEYWORDS=""
-else
-	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-	KEYWORDS="~x86 ~amd64"
-fi
-
-SRC_URI+=" vim-syntax? ( https://github.com/${PN}stack/${PN}-vim/archive/${SALT_VIM_HASH}.tar.gz -> salt-vim-20141109.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
-IUSE+=" openssl redis selinux test timelib raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
-	dev-python/jinja[${PYTHON_USEDEP}]
-	>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/markupsafe[${PYTHON_USEDEP}]
-	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=www-servers/tornado-4.0[${PYTHON_USEDEP}]
-	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
-	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
-	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
-	openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
-	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
-	raet? (
-		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
-		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
-		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
-	)
-	zeromq? (
-		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
-		>=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}]
-		dev-python/pycrypto[${PYTHON_USEDEP}]
-	)
-	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
-	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
-	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
-	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
-	redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
-	selinux? ( sec-policy/selinux-salt )
-	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
-	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
-	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
-	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		dev-python/pip[${PYTHON_USEDEP}]
-		dev-python/virtualenv[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/timelib[${PYTHON_USEDEP}]
-		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
-		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
-		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
-		${RDEPEND}
-	)"
-
-DOCS=(README.rst AUTHORS)
-
-REQUIRED_USE="|| ( raet zeromq )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-2014.7.1-remove-pydsl-includes-test.patch"
-	"${FILESDIR}/${PN}-2015.5.0-archive-test.patch"
-	"${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
-	"${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
-	"${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
-)
-
-python_prepare() {
-	# this test fails because it trys to "pip install distribute"
-	rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py
-}
-
-python_install_all() {
-	local svc
-	USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
-	for svc in minion master syndic api; do
-		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
-		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
-		systemd_dounit "${FILESDIR}"/salt-${svc}.service
-	done
-
-	insinto /etc/${PN}
-	doins -r conf/*
-
-	use vim-syntax && S="${WORKDIR}/salt-vim-${SALT_VIM_HASH}" \
-		vim-plugin_src_install
-}
-
-python_test() {
-	# testsuite likes lots of files
-	ulimit -n 3072
-
-	# using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX
-	USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \
-		${EPYTHON} tests/runtests.py \
-		--unit-tests --no-report --verbose || die "testing failed"
-}
diff --git a/app-admin/salt/salt-2015.5.6.ebuild b/app-admin/salt/salt-2015.5.6.ebuild
new file mode 100644
index 0000000..875bbaa
--- /dev/null
+++ b/app-admin/salt/salt-2015.5.6.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=(python2_7)
+
+inherit eutils systemd vim-plugin distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+SALT_VIM_HASH="20695f68e5895e5ae2b5884b78f5a2cd29897b05"
+
+if [[ ${PV} == 9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+	EGIT_BRANCH="develop"
+	SRC_URI=""
+	KEYWORDS=""
+else
+	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+	KEYWORDS="~x86 ~amd64"
+fi
+
+SRC_URI+=" vim-syntax? ( https://github.com/${PN}stack/${PN}-vim/archive/${SALT_VIM_HASH}.tar.gz -> salt-vim-20141109.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+	dev-python/jinja[${PYTHON_USEDEP}]
+	>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/markupsafe[${PYTHON_USEDEP}]
+	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+	openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+	raet? (
+		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+	)
+	zeromq? (
+		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+		>=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}]
+		dev-python/pycrypto[${PYTHON_USEDEP}]
+	)
+	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+	redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+	selinux? ( sec-policy/selinux-salt )
+	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		dev-python/pip[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/timelib[${PYTHON_USEDEP}]
+		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+		${RDEPEND}
+	)"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-2014.7.1-remove-pydsl-includes-test.patch"
+	"${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+)
+
+python_prepare() {
+	# this test fails because it trys to "pip install distribute"
+	rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py \
+		|| die "Failed to remove broken tests"
+}
+
+python_install_all() {
+	local svc
+	USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+	for svc in minion master syndic api; do
+		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+		systemd_dounit "${FILESDIR}"/salt-${svc}.service
+	done
+
+	insinto /etc/${PN}
+	doins -r conf/*
+
+	use vim-syntax && S="${WORKDIR}/salt-vim-${SALT_VIM_HASH}" \
+		vim-plugin_src_install
+}
+
+python_test() {
+	# testsuite likes lots of files
+	ulimit -n 3072
+
+	# using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX
+	USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \
+		${EPYTHON} tests/runtests.py \
+		--unit-tests --no-report --verbose || die "testing failed"
+}
diff --git a/app-admin/salt/salt-2015.5.7.ebuild b/app-admin/salt/salt-2015.5.7.ebuild
new file mode 100644
index 0000000..a945709
--- /dev/null
+++ b/app-admin/salt/salt-2015.5.7.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)
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+	EGIT_BRANCH="develop"
+	SRC_URI=""
+	KEYWORDS=""
+else
+	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+	KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+	dev-python/jinja[${PYTHON_USEDEP}]
+	>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/markupsafe[${PYTHON_USEDEP}]
+	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+	openssl? (
+		dev-libs/openssl:*[-bindist]
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+	)
+	raet? (
+		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+	)
+	zeromq? (
+		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+		>=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}]
+		dev-python/pycrypto[${PYTHON_USEDEP}]
+	)
+	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+	redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+	selinux? ( sec-policy/selinux-salt )
+	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+	vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		dev-python/pip[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/timelib[${PYTHON_USEDEP}]
+		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+		${RDEPEND}
+	)"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-2014.7.1-remove-pydsl-includes-test.patch"
+	"${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+)
+
+python_prepare() {
+	# this test fails because it trys to "pip install distribute"
+	rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py \
+		|| die "Failed to remove broken tests"
+}
+
+python_install_all() {
+	local svc
+	USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+	for svc in minion master syndic api; do
+		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+		systemd_dounit "${FILESDIR}"/salt-${svc}.service
+	done
+
+	insinto /etc/${PN}
+	doins -r conf/*
+}
+
+python_test() {
+	# testsuite likes lots of files
+	ulimit -n 3072
+
+	# using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX
+	USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \
+		${EPYTHON} tests/runtests.py \
+		--unit-tests --no-report --verbose || die "testing failed"
+}
diff --git a/app-admin/salt/salt-2015.8.0.ebuild b/app-admin/salt/salt-2015.8.1.ebuild
similarity index 100%
rename from app-admin/salt/salt-2015.8.0.ebuild
rename to app-admin/salt/salt-2015.8.1.ebuild
diff --git a/app-admin/salt/salt-2015.8.2.ebuild b/app-admin/salt/salt-2015.8.2.ebuild
new file mode 100644
index 0000000..64fd02a
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.2.ebuild
@@ -0,0 +1,134 @@
+# 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 systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+	EGIT_BRANCH="develop"
+	SRC_URI=""
+	KEYWORDS=""
+else
+	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+	KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+	dev-python/jinja[${PYTHON_USEDEP}]
+	>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/markupsafe[${PYTHON_USEDEP}]
+	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+	virtual/python-futures[${PYTHON_USEDEP}]
+	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+	openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+	openssl? (
+		dev-libs/openssl:*[-bindist]
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+	)
+	raet? (
+		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+	)
+	zeromq? (
+		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+		>=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+	)
+	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+	redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+	selinux? ( sec-policy/selinux-salt )
+	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+	profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+	vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		dev-python/pip[${PYTHON_USEDEP}]
+		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/timelib[${PYTHON_USEDEP}]
+		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+		${RDEPEND}
+	)"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-2015.8.0-remove-pydsl-includes-test.patch"
+	"${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+	"${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+	"${FILESDIR}/${PN}-2015.8.2-tmpdir.patch"
+)
+
+python_prepare() {
+	# this test fails because it trys to "pip install distribute"
+	rm tests/unit/{modules,states}/zcbuildout_test.py \
+		tests/unit/modules/{rh_ip,win_network,random_org}_test.py
+}
+
+python_install_all() {
+	local svc
+	USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+	for svc in minion master syndic api; do
+		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+		systemd_dounit "${FILESDIR}"/salt-${svc}.service
+	done
+
+	insinto /etc/${PN}
+	doins -r conf/*
+}
+
+python_test() {
+	local tempdir
+	# testsuite likes lots of files
+	ulimit -n 3072
+
+	# ${T} is too long a path for the tests to work
+	tempdir="$(mktemp -dup /tmp salt-XXX)"
+	mkdir "${T}/$(basename "${tempdir}")"
+
+	(
+		cleanup() { rm -f "${tempdir}"; }
+		trap cleanup EXIT
+
+		addwrite "${tempdir}"
+		ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+		USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="${tempdir}" \
+			${EPYTHON} tests/runtests.py \
+			--unit-tests --no-report --verbose
+
+	) || die "testing failed"
+}
diff --git a/app-admin/salt/salt-9999.ebuild b/app-admin/salt/salt-9999.ebuild
index d7d1937..fa3262c 100644
--- a/app-admin/salt/salt-9999.ebuild
+++ b/app-admin/salt/salt-9999.ebuild
@@ -5,7 +5,7 @@
 EAPI=5
 PYTHON_COMPAT=(python2_7)
 
-inherit eutils distutils-r1 systemd
+inherit eutils systemd distutils-r1
 
 DESCRIPTION="Salt is a remote execution and configuration manager"
 HOMEPAGE="http://saltstack.org/"
@@ -23,8 +23,8 @@
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="api ldap libcloud libvirt gnupg keyring mako mongodb mysql nova"
-IUSE+=" openssl redis selinux timelib raet +zeromq test"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl profile redis selinux test timelib raet +zeromq vim-syntax"
 
 RDEPEND="sys-apps/pciutils
 	dev-python/jinja[${PYTHON_USEDEP}]
@@ -33,27 +33,27 @@
 	dev-python/markupsafe[${PYTHON_USEDEP}]
 	>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
 	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+	virtual/python-futures[${PYTHON_USEDEP}]
 	libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
 	mako? ( dev-python/mako[${PYTHON_USEDEP}] )
 	ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
 	openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
 	libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+	openssl? (
+		dev-libs/openssl:*[-bindist]
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+	)
 	raet? (
-		dev-python/libnacl[${PYTHON_USEDEP}]
-		dev-python/ioflo[${PYTHON_USEDEP}]
-		dev-python/raet[${PYTHON_USEDEP}]
+		>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+		>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+		>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
 	)
 	zeromq? (
 		>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
-		>=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}]
-		dev-python/pycrypto[${PYTHON_USEDEP}]
+		>=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
 	)
-	api? (
-		|| (
-			dev-python/cherrypy[${PYTHON_USEDEP}]
-			www-servers/tornado[${PYTHON_USEDEP}]
-		)
-	)
+	cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
 	mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
 	keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
 	mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
@@ -61,12 +61,18 @@
 	selinux? ( sec-policy/selinux-salt )
 	timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
 	nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
-	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
+	neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+	gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+	profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+	vim-syntax? ( app-vim/salt-vim )"
 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
 	test? (
 		dev-python/pip[${PYTHON_USEDEP}]
 		dev-python/virtualenv[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
 		dev-python/timelib[${PYTHON_USEDEP}]
+		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+		>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
 		>=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
 		${RDEPEND}
 	)"
@@ -77,16 +83,18 @@
 
 python_prepare() {
 	# this test fails because it trys to "pip install distribute"
-	rm tests/unit/{modules,states}/zcbuildout_test.py
+	rm tests/unit/{modules,states}/zcbuildout_test.py \
+		tests/unit/modules/{rh_ip,win_network,random_org}_test.py
 }
 
 python_install_all() {
+	local svc
 	USE_SETUPTOOLS=1 distutils-r1_python_install_all
 
-	for s in minion master syndic $(use api && echo api); do
-		newinitd "${FILESDIR}"/${s}-initd-3 salt-${s}
-		newconfd "${FILESDIR}"/${s}-confd-1 salt-${s}
-		systemd_dounit "${FILESDIR}"/salt-${s}.service
+	for svc in minion master syndic api; do
+		newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+		newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+		systemd_dounit "${FILESDIR}"/salt-${svc}.service
 	done
 
 	insinto /etc/${PN}
diff --git a/app-admin/sudo/Manifest b/app-admin/sudo/Manifest
index 414c944..91f8db9 100644
--- a/app-admin/sudo/Manifest
+++ b/app-admin/sudo/Manifest
@@ -1,3 +1,3 @@
 DIST sudo-1.8.12.tar.gz 2493373 SHA256 163b51841de8ad19276581a6782d61f5948f1f72a0a843371a1c167d3dc4f3b0 SHA512 1815343eceb7cfa6e37c961ce1c68cf96fc290356b92078d6d24a2c85d8b7a7236df78d3ff7f5e30eba492dc8407346d884e01c0b989eef4414156cfec80b67b WHIRLPOOL 0d9e618937a08b9bf74aaebf12f5b9f96afd827728f90fa95b6a2a4f932cc84240d56674aa903062247068ec5aa3369b14bad64130caeb313330286510c2d3f6
-DIST sudo-1.8.13.tar.gz 2515307 SHA256 e374e5edf2c11c00d6916a9f51cb0ad15e51c7b028370fa15169b07e61e05a25 SHA512 d5498ce8136e903a5ee9e6b1e9b69149b2268798f0678bf7fa82d56947c60d0dec1d7ee25df382e2ee05ecb660720af6b6bc24ad1b6493834e158ee3b186d03c WHIRLPOOL b06256020e5c21159f1b7ff7a9849053f89e95c58fce850653e60d625ad71f8cf9caf9421765398ed73d2ca4756483dcd9535dc856e681dc3b8d7c1206ae5553
 DIST sudo-1.8.14p3.tar.gz 2570892 SHA256 a8a697cbb113859058944850d098464618254804cf97961dee926429f00a1237 SHA512 022e75a4171c0d9b87569adc5b08afc1b8f2adb7dbc6c80dfb737029dbca560a08e317ce37f117b614f36b54666ed01559a72d0c92523a5a2ee3531f520d7a2b WHIRLPOOL 143ff1c464b539e79172cd0340a089739207d2b99fc01d183a27b24b5172c834d6ed0f7258116542ffa559a3a4c3540924261170655dd7bedb449f8d93496bbd
+DIST sudo-1.8.15.tar.gz 2660128 SHA256 4316381708324da8b6cb151f655c1a11855207c7c02244d8ffdea5104d7cc308 SHA512 f2bff92104ddc4cbea8c788da446043cbfe02c977cedf18d46b1c82e98d7227432cb5a61233e7a06af84e3637f906edd5e02bb88c03a2ce4a16df410469a5dab WHIRLPOOL 3da64eda51f22d7fc0ea76f0693e9960d511b7c762b5d6237318d17436fd64b58ae90caa9bf4e125ebee70b83eac7cba2c7451fb62fafd8ee3d133c4ae2037b9
diff --git a/app-admin/sudo/sudo-1.8.13.ebuild b/app-admin/sudo/sudo-1.8.13.ebuild
deleted file mode 100644
index d36ae5e..0000000
--- a/app-admin/sudo/sudo-1.8.13.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils pam multilib libtool
-
-MY_P=${P/_/}
-MY_P=${MY_P/beta/b}
-
-uri_prefix=
-case ${P} in
-*_beta*|*_rc*) uri_prefix=beta/ ;;
-esac
-
-DESCRIPTION="Allows users or groups to run commands as other users"
-HOMEPAGE="http://www.sudo.ws/"
-SRC_URI="http://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
-	ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
-
-# Basic license is ISC-style as-is, some files are released under
-# 3-clause BSD license
-LICENSE="ISC 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 ~sparc-solaris"
-IUSE="ldap nls pam offensive selinux skey +sendmail"
-
-DEPEND="pam? ( virtual/pam )
-	skey? ( >=sys-auth/skey-1.1.5-r1 )
-	ldap? (
-		>=net-nds/openldap-2.1.30-r1
-		dev-libs/cyrus-sasl
-	)
-	sys-libs/zlib"
-RDEPEND="${DEPEND}
-	selinux? ( sec-policy/selinux-sudo )
-	ldap? ( dev-lang/perl )
-	pam? ( sys-auth/pambase )
-	>=app-misc/editor-wrapper-3
-	virtual/editor
-	sendmail? ( virtual/mta )"
-DEPEND="${DEPEND}
-	sys-devel/bison"
-
-S=${WORKDIR}/${MY_P}
-
-REQUIRED_USE="pam? ( !skey ) skey? ( !pam )"
-
-MAKEOPTS+=" SAMPLES="
-
-src_prepare() {
-	elibtoolize
-}
-
-set_rootpath() {
-	# FIXME: secure_path is a compile time setting. using ROOTPATH
-	# is not perfect, env-update may invalidate this, but until it
-	# is available as a sudoers setting this will have to do.
-	einfo "Setting secure_path ..."
-
-	# first extract the default ROOTPATH from build env
-	ROOTPATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
-	if [[ -z ${ROOTPATH} ]] ; then
-		ewarn "	Failed to find ROOTPATH, please report this"
-	fi
-
-	# then remove duplicate path entries
-	cleanpath() {
-		local newpath thisp IFS=:
-		for thisp in $1 ; do
-			if [[ :${newpath}: != *:${thisp}:* ]] ; then
-				newpath+=:$thisp
-			else
-				einfo "   Duplicate entry ${thisp} removed..."
-			fi
-		done
-		ROOTPATH=${newpath#:}
-	}
-	cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}}
-
-	# finally, strip gcc paths #136027
-	rmpath() {
-		local e newpath thisp IFS=:
-		for thisp in ${ROOTPATH} ; do
-			for e ; do [[ $thisp == $e ]] && continue 2 ; done
-			newpath+=:$thisp
-		done
-		ROOTPATH=${newpath#:}
-	}
-	rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
-
-	einfo "... done"
-}
-
-src_configure() {
-	local ROOTPATH
-	set_rootpath
-
-	# audit: somebody got to explain me how I can test this before I
-	# enable it.. - Diego
-	# plugindir: autoconf code is crappy and does not delay evaluation
-	# until `make` time, so we have to use a full path here rather than
-	# basing off other values.
-	econf \
-		--enable-zlib=system \
-		--with-secure-path="${ROOTPATH}" \
-		--with-editor="${EPREFIX}"/usr/libexec/editor \
-		--with-env-editor \
-		$(use_with offensive insults) \
-		$(use_with offensive all-insults) \
-		$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) \
-		$(use_with ldap) \
-		$(use_enable nls) \
-		$(use_with pam) \
-		$(use_with skey) \
-		$(use_with selinux) \
-		$(use_with sendmail) \
-		--without-opie \
-		--without-linux-audit \
-		--with-rundir="${EPREFIX}"/var/run/sudo \
-		--with-vardir="${EPREFIX}"/var/db/sudo \
-		--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo \
-		--docdir="${EPREFIX}"/usr/share/doc/${PF}
-}
-
-src_install() {
-	default
-
-	if use ldap ; then
-		dodoc README.LDAP doc/schema.OpenLDAP
-		dosbin plugins/sudoers/sudoers2ldif
-
-		cat <<-EOF > "${T}"/ldap.conf.sudo
-		# See ldap.conf(5) and README.LDAP for details
-		# This file should only be readable by root
-
-		# supported directives: host, port, ssl, ldap_version
-		# uri, binddn, bindpw, sudoers_base, sudoers_debug
-		# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key
-		EOF
-
-		insinto /etc
-		doins "${T}"/ldap.conf.sudo
-		fperms 0440 /etc/ldap.conf.sudo
-	fi
-
-	pamd_mimic system-auth sudo auth account session
-
-	keepdir /var/db/sudo
-	fperms 0700 /var/db/sudo
-
-	# Don't install into /var/run as that is a tmpfs most of the time
-	# (bug #504854)
-	rm -rf "${D}"/var/run
-}
-
-pkg_postinst() {
-	if use ldap ; then
-		ewarn
-		ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
-		ewarn
-		if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
-			ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
-			ewarn "configured in /etc/nsswitch.conf."
-			ewarn
-			ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
-			ewarn "  sudoers: ldap files"
-			ewarn
-		fi
-	fi
-	if use prefix ; then
-		ewarn
-		ewarn "To use sudo, you need to change file ownership and permissions"
-		ewarn "with root privileges, as follows:"
-		ewarn
-		ewarn "  # chown root:root ${EPREFIX}/usr/bin/sudo"
-		ewarn "  # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
-		ewarn "  # chown root:root ${EPREFIX}/etc/sudoers"
-		ewarn "  # chown root:root ${EPREFIX}/etc/sudoers.d"
-		ewarn "  # chown root:root ${EPREFIX}/var/db/sudo"
-		ewarn "  # chmod 4111 ${EPREFIX}/usr/bin/sudo"
-		ewarn
-	fi
-
-	elog "To use the -A (askpass) option, you need to install a compatible"
-	elog "password program from the following list. Starred packages will"
-	elog "automatically register for the use with sudo (but will not force"
-	elog "the -A option):"
-	elog ""
-	elog " [*] net-misc/ssh-askpass-fullscreen"
-	elog "     net-misc/x11-ssh-askpass"
-	elog ""
-	elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
-	elog "variable to the program you want to use."
-}
diff --git a/app-admin/sudo/sudo-1.8.14_p3.ebuild b/app-admin/sudo/sudo-1.8.14_p3.ebuild
index d36ae5e..c4e80af 100644
--- a/app-admin/sudo/sudo-1.8.14_p3.ebuild
+++ b/app-admin/sudo/sudo-1.8.14_p3.ebuild
@@ -23,7 +23,7 @@
 # 3-clause BSD license
 LICENSE="ISC 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 ~sparc-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~sparc-solaris"
 IUSE="ldap nls pam offensive selinux skey +sendmail"
 
 DEPEND="pam? ( virtual/pam )
diff --git a/app-admin/sudo/sudo-1.8.15-r1.ebuild b/app-admin/sudo/sudo-1.8.15-r1.ebuild
new file mode 100644
index 0000000..d17fa15
--- /dev/null
+++ b/app-admin/sudo/sudo-1.8.15-r1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils pam multilib libtool
+
+MY_P=${P/_/}
+MY_P=${MY_P/beta/b}
+
+uri_prefix=
+case ${P} in
+*_beta*|*_rc*) uri_prefix=beta/ ;;
+esac
+
+DESCRIPTION="Allows users or groups to run commands as other users"
+HOMEPAGE="http://www.sudo.ws/"
+SRC_URI="http://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
+	ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
+
+# Basic license is ISC-style as-is, some files are released under
+# 3-clause BSD license
+LICENSE="ISC 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 ~sparc-solaris"
+IUSE="ldap nls pam offensive selinux skey +sendmail"
+
+DEPEND="pam? ( virtual/pam )
+	skey? ( >=sys-auth/skey-1.1.5-r1 )
+	ldap? (
+		>=net-nds/openldap-2.1.30-r1
+		dev-libs/cyrus-sasl
+	)
+	sys-libs/zlib"
+RDEPEND="${DEPEND}
+	selinux? ( sec-policy/selinux-sudo )
+	ldap? ( dev-lang/perl )
+	pam? ( sys-auth/pambase )
+	>=app-misc/editor-wrapper-3
+	virtual/editor
+	sendmail? ( virtual/mta )"
+DEPEND="${DEPEND}
+	sys-devel/bison"
+
+S=${WORKDIR}/${MY_P}
+
+REQUIRED_USE="pam? ( !skey ) skey? ( !pam )"
+
+MAKEOPTS+=" SAMPLES="
+
+src_prepare() {
+	elibtoolize
+}
+
+set_rootpath() {
+	# FIXME: secure_path is a compile time setting. using ROOTPATH
+	# is not perfect, env-update may invalidate this, but until it
+	# is available as a sudoers setting this will have to do.
+	einfo "Setting secure_path ..."
+
+	# first extract the default ROOTPATH from build env
+	ROOTPATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
+	if [[ -z ${ROOTPATH} ]] ; then
+		ewarn "	Failed to find ROOTPATH, please report this"
+	fi
+
+	# then remove duplicate path entries
+	cleanpath() {
+		local newpath thisp IFS=:
+		for thisp in $1 ; do
+			if [[ :${newpath}: != *:${thisp}:* ]] ; then
+				newpath+=:$thisp
+			else
+				einfo "   Duplicate entry ${thisp} removed..."
+			fi
+		done
+		ROOTPATH=${newpath#:}
+	}
+	cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}}
+
+	# finally, strip gcc paths #136027
+	rmpath() {
+		local e newpath thisp IFS=:
+		for thisp in ${ROOTPATH} ; do
+			for e ; do [[ $thisp == $e ]] && continue 2 ; done
+			newpath+=:$thisp
+		done
+		ROOTPATH=${newpath#:}
+	}
+	rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
+
+	einfo "... done"
+}
+
+src_configure() {
+	local ROOTPATH
+	set_rootpath
+
+	# audit: somebody got to explain me how I can test this before I
+	# enable it.. - Diego
+	# plugindir: autoconf code is crappy and does not delay evaluation
+	# until `make` time, so we have to use a full path here rather than
+	# basing off other values.
+	econf \
+		--enable-zlib=system \
+		--with-secure-path="${ROOTPATH}" \
+		--with-editor="${EPREFIX}"/usr/libexec/editor \
+		--with-env-editor \
+		$(use_with offensive insults) \
+		$(use_with offensive all-insults) \
+		$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) \
+		$(use_with ldap) \
+		$(use_enable nls) \
+		$(use_with pam) \
+		$(use_with skey) \
+		$(use_with selinux) \
+		$(use_with sendmail) \
+		--without-opie \
+		--without-linux-audit \
+		--with-rundir="${EPREFIX}"/var/run/sudo \
+		--with-vardir="${EPREFIX}"/var/db/sudo \
+		--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo \
+		--docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+	default
+
+	if use ldap ; then
+		dodoc README.LDAP
+		dosbin plugins/sudoers/sudoers2ldif
+
+		cat <<-EOF > "${T}"/ldap.conf.sudo
+		# See ldap.conf(5) and README.LDAP for details
+		# This file should only be readable by root
+
+		# supported directives: host, port, ssl, ldap_version
+		# uri, binddn, bindpw, sudoers_base, sudoers_debug
+		# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
+		EOF
+
+		insinto /etc
+		doins "${T}"/ldap.conf.sudo
+		fperms 0440 /etc/ldap.conf.sudo
+
+		insinto /etc/openldap/schema
+		newins doc/schema.OpenLDAP sudo.schema
+	fi
+
+	pamd_mimic system-auth sudo auth account session
+
+	keepdir /var/db/sudo
+	fperms 0700 /var/db/sudo
+
+	# Don't install into /var/run as that is a tmpfs most of the time
+	# (bug #504854)
+	rm -rf "${D}"/var/run
+}
+
+pkg_postinst() {
+	if use ldap ; then
+		ewarn
+		ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
+		ewarn
+		if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
+			ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
+			ewarn "configured in /etc/nsswitch.conf."
+			ewarn
+			ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
+			ewarn "  sudoers: ldap files"
+			ewarn
+		fi
+	fi
+	if use prefix ; then
+		ewarn
+		ewarn "To use sudo, you need to change file ownership and permissions"
+		ewarn "with root privileges, as follows:"
+		ewarn
+		ewarn "  # chown root:root ${EPREFIX}/usr/bin/sudo"
+		ewarn "  # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
+		ewarn "  # chown root:root ${EPREFIX}/etc/sudoers"
+		ewarn "  # chown root:root ${EPREFIX}/etc/sudoers.d"
+		ewarn "  # chown root:root ${EPREFIX}/var/db/sudo"
+		ewarn "  # chmod 4111 ${EPREFIX}/usr/bin/sudo"
+		ewarn
+	fi
+
+	elog "To use the -A (askpass) option, you need to install a compatible"
+	elog "password program from the following list. Starred packages will"
+	elog "automatically register for the use with sudo (but will not force"
+	elog "the -A option):"
+	elog ""
+	elog " [*] net-misc/ssh-askpass-fullscreen"
+	elog "     net-misc/x11-ssh-askpass"
+	elog ""
+	elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
+	elog "variable to the program you want to use."
+}
diff --git a/app-admin/syslog-ng/Manifest b/app-admin/syslog-ng/Manifest
index e434787..0f39aac 100644
--- a/app-admin/syslog-ng/Manifest
+++ b/app-admin/syslog-ng/Manifest
@@ -1,4 +1,5 @@
 DIST syslog-ng-3.7.1.tar.gz 3509575 SHA256 4c19841b9079b377cd814b1e6ebbf273af41d04d51c648f4c31f19bfadc20220 SHA512 6f9a68aec2594d83c43cf40e12a3d56e65661929a47c2a053ae120e34ad358d4dfd0b5b0303a374a5557f2ac0670114037a339530b111b1078b56e5baf284ed4 WHIRLPOOL 247498f144aec419d1214378332bc286795fa8f59ba33ce75b3d000be6340758f00a694d76b5cbfdd6b68d138a6cd373c06bb52c70e6ed6de29189c03a56d16b
+DIST syslog-ng-3.7.2.tar.gz 3558377 SHA256 b1b3ccc0ce7f0d8bf15b23e59f2f4f5ded70eed410dfd27105219bc8856388a5 SHA512 dbf58b51b68bc6616a136df5eb67a120718d8c83f785218d40f62e5f7b3691a3ad4d21db617551e4192e053dc9340440424e3d3b072b47ca590d4eac0dbf0e6f WHIRLPOOL 3721841f6e5ea883cd5ee71bf1651fa0861904008eb1136127c36990e2fe8801deafdf31ce880677eff7739b0b07411eee4542d8d4a80b60819fa3bd9ab24b9e
 DIST syslog-ng_3.4.8.tar.gz 3169372 SHA256 96c2f970fbba4fdd7659b1fee5e476d2858c911d4304d42099f495493762ff49 SHA512 23ba9908664e594c186cbe4bd5dcfb5d2ed3faf02ec45b931bb91b078660547989c2340a08b478a33adb530d39a6d6f39a2e7519107a3f6b923ac9f39529620e WHIRLPOOL 1085fa2c90e0c85421c64ed50e8a357f29006afea2f3e329e42d1e27f4210a10fe0f05d4af95a11c245d68b43644a4a829a50c05b7d541f59a6f580b3643b434
 DIST syslog-ng_3.6.2.tar.gz 3207456 SHA256 ef47fada52981e09af570457a5af30f815f5d5b6c2e33754cedd4ca9780d8261 SHA512 15603b4df2001e1ce7e0019d0dd9a0f4295445e3fd19a527ebf3d49486da7da27fac6c465727ec0354f8f70ca0f671a285ec132f9aa0de62b40f18b44af2a226 WHIRLPOOL 7135db242374d6e5789c0820a06187b7e325054fd214e3aee75aac5b8dde56786b432cc4519c07ce0cd413c3a560e8e74ee6eca319c21eaa750ca8140ef1b63f
 DIST syslog-ng_3.6.4.tar.gz 3276432 SHA256 7be11df31ac7d716f1f952e22b5ae8e2049edd633a41b223776a853d9106f4e7 SHA512 9c648628b9bd3ebb25bc44fa6586e88a4b9ed7c24b1c337569d3cccb04bf2f427ba1218900f8dfd8f668f245d6ab44ad45b67da661b7c2af68c6c42101b722e1 WHIRLPOOL 496a9b2e06e33b0c42726f3b13f859f356f136367c48363cd22b086b72f4f54a32cc057235636f2d2ea3ad7bdd622354ea67df1cbc770be608a84bc861fce93d
diff --git a/app-admin/syslog-ng/syslog-ng-3.7.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.7.1.ebuild
index 0d80c99..8847eec 100644
--- a/app-admin/syslog-ng/syslog-ng-3.7.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-3.7.1.ebuild
@@ -14,7 +14,7 @@
 
 LICENSE="GPL-2+ LGPL-2.1+"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
 IUSE="amqp caps dbi geoip ipv6 json mongodb pacct python redis smtp spoof-source systemd tcpd"
 RESTRICT="test"
 
diff --git a/app-admin/syslog-ng/syslog-ng-3.7.2.ebuild b/app-admin/syslog-ng/syslog-ng-3.7.2.ebuild
new file mode 100644
index 0000000..0a1f050
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-3.7.2.ebuild
@@ -0,0 +1,143 @@
+# 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 python-any-r1 eutils multilib systemd versionator
+
+MY_PV=${PV/_/}
+MY_PV_MM=$(get_version_component_range 1-2)
+DESCRIPTION="syslog replacement with advanced filtering features"
+HOMEPAGE="http://www.balabit.com/network-security/syslog-ng"
+SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${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 ~x86-fbsd"
+IUSE="amqp caps dbi geoip ipv6 json libressl mongodb pacct python redis smtp spoof-source systemd tcpd"
+RESTRICT="test"
+
+RDEPEND="
+	caps? ( sys-libs/libcap )
+	dbi? ( >=dev-db/libdbi-0.8.3 )
+	geoip? ( >=dev-libs/geoip-1.5.0 )
+	json? ( >=dev-libs/json-c-0.9 )
+	python? ( ${PYTHON_DEPS} )
+	redis? ( dev-libs/hiredis )
+	smtp? ( net-libs/libesmtp )
+	spoof-source? ( net-libs/libnet:1.1 )
+	systemd? ( sys-apps/systemd )
+	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+	dev-libs/libpcre
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	>=dev-libs/eventlog-0.2.12
+	>=dev-libs/glib-2.10.1:2"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	sys-devel/flex"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+pkg_setup() {
+	use python && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	epatch_user
+	use python && python_fix_shebang .
+
+	if use !json ; then
+		sed -i \
+			-e '1 s/cim //' \
+			scl/Makefile.am || die
+		eautoreconf
+	fi
+
+	cp "${FILESDIR}"/*logrotate*.in "${TMPDIR}" || die
+	cd "${TMPDIR}" || die
+
+	for f in *logrotate*.in ; do
+		if use systemd ; then
+			sed \
+				's/@GENTOO_RESTART@/systemctl kill -s HUP syslog-ng/' \
+				$f > ${f/.in/} || die
+		else
+			sed \
+				's:@GENTOO_RESTART@:/etc/init.d/syslog-ng reload:' \
+				$f > ${f/.in/} || die
+		fi
+	done
+}
+
+src_configure() {
+	econf \
+		--disable-java \
+		--disable-docs \
+		--enable-manpages \
+		--with-embedded-crypto \
+		--with-ivykis=internal \
+		--with-libmongo-client=internal \
+		--sysconfdir=/etc/syslog-ng \
+		--localstatedir=/var/lib/syslog-ng \
+		--with-pidfile-dir=/var/run \
+		--with-module-dir=/usr/$(get_libdir)/syslog-ng \
+		$(systemd_with_unitdir) \
+		$(use_enable systemd) \
+		$(use_enable caps linux-caps) \
+		$(use_enable geoip) \
+		$(use_enable ipv6) \
+		$(use_enable json) \
+		$(use_enable mongodb) \
+		$(use_enable pacct) \
+		$(use_enable python) \
+		$(use_enable redis) \
+		$(use_enable smtp) \
+		$(use_enable amqp) \
+		$(usex amqp --with-librabbitmq-client=internal --without-librabbitmq-client) \
+		$(use_enable spoof-source) \
+		$(use_enable dbi sql) \
+		$(use_enable tcpd tcp-wrapper)
+}
+
+src_install() {
+	# -j1 for bug #484470
+	emake -j1 DESTDIR="${D}" install
+
+	dodoc AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf* \
+		contrib/syslog2ng "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.hardened" \
+		"${TMPDIR}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened"
+
+	# Install default configuration
+	insinto /etc/syslog-ng
+	if use userland_BSD ; then
+		newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.fbsd" syslog-ng.conf
+	else
+		newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo" syslog-ng.conf
+	fi
+
+	insinto /etc/logrotate.d
+	newins "${TMPDIR}/syslog-ng.logrotate" syslog-ng
+
+	newinitd "${FILESDIR}/${MY_PV_MM}/syslog-ng.rc6" syslog-ng
+	newconfd "${FILESDIR}/${MY_PV_MM}/syslog-ng.confd" syslog-ng
+	keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
+	prune_libtool_files --modules
+
+	use python && python_optimize
+}
+
+pkg_postinst() {
+	elog "For detailed documentation please see the upstream website:"
+	elog "http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.7-guides/en/syslog-ng-ose-v3.7-guide-admin/html/index.html"
+
+	# bug #355257
+	if ! has_version app-admin/logrotate ; then
+		echo
+		elog "It is highly recommended that app-admin/logrotate be emerged to"
+		elog "manage the log files.  ${PN} installs a file in /etc/logrotate.d"
+		elog "for logrotate to use."
+		echo
+	fi
+}
diff --git a/app-admin/sysstat/Manifest b/app-admin/sysstat/Manifest
index 9f18dae..605792b 100644
--- a/app-admin/sysstat/Manifest
+++ b/app-admin/sysstat/Manifest
@@ -1,5 +1,5 @@
 DIST sysstat-11.0.2.tar.xz 291256 SHA256 acd87fdfbe7c796480f14fc26119d8f785d26827d74a0f5bced6c492a91f1b96 SHA512 4bb5f2ee14346d83c59bd4da36ae8fc6c13197eabb808b1b5db84b593f07d8b366b1f6329abed8d43e2a8497a89de0f89a398b741d4ca23b4a3a95973b5f0f54 WHIRLPOOL 98daee288e22f803f19bbe423eb999f527e8997f2ffd3fe1fe784363260365ee833dd33b755f44d6bfcc685f70b47cb8fd70fdd9a3fa679829c1e608bd65f8e2
-DIST sysstat-11.0.6.tar.xz 304516 SHA256 596a375bce1830514e26dd6c47ff366ec3113c637765a33f8924b43f97a16b49 SHA512 68f14790d535499ab8b116b77e812730eda003f9d11dd68b5089b284611a928679b538ecd5f139fe72cd737b27eaa972d386e7f81e0e5c4aaa27eae111196bcb WHIRLPOOL 2312c1198910bd1b89e6f87ff3cc0d350e3d84dde375a527b6d5895fe05a3f95c584a8999bdcc87556632d9d903a16adb0b0f58b53aedf2466aa62dd8554f7e0
 DIST sysstat-11.0.7.tar.xz 305548 SHA256 39dcaa3a174f110cc885ac2508292a4a459d60ea56818a0bd3d0c3d05b2e458a SHA512 4547c7ddf3519dc0e14ad9496f0c6cccb26a8e4df97638b755f792df3914f321284f0e60ce27b3c4642bb757fa7c5006a806fd14f816f578e12b7d20f3cdcd51 WHIRLPOOL 324a3b8718240234c6a94118accd3ea5d849b1c3976ef81d5a178f7daf2e5e3e3806c6f4fb914de3062df0be0d9e6e188e42a5b5cde17ac244f3ab453d69daa0
-DIST sysstat-11.1.6.tar.xz 318752 SHA256 e1792aaae343e9c29d962b453e6eab2b3269474bfac2c8e1df463735e706595f SHA512 670cc25400459532721cb2cbcfb9a57612811ea261a888d37e8fe87755556bc2c37bb0ebd7f3c8c5e1d11bfa08c7b20bad77795b6f7c9ce90a8185b4eb3f541c WHIRLPOOL f30291a1e4b1affa382067f688c4c1af5a5fe5a5d20d5580be5bb6e5b2f67cf9eb2018ec672f50396a1c326b0c607994e4c874eb6e2477edc6b6224bb088bff4
+DIST sysstat-11.0.8.tar.xz 294828 SHA256 d073b0e95820254a3fbf53ae3fb27db91d5b11778875034cd39c4d56d8e23695 SHA512 bae205b90d3b908de14d568a7872cca1fe0b2a6e423b74d4f837ebd9f9892abc742f8dc746dde559763c982cf0fd73fafc9ad116ea827ff1189c92488fc8696e WHIRLPOOL 375c3e9af3634c151605f89f1debea3148e2d890f9c43cf4dcb834977c093d2622832c0f0773ef05330f6d9dacb3abfd74acc10ae56251b812a7c6c528007232
 DIST sysstat-11.1.7.tar.xz 321488 SHA256 c6767f14b157118189ac3228c650f4657399dc2a3ee8cecd7c9e6237865c02b5 SHA512 b7cfa950987668dcff8e2e342f6b789c191bfeed9eb8d0f4d72d51b87c017134252df9c50c31c895be9e0da7e82a74e332de46571d2b3562870fc2506237a240 WHIRLPOOL 23459acb6ceb4323b558ea056bed727a2275bec69235775209783bfcc627b10c01187e4d4377f5198acb46edeb86fdcfd0a559327532c9b1502a2b1ca7a5dd2f
+DIST sysstat-11.1.8.tar.xz 323512 SHA256 9c7eb478e6a3e6f3f19ef7e00438318e9f8e87a6608a242502a0828b6a41704a SHA512 4427f6e1a17cee2b56e624ab6c615d421e8a2a78b23dd6907a97f8946c20eefd2c181afe02652ad387a94d53d1d7203c6aee4d36d34424c9b2b03ee8b53366ce WHIRLPOOL 87c10b46f758efdee4e8dfedbc945a496e2f644de80632dd13fe7d99d81eca42d58a28946e138adcd4a8f9cdf22a1e1db14af548ebc4e55ad6a6eb2695bb7d65
diff --git a/app-admin/sysstat/sysstat-11.0.6.ebuild b/app-admin/sysstat/sysstat-11.0.8.ebuild
similarity index 100%
rename from app-admin/sysstat/sysstat-11.0.6.ebuild
rename to app-admin/sysstat/sysstat-11.0.8.ebuild
diff --git a/app-admin/sysstat/sysstat-11.1.6.ebuild b/app-admin/sysstat/sysstat-11.1.8.ebuild
similarity index 100%
rename from app-admin/sysstat/sysstat-11.1.6.ebuild
rename to app-admin/sysstat/sysstat-11.1.8.ebuild
diff --git a/app-admin/systemrescuecd-x86/Manifest b/app-admin/systemrescuecd-x86/Manifest
index af9e335..aa6fe77 100644
--- a/app-admin/systemrescuecd-x86/Manifest
+++ b/app-admin/systemrescuecd-x86/Manifest
@@ -5,3 +5,4 @@
 DIST systemrescuecd-x86-4.5.3.iso 458467328 SHA256 16aadc8bef95a0f409a7865054e8597b1001d815b22d976556c103379ea6aba3 SHA512 14774e9a882d5a505532ab8bee85e81867f5d30674df471eb76cae84678eae00fa3992c894b6c90b85c7eaa20bdc04ffe910a7a432092faf3329c08bf54eff49 WHIRLPOOL 7fa6a4e708453bc149d50b56fc05e77ed0d14a6ebab0c939f4e33d92ccbf2409de0da1154425f633e7e4415a3de7f9dc705131259e290b5a40b51f4f43b0f7dd
 DIST systemrescuecd-x86-4.5.4.iso 459102208 SHA256 333827d5375cbb9bb201aa2c36871d941e78eeb66652c18c76664154a30eb9a4 SHA512 c32904413516af917de3d58b8eaf3b5701b9c49b1249daf1f8eca060497d5278fedbb0c0d86907bf94ddeab716dc8bf014e0baed0aee66141e8967207805d446 WHIRLPOOL 75c46f12dd92b093e4194e3b67ca020aefc43a3d9e27d94088a2c2f7f0ccad5cd44f7d7fbec4185956756fc3a3bf8845a82ab7a3d171c6ce3d8672f76e9c46e0
 DIST systemrescuecd-x86-4.6.0.iso 467294208 SHA256 cdf1db091a7d963e3395f4d9b90f40b2b0b939c99ae9138178d5abc6dfa31e0f SHA512 f90d46adb8ab19b19eae589744808bcbd50aa0b0eac22eca92a09e8407c77e7a2bf573c2c72b37f497a9d287c90b20164b213bf007b538063f758b12b1da11eb WHIRLPOOL f6f8a674d3971309361997b2c5a06ddcec15bbdf069a5177dab3a0701c95f55723bcd835f8e3bac0e5b756d9a5115f4828ceac0af7edef903af16ece0c24e81a
+DIST systemrescuecd-x86-4.6.1.iso 470530048 SHA256 5812ea8198831b15db9ab37e772524a047c5750a9ee79789bcb4f77e117bf4d5 SHA512 3ae7c4f3f2196190c8bac44da35878450ef5455240e10f5bf2063a28f0f1c59d35458c7db42a3324e8b963a9e8b250a1b54ffa85e5cb6cf27c9e94ae1fb593d3 WHIRLPOOL fc389a182b2942efea89da1fc088c6d38e2c3a8df35d6012e3a3d560b3022866fed169dea2249f3d236cb1e559fe3bb44ec15c78a7740e93c843cebcaaf6dd5e
diff --git a/app-admin/systemrescuecd-x86/systemrescuecd-x86-4.6.1.ebuild b/app-admin/systemrescuecd-x86/systemrescuecd-x86-4.6.1.ebuild
new file mode 100644
index 0000000..d7cc39e
--- /dev/null
+++ b/app-admin/systemrescuecd-x86/systemrescuecd-x86-4.6.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
+
+DESCRIPTION="The .iso image of SystemRescueCD rescue disk, x86 (+ amd64) variant"
+HOMEPAGE="http://www.sysresccd.org/"
+SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
+
+LICENSE="GPL-2"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S=${WORKDIR}
+
+RESTRICT="mirror"
+
+src_install() {
+	insinto "/usr/share/${PN%-*}"
+	doins "${DISTDIR}/${P}.iso"
+}
+
+pkg_postinst() {
+	local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
+
+	# no version newer than ours? we're the newest!
+	if ! has_version ">${CATEGORY}/${PF}"; then
+		ln -f -s -v "${P}.iso" "${f}" || die
+	fi
+}
+
+pkg_postrm() {
+	local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
+
+	# if there is no version newer than ours installed
+	if ! has_version ">${CATEGORY}/${PF}"; then
+		# and we are truly and completely uninstalled...
+		if [[ ! ${REPLACED_BY_VERSION} ]]; then
+			# then find an older version to set the symlink to
+			local newest_version=$(best_version "<${CATEGORY}/${PF}")
+
+			if [[ ${newest_version} ]]; then
+				# update the symlink
+				ln -f -s -v "${newest_version%-r*}.iso" "${f}" || die
+			else
+				# last version removed? clean up the symlink
+				rm -v "${f}" || die
+				# and the parent directory
+				rmdir "${f%/*}" || die
+			fi
+		fi
+	fi
+}
diff --git a/app-admin/tenshi/metadata.xml b/app-admin/tenshi/metadata.xml
index 158d493..a0fb5e8 100644
--- a/app-admin/tenshi/metadata.xml
+++ b/app-admin/tenshi/metadata.xml
@@ -3,7 +3,7 @@
 <pkgmetadata>
 <herd>proxy-maintainers</herd>
 <maintainer>
-  <email>bldewolf@csupomona.edu</email>
+  <email>bldewolf@cpp.edu</email>
   <name>Brian De Wolf</name>
 </maintainer>
 <maintainer>
diff --git a/app-admin/ulogd/Manifest b/app-admin/ulogd/Manifest
index 8392508..d969037 100644
--- a/app-admin/ulogd/Manifest
+++ b/app-admin/ulogd/Manifest
@@ -1,2 +1 @@
-DIST ulogd-2.0.4.tar.bz2 452234 SHA256 56b30a13a8832e97178f39b7bb173a0b1dfe173dbb60d99a1a386c0962a2effd SHA512 08e88661fcfbcfd327b03b7a883dc239991f47d5a4e4561f3ada5f6acc8f2349f3bd38c1c67f28e42bbccf4cad63b2b7c3b732c23bf24b7c5f05320d27977773 WHIRLPOOL 94ee731cee8b95295d1c675bb3904be1a5b27a1e901d462f248116c865e79d52703b5330882110d7212bda1bb964fc0c97c3e704589071f47fab4475e1c91161
 DIST ulogd-2.0.5.tar.bz2 456258 SHA256 a221cb9f77347c0ca00d0937e27c1b90e3291a553cc62a4139b788e2e420e8c0 SHA512 bf00b8adaad7bd04077a83521b0d7accc26e644c8f3386819e7f91476178b6733f1c6554fb82dd0d3913398c83a61d65f61dc973f199f610bfaadc6251504819 WHIRLPOOL fe499ac7b4070581439a05f4f2245f7a42fe5630da5dc32b9b069511ed1faa15fe482eee08d50477d3fb1d0bf0d3855a69fc82fb0f3e8eecdf082fb642519f91
diff --git a/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch b/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch
deleted file mode 100644
index f8c1062..0000000
--- a/app-admin/ulogd/files/ulogd-2.0.4-linux-headers-3.17-ipt_ulog.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 30e24dbfc7a8644e29664070e8c16e5c3997f87e Mon Sep 17 00:00:00 2001
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Fri, 7 Nov 2014 18:33:01 +0100
-Subject: [PATCH] include: keep a copy of linux/netfilter_ipv4/ipt_ULOG.h
-
-This fixes compilation if you use a Linux kernel >= 3.17. This problem
-occurs since ULOG was removed from mainstream:
-
-http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7200135bc1e61f1437dc326ae2ef2f310c50b4eb
-
-Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=986
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-diff --git a/configure.ac b/configure.ac
-index 522c345..c5f573c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -142,7 +142,7 @@ dnl AM_CONDITIONAL(HAVE_PGSQL, test x$pgsqldir != x)
- 
- AC_CONFIG_FILES(include/Makefile include/ulogd/Makefile include/libipulog/Makefile \
- 	  include/linux/Makefile include/linux/netfilter/Makefile \
--	  libipulog/Makefile \
-+	  include/linux/netfilter_ipv4/Makefile libipulog/Makefile \
- 	  input/Makefile input/packet/Makefile input/flow/Makefile \
- 	  input/sum/Makefile \
- 	  filter/Makefile filter/raw2packet/Makefile filter/packet2flow/Makefile \
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index ca80d0d..18af1c2 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -1,2 +1,2 @@
--
--SUBDIRS = netfilter
-+SUBDIRS = netfilter		\
-+	  netfilter_ipv4
-diff --git a/include/linux/netfilter_ipv4/Makefile.am b/include/linux/netfilter_ipv4/Makefile.am
-new file mode 100644
-index 0000000..41819a3
---- /dev/null
-+++ b/include/linux/netfilter_ipv4/Makefile.am
-@@ -0,0 +1 @@
-+noinst_HEADERS = ipt_ULOG.h
-diff --git a/include/linux/netfilter_ipv4/ipt_ULOG.h b/include/linux/netfilter_ipv4/ipt_ULOG.h
-new file mode 100644
-index 0000000..417aad2
---- /dev/null
-+++ b/include/linux/netfilter_ipv4/ipt_ULOG.h
-@@ -0,0 +1,49 @@
-+/* Header file for IP tables userspace logging, Version 1.8
-+ *
-+ * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
-+ * 
-+ * Distributed under the terms of GNU GPL */
-+
-+#ifndef _IPT_ULOG_H
-+#define _IPT_ULOG_H
-+
-+#ifndef NETLINK_NFLOG
-+#define NETLINK_NFLOG 	5
-+#endif
-+
-+#define ULOG_DEFAULT_NLGROUP	1
-+#define ULOG_DEFAULT_QTHRESHOLD	1
-+
-+#define ULOG_MAC_LEN	80
-+#define ULOG_PREFIX_LEN	32
-+
-+#define ULOG_MAX_QLEN	50
-+/* Why 50? Well... there is a limit imposed by the slab cache 131000
-+ * bytes. So the multipart netlink-message has to be < 131000 bytes.
-+ * Assuming a standard ethernet-mtu of 1500, we could define this up
-+ * to 80... but even 50 seems to be big enough. */
-+
-+/* private data structure for each rule with a ULOG target */
-+struct ipt_ulog_info {
-+	unsigned int nl_group;
-+	size_t copy_range;
-+	size_t qthreshold;
-+	char prefix[ULOG_PREFIX_LEN];
-+};
-+
-+/* Format of the ULOG packets passed through netlink */
-+typedef struct ulog_packet_msg {
-+	unsigned long mark;
-+	long timestamp_sec;
-+	long timestamp_usec;
-+	unsigned int hook;
-+	char indev_name[IFNAMSIZ];
-+	char outdev_name[IFNAMSIZ];
-+	size_t data_len;
-+	char prefix[ULOG_PREFIX_LEN];
-+	unsigned char mac_len;
-+	unsigned char mac[ULOG_MAC_LEN];
-+	unsigned char payload[0];
-+} ulog_packet_msg_t;
-+
-+#endif /*_IPT_ULOG_H*/
--- 
-2.0.4
-
diff --git a/app-admin/ulogd/files/ulogd.init b/app-admin/ulogd/files/ulogd.init
deleted file mode 100644
index ace6e8b..0000000
--- a/app-admin/ulogd/files/ulogd.init
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-extra_started_commands="reload reopen"
-
-: ${ULOGD_BINARY:=/usr/sbin/ulogd}
-: ${ULOGD_PIDFILE:=/run/${SVCNAME}.pid}
-: ${ULOGD_OPTS:=--daemon --uid ulogd --pidfile ${ULOGD_PIDFILE}}
-
-depend() {
-	before iptables ip6tables ebtables firewall
-	after mysql postgresql
-}
-
-start() {
-	ebegin "Starting ${SVCNAME}"
-	start-stop-daemon --start \
-		--exec ${ULOGD_BINARY} --pidfile ${ULOGD_PIDFILE} \
-		-- ${ULOGD_OPTS}
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping ${SVCNAME}"
-	start-stop-daemon --stop --pidfile ${ULOGD_PIDFILE}
-	eend $?
-}
-
-reload() {
-	ebegin "Reloading ${SVCNAME} configuration"
-	start-stop-daemon --signal USR1 --pidfile ${ULOGD_PIDFILE}
-	eend $?
-}
-
-reopen() {
-	ebegin "Reopening ${SVCNAME} logfiles"
-	start-stop-daemon --signal HUP --pidfile ${ULOGD_PIDFILE}
-	eend $?
-}
diff --git a/app-admin/ulogd/files/ulogd.init-r2 b/app-admin/ulogd/files/ulogd.init-r2
new file mode 100644
index 0000000..c994507
--- /dev/null
+++ b/app-admin/ulogd/files/ulogd.init-r2
@@ -0,0 +1,42 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+extra_started_commands="reload reopen"
+
+: ${ULOGD_BINARY:=/usr/sbin/ulogd}
+: ${ULOGD_PIDFILE:=/run/${SVCNAME}.pid}
+: ${ULOGD_WAIT:=200}
+: ${ULOGD_OPTS:=--daemon --uid ulogd --pidfile ${ULOGD_PIDFILE}}
+
+depend() {
+	before iptables ip6tables ebtables nftables firewall
+	after mysql postgresql
+}
+
+start() {
+	ebegin "Starting ${SVCNAME}"
+	start-stop-daemon --start \
+		--exec ${ULOGD_BINARY} --pidfile ${ULOGD_PIDFILE} --wait ${ULOGD_WAIT} \
+		-- ${ULOGD_OPTS}
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping ${SVCNAME}"
+	start-stop-daemon --stop --pidfile ${ULOGD_PIDFILE}
+	eend $?
+}
+
+reload() {
+	ebegin "Reloading ${SVCNAME} configuration"
+	start-stop-daemon --signal USR1 --pidfile ${ULOGD_PIDFILE}
+	eend $?
+}
+
+reopen() {
+	ebegin "Reopening ${SVCNAME} logfiles"
+	start-stop-daemon --signal HUP --pidfile ${ULOGD_PIDFILE}
+	eend $?
+}
diff --git a/app-admin/ulogd/files/ulogd.service b/app-admin/ulogd/files/ulogd.service
deleted file mode 100644
index ec22db0..0000000
--- a/app-admin/ulogd/files/ulogd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=A userspace logging daemon for netfilter/iptables related logging
-Before=iptables.service ip6tables.service
-After=mysql.service postgresql.service
-
-[Service]
-Type=forking
-PIDFile=/run/ulogd.pid
-ExecStart=/usr/sbin/ulogd --daemon --uid ulogd --pidfile /run/ulogd.pid
-ExecReload=/bin/kill -USR1 $MAINPID
-
-[Install]
-WantedBy=network.target
diff --git a/app-admin/ulogd/metadata.xml b/app-admin/ulogd/metadata.xml
index 0a86814..9a59413 100644
--- a/app-admin/ulogd/metadata.xml
+++ b/app-admin/ulogd/metadata.xml
@@ -3,7 +3,8 @@
 <pkgmetadata>
 	<herd>proxy-maintainers</herd>
 	<maintainer>
-		<email>itumaykin@gmail.com</email>
+		<email>itumaykin+gentoo@gmail.com</email>
+		<name>Coacher</name>
 	</maintainer>
 	<use>
 		<flag name='json'>Build JSON output plugin to save packets in JSON file format.</flag>
diff --git a/app-admin/ulogd/ulogd-2.0.4-r1.ebuild b/app-admin/ulogd/ulogd-2.0.4-r1.ebuild
deleted file mode 100644
index a49fa02..0000000
--- a/app-admin/ulogd/ulogd-2.0.4-r1.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# 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 eutils linux-info readme.gentoo systemd user
-
-DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging"
-HOMEPAGE="http://netfilter.org/projects/ulogd/index.html"
-SRC_URI="ftp://ftp.netfilter.org/pub/${PN}/${P}.tar.bz2
-		http://www.netfilter.org/projects/${PN}/files/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ia64 ppc x86"
-IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres sqlite"
-
-RDEPEND="net-firewall/iptables
-	>=net-libs/libnfnetlink-1.0.1
-	dbi? ( dev-db/libdbi )
-	json? ( dev-libs/jansson )
-	nfacct? (
-		>=net-libs/libmnl-1.0.3
-		>=net-libs/libnetfilter_acct-1.0.1
-	)
-	nfct? ( >=net-libs/libnetfilter_conntrack-1.0.2 )
-	nflog? ( >=net-libs/libnetfilter_log-1.0.0 )
-	mysql? ( virtual/mysql )
-	pcap? ( net-libs/libpcap )
-	postgres? ( dev-db/postgresql:= )
-	sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
-	doc? (
-		app-text/linuxdoc-tools
-		app-text/texlive-core
-		virtual/latex-base
-	)"
-
-PATCHES=( "${FILESDIR}/${P}-linux-headers-3.17-ipt_ulog.patch" )
-
-DOCS=( AUTHORS README TODO )
-DOC_CONTENTS="You must have at least one logging stack enabled to make ulogd work.
-Please edit example configuration located at /etc/ulogd.conf"
-
-pkg_setup() {
-	enewgroup ulogd
-	enewuser ulogd -1 -1 /var/log/ulogd ulogd
-
-	linux-info_pkg_setup
-
-	if kernel_is lt 2 6 14; then
-		die "ulogd2 requires kernel newer than 2.6.14"
-	fi
-
-	if kernel_is lt 2 6 18; then
-		ewarn
-		ewarn "You are using kernel older than 2.6.18"
-		ewarn "Some ulogd2 features may be unavailable"
-		ewarn
-	fi
-
-	if use nfacct && kernel_is lt 3 3 0; then
-		ewarn "NFACCT input plugin requires kernel newer than 3.3.0"
-	fi
-
-	if ! use nfacct && ! use nfct && ! use nflog && kernel_is gt 3 17 0; then
-		ewarn "ULOG target was removed since 3.17.0 kernel release"
-		ewarn "Consider enabling NFACCT, NFCT or NFLOG support"
-	fi
-}
-
-src_prepare() {
-	# - make all logs to be kept in a single dir /var/log/ulogd
-	# - place sockets in /run instead of /tmp
-	sed -i \
-		-e 's:var/log:var/log/ulogd:g' \
-		-e 's:tmp:run:g' \
-		ulogd.conf.in || die 'sed on ulogd.conf.in failed'
-
-	autotools-utils_src_prepare
-}
-
-src_configure() {
-	local myeconfargs=(
-		$(use_with dbi)
-		$(use_with json jansson)
-		$(use_enable nfacct)
-		$(use_enable nfct)
-		$(use_enable nflog)
-		$(use_with mysql)
-		$(use_with pcap)
-		$(use_with postgres pgsql)
-		$(use_with sqlite)
-	)
-	autotools-utils_src_configure
-}
-
-src_compile() {
-	autotools-utils_src_compile
-
-	if use doc; then
-		# prevent access violations from generation of bitmap font files
-		export VARTEXFONTS="${T}"/fonts
-		emake -C doc
-	fi
-}
-
-src_install() {
-	autotools-utils_src_install
-	readme.gentoo_create_doc
-	prune_libtool_files --modules
-
-	if use doc; then
-		dohtml doc/${PN}.html
-		dodoc doc/${PN}.dvi doc/${PN}.txt doc/${PN}.ps
-	fi
-
-	use sqlite && dodoc doc/sqlite3.table
-	use mysql && dodoc doc/mysql-*.sql
-	use postgres && dodoc doc/pgsql-*.sql
-	doman ${PN}.8
-
-	insinto /etc
-	doins ${PN}.conf
-	fowners root:ulogd /etc/ulogd.conf
-	fperms 640 /etc/ulogd.conf
-
-	newinitd "${FILESDIR}/${PN}.init" ${PN}
-	systemd_dounit "${FILESDIR}/${PN}.service"
-
-	insinto /etc/logrotate.d
-	newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
-	diropts -o ulogd -g ulogd
-	keepdir /var/log/ulogd
-}
diff --git a/app-admin/ulogd/ulogd-2.0.5-r3.ebuild b/app-admin/ulogd/ulogd-2.0.5-r3.ebuild
new file mode 100644
index 0000000..71cf91e
--- /dev/null
+++ b/app-admin/ulogd/ulogd-2.0.5-r3.ebuild
@@ -0,0 +1,145 @@
+# 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 eutils flag-o-matic linux-info readme.gentoo systemd user
+
+DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging"
+HOMEPAGE="http://netfilter.org/projects/ulogd/index.html"
+SRC_URI="ftp://ftp.netfilter.org/pub/${PN}/${P}.tar.bz2
+		http://www.netfilter.org/projects/${PN}/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres sqlite -ulog"
+
+RDEPEND="
+	|| ( net-firewall/iptables net-firewall/nftables )
+	>=net-libs/libnfnetlink-1.0.1
+	dbi? ( dev-db/libdbi )
+	json? ( dev-libs/jansson )
+	nfacct? (
+		>=net-libs/libmnl-1.0.3
+		>=net-libs/libnetfilter_acct-1.0.1
+	)
+	nfct? ( >=net-libs/libnetfilter_conntrack-1.0.2 )
+	nflog? ( >=net-libs/libnetfilter_log-1.0.0 )
+	mysql? ( virtual/mysql )
+	pcap? ( net-libs/libpcap )
+	postgres? ( dev-db/postgresql:= )
+	sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}
+	doc? (
+		app-text/linuxdoc-tools
+		app-text/texlive-core
+		virtual/latex-base
+	)
+"
+
+PATCHES=( "${FILESDIR}/${P}-remove-db-automagic.patch" )
+
+DOCS=( AUTHORS README TODO )
+DOC_CONTENTS="
+	You must have at least one logging stack enabled to make ulogd work.
+	Please edit example configuration located at /etc/ulogd.conf
+"
+
+pkg_setup() {
+	enewgroup ulogd
+	enewuser ulogd -1 -1 /var/log/ulogd ulogd
+
+	linux-info_pkg_setup
+
+	if kernel_is lt 2 6 14; then
+		die "ulogd requires kernel newer than 2.6.14"
+	fi
+
+	if kernel_is lt 2 6 18; then
+		ewarn "You are using kernel older than 2.6.18"
+		ewarn "Some ulogd features may be unavailable"
+	fi
+
+	if use nfacct && kernel_is lt 3 3 0; then
+		ewarn "NFACCT input plugin requires kernel newer than 3.3.0"
+	fi
+
+	if use ulog && kernel_is gt 3 17 0; then
+		ewarn "ULOG target was removed since 3.17.0 kernel release"
+		ewarn "Consider enabling NFACCT, NFCT or NFLOG support"
+	fi
+}
+
+src_prepare() {
+	# - make all logs to be kept in a single dir /var/log/ulogd
+	# - place sockets in /run instead of /tmp
+	sed -i \
+		-e 's:var/log:var/log/ulogd:g' \
+		-e 's:tmp:run:g' \
+		ulogd.conf.in || die 'sed on ulogd.conf.in failed'
+
+	append-lfs-flags
+	autotools-utils_src_prepare
+}
+
+src_configure() {
+	local myeconfargs=(
+		$(use_with dbi)
+		$(use_with json jansson)
+		$(use_enable nfacct)
+		$(use_enable nfct)
+		$(use_enable nflog)
+		$(use_with mysql)
+		$(use_with pcap)
+		$(use_with postgres pgsql)
+		$(use_with sqlite)
+		$(use_enable ulog)
+	)
+	autotools-utils_src_configure
+}
+
+src_compile() {
+	autotools-utils_src_compile
+
+	if use doc; then
+		# Prevent access violations from bitmap font files generation
+		export VARTEXFONTS="${T}"/fonts
+		emake -C doc
+	fi
+}
+
+src_install() {
+	autotools-utils_src_install
+	readme.gentoo_create_doc
+	prune_libtool_files --modules
+
+	if use doc; then
+		dohtml doc/${PN}.html
+		dodoc doc/${PN}.dvi doc/${PN}.txt doc/${PN}.ps
+	fi
+
+	use sqlite && dodoc doc/sqlite3.table
+	use mysql && dodoc doc/mysql-*.sql
+	use postgres && dodoc doc/pgsql-*.sql
+	doman ${PN}.8
+
+	insinto /etc
+	doins ${PN}.conf
+	fowners root:ulogd /etc/ulogd.conf
+	fperms 640 /etc/ulogd.conf
+
+	newinitd "${FILESDIR}/${PN}.init-r2" ${PN}
+	systemd_newunit "${FILESDIR}/${PN}.service-r1" ${PN}.service
+
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+	diropts -o ulogd -g ulogd
+	keepdir /var/log/ulogd
+}
diff --git a/app-admin/vault/files/vault.initd b/app-admin/vault/files/vault.initd
index e4fb31b..8d3e2cc 100644
--- a/app-admin/vault/files/vault.initd
+++ b/app-admin/vault/files/vault.initd
@@ -8,7 +8,7 @@
 pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
 user=${user:-${SVCNAME}}
 
-command="/usr/sbin/${SVCNAME}"
+command="/usr/bin/${SVCNAME}"
 command_args="agent -config-dir=/etc/vault.d ${command_args}"
 command_background="true"
 start_stop_daemon_args="--user ${user} --group ${group} \
diff --git a/app-admin/vault/metadata.xml b/app-admin/vault/metadata.xml
index 059d713..aace583 100644
--- a/app-admin/vault/metadata.xml
+++ b/app-admin/vault/metadata.xml
@@ -1,7 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
   <maintainer>
     <email>zmedico@gentoo.org</email>
   </maintainer>
+  <upstream>
+    <remote-id type="github">mitchellh/iochan</remote-id>
+  </upstream>
 </pkgmetadata>
diff --git a/app-admin/webapp-config/webapp-config-1.54-r1.ebuild b/app-admin/webapp-config/webapp-config-1.54-r1.ebuild
index b3e5802..d64b534 100644
--- a/app-admin/webapp-config/webapp-config-1.54-r1.ebuild
+++ b/app-admin/webapp-config/webapp-config-1.54-r1.ebuild
@@ -9,7 +9,7 @@
 inherit distutils-r1
 
 SRC_URI="https://dev.gentoo.org/~twitch153/${PN}/${P}.tar.bz2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
 
 DESCRIPTION="Gentoo's installer for web-based applications"
 HOMEPAGE="http://sourceforge.net/projects/webapp-config/"
diff --git a/app-admin/yaala/yaala-0.7.3-r1.ebuild b/app-admin/yaala/yaala-0.7.3-r1.ebuild
index 22d252f..0b19cae 100644
--- a/app-admin/yaala/yaala-0.7.3-r1.ebuild
+++ b/app-admin/yaala/yaala-0.7.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -28,17 +28,20 @@
 src_install() {
 	dobin ${PN}
 
-	exeinto /usr/lib64/perl5/vendor_perl/${PN^}/
-	doexe lib/${PN^}/*.pm
+	# Switch to ^y when we switch to EAPI=6.
+	local mod="Y${PN:1}"
 
-	exeinto /usr/lib64/perl5/vendor_perl/${PN^}/Data/
-	doexe lib/${PN^}/Data/*.pm
+	exeinto /usr/lib64/perl5/vendor_perl/${mod}/
+	doexe lib/${mod}/*.pm
 
-	exeinto /usr/lib64/perl5/vendor_perl/${PN^}/Parser/
-	doexe lib/${PN^}/Parser/*.pm
+	exeinto /usr/lib64/perl5/vendor_perl/${mod}/Data/
+	doexe lib/${mod}/Data/*.pm
 
-	exeinto /usr/lib64/perl5/vendor_perl/${PN^}/Report/
-	doexe lib/${PN^}/Report/*.pm
+	exeinto /usr/lib64/perl5/vendor_perl/${mod}/Parser/
+	doexe lib/${mod}/Parser/*.pm
+
+	exeinto /usr/lib64/perl5/vendor_perl/${mod}/Report/
+	doexe lib/${mod}/Report/*.pm
 
 	dodoc AUTHORS CHANGELOG README{,.persistency,.selections}
 
diff --git a/app-arch/gcab/gcab-0.6.ebuild b/app-arch/gcab/gcab-0.6.ebuild
index f697907..e6fed3d 100644
--- a/app-arch/gcab/gcab-0.6.ebuild
+++ b/app-arch/gcab/gcab-0.6.ebuild
@@ -14,7 +14,7 @@
 
 LICENSE="LGPL-2.1+"
 SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ppc ppc64 sparc x86"
 IUSE="+introspection vala"
 REQUIRED_USE="vala? ( introspection )"
 
diff --git a/app-arch/lha/files/lha-114i-fix-getopt_long-declaration.patch b/app-arch/lha/files/lha-114i-fix-getopt_long-declaration.patch
new file mode 100644
index 0000000..b57a1c9
--- /dev/null
+++ b/app-arch/lha/files/lha-114i-fix-getopt_long-declaration.patch
@@ -0,0 +1,11 @@
+--- src/getopt_long.c.orig      2013-12-18 16:05:59.789413528 -0600
++++ src/getopt_long.c   2013-12-18 16:06:01.200420472 -0600
+@@ -64,7 +64,7 @@
+ 
+ #ifndef USE_GNU
+ #include <stdio.h>
+-#include <getopt_long.h>
++#include "getopt_long.h"
+ 
+ char *optarg;
+ int optind;
diff --git a/app-arch/lha/lha-114i-r8.ebuild b/app-arch/lha/lha-114i-r8.ebuild
new file mode 100644
index 0000000..301e798
--- /dev/null
+++ b/app-arch/lha/lha-114i-r8.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 autotools eutils flag-o-matic
+
+MY_P=${PN}-1.14i-ac20050924p1
+
+DESCRIPTION="Utility for creating and opening lzh archives"
+HOMEPAGE="http://lha.sourceforge.jp"
+SRC_URI="mirror://sourceforge.jp/${PN}/22231/${MY_P}.tar.gz"
+LICENSE="lha"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~m68k-mint"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-file-list-from-stdin.patch
+	"${FILESDIR}"/${P}-fix-getopt_long-declaration.patch
+)
+
+src_prepare() {
+	epatch "${PATCHES[@]}"
+
+	sed -e '/^AM_C_PROTOTYPES/d' \
+		-e 's/^AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' \
+		-i configure.ac || die #423125, 467544
+
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags -DPROTOTYPES #423125
+
+	if [[ ${CHOST} == *-interix* ]]; then
+		export ac_cv_header_inttypes_h=no
+		export ac_cv_func_iconv=no
+	fi
+
+	econf
+}
+
+src_install() {
+	emake \
+		DESTDIR="${D}" \
+		mandir="${EPREFIX}"/usr/share/man/ja \
+		install
+
+	dodoc ChangeLog Hacking_of_LHa
+}
diff --git a/app-arch/lz4/Manifest b/app-arch/lz4/Manifest
index 87be5e2..6cf7fa7 100644
--- a/app-arch/lz4/Manifest
+++ b/app-arch/lz4/Manifest
@@ -1,2 +1,3 @@
 DIST lz4-0_p106.tar.xz 129352 SHA256 a9a09c4ebb962995d10e7e4f7d9224aaa93f308899de18a414948a58e87b6f22 SHA512 8b2bafbf78be7c42831e264d7acdca12712c88369cecdb3aa4621c84bb6b450c372f5153f7c3939a5f70d5810c62b98993697397319d286a1bb51b1e4a6ecde6 WHIRLPOOL fc5bb47b73606b125d8e155365d1fe101083e68e684ffd6014440e0f1416f1f6ecc64b797083e6939bd3e8cd42018e46a1864ae4542160c96933a47df9421a42
 DIST lz4-r120.tar.gz 161950 SHA256 fa02b1bcc26529c27cff0883d830914bdd1ba41a87035313e1050302f17e4b07 SHA512 8b27c57737ba4c2c8e4f00f7ce13f6edc91f74885bad66dd521dfe85d427e0fd78a300896d599bb8642a34fba78446daf207d1b2fd8e91543d4c093e53694e86 WHIRLPOOL 6a0cd7f8caf9799130b13b3f282197b5ef20fb987f0f5f6911f71a0f5d5d37c542976be5f13bdd2e21a8edd0a6cc8408fcc0f69f6354a0fbc7df75b22fb9de91
+DIST lz4-r131.tar.gz 133784 SHA256 9d4d00614d6b9dec3114b33d1224b6262b99ace24434c53487a0c8fd0b18cfed SHA512 60bd95d529691ffee2c43f0d8a62484c3cff74c0154094f073192606806ac8182dced61e0534ffa7e0ccf5f18e9a8cfd2738883a83814c0711a6d7f1d1b252e5 WHIRLPOOL d605dbada1d4eb84eb6f3f45417eaa35433b1e3e875af560bb5fa06f0465f1652fab74c094d0d743e0034abc0067c83114827e21baea69d5c3d6d95062d0f660
diff --git a/app-arch/lz4/lz4-0_p131.ebuild b/app-arch/lz4/lz4-0_p131.ebuild
new file mode 100644
index 0000000..fac9230
--- /dev/null
+++ b/app-arch/lz4/lz4-0_p131.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 multilib multilib-minimal toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/Cyan4973/lz4.git"
+	EGIT_BRANCH=dev
+else
+	MY_PV="r${PV##0_p}"
+	MY_P="${PN}-${MY_PV}"
+	SRC_URI="https://github.com/Cyan4973/lz4/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Extremely Fast Compression algorithm"
+HOMEPAGE="https://github.com/Cyan4973/lz4"
+
+LICENSE="BSD-2 GPL-2"
+# Upstream has trouble keeping ABI stable, so please test new versions
+# with abi-compliance-checker and update the subslot every time ABI
+# changes. This is the least we can do to keep things sane.
+SLOT="0/r131"
+IUSE="test valgrind"
+
+DEPEND="test? ( valgrind? ( dev-util/valgrind ) )"
+
+src_prepare() {
+	if ! use valgrind; then
+		sed -i -e '/^test:/s|test-mem||g' programs/Makefile || die
+	fi
+	multilib_copy_sources
+}
+
+multilib_src_compile() {
+	tc-export CC AR
+	# we must not use the 'all' target since it builds test programs
+	# & extra -m32 executables
+	emake -C lib liblz4 liblz4.pc
+	emake -C programs lz4 lz4c
+	# work around lack of proper target dependencies
+	touch lib/liblz4
+}
+
+multilib_src_install() {
+	emake install DESTDIR="${D}" \
+		PREFIX="${EPREFIX}/usr" \
+		LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+}
diff --git a/app-arch/lz4/lz4-9999.ebuild b/app-arch/lz4/lz4-9999.ebuild
index 7da32ea..277023b 100644
--- a/app-arch/lz4/lz4-9999.ebuild
+++ b/app-arch/lz4/lz4-9999.ebuild
@@ -11,21 +11,29 @@
 	EGIT_REPO_URI="https://github.com/Cyan4973/lz4.git"
 	EGIT_BRANCH=dev
 else
-	SRC_URI="https://dev.gentoo.org/~ryao/dist/${P}.tar.xz"
+	MY_PV="r${PV##0_p}"
+	MY_P="${PN}-${MY_PV}"
+	SRC_URI="https://github.com/Cyan4973/lz4/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
 	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+	S="${WORKDIR}/${MY_P}"
 fi
 
 DESCRIPTION="Extremely Fast Compression algorithm"
 HOMEPAGE="https://github.com/Cyan4973/lz4"
 
 LICENSE="BSD-2 GPL-2"
-SLOT="0"
-IUSE="test"
+# Upstream has trouble keeping ABI stable, so please test new versions
+# with abi-compliance-checker and update the subslot every time ABI
+# changes. This is the least we can do to keep things sane.
+SLOT="0/r131"
+IUSE="test valgrind"
 
-RDEPEND=""
-DEPEND="test? ( dev-util/valgrind )"
+DEPEND="test? ( valgrind? ( dev-util/valgrind ) )"
 
 src_prepare() {
+	if ! use valgrind; then
+		sed -i -e '/^test:/s|test-mem||g' programs/Makefile || die
+	fi
 	multilib_copy_sources
 }
 
@@ -33,8 +41,10 @@
 	tc-export CC AR
 	# we must not use the 'all' target since it builds test programs
 	# & extra -m32 executables
-	emake
-	emake -C programs
+	emake -C lib liblz4 liblz4.pc
+	emake -C programs lz4 lz4c
+	# work around lack of proper target dependencies
+	touch lib/liblz4
 }
 
 multilib_src_install() {
diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index 44c4c61..9b0a188 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -1,2 +1,3 @@
+DIST p7zip_15.09_src_all.tar.bz2 4048481 SHA256 8783acf747e210e00150f7311cc06c4cd8ecf7b0c27b4adf2194284cc49b4d6f SHA512 4f020b13632ef7a85aa8a98586b59bef2dde3c1cbebdbd17e01f1d09b2e13a56ecfe82546d7efc677c45df67456a71cfdb67826b53ebea4c0fb4878f20c2f6dd WHIRLPOOL 71d1cdb9b3b1208197b2c056670d057b00e9a5f80cf08b5914b5d25f2f6756d4cb53e5a000ec76b7b879f82302fca6d012a2cd397e8aa95ae4fc21fd620eb1ab
 DIST p7zip_9.20.1_src_all.tar.bz2 3835235 SHA256 49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782 SHA512 7bb8a276aaefc4a83364e45633c48527de44c6b1205344f3356db570582f30f81d82a94938c99a7ad193587b584cc1c03219c28249de40018bdaee6c3b2a022a WHIRLPOOL cb20f37d3f796931a9b330728aa7148afe98bbf8a49bb91bfd80e4667c16416206b23bf34298e9ec37825e8b43f92a5710f0cea1f974296d5c17aa2c7b0931f3
 DIST p7zip_9.38.1_src_all.tar.bz2 3917925 SHA256 fd5019109c9a1bf34ad3257d37a6853eae8151ff50345f0a3ffba7d8c5fdb995 SHA512 f524ffae54e0d9563a509cc4b243e830d882a925e682eb2e15e2d19cb72c947fddecd72c8507d6c1538b997b240b0827046fc2fb4f5e3f7d49840257c92b9c04 WHIRLPOOL 6bad1cde056ab1e8db4079c0e649665fbc7e6b9a565261188bd0acaec6c583d8bd9425cb26d39315408d0180ba0be0069a77b704633cf05ec855220cb31f1c24
diff --git a/app-arch/p7zip/files/p7zip-15.09-CVE-2015-1038.patch b/app-arch/p7zip/files/p7zip-15.09-CVE-2015-1038.patch
new file mode 100644
index 0000000..dc81317
--- /dev/null
+++ b/app-arch/p7zip/files/p7zip-15.09-CVE-2015-1038.patch
@@ -0,0 +1,284 @@
+ CPP/7zip/UI/Agent/Agent.cpp                   |  2 +-
+ CPP/7zip/UI/Client7z/Client7z.cpp             | 19 ++++++++++-
+ CPP/7zip/UI/Common/ArchiveExtractCallback.cpp | 14 +++++++--
+ CPP/7zip/UI/Common/ArchiveExtractCallback.h   |  6 +++-
+ CPP/7zip/UI/Common/Extract.cpp                |  2 +-
+ CPP/Windows/FileDir.cpp                       | 45 +++++++++++++++++++++++++--
+ CPP/Windows/FileDir.h                         | 31 +++++++++++++++++-
+ 7 files changed, 109 insertions(+), 10 deletions(-)
+
+diff --git a/CPP/7zip/UI/Agent/Agent.cpp b/CPP/7zip/UI/Agent/Agent.cpp
+index 201e82c..b0b8316 100644
+--- a/CPP/7zip/UI/Agent/Agent.cpp
++++ b/CPP/7zip/UI/Agent/Agent.cpp
+@@ -1515,7 +1515,7 @@ STDMETHODIMP CAgentFolder::Extract(const UInt32 *indices,
+   HRESULT result = _agentSpec->GetArchive()->Extract(&realIndices.Front(),
+       realIndices.Size(), testMode, extractCallback);
+   if (result == S_OK)
+-    result = extractCallbackSpec->SetDirsTimes();
++    result = extractCallbackSpec->SetFinalAttribs();
+   return result;
+   COM_TRY_END
+ }
+diff --git a/CPP/7zip/UI/Client7z/Client7z.cpp b/CPP/7zip/UI/Client7z/Client7z.cpp
+index c6522fe..1919389 100644
+--- a/CPP/7zip/UI/Client7z/Client7z.cpp
++++ b/CPP/7zip/UI/Client7z/Client7z.cpp
+@@ -230,8 +230,11 @@ private:
+   COutFileStream *_outFileStreamSpec;
+   CMyComPtr<ISequentialOutStream> _outFileStream;
+ 
++  CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
++
+ public:
+   void Init(IInArchive *archiveHandler, const FString &directoryPath);
++  HRESULT SetFinalAttribs();
+ 
+   UInt64 NumErrors;
+   bool PasswordIsDefined;
+@@ -449,11 +452,23 @@ STDMETHODIMP CArchiveExtractCallback::SetOperationResult(Int32 operationResult)
+   }
+   _outFileStream.Release();
+   if (_extractMode && _processedFileInfo.AttribDefined)
+-    SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib);
++    SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib, &_delayedSymLinks);
+   PrintNewLine();
+   return S_OK;
+ }
+ 
++HRESULT CArchiveExtractCallback::SetFinalAttribs()
++{
++  HRESULT result = S_OK;
++
++  for (int i = 0; i != _delayedSymLinks.Size(); ++i)
++    if (!_delayedSymLinks[i].Create())
++      result = E_FAIL;
++
++  _delayedSymLinks.Clear();
++
++  return result;
++}
+ 
+ STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
+ {
+@@ -914,6 +929,8 @@ int MY_CDECL main(int numArgs, const char *args[])
+       // extractCallbackSpec->PasswordIsDefined = true;
+       // extractCallbackSpec->Password = L"1";
+       HRESULT result = archive->Extract(NULL, (UInt32)(Int32)(-1), false, extractCallback);
++      if (result == S_OK)
++	result = extractCallbackSpec->SetFinalAttribs();
+       if (result != S_OK)
+       {
+         PrintError("Extract Error");
+diff --git a/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp b/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
+index 877326b..05b13f3 100644
+--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
++++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
+@@ -1502,7 +1502,7 @@ STDMETHODIMP CArchiveExtractCallback::SetOperationResult(Int32 opRes)
+     NumFiles++;
+ 
+   if (!_stdOutMode && _extractMode && _fi.AttribDefined)
+-    SetFileAttrib(_diskFilePath, _fi.Attrib);
++    SetFileAttrib(_diskFilePath, _fi.Attrib, &_delayedSymLinks);
+   
+   RINOK(_extractCallback2->SetOperationResult(opRes, BoolToInt(_encrypted)));
+   
+@@ -1584,8 +1584,9 @@ static unsigned GetNumSlashes(const FChar *s)
+   }
+ }
+ 
+-HRESULT CArchiveExtractCallback::SetDirsTimes()
++HRESULT CArchiveExtractCallback::SetFinalAttribs()
+ {
++  HRESULT result = S_OK;
+   CRecordVector<CExtrRefSortPair> pairs;
+   pairs.ClearAndSetSize(_extractedFolderPaths.Size());
+   unsigned i;
+@@ -1622,5 +1623,12 @@ HRESULT CArchiveExtractCallback::SetDirsTimes()
+       (WriteATime && ATimeDefined) ? &ATime : NULL,
+       (WriteMTime && MTimeDefined) ? &MTime : (_arc->MTimeDefined ? &_arc->MTime : NULL));
+   }
+-  return S_OK;
++
++  for (int i = 0; i != _delayedSymLinks.Size(); ++i)
++    if (!_delayedSymLinks[i].Create())
++      result = E_FAIL;
++
++  _delayedSymLinks.Clear();
++
++  return result;
+ }
+diff --git a/CPP/7zip/UI/Common/ArchiveExtractCallback.h b/CPP/7zip/UI/Common/ArchiveExtractCallback.h
+index 1e9f0b6..b51d78f 100644
+--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.h
++++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.h
+@@ -6,6 +6,8 @@
+ #include "../../../Common/MyCom.h"
+ #include "../../../Common/Wildcard.h"
+ 
++#include "../../../Windows/FileDir.h"
++
+ #include "../../IPassword.h"
+ 
+ #include "../../Common/FileStreams.h"
+@@ -237,6 +239,8 @@ class CArchiveExtractCallback:
+   bool _saclEnabled;
+   #endif
+ 
++  CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
++
+   void CreateComplexDirectory(const UStringVector &dirPathParts, FString &fullPath);
+   HRESULT GetTime(int index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined);
+   HRESULT GetUnpackSize();
+@@ -330,7 +334,7 @@ public:
+   }
+   #endif
+ 
+-  HRESULT SetDirsTimes();
++  HRESULT SetFinalAttribs();
+ };
+ 
+ bool CensorNode_CheckPath(const NWildcard::CCensorNode &node, const CReadArcItem &item);
+diff --git a/CPP/7zip/UI/Common/Extract.cpp b/CPP/7zip/UI/Common/Extract.cpp
+index 5b96071..98192fa 100644
+--- a/CPP/7zip/UI/Common/Extract.cpp
++++ b/CPP/7zip/UI/Common/Extract.cpp
+@@ -207,7 +207,7 @@ static HRESULT DecompressArchive(
+   else
+     result = archive->Extract(&realIndices.Front(), realIndices.Size(), testMode, ecs);
+   if (result == S_OK && !options.StdInMode)
+-    result = ecs->SetDirsTimes();
++    result = ecs->SetFinalAttribs();
+   return callback->ExtractResult(result);
+ }
+ 
+diff --git a/CPP/Windows/FileDir.cpp b/CPP/Windows/FileDir.cpp
+index 422edfc..baa6255 100644
+--- a/CPP/Windows/FileDir.cpp
++++ b/CPP/Windows/FileDir.cpp
+@@ -347,7 +347,8 @@ static int convert_to_symlink(const char * name) {
+   return -1;
+ }
+ 
+-bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes)
++bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes,
++		   CObjectVector<CDelayedSymLink> *delayedSymLinks)
+ {
+   if (!fileName) {
+     SetLastError(ERROR_PATH_NOT_FOUND);
+@@ -379,7 +380,9 @@ bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes)
+      stat_info.st_mode = fileAttributes >> 16;
+ #ifdef ENV_HAVE_LSTAT
+      if (S_ISLNK(stat_info.st_mode)) {
+-        if ( convert_to_symlink(name) != 0) {
++        if (delayedSymLinks)
++          delayedSymLinks->Add(CDelayedSymLink(name));
++        else if ( convert_to_symlink(name) != 0) {
+           TRACEN((printf("SetFileAttrib(%s,%d) : false-3\n",(const char *)name,fileAttributes)))
+           return false;
+         }
+@@ -814,6 +817,44 @@ bool CTempDir::Remove()
+   return !_mustBeDeleted;
+ }
+ 
++#ifdef ENV_UNIX
++
++CDelayedSymLink::CDelayedSymLink(const char * source)
++  : _source(source)
++{
++  struct stat st;
++
++  if (lstat(_source, &st) == 0) {
++    _dev = st.st_dev;
++    _ino = st.st_ino;
++  } else {
++    _dev = 0;
++  }
++}
++
++bool CDelayedSymLink::Create()
++{
++  struct stat st;
++
++  if (_dev == 0) {
++    errno = EPERM;
++    return false;
++  }
++  if (lstat(_source, &st) != 0)
++    return false;
++  if (_dev != st.st_dev || _ino != st.st_ino) {
++    // Placeholder file has been overwritten or moved by another
++    // symbolic link creation
++    errno = EPERM;
++    return false;
++  }
++
++  return convert_to_symlink(_source) == 0;
++}
++
++#endif // ENV_UNIX
++
++
+ }}}
+ 
+ #ifndef _SFX
+diff --git a/CPP/Windows/FileDir.h b/CPP/Windows/FileDir.h
+index b13d1cc..7429a81 100644
+--- a/CPP/Windows/FileDir.h
++++ b/CPP/Windows/FileDir.h
+@@ -4,6 +4,7 @@
+ #define __WINDOWS_FILE_DIR_H
+ 
+ #include "../Common/MyString.h"
++#include "../Common/MyVector.h"
+ 
+ #include "FileIO.h"
+ 
+@@ -11,11 +12,14 @@ namespace NWindows {
+ namespace NFile {
+ namespace NDir {
+ 
++class CDelayedSymLink;
++
+ bool GetWindowsDir(FString &path);
+ bool GetSystemDir(FString &path);
+ 
+ bool SetDirTime(CFSTR path, const FILETIME *cTime, const FILETIME *aTime, const FILETIME *mTime);
+-bool SetFileAttrib(CFSTR path, DWORD attrib);
++bool SetFileAttrib(CFSTR path, DWORD attrib,
++		   CObjectVector<CDelayedSymLink> *delayedSymLinks = 0);
+ bool MyMoveFile(CFSTR existFileName, CFSTR newFileName);
+ 
+ #ifndef UNDER_CE
+@@ -76,6 +80,31 @@ public:
+   bool Remove();
+ };
+ 
++// Symbolic links must be created last so that they can't be used to
++// create or overwrite files above the extraction directory.
++class CDelayedSymLink
++{
++#ifdef ENV_UNIX
++  // Where the symlink should be created.  The target is specified in
++  // the placeholder file.
++  AString _source;
++
++  // Device and inode of the placeholder file.  Before creating the
++  // symlink, we must check that these haven't been changed by creation
++  // of another symlink.
++  dev_t _dev;
++  ino_t _ino;
++
++public:
++  explicit CDelayedSymLink(const char * source);
++  bool Create();
++#else // !ENV_UNIX
++public:
++  CDelayedSymLink(const char * source) {}
++  bool Create() { return true; }
++#endif // ENV_UNIX
++};
++
+ #if !defined(UNDER_CE)
+ class CCurrentDirRestorer
+ {
diff --git a/app-arch/p7zip/p7zip-15.09.ebuild b/app-arch/p7zip/p7zip-15.09.ebuild
new file mode 100644
index 0000000..2b4b810
--- /dev/null
+++ b/app-arch/p7zip/p7zip-15.09.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+
+inherit eutils multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="Port of 7-Zip archiver for Unix"
+HOMEPAGE="http://p7zip.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
+
+LICENSE="LGPL-2.1 rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
+
+REQUIRED_USE="kde? ( wxwidgets )"
+
+RDEPEND="
+	kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+DEPEND="${RDEPEND}
+	amd64? ( dev-lang/yasm )
+	abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
+	x86? ( dev-lang/nasm )"
+
+S=${WORKDIR}/${PN}_${PV}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${P}-CVE-2015-1038.patch
+
+	if ! use pch; then
+		sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
+	fi
+
+	sed \
+		-e 's:-m32 ::g' \
+		-e 's:-m64 ::g' \
+		-e 's:-pipe::g' \
+		-e "/^CXX=/s:g++:$(tc-getCXX):" \
+		-e "/^CC=/s:gcc:$(tc-getCC):" \
+		-e '/ALLFLAGS/s:-s ::' \
+		-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
+		-i makefile* || die
+
+	# remove non-free RAR codec
+	if use rar; then
+		ewarn "Enabling nonfree RAR decompressor"
+	else
+		sed \
+			-e '/Rar/d' \
+			-e '/RAR/d' \
+			-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
+		rm -rf CPP/7zip/Compress/Rar || die
+	fi
+
+	if use abi_x86_x32; then
+		sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
+		cp -f makefile.linux_amd64_asm makefile.machine || die
+	elif use amd64; then
+		cp -f makefile.linux_amd64_asm makefile.machine || die
+	elif use x86; then
+		cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
+	elif [[ ${CHOST} == *-darwin* ]] ; then
+		# Mac OS X needs this special makefile, because it has a non-GNU linker
+		[[ ${CHOST} == *64-* ]] \
+			&& cp -f makefile.macosx_64bits makefile.machine \
+			|| cp -f makefile.macosx_32bits makefile.machine
+		# bundles have extension .bundle but don't die because USE=-rar
+		# removes the Rar directory
+		sed -i -e '/strcpy(name/s/\.so/.bundle/' \
+			CPP/Windows/DLL.cpp || die
+		sed -i -e '/^PROG=/s/\.so/.bundle/' \
+			CPP/7zip/Bundles/Format7zFree/makefile \
+			$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
+	elif use x86-fbsd; then
+		# FreeBSD needs this special makefile, because it hasn't -ldl
+		sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
+	fi
+
+	if use static; then
+		sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
+	fi
+
+	if use kde || use wxwidgets; then
+		need-wxwidgets unicode
+		einfo "Preparing dependency list"
+		emake depend
+	fi
+}
+
+src_compile() {
+	emake all3
+	if use kde || use wxwidgets; then
+		emake -- 7zG
+#		emake -- 7zFM
+	fi
+}
+
+src_test() {
+	emake test test_7z test_7zr
+}
+
+src_install() {
+	# this wrappers can not be symlinks, p7zip should be called with full path
+	make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
+	make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
+	make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
+
+	if use kde || use wxwidgets; then
+		make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
+#		make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
+
+#		make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
+
+		dobin GUI/p7zipForFilemanager
+		exeinto /usr/$(get_libdir)/${PN}
+#		doexe bin/7z{G,FM}
+		doexe bin/7zG
+
+		insinto /usr/$(get_libdir)/${PN}
+		doins -r GUI/{Lang,help}
+
+		insinto /usr/share/icons/hicolor/16x16/apps/
+		newins GUI/p7zip_16_ok.png p7zip.png
+
+		if use kde; then
+			rm GUI/kde4/p7zip_compress.desktop || die
+			insinto /usr/share/kde4/services/ServiceMenus
+			doins GUI/kde4/*.desktop
+		fi
+	fi
+
+	dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
+	doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
+
+	exeinto /usr/$(get_libdir)/${PN}
+	doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
+	doexe bin/*$(get_modname)
+	if use rar; then
+		exeinto /usr/$(get_libdir)/${PN}/Codecs/
+		doexe bin/Codecs/*$(get_modname)
+	fi
+
+	doman man1/7z.1 man1/7za.1 man1/7zr.1
+	dodoc ChangeLog README TODO
+
+	if use doc; then
+		dodoc DOC/*.txt
+		dohtml -r DOC/MANUAL/*
+	fi
+}
diff --git a/app-arch/p7zip/p7zip-9.38.1-r3.ebuild b/app-arch/p7zip/p7zip-9.38.1-r3.ebuild
new file mode 100644
index 0000000..8c2486e
--- /dev/null
+++ b/app-arch/p7zip/p7zip-9.38.1-r3.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+
+inherit eutils multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="Port of 7-Zip archiver for Unix"
+HOMEPAGE="http://p7zip.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
+
+LICENSE="LGPL-2.1 rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
+
+REQUIRED_USE="kde? ( wxwidgets )"
+
+RDEPEND="
+	kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+DEPEND="${RDEPEND}
+	amd64? ( dev-lang/yasm )
+	abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
+	x86? ( dev-lang/nasm )"
+
+S=${WORKDIR}/${PN}_${PV}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}"/${P}-osversion.patch \
+		"${FILESDIR}"/${P}-CVE-2015-1038.patch
+
+	if ! use pch; then
+		sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
+	fi
+
+	sed \
+		-e 's:-m32 ::g' \
+		-e 's:-m64 ::g' \
+		-e 's:-O::g' \
+		-e 's:-pipe::g' \
+		-e "/^CXX=/s:g++:$(tc-getCXX):" \
+		-e "/^CC=/s:gcc:$(tc-getCC):" \
+		-e '/ALLFLAGS/s:-s ::' \
+		-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
+		-i makefile* || die
+
+	# remove non-free RAR codec
+	if use rar; then
+		ewarn "Enabling nonfree RAR decompressor"
+	else
+		sed \
+			-e '/Rar/d' \
+			-e '/RAR/d' \
+			-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
+		rm -rf CPP/7zip/Compress/Rar || die
+	fi
+
+	if use abi_x86_x32; then
+		sed -i -e "/^ASM=/s:amd64:x32:" makefile*
+		cp -f makefile.linux_amd64_asm makefile.machine || die
+	elif use amd64; then
+		cp -f makefile.linux_amd64_asm makefile.machine || die
+	elif use x86; then
+		cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
+	elif [[ ${CHOST} == *-darwin* ]] ; then
+		# Mac OS X needs this special makefile, because it has a non-GNU linker
+		[[ ${CHOST} == *64-* ]] \
+			&& cp -f makefile.macosx_64bits makefile.machine \
+			|| cp -f makefile.macosx_32bits makefile.machine
+		# bundles have extension .bundle but don't die because USE=-rar
+		# removes the Rar directory
+		sed -i -e '/strcpy(name/s/\.so/.bundle/' \
+			CPP/Windows/DLL.cpp || die
+		sed -i -e '/^PROG=/s/\.so/.bundle/' \
+			CPP/7zip/Bundles/Format7zFree/makefile \
+			$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
+	elif use x86-fbsd; then
+		# FreeBSD needs this special makefile, because it hasn't -ldl
+		sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
+	fi
+
+	if use static; then
+		sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
+	fi
+
+	if use kde || use wxwidgets; then
+		need-wxwidgets unicode
+		einfo "Preparing dependency list"
+		emake depend
+	fi
+}
+
+src_compile() {
+	emake all3
+	if use kde || use wxwidgets; then
+		emake -- 7zG
+		emake -- 7zFM
+	fi
+}
+
+src_test() {
+	emake test test_7z test_7zr
+}
+
+src_install() {
+	# this wrappers can not be symlinks, p7zip should be called with full path
+	make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
+	make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
+	make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
+
+	if use kde || use wxwidgets; then
+		make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
+		make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
+
+		make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
+
+		dobin GUI/p7zipForFilemanager
+		exeinto /usr/$(get_libdir)/${PN}
+		doexe bin/7z{G,FM}
+
+		insinto /usr/$(get_libdir)/${PN}
+		doins -r GUI/{Lang,help}
+
+		insinto /usr/share/icons/hicolor/16x16/apps/
+		newins GUI/p7zip_16_ok.png p7zip.png
+
+		if use kde; then
+			rm GUI/kde4/p7zip_compress.desktop || die
+			insinto /usr/share/kde4/services/ServiceMenus
+			doins GUI/kde4/*.desktop
+		fi
+	fi
+
+	dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
+	doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
+
+	exeinto /usr/$(get_libdir)/${PN}
+	doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
+	doexe bin/*$(get_modname)
+	if use rar; then
+		exeinto /usr/$(get_libdir)/${PN}/Codecs/
+		doexe bin/Codecs/*$(get_modname)
+	fi
+
+	doman man1/7z.1 man1/7za.1 man1/7zr.1
+	dodoc ChangeLog README TODO
+
+	if use doc; then
+		dodoc DOC/*.txt
+		dohtml -r DOC/MANUAL/*
+	fi
+}
diff --git a/app-arch/unrar/Manifest b/app-arch/unrar/Manifest
index 86315bf..4930f6b 100644
--- a/app-arch/unrar/Manifest
+++ b/app-arch/unrar/Manifest
@@ -2,3 +2,4 @@
 DIST unrarsrc-5.2.7.tar.gz 218880 SHA256 ef14757e943787b439fedf2c564c1f38d0db315528a928e0de170860717e2fac SHA512 95e06451e2bec46a12e5b9b1423c3ea31ce86859f8086812d9c442aaa69627f72635a6a8c197b30dbc7e99bbf7c7caaa25d703caecbe03c697cc0e5b7644d638 WHIRLPOOL 49f5492a7441192d96616f892012ca2dac8a94063e806ece3c62bf13d29beb9d2d0368a186c0f0bff8814c9e6af542ba6b447a61683295f560f120ff75507379
 DIST unrarsrc-5.3.3.tar.gz 221930 SHA256 099c67a2fdb76e55386e4496d28cf6fd1ffd9ac394b95c46b73926c5f69bd107 SHA512 5dffa77043992b72dab10752c547c30d2ff884a18c8b19ddbbcd711e4a9f7f82020edfeb560bd10122c18296aaf08d27c7c1db4f6b62e3ec2a4cd0c449ec7d52 WHIRLPOOL 8be0c41a1ac81d9e9a16ce6b7cbc3479929ec65df8040a58a91c0c89d9b02a8ccde584e829e6ceea6ffa645939d68998f46627ba7df54942f76595cea8f26aaf
 DIST unrarsrc-5.3.6.tar.gz 223184 SHA256 b917f2c5258ff2012008f9aa46984ad22dce21702eb264623b256bb8c2577c1b SHA512 b596f69a7d1b5f6a1e3dc0f060018589dc415463c2a9f403a365e10f8e362c09de4d295df04939f2a33c8daf88de7fbe32395043b978636ea7eaa1c1d2ad80fc WHIRLPOOL 6016b9ead3c2ef573e28ff05809c56e8037c23c01ee05fca0ef46eccbcc7e673b5fa57a0a6839ac2670cce928234c290e82a21a83471818e9a56eeff7984fb3e
+DIST unrarsrc-5.3.7.tar.gz 223455 SHA256 10b49c416df3ef38ad1d289b06d642c76f7cc44902adfc5bbed76096ef70d154 SHA512 ca07935e1febc471d770a992a50bdd2b3fa60f70b4a97a8b76e3eef6038644a2dcfa9726c2d630a35704762a5d69496ac00a700018831779ec1e4fc08b90919e WHIRLPOOL 3aee2f87bb7f09a78cbb45b86fb83565207dd72760ecbea6e2279f42f6b486651bd36bd972b032a75f49ae164ea698703914bd4e6bfb78d07cd1adbe6ac10ef6
diff --git a/app-arch/unrar/unrar-5.3.7.ebuild b/app-arch/unrar/unrar-5.3.7.ebuild
new file mode 100644
index 0000000..71373bb
--- /dev/null
+++ b/app-arch/unrar/unrar-5.3.7.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 flag-o-matic multilib toolchain-funcs
+
+MY_PN=${PN}src
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="http://www.rarlab.com/rar_add.htm"
+SRC_URI="http://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="unRAR"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"
+
+S=${WORKDIR}/unrar
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-5.0.2-build.patch
+	epatch "${FILESDIR}"/${PN}-5.2.2-no-auto-clean.patch #528218
+	local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+	else
+		sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
+	fi
+	sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+	mkdir -p build-{lib,bin}
+	printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+	cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+	unrar_make() {
+		emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+	}
+
+	unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+	ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
+	ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
+
+	unrar_make -C build-bin
+}
+
+src_install() {
+	dobin build-bin/unrar
+	dodoc readme.txt
+
+	dolib.so build-lib/libunrar*
+
+	insinto /usr/include/libunrar${PV%.*.*}
+	doins *.hpp
+	dosym libunrar${PV%.*.*} /usr/include/libunrar
+}
diff --git a/app-backup/backintime/Manifest b/app-backup/backintime/Manifest
index 324695c..ac2c8dd 100644
--- a/app-backup/backintime/Manifest
+++ b/app-backup/backintime/Manifest
@@ -2,3 +2,4 @@
 DIST backintime-1.0.36.tar.gz 594612 SHA256 40ff1ed81fa4de3302acbc0154f2ec9ee17e77423d35e17c66eb110c2c171666 SHA512 0f78041c90c8242d6e4aabc97c67156e1ecf7d593adb40e417959f0d2dd0432ae95e3dd4c04603b170e7271f82e01ced4e7233794d81333e8b9ab3e9b9721776 WHIRLPOOL 8d9e752bae1000cd9690da095fa382c5deac8af8f107f3b1d39f7bf1d5f59091ccfc0b6f6c9b779f94fedd13e2e2daf7f2d53f5b54cb4050548eeb0345ba878e
 DIST backintime-1.0.40.tar.gz 595494 SHA256 09a79fe95b654e628a9d76d19f110bf5d29c7cf142b2ec5df2f1c8561b5551f2 SHA512 342a842ebac4b886ec8af8d30f0a01594b89cd4345c84c2cda463b7862d00955180a688f6661623502117896e95b63b8d44e5f3d0fc8152cca1ca3d816380e44 WHIRLPOOL 38c51e77d1661e0773ee17dc84cb2f9559c4a0b112db4c3de43a836ca099bfbd391a98846b349ef9e9794fc3befb73eef5400f080122d8e63eebec28bfc7f3c0
 DIST backintime-1.1.4.tar.gz 562964 SHA256 434fc1fb6d9ac20d7b04c791e39bf9e077773c696e18f2bf1aa8f3e7fb59a770 SHA512 a207833c9708166cfbc4e0aa36c6e1b0ee609d5e05a8f23c51c3242f8e32ae25df09255885a812ac32bdec7874266e8a167be076c8938d90ddfe76c5b2736aa7 WHIRLPOOL e3dee1d437657939ce3290d0717f9c6f31a656de8f4642bf7fbcca1dd5b7426ba7f068f8faa96e731c863e4a8e02d1e8d1526fbf466b7ea8ba1b1682fd43ab7f
+DIST backintime-1.1.8.tar.gz 617754 SHA256 a1f2d210e95633dfe383eb50b3b560d1e09c43de4ce89dd4cb193cab40cb8a1e SHA512 550e270dcf341ec5ad952f4decd836007d19ff9bf60cada834dfb488dbf29954b6fd3ed80a4f8fb4406a0166895a7f7c922e5622d06c43086dd54073e5aabd99 WHIRLPOOL ea9af3c432c61def4214e1d1e2c70e40cb7e50867bb0fa08930740c13133293ad135fd6c97295ab176deaedacb33e72583dc7c34dcfc3cb375a8b6e7fc7ab632
diff --git a/app-backup/backintime/backintime-1.1.4.ebuild b/app-backup/backintime/backintime-1.1.4.ebuild
index 6f7c784..8c3700b 100644
--- a/app-backup/backintime/backintime-1.1.4.ebuild
+++ b/app-backup/backintime/backintime-1.1.4.ebuild
@@ -28,6 +28,8 @@
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
 src_prepare() {
+	epatch "${FILESDIR}"/${P}-python-version-stderr.patch
+
 	#fix doc install location
 	sed -e "s:/doc/${PN}-common:/doc/${PF}:g" \
 		-i common/Makefile.template || die
diff --git a/app-backup/backintime/backintime-1.1.8.ebuild b/app-backup/backintime/backintime-1.1.8.ebuild
new file mode 100644
index 0000000..b1e66ec
--- /dev/null
+++ b/app-backup/backintime/backintime-1.1.8.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_2 python3_3 python3_4 )
+
+inherit eutils python-single-r1
+
+DESCRIPTION="A simple backup system inspired by TimeVault and FlyBack, with a GUI for GNOME and KDE4"
+HOMEPAGE="http://backintime.le-web.org/"
+SRC_URI="http://${PN}.le-web.org/download/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="qt4"
+
+RDEPEND="${PYTHON_DEPS}
+	dev-python/dbus-python[${PYTHON_USEDEP}]
+	dev-python/keyring[${PYTHON_USEDEP}]
+	net-misc/openssh
+	net-misc/rsync[xattr,acl]"
+
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+	#fix doc install location
+	sed -e "s:/doc/${PN}-common:/doc/${PF}:g" \
+		-i common/configure || die
+	sed -e "s:/doc/${PN}-qt4:/doc/${PF}:g" \
+		-i qt4/configure || die
+	sed -e "/addInstallFile \"..\/VERSION/d" \
+		-e "/addInstallFile \"..\/LICENSE/d" \
+		-e "/addInstallFile \"..\/debian\/copyright/d" \
+		-i {qt4,common}/configure || die
+
+	if [ -n ${LINGUAS+x} ] ; then
+		cd common/po || die
+		for po in *.po ; do
+			if ! has ${po/.po} ${LINGUAS} ; then
+				rm ${po} || die
+			fi
+		done
+	fi
+}
+
+src_configure() {
+	cd "${S}"/common || die
+	./configure --python3 --no-fuse-group || die
+	if use qt4 ; then
+		cd "${S}"/qt4 || die
+		./configure --python3 || die
+	fi
+}
+
+src_compile() {
+	cd "${S}"/common || die
+	emake
+	if use qt4 ; then
+		cd "${S}"/qt4 || die
+		emake
+	fi
+}
+
+src_install() {
+	cd "${S}"/common || die
+	emake DESTDIR="${D}" install
+	if use qt4 ; then
+		cd "${S}"/qt4 || die
+		emake DESTDIR="${D}" install
+	fi
+
+	python_optimize "${D}"
+}
diff --git a/app-backup/backintime/files/backintime-1.1.4-python-version-stderr.patch b/app-backup/backintime/files/backintime-1.1.4-python-version-stderr.patch
new file mode 100644
index 0000000..ffc0d9b
--- /dev/null
+++ b/app-backup/backintime/files/backintime-1.1.4-python-version-stderr.patch
@@ -0,0 +1,11 @@
+--- backintime-1.1.4/common/configure
++++ backintime-1.1.4/common/configure
+@@ -84,7 +84,7 @@
+ done
+ printf "\n" >> Makefile
+ 
+-if [ $(python${PYVERSION} --version | grep -c "^Python 3") -ne 1 ]; then
++if [ $(python${PYVERSION} --version 2>&1 | grep -c "^Python 3") -ne 1 ]; then
+     printf "Warning: Wrong Python version.\n"
+     printf "Please make sure Python 3.x is used by adding '--python' or '--python3'.\n"
+     exit 1
diff --git a/app-backup/tsm/Manifest b/app-backup/tsm/Manifest
index 7bb8e27..f46c565 100644
--- a/app-backup/tsm/Manifest
+++ b/app-backup/tsm/Manifest
@@ -12,6 +12,20 @@
 DIST 6.2.2-TIVsm-msg.ZH_CN.i386.rpm 3030842 SHA256 6bf834e71053ad1264ce7fb631679664fe1ffd94690ff1d8f62da056c6b5cd15 SHA512 3331d0ea08451415641b34566117c4c91245796e58a3bc85270f952bed8d866973e77158e34f1f8859fe4f8d62010a1370de3fa6032660015a2ad726c66f9723 WHIRLPOOL 26fd7ab9af26a28f603d34a4ea74dc4116ae4b2b98abef8d4d8ed3eba03ee8383c72985b41d4dc1618410da9070189ef05766394afe66bec12e8d684481b0518
 DIST 6.2.2-TIVsm-msg.ZH_TW.i386.rpm 3151673 SHA256 faa2fc951cbf1ae28b98b286030ea54b48fd4a4252aeeb035ecee63a2403b3e9 SHA512 20511841192c624e5a8a608f632baa27f8d331e69e178f33d533440b6bc646d08737210dff6a7c3458bed7fe730903fe7cbd1cdc6ada757cb2b680d127959edd WHIRLPOOL b6139b5e4887b74fd43dc4b33388d9763d61cc53c1219478a9c593ff4b697fed6695e9d53bad1836ba82d89936531b6782d151019d969a26d3ff8a39c2414ec1
 DIST 6.2.2.0-TIV-TSMBAC-LinuxX86.tar 102215680 SHA256 6c1883a34c38ade6961ffd6c6837fd82051edfa97bce19b7ad76ced4c2683b7c SHA512 be981b57e859943650d09bec2176ccac89b88861ba8d97182495b0d86ce50f491a893c6fc930b6de70c4594b8a3d78a0a2f05ef11d6cda137f76ddae9d1524fb WHIRLPOOL 94921b4dca1a58458bc882ff69e9a2055fe22d32208c2bb9aea9dbaddc3396890c7a4002b569a80d905b5b771b0255d59ab080129e304c4d135c1e61d8fb8e52
+DIST 6.2.5-TIVsm-msg.CS_CZ.i386.rpm 4800856 SHA256 07f47b43aeb218fbb79a59d4fc96403c6e8e9f28bdc6d73bb8b2be9dc13e8520 SHA512 32e5b3f433012427c67ebbd416f4dbf87f603da4245d04a75da65438438a27c1b75e95440019313e6100d55fc50bb425ccade768fd578fcf13ccdf4b0d0b1c11 WHIRLPOOL 09fc5aacaa8462a2fce8f06f944c8bf02646aa0538a537ebad1baf867c81993895e37ed92bedc6b322f397a68ec4450e26f1a1894aef06694c97bfd9e269bbaa
+DIST 6.2.5-TIVsm-msg.DE_DE.i386.rpm 3456289 SHA256 db4e5c71f092569264b5a546d7fb957b61dbce83cfd779fa2c874c77a4428aa2 SHA512 a41d2345a0dd19a13124454df3fd19c5e7c7b707b2547c5f4151ee00fe2a9d808c9b47c817a89fe41ced0fdbc4b3f69f98093c03db895f4e56b2c6bfa61f5d5f WHIRLPOOL 66b4a2304db83a8b3f401e889e3df581ee41e58cf7b5ee4d70cebdb76a6f79f92b88bdf7fddb76552bfd2de8872542325c1c4553eb439c47f5d7407b487128b2
+DIST 6.2.5-TIVsm-msg.ES_ES.i386.rpm 3509147 SHA256 d7dbac54b8a59a70ab31ee5e537213d36dba81dea73378bea2c4b80aadc346a1 SHA512 914c68bb783eeba2892ea07a436e06de596da153159e6a7f779412db574e4b4c974ea77220605cf43743451d5c56769f6eb7252b6caab698a4e1a85b0ca9b503 WHIRLPOOL ee880d0070de517718a503ebb4d3c2627df28b43f93948bfa1d6306040930e64b5e50196f1c6dc9df1c0d109a3de13ee6ebd4e9f863341e344ed63ca1bc56614
+DIST 6.2.5-TIVsm-msg.FR_FR.i386.rpm 3719029 SHA256 32fc549b190218bdf3b6a2834560b2f8a567a0539280c13215b8b761144070b1 SHA512 fe932634b1a816fafe36b61fae55638ef9d6835c4d702c237e4c0f8ee393c7c3cc8559b6feba7ab53ae9f589de6ac23f764594b4731f669065788c84c88e66d2 WHIRLPOOL 338bce5fa65fa36455a0d456d8bb0f2e92f99bacacabde7a896dc592ebb12ba27897b39975119341ce324d9a863e2c88966770d896f4ffd4ca109ce7871f4482
+DIST 6.2.5-TIVsm-msg.HU_HU.i386.rpm 3414093 SHA256 c32c86d8c16790ab8cc71a7870919e5f750aa5a220b0dc7cf178a976d4be793e SHA512 3f7ed14cccb73e3b018e67783abec9d29d3da9745ea3db50b4eec0cb5e8e49f56c9fe45932f812ca8b8fed6b61f020507a4c3cbd3c96757c02e71ab9cff053ac WHIRLPOOL 607a4059e0e31930a2e7ef2b16d85e30573c7b08530c571f95cd5cc539b5256cfdd108aec70ab91baabc874e84ba776474fc6f6fc7ccbef8b9901b259dc565bd
+DIST 6.2.5-TIVsm-msg.IT_IT.i386.rpm 3282355 SHA256 a43f78e7335938741addccba74b09e95f24cd096ed6a23d5f439303e16eef8f5 SHA512 005e49348b1e391e19102e02803fa674f73814e12e293b3ad53705cc8925fa8ad0f6464f7f2a65fc9139dd1709e8ceea5c84528a39b35e44f5851fc1cf53848f WHIRLPOOL 0ba926a852ace1a7b2a7bafbcd231b5b7d4ffbe0891958c4ee80a4306079664f5dcea5def136b91c5fdd2f0c56baac07d11a97bd65c3776310ee0dab37b49a62
+DIST 6.2.5-TIVsm-msg.JA_JP.i386.rpm 3426786 SHA256 fbdf981a7a8cca7208dfb6a2234414d3d19936bef80dbc72b5f20e969515ce09 SHA512 6e32ab4ddd161ddac4d8d286bd28f97c3bc9cec08468877059d6ef5d58d9011fce6ef1a9330bc0ef9c79001f571af886f3d9fe3595bdb5a978ce251b6281b1ab WHIRLPOOL 7c2593ce09622c08700631e0bf489283362f478e9a6f22368da3c3490c9944caaef64444202cab39578dca83240c7e20b63a697faaa0ea69c5a1936ef0f25872
+DIST 6.2.5-TIVsm-msg.KO_KR.i386.rpm 3344401 SHA256 5df78c088f2d0c69b8f4b022e32dc966320f8e8d51c09bd97f6a7b5ae90e4802 SHA512 29ba8ff373a0c461f5bba3055057c0d5c3c174bce887e9c7bf6b9f63083fda364408137a295f29c2de60c6a4142cb2a5d8dea5ddd6919227a49c3f2315e67c41 WHIRLPOOL 8419ea138a321ef1c9e98c179e7faa5db96f2233c002fe9460b8a08f5cd5ae7164ece754dfa9556df54e8d0ce9ab005d80d85201d48ee5b2e381a2a9d862a3a1
+DIST 6.2.5-TIVsm-msg.PL_PL.i386.rpm 3260918 SHA256 27693227b4da08aa3f4c38167f4c430e52145bba175fbc6a729ef152e1786a00 SHA512 2acc5f5a7e5e907fd69e4b9877e7a50718967acfa00e25fe34ec787835fe3c22dad519f1887ce7a3d0f59369f0b1d0d281174227dbbf32d0a61df568e723d935 WHIRLPOOL f1c1ea79ef34b7d9aa18ad6ed18e5837f52655e1e09de26ae52a8e72df1279494183e62219c80c745907bd194663c192eb89786c3b4881e51fa7961e4fb02285
+DIST 6.2.5-TIVsm-msg.PT_BR.i386.rpm 3419164 SHA256 9c940a88d1c9ea413883b6fa1e6f58ebeae8df113d70577a81056cc688934502 SHA512 11fd6907f2435fc74cb617a883a0c83b725fac41f529c5052de1b6455ba6e7c2ff8829ec3affb81a801182753b5ec5939f3707ee6d880a2cf218dabdd3423bf5 WHIRLPOOL c87d858671fd5611f6a1ba6519a331644f8c1dde0facfdcfc0227f95d23cb2d43fa23d05d3b733f1f15d25d1d4cea299a616cede0d93435de48969c022fda935
+DIST 6.2.5-TIVsm-msg.RU_RU.i386.rpm 4251314 SHA256 35840ad981017ccf598904b04327d14bc5fe0ea53d6a355beaa6f51ba8a5d952 SHA512 be2dd6d7d635411e01211855c4841844981e196e68474b0e83b8a6c1ffa44427b5a4549672c17c16806b4e252d728bdc1b459afedeaf374940be9d5e2afa8260 WHIRLPOOL e4aa63549cd10b446e47ca97d5bd62d81058efb4a1b514ca478dc826f85e834cf86bf741f50b4b8f2871605e6ad744093455439b4f4524785de18ee6632ab9d0
+DIST 6.2.5-TIVsm-msg.ZH_CN.i386.rpm 3060726 SHA256 7a5e0df2d3c7da4b84ace6f70e48e78954118d16e7f53373505e40cb38c03df4 SHA512 e9f3a22bdf460bf326c018c6f016c5709b4fd235da0585a198e493a56b7ac9d7f1ed827696da7cbe0a1176a37fe2360009aa099f2ec908944c96f744fbb8c85d WHIRLPOOL 6d42fd895d1169a34371da693f9ec2b4f5f8e344f5554d721cf67fb821349688d3ef84db9218b2938b1231bdf33ac106816d12228d1dcbd1310bb06f0123f1c9
+DIST 6.2.5-TIVsm-msg.ZH_TW.i386.rpm 3181619 SHA256 4ec5d47fd9f36791a8e2321c2e03382634aabbc26366958c4b12fc3d9d6d5bb7 SHA512 f2c9a47c89166e453d2083efbc819a96116a78167b4818c4e92929a32b3dd1d41883b6ca5effea42dd42e1254d935dd2ca02ba3886cd49522305b065329b5a64 WHIRLPOOL c8262a71ed0af12ba2789b2d12ee0c7dc53c7b1147ebc09159a57fda4acaa0adaaefd23af9169e9cc744f42ad726b38437c1cb37c2b9d2260eba661d426c6089
+DIST 6.2.5.4-TIV-TSMBAC-LinuxX86.tar 102727680 SHA256 752a1c94b3dcb21ce096fd73d081340212d999a29344f5589c25e12d5d74a55e SHA512 92857490728f13c2ebcf4cb32dcc43b6a3ae1ac11e6b409435509d3b5412ff78179c1eaf43591057646008178376eb0336aa14c3b88aaef9adbf520182e85c44 WHIRLPOOL dbe5ed6341a3bf8adac6450de2ac71fcd084df6f912225c04f7921808c6464a9962f5349aa8c7a6e8fcc81d82b7b96981aa69988c006f2d6194889c1baa1c145
 DIST 6.3.0.5-TIV-TSMBAC-LinuxX86.tar 127825920 SHA256 8af4112da3450865af2db4cfe3ac0c50aeaba41c7b5d648e44bf169172ebb471 SHA512 92e11084481beeba3a35b6324fd3afc557aa28924f72a34710f8a62aff41a8397a5886919777ff9868384dabc3fd3d0c4290f38ea0b8962fde084b13e9430947 WHIRLPOOL 69f8eb3dbdce913c0f9c9cd35d35c03d381b3fd8709d8e44a8cef35b32b3442936a71c2494051153be11471e4b346de0c3a45a13c554f7ebc058697ef673b575
 DIST 6.3.0.5-TIVsm-msg.CS_CZ.x86_64.rpm 4957692 SHA256 84748fb6e95717322dcfdffef04ebc39c31a73428f027f23bb828f4b739bba62 SHA512 bad32bb3d0faa75c696506d191e1af97efbf89d9109a2c11e065a8e21c2d0d3dc499faee1845031311356275fc6508f1ad85b0f9057feace7ba8751c4eb4e21e WHIRLPOOL 2f53fd6c5ef333ca1cdfa1b58a9ccbd8571b65851b20b89160b7d5d8e5cd3879560c5ee270c90d88630bcc2940eee975147f2a3cc9a1dec6f9fbd3216ac703b8
 DIST 6.3.0.5-TIVsm-msg.DE_DE.x86_64.rpm 3593003 SHA256 c589e5267726f8e660e0c82136d2d25d5505dc58ece6e43440a10d5abed2ab81 SHA512 4b55f8a68fb9344347c42877f225c8af583224aa644c0c3400a9f4ce256b00f0eede58b34e801301b53d2daca3a6ae2e1f4750293f016d27e1df697d940865ba WHIRLPOOL 53021f3c52a6c5c9b8fa5aefd7832a07aa718ea5ee0207817b7cc9ce508afaf7619b834336e4c55be4d7a75938a05d7bbf3d95d74d039ee51bec07efe209b5a9
@@ -26,6 +40,20 @@
 DIST 6.3.0.5-TIVsm-msg.RU_RU.x86_64.rpm 4287820 SHA256 1148791406a0d946d9dbe08e77c439d57c30ad1c72fd5aae913b90c16900c0e1 SHA512 3b0f970274fc97188c56fe2afaf16d166543224743f9c3574f22273801ef0b6c54fefa690a82758e4cc0b2f58ce17ddde8f6c5978fe25ed4c18b51ae35f8bfa4 WHIRLPOOL 6b2fb7a9d538c9c942fd8643cabd519270d791404eefc03cfc41c79608fc451f5e4aaccac4fd0a71f401f37e67a06a084c11fd4f5890939181a8d2ee3f9b3e33
 DIST 6.3.0.5-TIVsm-msg.ZH_CN.x86_64.rpm 3213684 SHA256 88a9f99ebb306e5e40c6e56398b43640fe0c56cdcc7db21a026d78ff8ec540f1 SHA512 ed3405844cd7c38143c45470492cf832cd4c20697663277aa4f325fa3153e3eae8bf110bd5d66c216a4bfcba380cc6936bf0fe52a1a86ad1567bb4a2f2cf4895 WHIRLPOOL d6c2fc84f88f01cf865ca87347df0306b66a6c7e7f0c7c63b17b75d04e702d6983be553e3463ffc4fa58c748ad571278589b28849bdc2df65afdf43ce1ce7731
 DIST 6.3.0.5-TIVsm-msg.ZH_TW.x86_64.rpm 3321809 SHA256 e316f5a63bba7d966467331365d3b2816461aa34aec3df0a42a7357227604e3d SHA512 9ab0a568a1dd961bb313e3daeed05f584ec700ce7fea03e80e6321c3b4cf7953f7b277c0c57146ddb237ea430b69f77ec0521dd4f8ab58433311d28df76ebc27 WHIRLPOOL 28a53f8be264a94d7ea3b9b9d2d4c14bcf8f6c3339047222e62db54368ecc0b38a6bb91f97ba972acfcad10cf5f7ae8efd8addaa34e3b28796397ecd2555a3d3
+DIST 6.3.2.4-TIV-TSMBAC-LinuxX86.tar 129187840 SHA256 69e5fe4ea7e18a0e0e888935be9af5bd02b18578a333ff9d3358aa5dfa17aa03 SHA512 247d3e3cbe58481284af7030194630c44aca690920a4c5827a0ba1522f7d27ba2acd73b887b7cdcd793777eb5af78ffafa8aead2939f60a82411ebda45236784 WHIRLPOOL 45561b073da87dd96518e1eccbacc493d348999ddf1a4885c30f27b0b6751d850fc7b3ed7cc25d5a436fda3391437aaa4bc789675f90d9e42322218db6b7482a
+DIST 6.3.2.4-TIVsm-msg.CS_CZ.x86_64.rpm 4972789 SHA256 b6328f3ca50669503335018e9b6df00fcf4d28f4ec84194b87a6fc45e92525b4 SHA512 e2440ac9bd5422482b213de29a7078509501b6f2983237d7bd79812640990aa189c59504da7f1308f2ae97512a41d1f20c921f3bf9a9aff13b2c37fc5ce23c6c WHIRLPOOL 539f9485dfe46f6eccc2e1533516c7dec69a095216f911a012d9b26cb24c244c0ea3ab3e881ac02e786962628e2af29e0b6f2c052b8ec92a0d49f27d9b26d0d6
+DIST 6.3.2.4-TIVsm-msg.DE_DE.x86_64.rpm 3608549 SHA256 423e8d437f898f509225f73ff5b2578e35a7b022201e049efcb9e0cf438764d9 SHA512 5ca423de085c1c47cc9105094ed0ea693ee597d52018c68210b89873ef8a9c4709b55fba6c14261090ff13388dd4bbe8ac4a159585021441a6437de7ea268be5 WHIRLPOOL afe006170d904a19ab79391c6543390347d8ea3fbdad6d6d4f4cd881361ebc85ac2fc3aeb7736b810fa9c1a4bfd362ea2954e39d45950ccc4980bf1e10348105
+DIST 6.3.2.4-TIVsm-msg.ES_ES.x86_64.rpm 3688329 SHA256 f4108978dfe3b79fc8a46befc0e607b33e5ce32b1569fef707e8946f0c8670de SHA512 8e2d5e374b451bd57bfc30e6647a1f593bca65ffff4aca6b21d53687d785934e74b5311783f8a2378ed227e46443080759692e5d5e51f62422f39fa67b839c8a WHIRLPOOL be17c6f3c9381ec71572cd7d61694c0e248b01f7ba4501fd1c68a9f6a3609d7662e241978801bd266f10c42579a7057aecc83852f7301f737a4541c596438805
+DIST 6.3.2.4-TIVsm-msg.FR_FR.x86_64.rpm 3606230 SHA256 e82c4eaea3d082578002b7aafa7dcfeefd63ba8ec70c32da3dabec11f579194b SHA512 6d4336bc0f24a74b389b9dd2c6282f1f1b21a603c54c7f07a180655794ca3552f1bbc3e8f91fb12275afabb039bf1bde970dab22c055fdb28ee39b78fb4d4345 WHIRLPOOL c5ecec49594c8b68f3b90fe7c367a4d1066ac4841469cc1274f0128a717141262925780845c3dc20c517c68eacf77e74e234c795e403af7d55113d7938946f46
+DIST 6.3.2.4-TIVsm-msg.HU_HU.x86_64.rpm 3566244 SHA256 130f7801f7a5370e2977b5d0bcc0429a7158853bf4380ad672f71d12921601d2 SHA512 1c76964222e9bb2e83746ee9969b87e9a891b7e440ae9059dc1c3120439686f046ccc09f305c1c675f787d6504b30effed230f91c18c11d21a50d7bf11f89170 WHIRLPOOL f73a807cc88dd1630f1c3d38c3a7f4c75d8e8617929fbcdf7dcbeb33d266e6129033f87881d16cb2c2dd50e604e91f6db3bc2bc9af7daf8ba0a8276f95bf288a
+DIST 6.3.2.4-TIVsm-msg.IT_IT.x86_64.rpm 3434013 SHA256 e5286cd818fa1aeb0fd96d0bc99a7462cc01c84075483117bb43580a408d3935 SHA512 e666f0de829c6410f7d7e9259c22975d7deaf51889a662d2fd9acb9e047a4b990d178c7c68235057b73d1b7a1f674b0d71f66f6fbfc81a0e4489db2b4a1cb2f8 WHIRLPOOL 75b2af7fbf4f89a2529457fbe3e2bf3b489ec56364cb1b7a7720e7c506e6a84604d0d0b856c952ce95f3f161893e263f35e83390367dd290f08f00f6fa5b04e9
+DIST 6.3.2.4-TIVsm-msg.JA_JP.x86_64.rpm 3442213 SHA256 5c1726cec5306ca50a1629397e40b3216362343cd1340b7999b029a9864df9ea SHA512 a7c4a75537e8f17f211b290996c6d492dec0968be9e49033bd406fcbdffe9023d5db15aeafc8b2468959d017dcac60c6805b3ce4b3d341c4fd0fc938ea80a23d WHIRLPOOL a7df703ed350f9a3bbb9f05727e834cb4b23fbf6b7ec2c3f1c6eda10b788939074682a7eb44d82414f8e7e40ccada540ab3009e1a773e3cebfddbddde5c05faf
+DIST 6.3.2.4-TIVsm-msg.KO_KR.x86_64.rpm 3524176 SHA256 0629c19d2e5e49c2d55ad419fa0a6043b2ba9811c8a19185678fc833a5968dea SHA512 25bfa37f9d892c6b218e7fe89151b87fd15206daa5dec8a9f172dc12f2ab6fe8d7f1f27dbfd6bf0c7d787069bb9cb36c43a716a0a643387828641924129db60c WHIRLPOOL c8279ce0d9c1f4ea2154758b0aa7fed1eadc7f6af1ac41e0cc04463559a5dba6fe682128f29aa7f6e407d251998aeaa38b003b771645295049e9b9f480325336
+DIST 6.3.2.4-TIVsm-msg.PL_PL.x86_64.rpm 3420877 SHA256 396b68d996bdbe7c335d35dbc7dc92ee02a03d5574789f3e1f635fa9448a74ca SHA512 21a7b6125b1c7325c362723cdf31f0571563402a446291a3ad93481b2e3875afd5e1080f549ff455c851031d836b6410f83d0eba0b153c9221738d1797bed29f WHIRLPOOL 961c612af3d32663ab4d47c29cf82894887678cbfd62c11863c8b4a9587c02f2e3760b606eca4a41dddc031f96fa58022549ebc5e59adb7db22ba5aa8aa6ac7d
+DIST 6.3.2.4-TIVsm-msg.PT_BR.x86_64.rpm 3576551 SHA256 88a276ddf39c568d9b9deebfe9721eaa164136dafbe9b9076389506e56ce40d2 SHA512 e828bbf50b773aa41d91b2d0d4a5b2abaf830dc12005d9babdfb67f0e62398c3754fb7c7976092f5b7247f6b8e0bd42b82036985863e2fb4c04b327d2c763529 WHIRLPOOL 917c338859224f12169c26e272b70695f461d1a79c4a650d2eddfa78587e1ca9cff9325571327c0be7c5601a75f9e3907c6bd7c2dbb8242840b98d697786a8aa
+DIST 6.3.2.4-TIVsm-msg.RU_RU.x86_64.rpm 4311626 SHA256 9366845fdb7dff6578895ce9a63686ed62ec36d10b22c126f93b2c163d8f95ba SHA512 46ed5e928d016588b8e8ef610c253f3f5f752ac64df6b5973d901f5cad175456afc59d88ce885a8e36200ebf71a0f051aae58f7a9ec2c3bbaa07096f9ddc3be9 WHIRLPOOL 9391be9779b7547f6e8c11f714ff2e52c5c2e099ce3152b6537792f043fbbec1674f969394a2bc95d013d1d8682c229a7c8c8a853d40b526c2b71075cbe44364
+DIST 6.3.2.4-TIVsm-msg.ZH_CN.x86_64.rpm 3227099 SHA256 914e0456a2f6b4b37613dea855a2a3929977624a6ec902c5880c171bfca63378 SHA512 393613c89038d06a0b834298b20bf3da9d68ed8a67b519171185f76d3f4b193f544140d9978e04079f1f2e89aeae7d11d8c145c6f8ab23b3b1863942d9bf09ac WHIRLPOOL 9d88949ce93e9f2f5b34cd4cc1478176e6ded8f2ae5aff91b215ecacf81a417e96ac4235b6467c835919a44c33d5bb28bf6dba8d8d01babd18f2e7ffd27f4061
+DIST 6.3.2.4-TIVsm-msg.ZH_TW.x86_64.rpm 3331580 SHA256 11c98d268bd414681cec490591b6adf381a67fdda09d876588ccba1cb1234d0e SHA512 15cbc803063867249f6f4ae19f130b029f03935a6f662519b999c5aa4ad0ce7c74e969120411dec2878e2e0f4999b37b1796c76f3faa1667307bd5e7c1b62b14 WHIRLPOOL d7bb6831fe4fb5102787dbd22601d8639df16c00011b71277a967285b87e002a3077f769e8ee9293452e70f80aea4ec38e6a79dbfa9e9abde2754613325c5794
 DIST 6.4.0.0-TIV-TSMBAC-LinuxX86.tar 128419840 SHA256 0e1ad405b73ae377ba20ac8fa3191d949a7e14da0dca630dce8aaa295e4e1bda SHA512 bc231edaed221d9fe98bd436498e08f7fdc437a4416dd1e857da86d5840de3f1798123afa888d7fdb97b4036215eeba740cdbe13719dd0e494922574ab27065c WHIRLPOOL 9bc897987e1f41c5a3c6ec4cd9b2b31494ecf20946a22ad7e4fd6181d7979a28af68f98cca7b24a9be0d7d8a9b0c1e18a23127b2bdcb5213c721115c98d85283
 DIST 6.4.0.0-TIVsm-msg.CS_CZ.x86_64.rpm 5074105 SHA256 d1ce5a86c37788403a4ef7c97f7ea1b63b9c0c734d25e1bbe58722fbd4a574d0 SHA512 3d0a92cc9d739124998c26d136ab1d2694ecf7b8c574588b5f270dc66319165e7e14482215a6af82dc7fcf30f55054e4b15003d579fd7c1f70860aa976ed6b58 WHIRLPOOL 72768ab1ad537d8b5a428a81253b7229744083e99b7255f5dbc8c7719bdbbb7488be0441d1412923908d895f9110da0def9a026e007afde9a3ea348f554e0927
 DIST 6.4.0.0-TIVsm-msg.DE_DE.x86_64.rpm 3705462 SHA256 a5548d40a63d8fc526f9185737616eb4cce2a6d8c52c12eb7f66410920f57f97 SHA512 f700130ea993b9e6c318bf4b3c10d95d934d971c36f0d277fe918294168709ba10885966d81a277ff43debdfc7b1203cbc1451e903c75e3383c2620cc8685e9a WHIRLPOOL d8ab7799c1ab08f32bdff608b0d0181d6455fded4d6a5f1cd0110a841af30aa47f5439e63686290445584c1f0d0542d0ec9b9a3f6f3dba8bcfb869801095638e
@@ -40,6 +68,20 @@
 DIST 6.4.0.0-TIVsm-msg.RU_RU.x86_64.rpm 4524276 SHA256 38ffb6924914c733642b73517115f4a08ece0b65867b2b72eeeece5fbc387ff4 SHA512 0a5132d236d3f69559a3b851002a51f308defd45b4ff08d53b7604311c41b3e99007e9c14c30bbfc24d14cc4581f652aa5bece0dc2ddb8ee040b4be84b0595a2 WHIRLPOOL 3903178db9ec62194710679d6e716d8fb91ef4259177dddce183e1a0ca8054a3ca9463b09eec780eaa695a1219ecd7200c5b6231736d65ba3fb07da2d9cb8852
 DIST 6.4.0.0-TIVsm-msg.ZH_CN.x86_64.rpm 3295321 SHA256 baec6e1493ad4f3c7e3dc91216a6ec009565333b7c95dea127536927b3a9b67c SHA512 20c125024f858bd953e8eb02d4d640f304fef8036f3a7c3a27b80ff68dff5c95629cbb57c4905101420caa2486ff167f3241e74d4c62cbe79a2bc83103826fa6 WHIRLPOOL 818f31ee2391954ef9b3192985401916ad55ff398854e93f6165beb744691b5a89d8614b4e5c5c1e0296763d0ddde13bed86f3522d624a1f7b54ba3fd6a87493
 DIST 6.4.0.0-TIVsm-msg.ZH_TW.x86_64.rpm 3406128 SHA256 a963af329d2f292694c22b635a971f41718b0c2f0a3fa179ba824a523fbb802b SHA512 75d23577881d5bb105cdac0349f2046473e0705f48e27fc1741dab2e30d4db6e3a75d061b1428fe681550812155ec54297c404f3598aeaca8d61e53fe2b31a49 WHIRLPOOL adb5f63ef4c4336005c95a4c9d7bdb2a1b6a51ba7aa17aad21d769276085d4dbb718c692fc19b2dbfe40c661b368a47053d519afcd8c92c77f41ef96ae7699c4
+DIST 6.4.2.3-TIV-TSMBAC-LinuxX86.tar 122378240 SHA256 65b5bbd3d7e3a38c0f7b8d893be57bb2a779da65e64d23a2773b3b7e058f6d8c SHA512 0cc562e904e9ecf91db8506db33ea98fe34021f68abfbfec38488baa5db7f061e3e76acccb2c2062446901db54eba33ca2b5e63494fc3acfd75a095bf867ed39 WHIRLPOOL 7440b6f80894f53f00220a42be61324eeed12d83719e547513c2826ab574166d580e7a1bc11257ca7050ad3126a0b5e645304394db3712119b87e9cf6d3e0dcd
+DIST 6.4.2.3-TIVsm-msg.CS_CZ.x86_64.rpm 5100632 SHA256 c08875d38e7402cbc43758905050e6268222f3e8b42a589613cfa54b25175ff9 SHA512 03be8534f110c95ae17254a0ade0eca5e385181ab4ab6c6f33846dbafd685c01f6b9e8810bb62e0afcc428b2acdad753de4c682ac081a019d4954164bfee6a85 WHIRLPOOL 54c9505f3f1ebf41d2b475707bab857b20bd45687e63647918fcb4264bc67e76c5ae7350709ec632fa88eeb9cd5401c408dcfa201c1ea64fb0eff4b26d6b6d17
+DIST 6.4.2.3-TIVsm-msg.DE_DE.x86_64.rpm 3727873 SHA256 69042e45e86dffde5a56ba457e7fdde48f6641efe9d1a2be29ad0f3b4a808366 SHA512 bea10cff120ac9417ce8f0d28d58b8a09f88a3c1bc017d47739c2962abd55c0f692c93b90144c04520cdc1c8934390fa9f384789c4a8d92053907a2d3efc9c54 WHIRLPOOL f48775971aec35e45b271425f2391367a4f32cab43a9efc2994dfdce8533ca649338bf95a6991c1d61ccd39eaac7346519e57c8e96c10ffefea62c6f2f88d485
+DIST 6.4.2.3-TIVsm-msg.ES_ES.x86_64.rpm 3805432 SHA256 eab5a247a9d7c0441463c20588b282d91ff6b193eb12070e9167e1132dc05770 SHA512 78b215dfdcd05497df9aed86aa20ec171cae12af9b4dc05d08d10b0d436c786e09bb0e8399c29ecf09fcb25d22fb5c15ecfd3e2cb873dd85e25d91d35383e6d4 WHIRLPOOL 67a2c54ac6766cca3e0ed176f22ce04dcaeb81999ede44ec443bc27b63832fbca1bc938b5686c5c1a7e50c234eba45ff271923f2da0fc23ac3fbaafcfbae8436
+DIST 6.4.2.3-TIVsm-msg.FR_FR.x86_64.rpm 3727646 SHA256 51498f34f8e1b6f312a4cdb1b103fedbea568a3b082a7e4e44ad9ce4cbc2e3ba SHA512 439bf1a9819a06ae09b856609ff51d665ee1ebd1a013a4690374fe61b8813af7a62c693f8eceffc6283054bea6626f4f64f732899db427d2662a56060e5de80a WHIRLPOOL 9ada9a14e11226ec789fd4f4c7a4e0d5afee1ccec1f0da193366960aedcb829c0d2fc3a5234e4dfc3851338abd37ac6b9e64b901aef58a41791a2e27c4b3336a
+DIST 6.4.2.3-TIVsm-msg.HU_HU.x86_64.rpm 3719374 SHA256 c3822e5b6a21ef4e3c1adc054b4836acd1d9330e12796143fe62ce7667449cce SHA512 cfbbacfb824276e369c87bd4ca063403187b69537417892db1017eec3d8b9a716d3610f4240419b1cc29dff9a4c66afac6a1577d1f4f4e9be45006d9df4f85d1 WHIRLPOOL b293816d7c203777e6a45e9a86b4f9377d65393cf30958f751bf1d706d2a79dabd1f47a2945c156f6ed6f8bd7035362bdb20c5b2b8a9f8d890b2aa71be4968b9
+DIST 6.4.2.3-TIVsm-msg.IT_IT.x86_64.rpm 3559355 SHA256 794e11e2cb5b3864d15ccbed4d620c7b73213467a100fa65b10c980c4007b710 SHA512 b24a8d13206fbfc674a2071f03cc110ed378dde46fcbcfa3ae3a861ca58f89faa89dda7db160de75d0c35aef12dcd2e8a75669840973fb13db9db8e1b83aa3ba WHIRLPOOL c84ee7103b092a625d90fa1986d78d5a356b280f4db22dffc38ed0cf35e8cbdd518366ed2c864e24cc3d24532f639636c90c842a4020d0d2efdd7b181f00a448
+DIST 6.4.2.3-TIVsm-msg.JA_JP.x86_64.rpm 3727759 SHA256 fc7de7aebb4b67dc5d808b3b05be28de739bd67d75228c5afd0da2fb5986bb83 SHA512 54a0118bad87993e61bc4e2a0cce90c7a784b67328c6bf1960a5ff6d0c32b01cf8f6bb2b1c7c5a3c52263903d48a75f81aaf7e4ca9420f076d02d76973bf6764 WHIRLPOOL 4d385c93e352bfc14b56e6a5b7426ff4b0bef96597068acbe7d21369cf03761c51f037813bc1a1352967f9669c0936ee3d93412c9be2440f47a1331084711a5a
+DIST 6.4.2.3-TIVsm-msg.KO_KR.x86_64.rpm 3381424 SHA256 5bc9ecc658f8cbecc9218db2294efd23ff83f34b6cacc806d22b5e7c7530eda4 SHA512 5b0bb52f283db9f7e7aa7011152647186a4561a0554382cffebc0a7c9ef80230ae3bcdc33668e3c1e9c39745038e71652b4391c1bcfc4815ba95395180e257d4 WHIRLPOOL def08e601aaa53b008ef164779807db0f963ae5b08c37a78da5f4fc71ee51ec946e983ed30a7cb1114698006d3bbef9af72f82172071f68d1872877e2e7c879b
+DIST 6.4.2.3-TIVsm-msg.PL_PL.x86_64.rpm 3539337 SHA256 5b0ff9655a9694cf90750e6169930caf0af08a8d836a9f51b5e4c8e2d739aada SHA512 8b3b66de16a7c81be7bcae7e3542d39df49439f1a0976f91c4f51407024b135d3f79f56d4e90b07ba3192531aa6a5ac18cf103fefac3d5db2e32c5986aeeebe9 WHIRLPOOL e1311a5a440ee41dc010e08c029848aaf60f3dd3e314b0d2295f551069299623aeccaaefb8dba22806d6d9371bd90b128385d0fdfa8821e6e27973e9d3ff7e15
+DIST 6.4.2.3-TIVsm-msg.PT_BR.x86_64.rpm 3703558 SHA256 5a52349f3870d0c6a0ad21d2611c7af27068e80ba12f49a01d4a85ba129c04d3 SHA512 436772bb8de538a1dd1a4327777120f9887d34333c5e42b2ac9fce7d9061444ef2ef3e992dab8f63cd54009629313b4c103ae7b36231bd4852fe0c7f0becae9f WHIRLPOOL d90cc2c7ef6d5d588505dd009bb5ab8de2d3f99d1a60a643de1305980b8eca417f704b892289b0de012562aac665486518ddfc0f4879ff906733cc2dad4bac7c
+DIST 6.4.2.3-TIVsm-msg.RU_RU.x86_64.rpm 4569323 SHA256 b27092e8b874b937267d841059c23fd6b696abc9b9eafa15ede20792bdf5a0f3 SHA512 65414eda354247503dc8da7ca41cf8ec1a8131ca3df9b095e10f53b1f292c9c8506eb5b55f8d618f89fa5893313092678e8e13dffde3e372947656f8c4404b8e WHIRLPOOL 69cb7b06e1de0cba09115718aaa9401663a6f43017fc96f27f0148aed45b581e91f4cfc9719c9eeed74f0ad7fb0a98c4769405033f90af422bf7496f7bc12f01
+DIST 6.4.2.3-TIVsm-msg.ZH_CN.x86_64.rpm 3307675 SHA256 bb8c95cc8087a570227b5d79fb6b1fc202119d634ae510ed38d933e07e0c0047 SHA512 d13e543a95835eed3a8d36fb266f66c63d13d251d3395a55d75ab68d9602b1ed4c1123834433a3333274753e062ffbf0c6c22c61bc651efd5a49ea6fa759537b WHIRLPOOL e2c71044e7f2b391e2d907df2b3a6fabb18ea14b79ffaa9f2c32f29a1a8070c68e3f2f5e0f96642d8271e311d9545ab2ae91067d1c02cbca482a564cfc9db99c
+DIST 6.4.2.3-TIVsm-msg.ZH_TW.x86_64.rpm 3439631 SHA256 5c029c428adf28f13251d49f6ea911c7c7bca72815402b0021cb5936389f6a90 SHA512 3195d789396eb9b07399050a0b32718d8fca9b08eaebb53d2ad8db64861a5f6a8f632e628cf90af417e3dc851cc00817d5ebb05068e6623187a36538fdf85633 WHIRLPOOL 4412cb087005c333ce9047656dca04492b1e27392853f790e1a92b91ba0baba0a79f64fc29236bcdf5caf5d112cd7c7e9bae1012c6b3acbaa34b580c1e76dcdb
 DIST 7.1.0.0-TIV-TSMBAC-LinuxX86.tar 99133440 SHA256 b0d48ddd3fb8613c8cd55dcaa2fe779dcf292779abaa252f46f63b7d466bc0c6 SHA512 ff1a3ee629807234551d1f9508b096fc5b87caf709e5b0b58b720f8e3e35b0b737f103f0259a52797fc9b7af5208f417d2575aae6a06201c2e8ae20db40ff46c WHIRLPOOL af67a267af992b89e47dfe7d0c07c4935f142a7cd44ad0628f398656222a2001165cd2ad97a08cfc2cedad6bafd36b49f79da5bf4221225d940980059171cfac
 DIST 7.1.0.0-TIVsm-msg.CS_CZ.x86_64.rpm 4449301 SHA256 bae02bebe71f6c0f91b2baf37d12d6d68e6509ffa4e11d25635b2a5e685b51fa SHA512 117cabafcb9751a0d45c735df651b07b0e146ad81a9ab21761310ecbe70714e958406e61c78f1d155e0a6d00aa7229b05f6e94f583a6125684d55de03f252a91 WHIRLPOOL ba3d92c3e2bcb465409adbeedcbb29cf05266155aee59b07f62ef423f08f1825383eaf57b05f969bf721402d3cab4dc6eea824682428b806423ad915949608af
 DIST 7.1.0.0-TIVsm-msg.DE_DE.x86_64.rpm 3748958 SHA256 50837d1085365b7ac1af6204591e47e6f23e610eaebfdcb32240b116522c450c SHA512 82789e0b6210067f682cbfb845978037ba0bf4bcebd04d350b7d93f855c4ce87b1ae7830c91af2d75b6c7dd6f4a0aad7d452224e79c2ff07bb56947c0a976215 WHIRLPOOL fba1d9718a10ed24911a2b42c53908266b5192f266c2d49c6d62107959b82a80bc46ce06319c689551b7441157fd443b860eaf1ca900dafb68f7709a5a7e4701
@@ -68,3 +110,18 @@
 DIST 7.1.2.0-TIVsm-msg.RU_RU.x86_64.rpm 4378118 SHA256 2af3679b8915ff2699a9f26f6c25b21e0053a35063d74352f9c7391e57fb41ff SHA512 e4b332046097da752b77a810d89e3f0a1ac31eab192f3174cb36e3e4ebfe1e08b95895ecff7baf6fc9fb02a490edce26a26b73cd9d30ca12cfc2c2dd4b25a5a8 WHIRLPOOL 2e2bfcb0b800841ea117d1ade3ebdd2bcb1aa30495ece74371c3de32084cbf79c52c891f70c8adabcf668a9d81ecc64fcaa44c5b5144c39649ddf8baccf8cb69
 DIST 7.1.2.0-TIVsm-msg.ZH_CN.x86_64.rpm 3430014 SHA256 a10b8fc59b5b079c92222d9ad2db17d11d619e10037d53e1804a0f94897d54c3 SHA512 02f5699d09372650ec1f1d50fb728a30f5a8d9cdccff18a3057fd67ffdc8fd585132e55f11f2c1dea05ec44258a16a56030a4e2fa3218ba3c9abae4e6c9d7c81 WHIRLPOOL b5671f6ad1713f14d0d0913e124442ba3ca29121b3c24b94031347911c2f475763e6699f3550e05f95b4fa83825bc98d1afd45027ea3a564fa19579902be22cc
 DIST 7.1.2.0-TIVsm-msg.ZH_TW.x86_64.rpm 3527438 SHA256 52c4021f25bd29be08fe4fac3ace8d9e1a25c39361617e0c7cf331cf420eda6b SHA512 8e6b574ec85240d30ab4bfd1895e26db3c4cb2c624115d1315884408259df36110222826f000bb9507cff49afa003da139963ad35f5505d391ecbe6d9b9a51c0 WHIRLPOOL c28e6d067cbf0605dbd46540f527f70186824e06751188d889f119a244ef492ed1a9374f4098e75674264e4ecff2529989d84bce6a1f45740a341c5e2bb4049a
+DIST 7.1.2.3-TIV-TSMBAC-LinuxX86.tar 113408000 SHA256 d0c10d45a0c3ca283b21c0319997efed2c33e8a0cb2671191b5923b7309e0935 SHA512 47c6d7d78ebe2430bb39af084daf37e6e1020b675761c0789b7bb9078b56571423cbb7bbd7cd7f6cae41bfbc542ad569c3fd01fc6bd84b0904b4d9e64b9a564a WHIRLPOOL 2fe4448a5fa49b5f69de99812ac7df4f737c5b651284c0655f4a986bf1acd34ea59f15d0a36f63040b8f0daf7850865403091adea92a8a7c220d123c278cbe88
+DIST 7.1.2.3-TIVsm-msg.CS_CZ.x86_64.rpm 4436111 SHA256 c8da34c31b0b33ac00a80cee98070dd71289a54d1d4ae3b7d5ca702cab596b90 SHA512 ff9cc0bd3b209a19c03417e9283e5ac7572dff5ed54cd39f216bd671c432e68ee341b3560a19020ac9f4469a9747583c16af93d2c373a20227562c3ecfcbc6ca WHIRLPOOL 4169b74daa6f1327e9c6a1b7d4d5515b9c8355c6aea1ac99c0b3220b4c1c2fc64810ee905945ace9df79a2778684cb496d98c7bd92588ca691b88f7a922a0597
+DIST 7.1.2.3-TIVsm-msg.DE_DE.x86_64.rpm 3745823 SHA256 399a4cb8126691816b22f37d760c44f659133d79ac69be64b782263c7ab9b17d SHA512 d2be6d1ecab5239669eff776fede2cfaf6a370ea43e24c0623dd371b4db6b690539367350f5ec363a11d3bc8e41ad24bcbec0799e8cfadc337b69e5ab26bc0d0 WHIRLPOOL 25c4b5fd05f21692796595e09e00d049729cbe97d141de4bdba50f6029b6b6b7e751d207f1025c7cf508c7307c871c7df92d04431502d9ad4bdc77f4c29a8e07
+DIST 7.1.2.3-TIVsm-msg.ES_ES.x86_64.rpm 3780755 SHA256 9bbf3016efd6625a1fd1145348332fb0084384f6921ee57db30c575263f20d73 SHA512 d62985cceb0433a4dcb8107b241a3c13bc13ed8efef01680dd71ab8712bf908861506542735295a199ece907b9acb0df72edca7304c618f5bf5053ff94638b8e WHIRLPOOL fd9912d7b17acf7f2e359c705e77dc8d9043371876507dd0ac549aafb6702c9084f73c4145b9812b55538ec4ea1d46f04b8caec1e73bca9d051eaeff5433b5ea
+DIST 7.1.2.3-TIVsm-msg.FR_FR.x86_64.rpm 3734192 SHA256 e4aa27d42cd251ea400d5a440edcfebb690a01b7bb8a5bc7347b1c6a3eb6fb7f SHA512 c1c5614706a5c7afd74ecc4b49a5522e98a8253f4d8ab17d9f9ead8f154864f9b73e855d398655fc906f6b93f3224c8c251585c665bdb266d8ca7f41fb634ace WHIRLPOOL f198b0642e4b681a76e75c79749ad2d4b54191cc2adbefad39622065c2fb67b7750faa48578f907081d7097444044128dc666a8d5fe000cbbabcd0123e21719e
+DIST 7.1.2.3-TIVsm-msg.HU_HU.x86_64.rpm 3820435 SHA256 9db7fcdda1582e569c415cf2978ebdfb96834660a9c128f024ab3912c0300c77 SHA512 ed5afc7ff38fef08adc31226c6a8b86f66f4a8767f90d48520d2706be185684b632c368eaa702594d75a20412049daeb26ca6028095e3401a95ca7d7b6273480 WHIRLPOOL ccccb90257ae2feeab1fdd53bd00f25f592ad236af8f8d1f3c8e8e5199f04e12083925922600490fe532f7aaf1c7b3797af4b83ac934ea69a29e6d1f06e78b7b
+DIST 7.1.2.3-TIVsm-msg.IT_IT.x86_64.rpm 3632096 SHA256 2ee04d31ef14069e55b83816213ba9dac79aff34329df1f903306894187cbf6c SHA512 ba80f7137b8fc9aa53dfa501f94e07b9131d5a209728f6765b96f7b1674d39fbae91a9316a12f9432c6d2bfd553d1d58d22d8eb1a64e9ce059690370760cd7c8 WHIRLPOOL 81637a25f75a3683097f9a9f6440ebeafce5e8313ed254dfa16efe11310241fe1439130e88f04abf037244966d1cee37e54c1debb9fa44ccbf5b154691b500ee
+DIST 7.1.2.3-TIVsm-msg.JA_JP.x86_64.rpm 3771493 SHA256 3284280c11ac3fde54090caf54d43e82f952b4a83b5b387f2168dffc5cf89811 SHA512 0282a76c95f9006aafc212d4ac0f06817ffb1a509f945749a3afbffa7d31efe8688ba89b3e135cf5de671893efa1319088e36ea6ab40b3f3fdfc33e25ddadb5c WHIRLPOOL 985e8a3c3a910a872ab3bb3a49638da081b1cc5998c10f0b2a3903a935ff30af4bfdf7194db064ae080cec093d752394dbcd2df6c5fddb20130d1ae4e97c7ab3
+DIST 7.1.2.3-TIVsm-msg.KO_KR.x86_64.rpm 3600633 SHA256 e4e9e2e226fc6caa44a6dbe6bd8bdc6c4bbde553bcdbedba9d8532b2305fef1c SHA512 fee9fcd102271fcd826aa2735446ef08d30fab8861cbf3193db499150bfaad2010affa12cba2175c79f0c4cd042fb7448ae5d39e6d7913b0812ba85a302505d5 WHIRLPOOL 39f94116672540806c0be1b2ade4d2db116b1fd2d0857dd33578a8ad629f77bf61958d2561bd5ac06fcbdf1c198684cffa70927690779fc2560bedf1205b6e65
+DIST 7.1.2.3-TIVsm-msg.PL_PL.x86_64.rpm 3738872 SHA256 cd4fb8bd0f0c632c92e835f213ef3955fcccb6a85540b5b2b874ad0e49c6e47d SHA512 7dd4b8127e7f3896167c9c0cad3f2cc35c5a4c5bc30b6799f80fd75193b9730f977d4913317e7de7f2ab2c82e4fdbd4c9a0b96a009033666e11f854b547c60f1 WHIRLPOOL d228d4a8299896a61ee0df2efa3371aecdcb77e82691000542767f2bfddd719af41e7a7b569053cbc54f68c5968f0154cfe936538d52af7ae069483e0876b839
+DIST 7.1.2.3-TIVsm-msg.PT_BR.x86_64.rpm 3735750 SHA256 184baf811a5bf82a61528c1de88ba9e1136cc55212209a9d7e12625dab4fd606 SHA512 c06bc02b3bb46b9a66afef25c1acc8bc8211f94cd4a73f766cf3c98fa9a1ffd04bd7e6e806f859c94cd4f886f18d93ee12963e9e7292c11e173b4e081af7cd77 WHIRLPOOL 5f85dfc734ceea23976fe8e3336b47e983df8296336e830fa1f9005bbe49e881abc13d858ae4c957e6d4e3aa5d96b8e12216b7488da08d5eacc8a55756d1a0c1
+DIST 7.1.2.3-TIVsm-msg.RU_RU.x86_64.rpm 4378794 SHA256 97cf9bcca1a56aa7e6da501eb49ea979deaa39d1440845561bf3bcca592001b3 SHA512 8408673a046fcaafcb83205e7a0aa3dc123255cedfde58fafd88a02f4b207ba1b55e77d3eb9338bf5c61611479dd48cddaa9f82eeefd7179997c0d230b8a9aa1 WHIRLPOOL 67cfb50ed28af54d4722a665316803a9b01422477bda9b209477bf15479b04c168896fc32618a2c5ff73ba0a5902aee48aac9564280d49b3ff58e1408d8a7f3c
+DIST 7.1.2.3-TIVsm-msg.ZH_CN.x86_64.rpm 3430325 SHA256 ab741203f42010448b5d1e0500d9a8945e76add88c6b3528ec4a7f57341e9c8e SHA512 c34829170ea16c094759580475e205d65fa29a1edb08e3dd763c9486156188e9d1a8a64fb6083ee1ef7f172db568c39bf47b91a65fa3c5de8c7095e6ecb076c6 WHIRLPOOL a49fa02cd9e2254bcf33df66d23abab77e3e16d9d099faf1fcb867dace8faf87e9825e42062fd77a6078eee8abad432feb8929fbf1c3b0b2089fae9c9298c64a
+DIST 7.1.2.3-TIVsm-msg.ZH_TW.x86_64.rpm 3527076 SHA256 3499e674dc8990bbeca15c07f93b7e3bf65349b38ada66d31a057229b908124b SHA512 e81ea92d6ab15f70812475e506da15912842e31fff98de7048e620a7b56349fbbfc897cb52e7a307e2deb9978a05a051e1be8dd594ef82a13b0d81d467af4f34 WHIRLPOOL b613b13f594713c4a139b28f7f6778c3302c99e0f1484d7ffc2931de595a22f4353125428d4a2adad1f44c1b1375ec32442096a2c8ada69b5999f996abe7a47f
+DIST 7.1.3.1-TIV-TSMBAC-LinuxX86.tar 220323840 SHA256 488284bc46da88b62046cb3878dcbc93772f12f5201118a951f64535c407ac6b SHA512 9ec074d4e1417b02f51b884b775338f1df205001c073f88a8fa249c77d3b7f6b80aea97d43fb635ba8385227f2502e39ee70dbb66ff80c10225085272afd430e WHIRLPOOL 2d2c43b4ac88aa3e49ce3d0f002385a9227664847eeee5ede29eb774ed203e8700d036476d98c4b97579d25616f8745dbf9bf6c6ddb48cc57b5ae4280917144e
diff --git a/app-backup/tsm/metadata.xml b/app-backup/tsm/metadata.xml
index a7b841e..6328f11 100644
--- a/app-backup/tsm/metadata.xml
+++ b/app-backup/tsm/metadata.xml
@@ -15,6 +15,11 @@
 		<email>dilfridge@gentoo.org</email>
 		<description>Proxy maintainer, CC him in bugs.</description>
 	</maintainer>
+	<maintainer>
+		<email>xmw@gentoo.org</email>
+		<name>Michael Weber</name>
+		<description>Proxy maintainer, CC him in bugs.</description>
+	</maintainer>
 	<use>
 		<flag name="hsm">Installs Tivoli Storage Manager for Space Management</flag>
 		<flag name="tsm_cit">IBM Tivoli Common Inventory Technology</flag>
diff --git a/app-backup/tsm/tsm-6.2.5.4.ebuild b/app-backup/tsm/tsm-6.2.5.4.ebuild
new file mode 100644
index 0000000..42a3919
--- /dev/null
+++ b/app-backup/tsm/tsm-6.2.5.4.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator multilib eutils rpm pax-utils user
+
+DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
+HOMEPAGE="http://www.tivoli.com/"
+
+MY_PV_MAJOR=$(get_major_version)
+MY_PV_MINOR=$(get_version_component_range 2)
+MY_PV_TINY=$(get_version_component_range 3)
+MY_PV_PATCH=$(get_version_component_range 4)
+
+MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
+MY_PVR_ALLDOTS=${PV}
+
+if [[ ${MY_PV_PATCH} == 0 ]]; then
+	MY_RELEASE_PATH=maintenance
+else
+	MY_RELEASE_PATH=patches
+fi
+BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
+BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
+BASE_URI+="Linux/LinuxX86/v${MY_PV_NODOTS}/"
+SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
+SRC_URI="${BASE_URI}${SRC_TAR}"
+
+RESTRICT="strip" # Breaks libPiIMG.ss and libPiSNAP.so
+LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
+	dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
+	ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
+	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="hsm"
+
+QA_PREBUILT="*"
+
+MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT
+	ja:JA_JP ko:KO_KR pl:PL_PL pt:PT_BR ru:RU_RU zh:ZH_CN zh_TW:ZH_TW"
+MY_LANG_PV="$(get_version_component_range 1-3)-"
+for lang in ${MY_LANGS}; do
+	IUSE="${IUSE} linguas_${lang%:*}"
+	SRC_URI="${SRC_URI} linguas_${lang%:*}? ( ${BASE_URI}TIVsm-msg.${lang#*:}.i386.rpm -> ${MY_LANG_PV}TIVsm-msg.${lang#*:}.i386.rpm )"
+done
+unset lang
+
+DEPEND=""
+RDEPEND="sys-libs/libstdc++-v3"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+	enewgroup tsm
+}
+
+src_unpack() {
+	local rpm rpms lang
+	unpack ${SRC_TAR}
+
+	for rpm in *.rpm; do
+		case ${rpm} in
+			gsk*64-*|*API64*)
+				use amd64 && rpms="${rpms} ./${rpm}"
+				;;
+			*HSM*)
+				use hsm && rpms="${rpms} ./${rpm}"
+				;;
+			*)
+				rpms="${rpms} ./${rpm}"
+				;;
+		esac
+	done
+	for rpm in ${A}; do
+		case ${rpm} in
+			*.rpm)
+				rpms="${rpms} ${rpm}"
+				;;
+		esac
+	done
+
+	rpm_unpack ${rpms}
+
+	# Avoid strange error messages caused by read-only files
+	chmod -R u+w "${S}"
+}
+
+src_prepare() {
+	# Avoid unnecessary dependency on ksh
+	sed -i 's:^#!/usr/bin/ksh:#!/bin/bash:' \
+		opt/tivoli/tsm/client/ba/bin/dsmj || die
+}
+
+src_install() {
+	cp -a opt "${D}"
+	cp -a usr "${D}"
+
+	# The RPM files contain postinstall scripts which can be extracted
+	# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
+	# Below we try to mimic the behaviour of these scripts.
+	# We don't deal with SELinux compliance (yet), though.
+	local RPM_INSTALL_PREFIX CLIENTDIR TIVINV_DIR TIVINVFILE i
+	RPM_INSTALL_PREFIX=/opt
+	CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
+
+	# We don't bother setting timestamps to build dates.
+	# But we should delete the corresponding files.
+	rm -f "${D}"$CLIENTDIR/api/bin*/.buildDate
+	rm -f "${D}"$CLIENTDIR/ba/bin*/.buildDate
+	rm -f "${D}"$CLIENTDIR/lang/.buildDate
+
+	# Create links for messages; this is spread over several postin scripts.
+	for i in $(cd "${D}"/${CLIENTDIR}/lang; ls -1d ??_??); do
+		dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
+		dosym ../../lang/${i} $CLIENTDIR/api/bin/${i}
+		use amd64 && dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
+	done
+
+	# Mimic TIVsm-API and -API64 postinstall script
+	for i in libgpfs.so libdmapi.so; do
+		dosym ../..$CLIENTDIR/api/bin/${i} /usr/lib
+	done
+	dosym ../..$CLIENTDIR/ba/bin/libzephyr.so /usr/lib/libTSMNetAppzephyr.so
+
+	# Mimic TIVsm-BA postinstall script
+	for i in /etc/adsm{,/SpaceMan,/config,/status}; do
+		keepdir ${i}
+		fowners bin:bin ${i}
+		fperms 2775 ${i}
+	done
+	TIVINV_DIR="/opt/tivoli/tsm/tivinv"
+	TIVINVFILE="TIVTSMBAC0602.SYS2"
+	dodir $TIVINV_DIR
+	echo "                                                 " \
+		> "${D}$TIVINV_DIR/$TIVINVFILE"
+	fperms 555 $TIVINV_DIR/$TIVINVFILE
+
+	# Haven't ported the TIVsm-HSM postinstall script (yet).
+	if use hsm; then
+		ewarn "This ebuild doesn't mimic the HSM postinstall script."
+	fi
+
+	# The gscrypt{32|64} postinstall script only deals with s390[x] SELinux.
+
+	# Mimic gskssl32 postinstall script
+	for i in acmeidup valn km cms p11 dbfl kicc ssl sys ldap drld iccs; do
+		dosym ../local/ibm/gsk8/lib/libgsk8${i}.so /usr/lib/libgsk8${i}.so
+	done
+	for i in capicmd ver; do
+		dosym ../local/ibm/gsk8/bin/gsk8${i} /usr/bin/${i}
+	done
+
+	# Mimic gskssl64 postinstall script
+	if use amd64; then
+		for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
+			dosym ../local/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
+				/usr/lib64/libgsk8${i}_64.so
+		done
+		for i in capicmd ver; do
+			dosym ../local/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/${i}_64
+		done
+	fi
+
+	# Done with the postinstall scripts as the RPMs contain them.
+	# Now on to some more Gentoo-specific installation.
+
+	use amd64 && mv "${D}usr/lib" "${D}usr/lib32"
+
+	fowners -R :tsm /opt/tivoli
+	fperms -R g+rX,o-rX /opt/tivoli # Allow only tsm group users to access TSM tools
+	fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
+
+	keepdir /var/log/tsm
+	fowners :tsm /var/log/tsm
+	fperms 2770 /var/log/tsm
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/tsm.logrotate" tsm
+
+	keepdir /etc/tivoli
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys"
+	echo '	 PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
+
+	# Added the hostname to be more friendly, the admin will need to edit this file anyway
+	echo '	 NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
+	echo '	 ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
+	dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
+	dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
+
+	# Setup the env
+	dodir /etc/env.d
+	ENV_FILE="${D}/etc/env.d/80tivoli"
+	echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
+	echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+	echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
+	echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+
+	newconfd "${FILESDIR}/dsmc.conf.d" dsmc
+	newinitd "${FILESDIR}/dsmc.init.d" dsmc
+	newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
+
+	elog
+	elog "Note that you have to be either root or member of the group tsm to be able to use the"
+	elog "Tivoli Storage Manager client."
+	elog
+
+}
+
+pkg_postinst() {
+	local i
+	for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
+		if [[ ! -e $i ]]; then
+			touch $i
+			chown :tsm $i
+			chmod 0660 $i
+		fi
+	done
+}
+
+pkg_postinst() {
+	pax-mark psme /opt/tivoli/tsm/client/ba/bin/dsmc
+	# most likely some of the other executables (e.g. dsm) need this as well, but I
+	# cannot test it at the moment. - dilfridge
+}
diff --git a/app-backup/tsm/tsm-6.3.0.5-r2.ebuild b/app-backup/tsm/tsm-6.3.0.5-r2.ebuild
index f75386b..7990d47 100644
--- a/app-backup/tsm/tsm-6.3.0.5-r2.ebuild
+++ b/app-backup/tsm/tsm-6.3.0.5-r2.ebuild
@@ -35,7 +35,7 @@
 	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
 
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 -*"
 IUSE="acl java +tsm_cit +tsm_hw"
 QA_PREBUILT="*"
 
diff --git a/app-backup/tsm/tsm-6.3.2.4.ebuild b/app-backup/tsm/tsm-6.3.2.4.ebuild
new file mode 100644
index 0000000..7990d47
--- /dev/null
+++ b/app-backup/tsm/tsm-6.3.2.4.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator multilib eutils rpm user
+
+DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
+HOMEPAGE="http://www.tivoli.com/"
+
+MY_PV_MAJOR=$(get_major_version)
+MY_PV_MINOR=$(get_version_component_range 2)
+MY_PV_TINY=$(get_version_component_range 3)
+MY_PV_PATCH=$(get_version_component_range 4)
+
+MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
+MY_PVR_ALLDOTS=${PV}
+
+if [[ ${MY_PV_PATCH} == 0 ]]; then
+	MY_RELEASE_PATH=maintenance
+else
+	MY_RELEASE_PATH=patches
+fi
+BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
+BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
+BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
+SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
+SRC_URI="${BASE_URI}${SRC_TAR}"
+
+RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
+LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
+	dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
+	ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
+	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
+
+SLOT="0"
+KEYWORDS="~amd64 -*"
+IUSE="acl java +tsm_cit +tsm_hw"
+QA_PREBUILT="*"
+
+MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT
+	ja:JA_JP ko:KO_KR pl:PL_PL pt:PT_BR ru:RU_RU zh:ZH_CN zh_TW:ZH_TW"
+MY_LANG_PV="${MY_PVR_ALLDOTS}-"
+for lang in ${MY_LANGS}; do
+	IUSE="${IUSE} linguas_${lang%:*}"
+	SRC_URI="${SRC_URI} linguas_${lang%:*}? ( \
+${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
+${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
+done
+unset lang
+
+DEPEND=""
+RDEPEND="dev-libs/expat
+	dev-libs/libxml2
+	=sys-fs/fuse-2*
+	acl? ( sys-apps/acl )
+	java? ( virtual/jre:1.6 )"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+	enewgroup tsm
+}
+
+src_unpack() {
+	local rpm rpms lang
+	unpack ${SRC_TAR}
+
+	for rpm in *.rpm; do
+		case ${rpm} in
+			TIVsm-APIcit.*|TIVsm-BAcit.*)
+				use tsm_cit && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-BAhdw.*)
+				use tsm_hw && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-JBB.*|*-filepath-*)
+				# "journal based backup" for all filesystems
+				# requires a kernel module.
+				# "Linux Filepath source code" available
+				# by request from vendor
+				;;
+			*)
+				rpms="${rpms} ./${rpm}"
+				;;
+		esac
+	done
+	for rpm in ${A}; do
+		case ${rpm} in
+			*.rpm)
+				rpms="${rpms} ${rpm}"
+				;;
+		esac
+	done
+
+	rpm_unpack ${rpms}
+
+	# Avoid strange error messages caused by read-only files
+	chmod -R u+w "${S}" || die
+}
+
+src_prepare() {
+	# Avoid unnecessary dependency on ksh
+	sed -i 's:^#!/usr/bin/ksh:#!/bin/bash:' \
+		opt/tivoli/tsm/client/ba/bin/dsmj || die
+}
+
+src_install() {
+	cp -a opt "${D}" || die
+	cp -a usr "${D}" || die
+
+	# The RPM files contain postinstall scripts which can be extracted
+	# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
+	# Below we try to mimic the behaviour of these scripts.
+	# We don't deal with SELinux compliance (yet), though.
+	local RPM_INSTALL_PREFIX CLIENTDIR TIVINV_DIR TIVINVFILE i
+	RPM_INSTALL_PREFIX=/opt
+	CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
+
+	# We don't bother setting timestamps to build dates.
+	# But we should delete the corresponding files.
+	rm -f "${D}"$CLIENTDIR/api/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/ba/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/lang/.buildDate || die
+
+	# Create links for messages; this is spread over several postin scripts.
+	for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
+		dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
+		dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
+	done
+
+	# Mimic TIVsm-API64 postinstall script
+	for i in libgpfs.so libdmapi.so; do
+		dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
+	done
+
+	# Mimic TIVsm-BA postinstall script
+	# Create Tivoli Inventory file
+	TIVINV_DIR="/opt/tivoli/tsm/tivinv"
+	TIVINVFILE="TIVTSMBAC0603.SYS2"
+	dodir $TIVINV_DIR
+	echo "                                                 " \
+		> "${D}$TIVINV_DIR/$TIVINVFILE"
+	fperms 555 $TIVINV_DIR/$TIVINVFILE
+
+	# Create a link to libexpat if needed
+	if [ ! -e "${ROOT}"/usr/lib64/libexpat.so.0 -a -e "${ROOT}"/usr/lib64/libexpat.so.1 ]
+	then
+		dosym /usr/lib64/libexpat.so.1 $CLIENTDIR/ba/bin/libexpat.so.0
+	fi
+
+	# The gscrypt64 postinstall script only deals with s390[x] SELinux.
+
+	# Mimic gskssl64 postinstall script
+	for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
+		dosym ../local/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
+			/usr/lib64/libgsk8${i}_64.so
+	done
+	for i in capicmd ver; do
+		dosym ../local/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/${i}_64
+	done
+
+	# Done with the postinstall scripts as the RPMs contain them.
+	# Now on to some more Gentoo-specific installation.
+
+	[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
+
+	# Avoid "QA Notice: Found an absolute symlink in a library directory"
+	local target
+	find "${D}"usr/lib* -lname '/*' | while read i; do
+		target=$(readlink "${i}")
+		rm -v "${i}" || die
+		dosym "../..${target}" "${i#${D}}"
+	done
+
+	# Install symlinks for sonames of libraries, bug #416503
+	dosym libvixMntapi.so.1.1.0 $CLIENTDIR/ba/bin/libvixMntapi.so.1
+	dosym libvixDiskLibVim.so.5.0.0 $CLIENTDIR/ba/bin/libvixDiskLibVim.so.5
+	dosym libvixDiskLib.so.5.0.0 $CLIENTDIR/ba/bin/libvixDiskLib.so.5
+
+	fowners -R :tsm /opt/tivoli
+	fperms -R g+rX,o-rx /opt/tivoli # Allow only tsm group users to access TSM tools
+	fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
+
+	keepdir /var/log/tsm
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/tsm.logrotate" tsm
+
+	keepdir /etc/tivoli
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
+	echo '	 PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
+
+	# Added the hostname to be more friendly, the admin will need to edit this file anyway
+	echo '	 NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
+	echo '	 ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
+	dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
+	dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
+
+	# Setup the env
+	dodir /etc/env.d
+	ENV_FILE="${D}/etc/env.d/80tivoli"
+	echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
+	echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+	echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
+	echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+
+	newconfd "${FILESDIR}/dsmc.conf.d" dsmc
+	newinitd "${FILESDIR}/dsmc.init.d" dsmc
+	newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
+
+	elog
+	elog "Note that you have to be either root or member of the group tsm to"
+	elog "be able to use the Tivoli Storage Manager client."
+	elog
+
+}
+
+pkg_postinst() {
+	local i
+	for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
+		if [[ ! -e $i ]]; then
+			touch $i || die
+			chown :tsm $i || die
+			chmod 0660 $i || die
+		fi
+	done
+
+	# Bug #375041: the log directory itself should not be world writable.
+	# Have to do this in postinst due to bug #141619
+	chown root:tsm /var/log/tsm || die
+	chmod 0750 /var/log/tsm || die
+}
diff --git a/app-backup/tsm/tsm-6.4.0.0-r1.ebuild b/app-backup/tsm/tsm-6.4.0.0-r1.ebuild
index d8d6afa..4af8b46 100644
--- a/app-backup/tsm/tsm-6.4.0.0-r1.ebuild
+++ b/app-backup/tsm/tsm-6.4.0.0-r1.ebuild
@@ -35,7 +35,7 @@
 	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
 
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 -*"
 IUSE="acl java +tsm_cit +tsm_hw"
 QA_PREBUILT="*"
 
diff --git a/app-backup/tsm/tsm-6.4.2.3.ebuild b/app-backup/tsm/tsm-6.4.2.3.ebuild
new file mode 100644
index 0000000..4af8b46
--- /dev/null
+++ b/app-backup/tsm/tsm-6.4.2.3.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator multilib eutils rpm user
+
+DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
+HOMEPAGE="http://www.tivoli.com/"
+
+MY_PV_MAJOR=$(get_major_version)
+MY_PV_MINOR=$(get_version_component_range 2)
+MY_PV_TINY=$(get_version_component_range 3)
+MY_PV_PATCH=$(get_version_component_range 4)
+
+MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
+MY_PVR_ALLDOTS=${PV}
+
+if [[ ${MY_PV_PATCH} == 0 ]]; then
+	MY_RELEASE_PATH=maintenance
+else
+	MY_RELEASE_PATH=patches
+fi
+BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
+BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
+BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
+SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
+SRC_URI="${BASE_URI}${SRC_TAR}"
+
+RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
+LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
+	dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
+	ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
+	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
+
+SLOT="0"
+KEYWORDS="~amd64 -*"
+IUSE="acl java +tsm_cit +tsm_hw"
+QA_PREBUILT="*"
+
+MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT
+	ja:JA_JP ko:KO_KR pl:PL_PL pt:PT_BR ru:RU_RU zh:ZH_CN zh_TW:ZH_TW"
+MY_LANG_PV="${MY_PVR_ALLDOTS}-"
+for lang in ${MY_LANGS}; do
+	IUSE="${IUSE} linguas_${lang%:*}"
+	SRC_URI="${SRC_URI} linguas_${lang%:*}? ( \
+${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
+${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
+done
+unset lang
+
+DEPEND=""
+RDEPEND="dev-libs/expat
+	dev-libs/libxml2
+	=sys-fs/fuse-2*
+	acl? ( sys-apps/acl )
+	java? ( virtual/jre:1.6 )"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+	enewgroup tsm
+}
+
+src_unpack() {
+	local rpm rpms lang
+	unpack ${SRC_TAR}
+
+	for rpm in *.rpm; do
+		case ${rpm} in
+			TIVsm-APIcit.*|TIVsm-BAcit.*)
+				use tsm_cit && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-BAhdw.*)
+				use tsm_hw && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-JBB.*|*-filepath-*)
+				# "journal based backup" for all filesystems
+				# requires a kernel module.
+				# "Linux Filepath source code" available
+				# by request from vendor
+				;;
+			*)
+				rpms="${rpms} ./${rpm}"
+				;;
+		esac
+	done
+	for rpm in ${A}; do
+		case ${rpm} in
+			*.rpm)
+				rpms="${rpms} ${rpm}"
+				;;
+		esac
+	done
+
+	rpm_unpack ${rpms}
+
+	# Avoid strange error messages caused by read-only files
+	chmod -R u+w "${S}" || die
+}
+
+src_prepare() {
+	# Avoid unnecessary dependency on ksh
+	sed -i 's:^#!/usr/bin/ksh:#!/bin/bash:' \
+		opt/tivoli/tsm/client/ba/bin/dsmj || die
+}
+
+src_install() {
+	cp -a opt "${D}" || die
+	cp -a usr "${D}" || die
+
+	# The RPM files contain postinstall scripts which can be extracted
+	# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
+	# Below we try to mimic the behaviour of these scripts.
+	# We don't deal with SELinux compliance (yet), though.
+	local RPM_INSTALL_PREFIX CLIENTDIR i
+	RPM_INSTALL_PREFIX=/opt
+	CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
+
+	# We don't bother setting timestamps to build dates.
+	# But we should delete the corresponding files.
+	rm -f "${D}"$CLIENTDIR/api/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/ba/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/lang/.buildDate || die
+
+	# Create links for messages; this is spread over several postin scripts.
+	for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
+		dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
+		dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
+	done
+
+	# Mimic TIVsm-API64 postinstall script
+	for i in libgpfs.so libdmapi.so; do
+		dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
+	done
+
+	# Mimic TIVsm-BA postinstall script
+	# Create a link to libexpat if needed
+	if [ ! -e "${ROOT}"/usr/lib64/libexpat.so.0 -a -e "${ROOT}"/usr/lib64/libexpat.so.1 ]
+	then
+		dosym /usr/lib64/libexpat.so.1 $CLIENTDIR/ba/bin/libexpat.so.0
+	fi
+
+	# The gscrypt64 postinstall script only deals with s390[x] SELinux.
+
+	# Move stuff from /usr/local to /opt, #452332
+	mv "${D}"/usr/local/ibm "${D}"/opt/ || die
+	rmdir "${D}"/usr/local || die
+
+	# Mimic gskssl64 postinstall script
+	for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
+		dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
+			/usr/lib64/libgsk8${i}_64.so
+	done
+	for i in capicmd ver; do
+		dosym ../local/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/${i}_64
+	done
+
+	# Done with the postinstall scripts as the RPMs contain them.
+	# Now on to some more Gentoo-specific installation.
+
+	[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
+
+	# Avoid "QA Notice: Found an absolute symlink in a library directory"
+	local target
+	find "${D}"usr/lib* -lname '/*' | while read i; do
+		target=$(readlink "${i}")
+		rm -v "${i}" || die
+		dosym "../..${target}" "${i#${D}}"
+	done
+
+	# Install symlinks for sonames of libraries, bug #416503
+	dosym libvixMntapi.so.1.1.0 $CLIENTDIR/ba/bin/libvixMntapi.so.1
+	dosym libvixDiskLibVim.so.5.0.0 $CLIENTDIR/ba/bin/libvixDiskLibVim.so.5
+	dosym libvixDiskLib.so.5.0.0 $CLIENTDIR/ba/bin/libvixDiskLib.so.5
+
+	fowners -R :tsm /opt/tivoli
+	fperms -R g+rX,o-rx /opt/tivoli # Allow only tsm group users to access TSM tools
+	fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
+
+	keepdir /var/log/tsm
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/tsm.logrotate" tsm
+
+	keepdir /etc/tivoli
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
+	echo '	 PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
+
+	# Added the hostname to be more friendly, the admin will need to edit this file anyway
+	echo '	 NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
+	echo '	 ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
+	dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
+	dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
+
+	# Setup the env
+	dodir /etc/env.d
+	ENV_FILE="${D}/etc/env.d/80tivoli"
+	echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
+	echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+	echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
+	echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+
+	newconfd "${FILESDIR}/dsmc.conf.d" dsmc
+	newinitd "${FILESDIR}/dsmc.init.d" dsmc
+	newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
+
+	elog
+	elog "Note that you have to be either root or member of the group tsm to"
+	elog "be able to use the Tivoli Storage Manager client."
+	elog
+
+}
+
+pkg_postinst() {
+	local i
+	for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
+		if [[ ! -e $i ]]; then
+			touch $i || die
+			chown :tsm $i || die
+			chmod 0660 $i || die
+		fi
+	done
+
+	# Bug #375041: the log directory itself should not be world writable.
+	# Have to do this in postinst due to bug #141619
+	chown root:tsm /var/log/tsm || die
+	chmod 0750 /var/log/tsm || die
+}
diff --git a/app-backup/tsm/tsm-7.1.0.0-r1.ebuild b/app-backup/tsm/tsm-7.1.0.0-r1.ebuild
index 9cf6102..06b5839 100644
--- a/app-backup/tsm/tsm-7.1.0.0-r1.ebuild
+++ b/app-backup/tsm/tsm-7.1.0.0-r1.ebuild
@@ -35,7 +35,7 @@
 	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
 
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 -*"
 IUSE="acl java +tsm_cit +tsm_hw"
 QA_PREBUILT="*"
 
diff --git a/app-backup/tsm/tsm-7.1.2.0.ebuild b/app-backup/tsm/tsm-7.1.2.0.ebuild
index 7bdbe85..a7ec829 100644
--- a/app-backup/tsm/tsm-7.1.2.0.ebuild
+++ b/app-backup/tsm/tsm-7.1.2.0.ebuild
@@ -35,7 +35,7 @@
 	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
 
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 -*"
 IUSE="acl java +tsm_cit +tsm_hw"
 QA_PREBUILT="*"
 
diff --git a/app-backup/tsm/tsm-7.1.2.3.ebuild b/app-backup/tsm/tsm-7.1.2.3.ebuild
new file mode 100644
index 0000000..06b5839
--- /dev/null
+++ b/app-backup/tsm/tsm-7.1.2.3.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator multilib eutils readme.gentoo rpm systemd user
+
+DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
+HOMEPAGE="http://www.tivoli.com/"
+
+MY_PV_MAJOR=$(get_major_version)
+MY_PV_MINOR=$(get_version_component_range 2)
+MY_PV_TINY=$(get_version_component_range 3)
+MY_PV_PATCH=$(get_version_component_range 4)
+
+MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
+MY_PVR_ALLDOTS=${PV}
+
+if [[ ${MY_PV_PATCH} == 0 ]]; then
+	MY_RELEASE_PATH=maintenance
+else
+	MY_RELEASE_PATH=patches
+fi
+BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
+BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
+BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
+SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
+SRC_URI="${BASE_URI}${SRC_TAR}"
+
+RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
+LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
+	dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
+	ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
+	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
+
+SLOT="0"
+KEYWORDS="~amd64 -*"
+IUSE="acl java +tsm_cit +tsm_hw"
+QA_PREBUILT="*"
+
+MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT
+	ja:JA_JP ko:KO_KR pl:PL_PL pt:PT_BR ru:RU_RU zh:ZH_CN zh_TW:ZH_TW"
+MY_LANG_PV="${MY_PVR_ALLDOTS}-"
+for lang in ${MY_LANGS}; do
+	IUSE="${IUSE} linguas_${lang%:*}"
+	SRC_URI="${SRC_URI} linguas_${lang%:*}? ( \
+${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
+${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
+done
+unset lang
+
+DEPEND=""
+RDEPEND="
+	dev-libs/expat
+	dev-libs/libxml2
+	=sys-fs/fuse-2*
+	acl? ( sys-apps/acl )
+	java? ( virtual/jre:1.7 )
+"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+	enewgroup tsm
+	DOC_CONTENTS="
+		Note that you have to be either root or member of the group tsm to
+		be able to use the Tivoli Storage Manager client."
+}
+
+src_unpack() {
+	local rpm rpms lang
+	unpack ${SRC_TAR}
+
+	for rpm in *.rpm; do
+		case ${rpm} in
+			TIVsm-APIcit.*|TIVsm-BAcit.*)
+				use tsm_cit && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-BAhdw.*)
+				use tsm_hw && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-JBB.*|*-filepath-*)
+				# "journal based backup" for all filesystems
+				# requires a kernel module.
+				# "Linux Filepath source code" available
+				# by request from vendor
+				;;
+			*)
+				rpms="${rpms} ./${rpm}"
+				;;
+		esac
+	done
+	for rpm in ${A}; do
+		case ${rpm} in
+			*.rpm)
+				rpms="${rpms} ${rpm}"
+				;;
+		esac
+	done
+
+	rpm_unpack ${rpms}
+
+	# Avoid strange error messages caused by read-only files
+	chmod -R u+w "${S}" || die
+}
+
+src_prepare() {
+	# Avoid unnecessary dependency on ksh
+	sed -i 's:^#!/usr/bin/ksh:#!/bin/bash:' \
+		opt/tivoli/tsm/client/ba/bin/dsmj || die
+}
+
+src_install() {
+	cp -a opt "${D}" || die
+	cp -a usr "${D}" || die
+
+	# The RPM files contain postinstall scripts which can be extracted
+	# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
+	# Below we try to mimic the behaviour of these scripts.
+	# We don't deal with SELinux compliance (yet), though.
+	local RPM_INSTALL_PREFIX CLIENTDIR i
+	RPM_INSTALL_PREFIX=/opt
+	CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
+
+	# We don't bother setting timestamps to build dates.
+	# But we should delete the corresponding files.
+	rm -f "${D}"$CLIENTDIR/api/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/ba/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/lang/.buildDate || die
+
+	# Create links for messages; this is spread over several postin scripts.
+	for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
+		dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
+		dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
+	done
+
+	# Mimic TIVsm-API64 postinstall script
+	for i in libgpfs.so libdmapi.so; do
+		dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
+	done
+
+	# The TIVsm-BA postinstall script only does messages and ancient upgrades
+
+	# The gscrypt64 postinstall script only deals with s390[x] SELinux
+	# and the symlink for the iccs library which we handle in the loop below.
+
+	# Move stuff from /usr/local to /opt, #452332
+	mv "${D}"/usr/local/ibm "${D}"/opt/ || die
+	rmdir "${D}"/usr/local || die
+
+	# Mimic gskssl64 postinstall script
+	for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
+		dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
+			/usr/lib64/libgsk8${i}_64.so
+	done
+	for i in capicmd ver; do
+		dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
+	done
+
+	# Done with the postinstall scripts as the RPMs contain them.
+	# Now on to some more Gentoo-specific installation.
+
+	[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
+
+	# Avoid "QA Notice: Found an absolute symlink in a library directory"
+	local target
+	find "${D}"usr/lib* -lname '/*' | while read i; do
+		target=$(readlink "${i}")
+		rm -v "${i}" || die
+		dosym "../..${target}" "${i#${D}}"
+	done
+
+	# Install symlinks for sonames of libraries, bug #416503
+	dosym libvixMntapi.so.1.1.0 $CLIENTDIR/ba/bin/libvixMntapi.so.1
+	dosym libvixDiskLibVim.so.5.5.0 $CLIENTDIR/ba/bin/libvixDiskLibVim.so.5
+	dosym libvixDiskLib.so.5.5.0 $CLIENTDIR/ba/bin/libvixDiskLib.so.5
+
+	fowners :tsm /opt/tivoli/tsm/client/ba/bin/dsmtca
+	fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
+
+	keepdir /var/log/tsm
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/tsm.logrotate" tsm
+
+	keepdir /etc/tivoli
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
+	echo '	 PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
+
+	# Added the hostname to be more friendly, the admin will need to edit this file anyway
+	echo '	 NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
+	echo '	 ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
+	dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
+	dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
+
+	# Setup the env
+	dodir /etc/env.d
+	ENV_FILE="${D}/etc/env.d/80tivoli"
+	echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
+	echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+	echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
+	echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+
+	newconfd "${FILESDIR}/dsmc.conf.d" dsmc
+	newinitd "${FILESDIR}/dsmc.init.d" dsmc
+	newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
+
+	systemd_dounit "${FILESDIR}/dsmc.service"
+	systemd_dounit "${FILESDIR}/dsmcad.service"
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	local i dirs
+	for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
+		if [[ ! -e $i ]]; then
+			touch $i || die
+			chown :tsm $i || die
+			chmod 0660 $i || die
+		fi
+	done
+
+	# Bug #375041: the log directory itself should not be world writable.
+	# Have to do this in postinst due to bug #141619
+	chown root:tsm /var/log/tsm || die
+	chmod 0750 /var/log/tsm || die
+
+	# Bug 508052: directories used to be too restrictive, have to widen perms.
+	dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
+	chown root:root "${dirs[@]}" || die
+	chmod 0755 "${dirs[@]}" || die
+
+	readme.gentoo_print_elog
+}
diff --git a/app-backup/tsm/tsm-7.1.3.1.ebuild b/app-backup/tsm/tsm-7.1.3.1.ebuild
new file mode 100644
index 0000000..a3d55d1
--- /dev/null
+++ b/app-backup/tsm/tsm-7.1.3.1.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator multilib eutils readme.gentoo rpm systemd user
+
+DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
+HOMEPAGE="http://www.tivoli.com/"
+
+MY_PV_MAJOR=$(get_major_version)
+MY_PV_MINOR=$(get_version_component_range 2)
+MY_PV_TINY=$(get_version_component_range 3)
+MY_PV_PATCH=$(get_version_component_range 4)
+
+MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
+MY_PVR_ALLDOTS=${PV}
+
+if [[ ${MY_PV_PATCH} == 0 ]]; then
+	MY_RELEASE_PATH=maintenance
+else
+	MY_RELEASE_PATH=patches
+fi
+BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
+BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
+BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
+SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
+SRC_URI="${BASE_URI}${SRC_TAR}"
+
+RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
+LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
+	dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
+	ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
+	|| ( BSD GPL-2+ ) gSOAP libpng tsm"
+
+SLOT="0"
+KEYWORDS="~amd64 -*"
+IUSE="acl java +tsm_cit +tsm_hw"
+QA_PREBUILT="*"
+
+# not available (yet?)
+#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT
+#	ja:JA_JP ko:KO_KR pl:PL_PL pt:PT_BR ru:RU_RU zh:ZH_CN zh_TW:ZH_TW"
+MY_LANG_PV="${MY_PVR_ALLDOTS}-"
+for lang in ${MY_LANGS}; do
+	IUSE="${IUSE} linguas_${lang%:*}"
+	SRC_URI="${SRC_URI} linguas_${lang%:*}? ( \
+${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
+${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
+done
+unset lang
+
+DEPEND=""
+RDEPEND="
+	dev-libs/expat
+	dev-libs/libxml2
+	=sys-fs/fuse-2*
+	acl? ( sys-apps/acl )
+	java? ( virtual/jre:1.7 )
+"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+	enewgroup tsm
+	DOC_CONTENTS="
+		Note that you have to be either root or member of the group tsm to
+		be able to use the Tivoli Storage Manager client."
+}
+
+src_unpack() {
+	local rpm rpms lang
+	unpack ${SRC_TAR}
+
+	for rpm in *.rpm; do
+		case ${rpm} in
+			TIVsm-APIcit.*|TIVsm-BAcit.*)
+				use tsm_cit && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-BAhdw.*)
+				use tsm_hw && rpms="${rpms} ./${rpm}"
+				;;
+			TIVsm-JBB.*|*-filepath-*)
+				# "journal based backup" for all filesystems
+				# requires a kernel module.
+				# "Linux Filepath source code" available
+				# by request from vendor
+				;;
+			*)
+				rpms="${rpms} ./${rpm}"
+				;;
+		esac
+	done
+	for rpm in ${A}; do
+		case ${rpm} in
+			*.rpm)
+				rpms="${rpms} ${rpm}"
+				;;
+		esac
+	done
+
+	rpm_unpack ${rpms}
+
+	# Avoid strange error messages caused by read-only files
+	chmod -R u+w "${S}" || die
+}
+
+src_prepare() {
+	# Avoid unnecessary dependency on ksh
+	sed -i 's:^#!/usr/bin/ksh:#!/bin/bash:' \
+		opt/tivoli/tsm/client/ba/bin/dsmj || die
+}
+
+src_install() {
+	cp -a opt "${D}" || die
+	cp -a usr "${D}" || die
+
+	# The RPM files contain postinstall scripts which can be extracted
+	# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
+	# Below we try to mimic the behaviour of these scripts.
+	# We don't deal with SELinux compliance (yet), though.
+	local RPM_INSTALL_PREFIX CLIENTDIR i
+	RPM_INSTALL_PREFIX=/opt
+	CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
+
+	# We don't bother setting timestamps to build dates.
+	# But we should delete the corresponding files.
+	rm -f "${D}"$CLIENTDIR/api/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/ba/bin*/.buildDate || die
+	rm -f "${D}"$CLIENTDIR/lang/.buildDate || die
+
+	# Create links for messages; this is spread over several postin scripts.
+	for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
+		dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
+		dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
+	done
+
+	# Mimic TIVsm-API64 postinstall script
+	for i in libgpfs.so libdmapi.so; do
+		dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
+	done
+
+	# The TIVsm-BA postinstall script only does messages and ancient upgrades
+
+	# The gscrypt64 postinstall script only deals with s390[x] SELinux
+	# and the symlink for the iccs library which we handle in the loop below.
+
+	# Move stuff from /usr/local to /opt, #452332
+	mv "${D}"/usr/local/ibm "${D}"/opt/ || die
+	rmdir "${D}"/usr/local || die
+
+	# Mimic gskssl64 postinstall script
+	for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
+		dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
+			/usr/lib64/libgsk8${i}_64.so
+	done
+	for i in capicmd ver; do
+		dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
+	done
+
+	# Done with the postinstall scripts as the RPMs contain them.
+	# Now on to some more Gentoo-specific installation.
+
+	[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
+
+	# Avoid "QA Notice: Found an absolute symlink in a library directory"
+	local target
+	find "${D}"usr/lib* -lname '/*' | while read i; do
+		target=$(readlink "${i}")
+		rm -v "${i}" || die
+		dosym "../..${target}" "${i#${D}}"
+	done
+
+	# Install symlinks for sonames of libraries, bug #416503
+	dosym libvixMntapi.so.1.1.0 $CLIENTDIR/ba/bin/libvixMntapi.so.1
+	dosym libvixDiskLibVim.so.5.5.0 $CLIENTDIR/ba/bin/libvixDiskLibVim.so.5
+	dosym libvixDiskLib.so.5.5.0 $CLIENTDIR/ba/bin/libvixDiskLib.so.5
+
+	fowners :tsm /opt/tivoli/tsm/client/ba/bin/dsmtca
+	fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
+
+	keepdir /var/log/tsm
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/tsm.logrotate" tsm
+
+	keepdir /etc/tivoli
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
+	echo '	 PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
+
+	# Added the hostname to be more friendly, the admin will need to edit this file anyway
+	echo '	 NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
+	echo '	 ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
+	echo '	 SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
+	dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
+
+	cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
+	dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
+
+	# Setup the env
+	dodir /etc/env.d
+	ENV_FILE="${D}/etc/env.d/80tivoli"
+	echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
+	echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+	echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
+	echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
+
+	newconfd "${FILESDIR}/dsmc.conf.d" dsmc
+	newinitd "${FILESDIR}/dsmc.init.d" dsmc
+	newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
+
+	systemd_dounit "${FILESDIR}/dsmc.service"
+	systemd_dounit "${FILESDIR}/dsmcad.service"
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	local i dirs
+	for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
+		if [[ ! -e $i ]]; then
+			touch $i || die
+			chown :tsm $i || die
+			chmod 0660 $i || die
+		fi
+	done
+
+	# Bug #375041: the log directory itself should not be world writable.
+	# Have to do this in postinst due to bug #141619
+	chown root:tsm /var/log/tsm || die
+	chmod 0750 /var/log/tsm || die
+
+	# Bug 508052: directories used to be too restrictive, have to widen perms.
+	dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
+	chown root:root "${dirs[@]}" || die
+	chmod 0755 "${dirs[@]}" || die
+
+	readme.gentoo_print_elog
+}
diff --git a/app-cdr/cdrkit/cdrkit-1.1.11-r1.ebuild b/app-cdr/cdrkit/cdrkit-1.1.11-r1.ebuild
deleted file mode 100644
index ec586da..0000000
--- a/app-cdr/cdrkit/cdrkit-1.1.11-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-inherit cmake-utils eutils
-
-DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord"
-HOMEPAGE="http://cdrkit.org"
-SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}.orig.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~arm-linux ~x86-linux"
-IUSE="debug hfs unicode"
-
-RDEPEND="app-arch/bzip2
-	!app-cdr/cdrtools
-	media-sound/cdparanoia
-	sys-apps/file
-	sys-libs/zlib
-	unicode? ( virtual/libiconv )
-	kernel_linux? ( sys-libs/libcap )"
-DEPEND="${RDEPEND}
-	hfs? ( sys-apps/file )"
-
-src_prepare() {
-	epatch \
-		"${FILESDIR}"/${P}-paranoiacdda.patch \
-		"${FILESDIR}"/${P}-cmakewarn.patch
-
-	echo '.so wodim.1' > ${T}/cdrecord.1
-	echo '.so genisoimage.1' > ${T}/mkisofs.1
-	echo '.so icedax.1' > ${T}/cdda2wav.1
-	echo '.so readom.1' > ${T}/readcd.1
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	dosym wodim /usr/bin/cdrecord
-	dosym genisoimage /usr/bin/mkisofs
-	dosym icedax /usr/bin/cdda2wav
-	dosym readom /usr/bin/readcd
-
-	dodoc ABOUT Changelog FAQ FORK TODO doc/{PORTABILITY,WHY}
-
-	local x
-	for x in genisoimage plattforms wodim icedax; do
-		docinto ${x}
-		dodoc doc/${x}/*
-	done
-
-	insinto /etc
-	newins wodim/wodim.dfl wodim.conf
-	newins netscsid/netscsid.dfl netscsid.conf
-
-	insinto /usr/include/scsilib
-	doins include/*.h
-	insinto /usr/include/scsilib/usal
-	doins include/usal/*.h
-	dosym usal /usr/include/scsilib/scg
-
-	doman "${T}"/*.1
-}
diff --git a/app-cdr/cdrkit/cdrkit-1.1.11.ebuild b/app-cdr/cdrkit/cdrkit-1.1.11.ebuild
deleted file mode 100644
index b1e6dc3..0000000
--- a/app-cdr/cdrkit/cdrkit-1.1.11.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=3
-inherit cmake-utils
-
-DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord"
-HOMEPAGE="http://cdrkit.org"
-SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}.orig.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd"
-IUSE="debug hfs unicode"
-
-RDEPEND="app-arch/bzip2
-	!app-cdr/cdrtools
-	sys-apps/file
-	sys-libs/zlib
-	unicode? ( virtual/libiconv )
-	kernel_linux? ( sys-libs/libcap )"
-DEPEND="${RDEPEND}
-	hfs? ( sys-apps/file )"
-
-src_prepare() {
-	echo '.so wodim.1' > ${T}/cdrecord.1
-	echo '.so genisoimage.1' > ${T}/mkisofs.1
-	echo '.so icedax.1' > ${T}/cdda2wav.1
-	echo '.so readom.1' > ${T}/readcd.1
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	dosym wodim /usr/bin/cdrecord || die
-	dosym genisoimage /usr/bin/mkisofs || die
-	dosym icedax /usr/bin/cdda2wav || die
-	dosym readom /usr/bin/readcd || die
-
-	dodoc ABOUT Changelog FAQ FORK TODO doc/{PORTABILITY,WHY}
-
-	local x
-	for x in genisoimage plattforms wodim icedax; do
-		docinto ${x}
-		dodoc doc/${x}/*
-	done
-
-	insinto /etc
-	newins wodim/wodim.dfl wodim.conf || die
-	newins netscsid/netscsid.dfl netscsid.conf || die
-
-	insinto /usr/include/scsilib
-	doins include/*.h || die
-	insinto /usr/include/scsilib/usal
-	doins include/usal/*.h || die
-	dosym usal /usr/include/scsilib/scg || die
-
-	doman "${T}"/*.1
-}
diff --git a/app-cdr/cdrkit/files/cdrkit-1.1.11-paranoiacdda.patch b/app-cdr/cdrkit/files/cdrkit-1.1.11-paranoiacdda.patch
deleted file mode 100644
index 5455ced..0000000
--- a/app-cdr/cdrkit/files/cdrkit-1.1.11-paranoiacdda.patch
+++ /dev/null
@@ -1,554 +0,0 @@
-http://bugs.gentoo.org/206939
-
-http://pkgs.fedoraproject.org/cgit/cdrkit.git/tree/cdrkit-1.1.11-paranoiacdda.patch modified because
-we install headers to $includedir instead of $includedir/cdda
-
---- CMakeLists.txt
-+++ CMakeLists.txt
-@@ -1,3 +1,3 @@
- PROJECT (cdrkit C)
--SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
-+SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
- 
---- icedax/CMakeLists.txt
-+++ icedax/CMakeLists.txt
-@@ -1,8 +1,9 @@
- PROJECT (icedax C)
--INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
-+INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
- include(../include/AddScgBits.cmake)
- include(../include/AddSchilyBits.cmake)
- include(../include/AddNetworkBits.cmake)
-+INCLUDE (CheckLibraryExists) 
- 
- FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h)
- IF(HAVE_SYS_SOUNDCARD_H)
-@@ -18,12 +19,20 @@ IF(HAVE_LIBOSSAUDIO)
-    LIST(APPEND EXTRA_LIBS "ossaudio")
- ENDIF(HAVE_LIBOSSAUDIO)
- 
--LIST(APPEND EXTRA_LIBS  paranoia)
-+CHECK_INCLUDE_FILES(cdda_interface.h HAVE_CDDA_INTERFACE_H)
-+CHECK_LIBRARY_EXISTS (cdda_paranoia paranoia_init "" HAVE_LIBPARANOIA)
-+IF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
-+   LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface)
-+ELSE(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
-+   MESSAGE(FATAL_ERROR "You need cdparanoia library installed")
-+ENDIF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
-+	
-+LIST(APPEND EXTRA_LIBS)
- IF (WIN32)
- 	LIST(APPEND EXTRA_LIBS winmm)
- ENDIF (WIN32)
- 
--LINK_DIRECTORIES(../librols ../libusal  ../libparanoia)
-+LINK_DIRECTORIES(../librols ../libusal)
- ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c)
- TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS})
- SET_TARGET_PROPERTIES(icedax PROPERTIES  SKIP_BUILD_RPATH TRUE)
---- icedax/global.h
-+++ icedax/global.h
-@@ -17,7 +17,8 @@
- #include "md5.h"
- #endif
- #ifdef	USE_PARANOIA
--#include "cdda_paranoia.h"
-+#include <cdda_interface.h>
-+#include <cdda_paranoia.h>
- #endif
- 
- typedef struct index_list
-@@ -102,10 +103,10 @@ typedef struct global
- 
- 	struct paranoia_parms_t
- 	{
--	        Ucbit	disable_paranoia:1;
--	        Ucbit	disable_extra_paranoia:1;
--	        Ucbit	disable_scratch_detect:1;
--	        Ucbit	disable_scratch_repair:1;
-+	        char	disable_paranoia:1;
-+	        char	disable_extra_paranoia:1;
-+	        char	disable_scratch_detect:1;
-+	        char	disable_scratch_repair:1;
- 		int	retries;
- 		int	overlap;
- 		int	mindynoverlap;
---- icedax/icedax.c
-+++ icedax/icedax.c
-@@ -120,6 +120,10 @@
- #ifdef	USE_LAME
- #include "mp3.h"	/* mp3 file handling */
- #endif
-+#ifdef	USE_PARANOIA
-+#include <cdda_interface.h>
-+#include <cdda_paranoia.h>
-+#endif
- #include "interface.h"  /* low level cdrom interfacing */
- #include "icedax.h"
- #include "resample.h"
-@@ -128,9 +132,6 @@
- #include "ringbuff.h"
- #include "global.h"
- #include "exitcodes.h"
--#ifdef	USE_PARANOIA
--#include "cdda_paranoia.h"
--#endif
- #include "defaults.h"
- 
- static void RestrictPlaybackRate(long newrate);
-@@ -800,7 +801,7 @@ static void init_globals()
-   global.useroverlap = -1;      /* amount of overlapping sectors user override */
-   global.need_hostorder = 0;	/* processing needs samples in host endianess */
-   global.in_lendian = -1;	/* input endianess from SetupSCSI() */
--  global.outputendianess = NONE; /* user specified output endianess */
-+  global.outputendianess = NONE_EN; /* user specified output endianess */
-   global.findminmax  =  0;	/* flag find extrem amplitudes */
- #ifdef HAVE_LIMITS_H
-   global.maxamp[0] = INT_MIN;	/* maximum amplitude */
-@@ -2418,7 +2419,7 @@ Rate   Divider      Rate   Divider
-   if (bulk == -1) bulk = 0;
- 
-   global.need_big_endian = global.audio_out->need_big_endian;
--  if (global.outputendianess != NONE)
-+  if (global.outputendianess != NONE_EN)
-     global.need_big_endian = global.outputendianess == BIG;
- 
-   if (global.no_file) global.fname_base[0] = '\0';
-@@ -2602,7 +2603,7 @@ Rate   Divider      Rate   Divider
-     fputs( ", soundcard", stderr );
- #endif
- #if defined USE_PARANOIA
--    fputs( ", libparanoia", stderr );
-+    fputs( ", libcdda_paranoia", stderr );
- #endif
-     fputs( " support\n", stderr );
-   }
-@@ -2892,8 +2893,28 @@ Rate   Divider      Rate   Divider
- #ifdef	USE_PARANOIA
- 	if (global.paranoia_selected) {
- 		long paranoia_mode;
-+		cdrom_drive *tmpdrive;
-+		usal_close(get_scsi_p());
- 
--		global.cdp = paranoia_init(get_scsi_p(), global.nsectors);
-+		tmpdrive = cdda_identify(global.dev_name, 0, NULL);
-+		if (!tmpdrive)
-+		{
-+			fputs("Can't identify disc\n", stderr);
-+                	return 1;
-+		}
-+
-+		if(global.nsectors)
-+		{
-+		  tmpdrive->nsectors = global.nsectors;
-+		  tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
-+		}
-+		if (cdda_open(tmpdrive) != 0)
-+		{
-+		  fputs("Can't open disc\n", stderr);
-+		  cdda_close(tmpdrive);
-+		  return 1;
-+		}
-+		global.cdp = paranoia_init(tmpdrive);
- 
- 		if (global.paranoia_parms.overlap >= 0) {
- 			int	overlap = global.paranoia_parms.overlap;
-@@ -2902,17 +2923,7 @@ Rate   Divider      Rate   Divider
- 				overlap = global.nsectors - 1;
- 			paranoia_overlapset(global.cdp, overlap);
- 		}
--		/*
--		 * Default to a  minimum of dynamic overlapping == 0.5 sectors.
--		 * If we don't do this, we get the default from libparanoia
--		 * which is approx. 0.1.
--		 */
--		if (global.paranoia_parms.mindynoverlap < 0)
--			paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1);
--		paranoia_dynoverlapset(global.cdp,
--			global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS,
--			global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS);
--
-+	
- 		paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;
- 
- 		if (global.paranoia_parms.disable_paranoia) {
---- icedax/icedax.h
-+++ icedax/icedax.h
-@@ -41,7 +41,7 @@
- 
- /* Endianess */
- #define GUESS (-2)
--#define NONE (-1)
-+#define NONE_EN (-1)
- #define LITTLE 0
- #define BIG 1
- 
---- icedax/interface.c
-+++ icedax/interface.c
-@@ -116,7 +116,7 @@ int		(*Play_at)(SCSI *usalp, unsigned in
- int		(*StopPlay)(SCSI *usalp);
- void		(*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal);
- 
--#if	defined	USE_PARANOIA
-+#if	0 //defined	USE_PARANOIA
- long cdda_read(void *d, void *buffer, long beginsector, long sectors);
- 
- long cdda_read(void *d, void *buffer, long beginsector, long sectors)
---- icedax/toc.c
-+++ icedax/toc.c
-@@ -379,8 +379,7 @@ static void emit_cddb_form(char *fname_b
- static void emit_cdindex_form(char *fname_baseval);
- #endif
- 
--
--typedef struct TOC {	/* structure of table of contents (cdrom) */
-+typedef struct TOC_t {	/* structure of table of contents (cdrom) */
- 	unsigned char reserved1;
- 	unsigned char bFlags;
- 	unsigned char bTrack;
-@@ -391,8 +390,7 @@ typedef struct TOC {	/* structure of tab
- 	int frms;
- 	unsigned char ISRC[16];
- 	int	SCMS;
--} TOC;
--
-+} TOC_t;
- 
- /* Flags contains two fields:
-     bits 7-4 (ADR)
-@@ -432,7 +430,7 @@ struct iterator {
- 	int index;
- 	int startindex;
- 	void        (*reset)(struct iterator *this);
--	struct TOC *(*getNextTrack)(struct iterator *this);
-+	struct TOC_t *(*getNextTrack)(struct iterator *this);
- 	int         (*hasNextTrack)(struct iterator *this);
- };
- 
-@@ -518,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks)
- 		    InitIterator(&i, 1);
- 
- 	    while (i.hasNextTrack(&i)) {
--		    struct TOC *p = i.getNextTrack(&i);
-+		    struct TOC_t *p = i.getNextTrack(&i);
- 		    if (IS__AUDIO(p)) count_audio_tracks++;
- 	    }
- 
-@@ -733,7 +731,7 @@ static void emit_cddb_form(char *fname_b
-   fprintf( cddb_form, "# Track frame offsets:\n#\n");
- 
-   while (i.hasNextTrack(&i)) {
--	  struct TOC *p = i.getNextTrack(&i);
-+	  struct TOC_t *p = i.getNextTrack(&i);
- 	  if (GETTRACK(p) == CDROM_LEADOUT) break;
- 	  fprintf( cddb_form,
- 		   "# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
-@@ -765,7 +763,7 @@ static void emit_cddb_form(char *fname_b
- 
-   i.reset(&i);
-   while (i.hasNextTrack(&i)) {
--	  struct TOC *p = i.getNextTrack(&i);
-+	  struct TOC_t *p = i.getNextTrack(&i);
- 	  int ii;
- 
- 	  ii = GETTRACK(p);
-@@ -788,7 +786,7 @@ static void emit_cddb_form(char *fname_b
- 
-   i.reset(&i);
-   while (i.hasNextTrack(&i)) {
--	  struct TOC *p = i.getNextTrack(&i);
-+	  struct TOC_t *p = i.getNextTrack(&i);
- 	  int ii;
- 
- 	  ii = GETTRACK(p);
-@@ -1495,7 +1493,7 @@ static int IsSingleArtist(void)
- 	InitIterator(&i, 1);
- 
- 	while (i.hasNextTrack(&i)) {
--		struct TOC *p = i.getNextTrack(&i);
-+		struct TOC_t *p = i.getNextTrack(&i);
- 		int ii;
- 
- 		if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
-@@ -1681,7 +1679,7 @@ static void emit_cdindex_form(char *fnam
- 	 global.creator ? ascii2html(global.creator) : "");
- 
-     while (i.hasNextTrack(&i)) {
--	    struct TOC *p = i.getNextTrack(&i);
-+	    struct TOC_t *p = i.getNextTrack(&i);
- 	    int ii = GETTRACK(p);
- 
- 	    if (ii == CDROM_LEADOUT) break;
-@@ -1703,7 +1701,7 @@ static void emit_cdindex_form(char *fnam
-     fprintf( cdindex_form, "   <MultipleArtistCD>\n");
- 
-     while (i.hasNextTrack(&i)) {
--	    struct TOC *p = i.getNextTrack(&i);
-+	    struct TOC_t *p = i.getNextTrack(&i);
- 	    int ii = GETTRACK(p);
- 
- 	    if (ii == CDROM_LEADOUT) break;
-@@ -1942,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned
- 
- 	if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
- 	    && i.hasNextTrack(&i)) {
--		TOC *o = i.getNextTrack(&i);
-+		TOC_t *o = i.getNextTrack(&i);
- 		while (i.hasNextTrack(&i)) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 			int from;
- 			from = GETTRACK(o);
- 
-@@ -2072,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l
- 	count_audio_trks = 0;
- 
- 	if (i.hasNextTrack(&i)) {
--		TOC *o = i.getNextTrack(&i);
-+		TOC_t *o = i.getNextTrack(&i);
- 		while (i.hasNextTrack(&i)) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 			int from;
- 			from = GETTRACK(o);
- 
-@@ -2131,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l
- 	i.reset(&i);
- 	if ((global.verbose & SHOW_TOC) != 0 &&
- 		i.hasNextTrack(&i)) {
--		TOC *o = i.getNextTrack(&i);
-+		TOC_t *o = i.getNextTrack(&i);
- 
- 		for (; i.hasNextTrack(&i);) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 
- 			if ( GETTRACK(o) <= MAXTRK ) {
- 				unsigned char brace1, brace2;
-@@ -2189,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l
- 		ii = 0;
- 		i.reset(&i);
- 		if (i.hasNextTrack(&i)) {
--			TOC *o = i.getNextTrack(&i);
-+			TOC_t *o = i.getNextTrack(&i);
- 			for ( ; i.hasNextTrack(&i);) {
--				TOC *p = i.getNextTrack(&i);
-+				TOC_t *p = i.getNextTrack(&i);
- 				fprintf ( stderr,
- 					  " %2u.(%8u)",
- 					  GETTRACK(o),
-@@ -2248,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l
- 
- 		i.reset(&i);
- 		for ( ; i.hasNextTrack(&i);) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 			int jj = GETTRACK(p);
- 
- 			if ( global.tracktitle[jj] != NULL ) {
-@@ -2260,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l
- 		
- 		i.reset(&i);
- 		for ( ; i.hasNextTrack(&i); ) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 			int jj;
- 
- 			if (IS__DATA(p))
-@@ -2720,7 +2718,7 @@ void Read_MCN_ISRC(void)
- 		InitIterator(&i, 1);
- 
- 		while (i.hasNextTrack(&i)) {
--			struct TOC *p = i.getNextTrack(&i);
-+			struct TOC_t *p = i.getNextTrack(&i);
- 			unsigned ii = GETTRACK(p);
- 			
- 			if (ii == CDROM_LEADOUT) break;
-@@ -3155,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns
- 
- 
-   while (i.hasNextTrack(&i)) {
--	  struct TOC *p = i.getNextTrack(&i);
-+	  struct TOC_t *p = i.getNextTrack(&i);
- 	  unsigned ii = GETTRACK(p);
- 
- 	  if ( ii < starttrack || IS__DATA(p) )
-@@ -3322,7 +3320,7 @@ unsigned char *Get_MCN(void)
- }
- 
- 
--static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
-+static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
- 
- /*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/
- 
-@@ -3397,10 +3395,10 @@ static int patch_cd_extra(unsigned track
- 
- static int restrict_tracks_illleadout(void)
- {
--	struct TOC *o = &g_toc[cdtracks+1];
-+	struct TOC_t *o = &g_toc[cdtracks+1];
- 	int i;
- 	for (i = cdtracks; i >= 0; i--) {
--		struct TOC *p = &g_toc[i];
-+		struct TOC_t *p = &g_toc[i];
- 		if (GETSTART(o) > GETSTART(p)) break;
- 	}
- 	patch_cd_extra(i+1, GETSTART(o));
-@@ -3523,7 +3521,7 @@ static void it_reset(struct iterator *th
- 
- 
- static int it_hasNextTrack(struct iterator *this);
--static struct TOC *it_getNextTrack(struct iterator *this);
-+static struct TOC_t *it_getNextTrack(struct iterator *this);
- 
- static int it_hasNextTrack(struct iterator *this)
- {
-@@ -3532,7 +3530,7 @@ static int it_hasNextTrack(struct iterat
- 
- 
- 
--static struct TOC *it_getNextTrack(struct iterator *this)
-+static struct TOC_t *it_getNextTrack(struct iterator *this)
- {
- 	/* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
- 	if ( this->index > (int)cdtracks+1 ) return NULL;
-@@ -3583,7 +3581,7 @@ long Get_AudioStartSector(unsigned long
- 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 
- 		if (GETTRACK(p) == p_track) {
- 			if (IS__DATA(p)) {
-@@ -3613,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra
- 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 
- 		if (GETTRACK(p) == p_track) {
- 			return GETSTART(p);
-@@ -3637,7 +3635,7 @@ long Get_EndSector(unsigned long p_track
- 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 		if (GETTRACK(p) == p_track) {
- 			p = i.getNextTrack(&i);
- 			if (p == NULL) {
-@@ -3669,7 +3667,7 @@ long FirstAudioTrack(void)
- 	else i.reset(&i);
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 		unsigned ii = GETTRACK(p);
- 
- 		if (ii == CDROM_LEADOUT) break;
-@@ -3687,7 +3685,7 @@ long FirstDataTrack(void)
- 	else i.reset(&i);
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 		if (IS__DATA(p)) {
- 			return GETTRACK(p);
- 		}
-@@ -3708,7 +3706,7 @@ long LastAudioTrack(void)
- 	else i.reset(&i);
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 		if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
- 			j = GETTRACK(p);
- 		}
-@@ -3730,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_
- 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 
- 		if (GETTRACK(p) < p_track)
- 			continue;
-@@ -3749,9 +3747,9 @@ int Get_Track(unsigned long sector)
- 	else i.reset(&i);
- 
- 	if (i.hasNextTrack(&i)) {
--		TOC *o = i.getNextTrack(&i);
-+		TOC_t *o = i.getNextTrack(&i);
- 		while (i.hasNextTrack(&i)) {
--			TOC *p = i.getNextTrack(&i);
-+			TOC_t *p = i.getNextTrack(&i);
- 			if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
- 				if (IS__DATA(o)) {
- 					return -1;
-@@ -3772,7 +3770,7 @@ int CheckTrackrange(unsigned long from,
- 	else i.reset(&i);
- 
- 	while (i.hasNextTrack(&i)) {
--		TOC *p = i.getNextTrack(&i);
-+		TOC_t *p = i.getNextTrack(&i);
- 
- 		if (GETTRACK(p) < from)
- 			continue;
-@@ -3788,54 +3786,3 @@ int CheckTrackrange(unsigned long from,
- 	return 0;
- }
- 
--#ifdef	USE_PARANOIA
--long cdda_disc_firstsector(void *d);
--
--long cdda_disc_firstsector(void *d)
--{
--	return Get_StartSector(FirstAudioTrack());
--}
--
--int cdda_tracks(void *d);
--
--int cdda_tracks(void *d)
--{
--	return LastAudioTrack() - FirstAudioTrack() +1;
--}
--
--int cdda_track_audiop(void *d, int track);
--
--int cdda_track_audiop(void *d, int track)
--{
--	return Get_Datatrack(track) == 0;
--}
--
--long cdda_track_firstsector(void *d, int track);
--
--long cdda_track_firstsector(void *d, int track)
--{
--	return Get_AudioStartSector(track);
--}
--
--long cdda_track_lastsector(void *d, int track);
--
--long cdda_track_lastsector(void *d, int track)
--{
--	return Get_EndSector(track);
--}
--
--long cdda_disc_lastsector(void *d);
--
--long cdda_disc_lastsector(void *d)
--{
--	return Get_LastSectorOnCd(cdtracks) - 1;
--}
--
--int cdda_sector_gettrack(void *d,long sector);
--
--int cdda_sector_gettrack(void *d, long sector)
--{
--	return Get_Track(sector);
--}
--
--#endif
diff --git a/app-cdr/nero/nero-4.0.0.0b-r1.ebuild b/app-cdr/nero/nero-4.0.0.0b-r1.ebuild
new file mode 100644
index 0000000..a87e4c1
--- /dev/null
+++ b/app-cdr/nero/nero-4.0.0.0b-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils fdo-mime rpm multilib gnome2-utils linux-info
+
+DESCRIPTION="Nero Burning ROM for Linux"
+HOMEPAGE="http://nerolinux.nero.com"
+SRC_URI="
+	x86? ( ${PN}linux-${PV}-x86.rpm )
+	amd64? ( ${PN}/${PN}linux-${PV}-x86_64.rpm )
+"
+
+LICENSE="Nero-EULA-US"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RESTRICT="strip mirror test fetch"
+
+RDEPEND="
+	x11-libs/gtk+:2
+	x11-libs/libX11
+	x11-libs/libXinerama
+	x11-libs/pango[X]
+"
+DEPEND=""
+
+QA_TEXTRELS="opt/${PN}/$(get_libdir)/${PN}/*
+	opt/${PN}/$(get_libdir)/libNeroAPI.so"
+QA_EXECSTACK="opt/${PN}/$(get_libdir)/nero/*"
+QA_PREBUILT="opt/${PN}/${PN}.*
+	opt/${PN}/${PN}
+	opt/${PN}/$(get_libdir)/.*so
+	opt/${PN}/$(get_libdir)/${PN}/*
+	opt/${PN}/$(get_libdir)/${PN}/plug-ins/*
+	usr/share/${PN}/helpers/splash/nerosplash"
+
+S="${WORKDIR}"
+
+pkg_nofetch() {
+	local nero_arch
+	use amd64 && nero_arch=64
+	use x86 && ner_arch=32
+
+	einfo "Please visit http://www.nero.com/enu/downloads/previous-versions/download-linux4-update.php"
+	einfo " and use the 'RPM package ${nero_arch} bit' download then place ${A}"
+	einfo " into ${DISTDIR}"
+}
+
+pkg_setup() {
+	CONFIG_CHECK="~CHR_DEV_SG"
+	linux-info_pkg_setup
+}
+
+src_install() {
+	insinto /etc
+	doins -r etc/nero
+
+	insinto /opt/nero
+	doins -r usr/$(get_libdir)
+	dosym /opt/nero/$(get_libdir)/nero /usr/$(get_libdir)/nero
+
+	exeinto /opt/nero
+	doexe usr/bin/nero*
+
+	insinto /usr/share
+	doins -r usr/share/nero usr/share/locale usr/share/icons
+
+	domenu usr/share/applications/*.desktop
+	doicon usr/share/pixmaps/nerolinux.xpm
+
+	doman usr/share/man/man1/*
+	use doc && dodoc usr/share/doc/nero/*.pdf
+
+	make_wrapper nero ./nero /opt/nero /opt/${PN}/$(get_libdir)
+	make_wrapper nerocmd ./nerocmd /opt/nero /opt/nero/$(get_libdir)
+	make_wrapper neroexpress ./neroexpress /opt/nero /opt/nero/$(get_libdir)
+
+	# This is a ugly hack to fix burning in x86_64.
+	# http://club.cdfreaks.com/showthread.php?t=218041
+	use amd64 && cp usr/share/nero/Nero*.txt "${D}"/opt/nero/$(get_libdir)/nero
+}
+
+pkg_preinst() {
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	fdo-mime_desktop_database_update
+	fdo-mime_mime_database_update
+	gnome2_icon_cache_update
+	nero --perform-post-installation
+}
+
+pkg_postrm() {
+	fdo-mime_desktop_database_update
+	fdo-mime_mime_database_update
+	gnome2_icon_cache_update
+}
diff --git a/app-cdr/nero/nero-4.0.0.0b.ebuild b/app-cdr/nero/nero-4.0.0.0b.ebuild
deleted file mode 100644
index bd2483d..0000000
--- a/app-cdr/nero/nero-4.0.0.0b.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-inherit eutils fdo-mime rpm multilib gnome2-utils linux-info
-
-DESCRIPTION="Nero Burning ROM for Linux"
-HOMEPAGE="http://nerolinux.nero.com"
-SRC_URI="x86? ( mirror://${PN}/${PN}linux-${PV}-x86.rpm )
-	amd64? ( mirror://${PN}/${PN}linux-${PV}-x86_64.rpm )"
-
-LICENSE="Nero-EULA-US"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RESTRICT="strip mirror test"
-
-RDEPEND="x11-libs/gtk+:2
-	x11-libs/libX11
-	x11-libs/libXinerama
-	x11-libs/pango[X]"
-DEPEND=""
-
-QA_TEXTRELS="opt/${PN}/$(get_libdir)/${PN}/*
-	opt/${PN}/$(get_libdir)/libNeroAPI.so"
-QA_EXECSTACK="opt/${PN}/$(get_libdir)/nero/*"
-QA_PREBUILT="opt/${PN}/${PN}.*
-	opt/${PN}/${PN}
-	opt/${PN}/$(get_libdir)/.*so
-	opt/${PN}/$(get_libdir)/${PN}/*
-	opt/${PN}/$(get_libdir)/${PN}/plug-ins/*
-	usr/share/${PN}/helpers/splash/nerosplash"
-
-S=${WORKDIR}
-
-pkg_setup() {
-	CONFIG_CHECK="~CHR_DEV_SG"
-	linux-info_pkg_setup
-}
-
-src_install() {
-	insinto /etc
-	doins -r etc/nero
-
-	insinto /opt/nero
-	doins -r usr/$(get_libdir)
-	dosym /opt/nero/$(get_libdir)/nero /usr/$(get_libdir)/nero
-
-	exeinto /opt/nero
-	doexe usr/bin/nero*
-
-	insinto /usr/share
-	doins -r usr/share/nero usr/share/locale usr/share/icons
-
-	domenu usr/share/applications/*.desktop
-	doicon usr/share/pixmaps/nerolinux.xpm
-
-	doman usr/share/man/man1/*
-	use doc && dodoc usr/share/doc/nero/*.pdf
-
-	make_wrapper nero ./nero /opt/nero /opt/${PN}/$(get_libdir)
-	make_wrapper nerocmd ./nerocmd /opt/nero /opt/nero/$(get_libdir)
-	make_wrapper neroexpress ./neroexpress /opt/nero /opt/nero/$(get_libdir)
-
-	# This is a ugly hack to fix burning in x86_64.
-	# http://club.cdfreaks.com/showthread.php?t=218041
-	use amd64 && cp usr/share/nero/Nero*.txt "${D}"/opt/nero/$(get_libdir)/nero
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	fdo-mime_desktop_database_update
-	fdo-mime_mime_database_update
-	gnome2_icon_cache_update
-	nero --perform-post-installation
-
-	elog "Technical support for NeroLINUX is provided by CDFreaks"
-	elog "Linux forum at http://club.cdfreaks.com/forumdisplay.php?f=104"
-	elog
-	elog "You also need to setup your user to cdrom group."
-}
-
-pkg_postrm() {
-	fdo-mime_desktop_database_update
-	fdo-mime_mime_database_update
-	gnome2_icon_cache_update
-}
diff --git a/app-crypt/aesutil/Manifest b/app-crypt/aesutil/Manifest
deleted file mode 100644
index 20c279d..0000000
--- a/app-crypt/aesutil/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aes-1.0.7.tar.gz 34165 SHA256 729bdefff0a614229ffd1a8fd3c299f9e8568a8bf2bf78979376cc0b7ad52a19 SHA512 df2cc6c0aa38e648332b64cab8e712164d28a670a5e4d397918cf9e5faabdaa5d68d9f4e501885b990da98254383ee466e5c374a30e1c00411e8be88884eacf5 WHIRLPOOL 1458bd44117d0e3327adcc7d9fb2380ab245608aec73eb260ac8080cd0b81d878d1411acdf83604fcfbb3d495950824ea489bed9112b5d3c6214f95a2713a056
diff --git a/app-crypt/aesutil/aesutil-1.0.7.ebuild b/app-crypt/aesutil/aesutil-1.0.7.ebuild
deleted file mode 100644
index acb5e23..0000000
--- a/app-crypt/aesutil/aesutil-1.0.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit toolchain-funcs
-
-MY_P="${PN/util/}-${PV}"
-DESCRIPTION="Command line program ('aes') to encrypt and decrypt data using the Rijndael algorithm"
-HOMEPAGE="http://my.cubic.ch/users/timtas/aes/"
-SRC_URI="http://my.cubic.ch/users/timtas/aes/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ppc ~ppc64 sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	sed -e "/^CFLAGS/s:-g -Wall:${CFLAGS}:" Makefile.linux > Makefile \
-		|| die "Sed failed"
-	sed -i -e "/^LDFLAGS/s:-g:${LDFLAGS}:" Makefile || die "Sed failed"
-}
-
-src_compile() {
-	emake CC="$(tc-getCC)" || die
-}
-
-src_install() {
-	dobin aes || die
-	dodoc CHANGES INSTALL README TODO || die
-}
diff --git a/app-crypt/aesutil/metadata.xml b/app-crypt/aesutil/metadata.xml
deleted file mode 100644
index d68fe97..0000000
--- a/app-crypt/aesutil/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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/app-crypt/cryptkeeper/metadata.xml b/app-crypt/cryptkeeper/metadata.xml
index ad4f9be..085212f 100644
--- a/app-crypt/cryptkeeper/metadata.xml
+++ b/app-crypt/cryptkeeper/metadata.xml
@@ -3,7 +3,7 @@
 <pkgmetadata>
 <herd>proxy-maintainers</herd>
 <maintainer>
-	<email>phobosk@kbfx.net</email>
+	<email>phobosk@fastmail.fm</email>
 	<name>PhobosK</name>
 	<description>Proxy maintainer. Assign bugs to him.</description>
 </maintainer>
diff --git a/app-crypt/eid-mw/Manifest b/app-crypt/eid-mw/Manifest
index 9f67898..c44af1a 100644
--- a/app-crypt/eid-mw/Manifest
+++ b/app-crypt/eid-mw/Manifest
@@ -1,3 +1,4 @@
 DIST eid-mw-4.0.6-1480.tar.gz 4292450 SHA256 1ff3a7740a30891df2da12fca66cb5324dc286f9490ee839d61d9f1028b9127c SHA512 4b6ba684a43183e11cf29a73bee7bc6ecda24aa15029e55593d6ad3cc9f58726d551089c3c9f95f07d03847df70f2662a0ea9e3db5dd5591cc9b8b0e839d364b WHIRLPOOL cca8b871a2780dae282f5eed12cd79df0bb9d57c3c968ca740b7063ca3c48425be492d3dfcb7bee5c0037b14571df8b76b825540f52025b14afed8f718d56c22
 DIST eid-mw-4.0.6-1620.tar.gz 4335514 SHA256 1ecb30f9f318bdb61a8d774fe76b948eb5841d4de6fee106029ed78daa7efbf2 SHA512 511bf6cf7a9a4d0a2232d95f1a6ba6f4fa8ee174cf919f88e1fa0c71357b9717544a6006ad412d7a0b4090c4c56ca86f8e6f69dabc6912bfd77a2e948cae8104 WHIRLPOOL b89ae4ba659e8dedd93f70368af1e058468cfd3761bec099276fadc017dcf21d245ceb8db001c3e82f30c7e6f670e13ab6c17e221c8c8ee02a45cc5833f39867
 DIST eid-mw-4.1.4-v4.1.4.tar.gz 3475913 SHA256 2996960ea92504c7cee1953ccf4520ba78979c7771645e2b2c1207f94be0a308 SHA512 efcc4dbd0fa383896df9f5a7492b18beb5259cfa368a919ae18bd996e5976a67d0570c0fbccd5ab38ea95c31f48b92c145c526aa59866217a418a80a550d502f WHIRLPOOL 11e35b3649a0c3bd40e4c901ba4d922305dc2b4098018bd018ee71b963b08898e6295e4f71cb7180b0fc8e64d1afe01ce49bcaa36a60c065c2de84b81d19e398
+DIST eid-mw-4.1.9-v4.1.9.tar.gz 3475708 SHA256 0c46c73b805884dd4ae739eb6025c137c1055ad119eac1ab37cb83eb32d92953 SHA512 bc61b3f212bfedf6f47f2841bc6c9b1198be5e3c7b382e3e28635c9e6f5c4ed8ccb118b105f668969fba31e49750cb1c5b129cd5b67a2725af122a8eae491b1c WHIRLPOOL 06b1f9780e984ac6c562bacab03936cd759ea1fce45687f09ae314d4fa77edce02c7ba4db5a9bc3fd739392f8b7b182b19b2734c1d21d63f6995c3cd572695d9
diff --git a/app-crypt/eid-mw/eid-mw-4.1.4.ebuild b/app-crypt/eid-mw/eid-mw-4.1.4.ebuild
index 06e154c..0e40e87 100644
--- a/app-crypt/eid-mw/eid-mw-4.1.4.ebuild
+++ b/app-crypt/eid-mw/eid-mw-4.1.4.ebuild
@@ -20,7 +20,7 @@
 
 SLOT="0"
 LICENSE="LGPL-3"
-DESCRIPTION="Belgian Electronic Identity Card middleware supplied by the Belgian Federal Government"
+DESCRIPTION="Electronic Identity Card middleware supplied by the Belgian Federal Government"
 
 HOMEPAGE="http://eid.belgium.be"
 
diff --git a/app-crypt/eid-mw/eid-mw-4.1.9.ebuild b/app-crypt/eid-mw/eid-mw-4.1.9.ebuild
new file mode 100644
index 0000000..f748be3
--- /dev/null
+++ b/app-crypt/eid-mw/eid-mw-4.1.9.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 autotools mozextension multilib
+
+if [[ ${PV} == "9999" ]] ; then
+	EGIT_REPO_URI="git://github.com/Fedict/${PN}.git
+		https://github.com/Fedict/${PN}.git"
+	inherit git-2
+	SRC_URI=""
+else
+	MY_P="${P}-v${PV}"
+	SRC_URI="https://downloads.services.belgium.be/eid/${MY_P}.tar.gz"
+	KEYWORDS="~x86 ~amd64 ~arm"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+SLOT="0"
+LICENSE="LGPL-3"
+DESCRIPTION="Electronic Identity Card middleware supplied by the Belgian Federal Government"
+
+HOMEPAGE="http://eid.belgium.be"
+
+IUSE="+gtk +xpi +dialogs"
+
+REQUIRED_USE="
+	dialogs? ( gtk )"
+
+RDEPEND="gtk? ( x11-libs/gtk+:* )
+	>=sys-apps/pcsc-lite-1.2.9
+	xpi? ( || ( >=www-client/firefox-bin-3.6.24
+		>=www-client/firefox-3.6.20 ) )
+	!app-misc/beid-runtime"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_prepare() {
+	use gtk || epatch "${FILESDIR}"/gtk_not_required_4.1.4.patch
+
+	if [[ ${PV} == "9999" ]] ; then
+		# Only in current git. Hopefully, in next release.
+		sed -i -e 's:/beid/rsaref220:/rsaref220:' configure.ac
+		sed -i -e 's:/beid::' cardcomm/pkcs11/src/libbeidpkcs11.pc.in
+	fi
+
+	if [[ ${PV} == "9999" ]] || ! use gtk ; then
+		eautoreconf
+	fi
+}
+
+src_configure() {
+	econf $(use_enable dialogs) --disable-static
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+
+	if [[ ${PV} != "9999" ]] ; then
+		# Automatically done in current git. Hopefully, in next release.
+		rm doc/sdk/include/rsaref220/win32.h
+		doheader -r doc/sdk/include/*
+	fi
+	if use xpi; then
+		declare MOZILLA_FIVE_HOME
+		if has_version '>=www-client/firefox-3.6.20'; then
+			MOZILLA_FIVE_HOME="/usr/$(get_libdir)/firefox"
+			xpi_install	"${D}/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/belgiumeid@eid.belgium.be"
+		fi
+		if has_version '>=www-client/firefox-bin-3.6.24'; then
+			MOZILLA_FIVE_HOME="/opt/firefox"
+			xpi_install	"${D}/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/belgiumeid@eid.belgium.be"
+		fi
+	fi
+	rm -r "${D}/usr/share" "${D}"/usr/lib*/*.la
+}
diff --git a/app-crypt/eid-mw/eid-mw-9999.ebuild b/app-crypt/eid-mw/eid-mw-9999.ebuild
index 06e154c..2424341 100644
--- a/app-crypt/eid-mw/eid-mw-9999.ebuild
+++ b/app-crypt/eid-mw/eid-mw-9999.ebuild
@@ -13,14 +13,14 @@
 	SRC_URI=""
 else
 	MY_P="${P}-v${PV}"
-	SRC_URI="http://eid.belgium.be/en/binaries/${MY_P}.tar_tcm406-270730.gz -> ${MY_P}.tar.gz"
+	SRC_URI="https://downloads.services.belgium.be/eid/${MY_P}.tar.gz"
 	KEYWORDS="~x86 ~amd64 ~arm"
 	S="${WORKDIR}/${MY_P}"
 fi
 
 SLOT="0"
 LICENSE="LGPL-3"
-DESCRIPTION="Belgian Electronic Identity Card middleware supplied by the Belgian Federal Government"
+DESCRIPTION="Electronic Identity Card middleware supplied by the Belgian Federal Government"
 
 HOMEPAGE="http://eid.belgium.be"
 
@@ -39,7 +39,7 @@
 	virtual/pkgconfig"
 
 src_prepare() {
-	use gtk || epatch "${FILESDIR}"/gtk_not_required_${PV}.patch
+	use gtk || epatch "${FILESDIR}"/gtk_not_required_9999.patch
 
 	if [[ ${PV} == "9999" ]] ; then
 		# Only in current git. Hopefully, in next release.
diff --git a/app-crypt/eid-mw/files/gtk_not_required_9999.patch b/app-crypt/eid-mw/files/gtk_not_required_9999.patch
index ba4d4b1..93ddc67 100644
--- a/app-crypt/eid-mw/files/gtk_not_required_9999.patch
+++ b/app-crypt/eid-mw/files/gtk_not_required_9999.patch
@@ -12,31 +12,48 @@
  xpipackage:
  	$(MAKE) -C plugins_tools/xpi xpipackage
 diff --git a/cardcomm/pkcs11/src/Makefile.am b/cardcomm/pkcs11/src/Makefile.am
-index b70e7f2..ac38944 100644
+index b70e7f2..066c348 100644
 --- a/cardcomm/pkcs11/src/Makefile.am
 +++ b/cardcomm/pkcs11/src/Makefile.am
-@@ -165,30 +165,4 @@ libbeidpkcs11_la_SOURCES += \
+@@ -165,30 +165,30 @@ libbeidpkcs11_la_SOURCES += \
  	dialogs/dialogsgtk/single_dialog.c
  endif
  
 -libexec_PROGRAMS = beid-askpin beid-changepin beid-badpin beid-askaccess beid-spr-askpin beid-spr-changepin
--
++#libexec_PROGRAMS = beid-askpin beid-changepin beid-badpin beid-askaccess beid-spr-askpin beid-spr-changepin
+ 
 -beid_askpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-askpin.c
 -beid_askpin_CPPFLAGS = -I$(srcdir)/dialogsgtk -I$(srcdir)/../common/src -I$(srcdir)/src @GTK_CFLAGS@
 -beid_askpin_LDADD = @GTK_LIBS@
--
++#beid_askpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-askpin.c
++#beid_askpin_CPPFLAGS = -I$(srcdir)/dialogsgtk -I$(srcdir)/../common/src -I$(srcdir)/src @GTK_CFLAGS@
++#beid_askpin_LDADD = @GTK_LIBS@
++#
++#beid_changepin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-changepin.c
++#beid_changepin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
++#beid_changepin_LDADD = @GTK_LIBS@
+ 
 -beid_changepin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-changepin.c
 -beid_changepin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
 -beid_changepin_LDADD = @GTK_LIBS@
--
++#beid_badpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-badpin.c
++#beid_badpin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
++#beid_badpin_LDADD = @GTK_LIBS@
+ 
 -beid_badpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-badpin.c
 -beid_badpin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
 -beid_badpin_LDADD = @GTK_LIBS@
--
++#beid_askaccess_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-askaccess.c
++#beid_askaccess_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
++#beid_askaccess_LDADD = @GTK_LIBS@
+ 
 -beid_askaccess_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-askaccess.c
 -beid_askaccess_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
 -beid_askaccess_LDADD = @GTK_LIBS@
--
++#beid_spr_askpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-spr-askpin.c
++#beid_spr_askpin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
++#beid_spr_askpin_LDADD = @GTK_LIBS@
+ 
 -beid_spr_askpin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-spr-askpin.c
 -beid_spr_askpin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
 -beid_spr_askpin_LDADD = @GTK_LIBS@
@@ -44,7 +61,10 @@
 -beid_spr_changepin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-spr-changepin.c
 -beid_spr_changepin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
 -beid_spr_changepin_LDADD = @GTK_LIBS@
--
++#beid_spr_changepin_SOURCES = dialogs/dialogsgtk/parent.c dialogs/dialogsgtk/beid-spr-changepin.c
++#beid_spr_changepin_CPPFLAGS = -I$(dialogsdir)/dialogsgtk -I$(dialogsdir)/../common/dialogs -I$(dialogsdir)/dialogs @GTK_CFLAGS@
++#beid_spr_changepin_LDADD = @GTK_LIBS@
+ 
  pkgconfig_DATA=libbeidpkcs11.pc
 diff --git a/configure.ac b/configure.ac
 index 102c1c7..efdf0e2 100644
diff --git a/app-crypt/gcr/Manifest b/app-crypt/gcr/Manifest
index 21d53ac..70e6703 100644
--- a/app-crypt/gcr/Manifest
+++ b/app-crypt/gcr/Manifest
@@ -1,3 +1,3 @@
-DIST gcr-3.12.2.tar.xz 1331884 SHA256 456e20615ab178aa92eeabdea64dcce535c10d5af189171d9375291a2447d21c SHA512 7c74302a4485e6909e39721b0beeeeb5920d218c4e8ab5a1878be33457f2b6d59df165bf2e6b606efc8275b8e45dffe8d28ac202cf835f7f2483237258a4d6b2 WHIRLPOOL 9655f1997ececce77f1b179f89798b5b9363ea94e0f2024772575ca05d88dd3b15432c1e0d69095b020726bc0fab1df023dfd6cc975488360f90e43fd9069a8c
 DIST gcr-3.14.0.tar.xz 1340764 SHA256 2a2231147a01e2061f57fa9ca77557ff97bc6ceab028cee5528079f4b2fca63d SHA512 2538b2575c0d325587f8b5423ac6f9c522a69b415977398dc5c4330ce1de896c966e541eb6e536e87e81013bb2dedea4d0ae8baabdab9318db5b97e0977671b8 WHIRLPOOL 755842ad30608162bb81ed58a027a26be6d12ecb12e037b826841612c2481ea564f727e2bc4e03f13f8100257b2d2ee3dae213b56b5f04319718ff30c5eee2a9
 DIST gcr-3.16.0.tar.xz 1335348 SHA256 ecfe8df41cc88158364bb15addc670b11e539fe844742983629ba2323888d075 SHA512 1db6e2532d2d0ceb6f339551b009baae5815fcf8a12b76b0eb9e13f301d1205c2e2c9b8f555ae011a84521e55fe9cccb703c3dd539d638b476e0474c34672be4 WHIRLPOOL 88a0d5936b6dd54923fd476f3af0acac9c068268416cb30c65670ae8bf8bec3940cdee84e72e6218c3cf9e59a023508e5961357b2e80a297428e573cddc6bd7b
+DIST gcr-3.18.0.tar.xz 1311368 SHA256 d4d16da5af55148a694055835ccd07ad34daf0ad03bdad929bf7cad15637ce00 SHA512 3733a462c23b0cf1d3579ea4b0b6eea9b5e3eb98e81e7c0e0364e540ec60a7a7bc567d1d159c674df280fb20c305cbaef796dffef73801ece4f4474352786e6b WHIRLPOOL 1bb299e386415c86dbb4f6afb48e365fd69e12a13e7349cefcd05c2685841fb0fb76c499780c2e275114c185a67b6be66989c6f989794ebbf1fd18ca501ed4b6
diff --git a/app-crypt/gcr/gcr-3.12.2.ebuild b/app-crypt/gcr/gcr-3.12.2.ebuild
deleted file mode 100644
index 798cc5f..0000000
--- a/app-crypt/gcr/gcr-3.12.2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# 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.20"
-VALA_USE_DEPEND="vapigen"
-PYTHON_COMPAT=( python2_7 )
-
-inherit gnome2 python-any-r1 vala virtualx
-
-DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules"
-HOMEPAGE="https://developer.gnome.org/gcr/"
-
-LICENSE="GPL-2+ LGPL-2+"
-SLOT="0/1" # subslot = suffix of libgcr-3
-IUSE="debug gtk +introspection vala"
-REQUIRED_USE="vala? ( introspection )"
-KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
-
-COMMON_DEPEND="
-	>=app-crypt/gnupg-2
-	>=app-crypt/p11-kit-0.19
-	>=dev-libs/glib-2.34:2
-	>=dev-libs/libgcrypt-1.2.2:0=
-	>=dev-libs/libtasn1-1:=
-	>=sys-apps/dbus-1
-	gtk? ( >=x11-libs/gtk+-3:3[X,introspection?] )
-	introspection? ( >=dev-libs/gobject-introspection-1.34 )
-"
-RDEPEND="${COMMON_DEPEND}
-	!<gnome-base/gnome-keyring-3.3
-"
-# gcr was part of gnome-keyring until 3.3
-DEPEND="${COMMON_DEPEND}
-	${PYTHON_DEPS}
-	dev-libs/gobject-introspection-common
-	dev-libs/libxslt
-	dev-util/gdbus-codegen
-	>=dev-util/gtk-doc-am-1.9
-	>=dev-util/intltool-0.35
-	sys-devel/gettext
-	virtual/pkgconfig
-	vala? ( $(vala_depend) )
-"
-# eautoreconf needs:
-#	dev-libs/gobject-introspection-common
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# Disable stupid flag changes
-	sed -e 's/CFLAGS="$CFLAGS -g"//' \
-		-e 's/CFLAGS="$CFLAGS -O0"//' \
-		-i configure.ac configure || die
-
-	use vala && vala_src_prepare
-	gnome2_src_prepare
-}
-
-src_configure() {
-	DOCS="AUTHORS ChangeLog HACKING NEWS README"
-	gnome2_src_configure \
-		$(use_with gtk) \
-		$(use_enable introspection) \
-		$(use_enable vala) \
-		$(usex debug --enable-debug=yes --enable-debug=default) \
-		--disable-update-icon-cache \
-		--disable-update-mime
-}
-
-src_test() {
-	unset DBUS_SESSION_BUS_ADDRESS
-	Xemake check
-}
diff --git a/app-crypt/gcr/gcr-3.16.0.ebuild b/app-crypt/gcr/gcr-3.16.0.ebuild
index f1f3b4a..5825358 100644
--- a/app-crypt/gcr/gcr-3.16.0.ebuild
+++ b/app-crypt/gcr/gcr-3.16.0.ebuild
@@ -16,7 +16,7 @@
 SLOT="0/1" # subslot = suffix of libgcr-3
 IUSE="debug gtk +introspection vala"
 REQUIRED_USE="vala? ( introspection )"
-KEYWORDS="alpha amd64 arm ~arm64 ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
 
 COMMON_DEPEND="
 	>=app-crypt/gnupg-2
diff --git a/app-crypt/gcr/gcr-3.18.0.ebuild b/app-crypt/gcr/gcr-3.18.0.ebuild
new file mode 100644
index 0000000..b19d1dd
--- /dev/null
+++ b/app-crypt/gcr/gcr-3.18.0.ebuild
@@ -0,0 +1,80 @@
+# 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"
+PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
+
+inherit gnome2 python-any-r1 vala virtualx
+
+DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules"
+HOMEPAGE="https://git.gnome.org/browse/gcr"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0/1" # subslot = suffix of libgcr-3
+IUSE="debug gtk +introspection vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+COMMON_DEPEND="
+	>=app-crypt/gnupg-2
+	>=app-crypt/p11-kit-0.19
+	>=dev-libs/glib-2.38:2
+	>=dev-libs/libgcrypt-1.2.2:0=
+	>=dev-libs/libtasn1-1:=
+	>=sys-apps/dbus-1
+	gtk? ( >=x11-libs/gtk+-3.12:3[X,introspection?] )
+	introspection? ( >=dev-libs/gobject-introspection-1.34:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!<gnome-base/gnome-keyring-3.3
+"
+# gcr was part of gnome-keyring until 3.3
+DEPEND="${COMMON_DEPEND}
+	${PYTHON_DEPS}
+	dev-libs/gobject-introspection-common
+	dev-libs/libxslt
+	dev-libs/vala-common
+	dev-util/gdbus-codegen
+	>=dev-util/gtk-doc-am-1.9
+	>=dev-util/intltool-0.35
+	sys-devel/gettext
+	virtual/pkgconfig
+	vala? ( $(vala_depend) )
+"
+# eautoreconf needs:
+#	dev-libs/gobject-introspection-common
+#	dev-libs/vala-common
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	# Disable stupid flag changes
+	sed -e 's/CFLAGS="$CFLAGS -g"//' \
+		-e 's/CFLAGS="$CFLAGS -O0"//' \
+		-i configure.ac configure || die
+
+	use vala && vala_src_prepare
+	gnome2_src_prepare
+}
+
+src_configure() {
+	DOCS="AUTHORS ChangeLog HACKING NEWS README"
+	gnome2_src_configure \
+		$(use_with gtk) \
+		$(use_enable introspection) \
+		$(use_enable vala) \
+		$(usex debug --enable-debug=yes --enable-debug=default) \
+		--disable-update-icon-cache \
+		--disable-update-mime
+}
+
+src_test() {
+	unset DBUS_SESSION_BUS_ADDRESS
+	Xemake check
+}
diff --git a/app-crypt/gnupg/gnupg-2.0.28.ebuild b/app-crypt/gnupg/gnupg-2.0.28.ebuild
index fe1e949..13e25bd 100644
--- a/app-crypt/gnupg/gnupg-2.0.28.ebuild
+++ b/app-crypt/gnupg/gnupg-2.0.28.ebuild
@@ -13,7 +13,7 @@
 
 LICENSE="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"
+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="bzip2 doc ldap nls mta readline static selinux smartcard tools usb"
 
 COMMON_DEPEND_LIBS="
diff --git a/app-crypt/gnupg/gnupg-2.1.9.ebuild b/app-crypt/gnupg/gnupg-2.1.9.ebuild
index 4e192a1..71d0db3 100644
--- a/app-crypt/gnupg/gnupg-2.1.9.ebuild
+++ b/app-crypt/gnupg/gnupg-2.1.9.ebuild
@@ -13,7 +13,7 @@
 
 LICENSE="GPL-3"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
 IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
 
 COMMON_DEPEND_LIBS="
diff --git a/app-crypt/keybase/Manifest b/app-crypt/keybase/Manifest
index 8c6b127..71c1117 100644
--- a/app-crypt/keybase/Manifest
+++ b/app-crypt/keybase/Manifest
@@ -1,3 +1,4 @@
 DIST keybase-0.8.13.tar.gz 7057750 SHA256 a485257b7302d848be41e9c0a79f7b1c0da4c8ceaee70c0cc011838cbd723fd8 SHA512 8a082ff9d61f960a0c4862fba04adf323005b3c70e6d208a38a001716bcc374e10cde315eced6730d90316466244e58a9de0f78a66ab2f9bd91326979f0ef28b WHIRLPOOL b651a48be0ced301991edd03d40182c0b900ea28e2b97630a3ad741b34266dbd95c3d370db636ca8088ce5e781a2cf609255a6b52a5b6bdbfa540b879cdcd778
 DIST keybase-0.8.18.tar.gz 7062931 SHA256 c1ef27f959401164e72fbcd5c4054d13258a3f09dcdebb0ac3c447519780d59e SHA512 2d2c019cdf0e1fef496d709f7bf17c0d30d614e017a88b54d2a2198aafcd9ad436a636e1f1de27ac98df9e3ca90432b3cc3ff0b83fbb59d7e3a9acdef589d940 WHIRLPOOL 0d80b47fa8da500ee4886f95c9bfa55f392e4988db887fa8f2fd332c185a6e1be082ed7b2fce01f98ea4fd064f27b3159cf04e19d1ee2ec985d222606f48059a
 DIST keybase-0.8.22.tar.gz 7101414 SHA256 4290251ddf7d1f124211731aa8d0dd47f43ba9e1eb9b0b0f326d7986a3f87cb7 SHA512 ed75fc7fa5f97701c6a9e5880a113bdf392f21b1bdfaa63b7070231e10608d755304300b6b5208b2bc363869ffb631e2261df89747ba9b654bc98a420a0511cb WHIRLPOOL e13a4451bdf5962122b54c95d8d35d4570e0475f6012bb5126ff5ec2f48767048600da4f89f9d0ec6b70523b54262c52f5e29d7b766a83c38723ee25ce5acaab
+DIST keybase-0.8.23.tar.gz 7101472 SHA256 20e7e7e7a125ddb3b0e7023c3dcaf12f12c7b183822592b164ca11dd1e6f9a25 SHA512 5030df4cdfdd8d1175f348d5e1fb201d558ddf149bcda679d433eb9ba4f361ae882dde73c6a99615854b7f5d7e5ddcc09e3fbda49f1110d9f205e48068edcc8d WHIRLPOOL 742d67597b35287b75f0a89b89d1b04815bbfdc7c7df29d9963b821091ec88c5db0715d96a06e73f3a7d4aecb5d3cf2a2309a3f14acfed3f9a38d02c28fa618e
diff --git a/app-crypt/keybase/keybase-0.8.18.ebuild b/app-crypt/keybase/keybase-0.8.18.ebuild
index 644ff73..16d9289 100644
--- a/app-crypt/keybase/keybase-0.8.18.ebuild
+++ b/app-crypt/keybase/keybase-0.8.18.ebuild
@@ -12,7 +12,7 @@
 
 LICENSE="BSD"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
 IUSE=""
 
 RDEPEND="
diff --git a/app-crypt/keybase/keybase-0.8.23.ebuild b/app-crypt/keybase/keybase-0.8.23.ebuild
new file mode 100644
index 0000000..644ff73
--- /dev/null
+++ b/app-crypt/keybase/keybase-0.8.23.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 eutils
+
+DESCRIPTION="Client for keybase.io"
+HOMEPAGE="https://keybase.io/"
+SRC_URI="https://github.com/keybase/node-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+	net-libs/nodejs
+	app-crypt/gnupg"
+
+src_unpack() {
+	unpack "${P}.tar.gz"
+	mv "node-client-${PV}" "${P}"
+}
+
+src_install() {
+	dodoc CHANGELOG.md README.md SIGNED.md
+	insinto "/opt/${PN}"
+	doins -r package.json bin certs json lib node_modules sql
+	dosym "${D}/opt/${PN}/bin/main.js" "${ROOT}/usr/bin/keybase"
+	chmod 0755 "${D}/opt/${PN}/bin/main.js" || die
+}
diff --git a/app-crypt/libsecret/libsecret-0.18.3.ebuild b/app-crypt/libsecret/libsecret-0.18.3.ebuild
index 7ed7be3..e2d87f7 100644
--- a/app-crypt/libsecret/libsecret-0.18.3.ebuild
+++ b/app-crypt/libsecret/libsecret-0.18.3.ebuild
@@ -16,7 +16,7 @@
 SLOT="0"
 IUSE="+crypt debug +introspection test vala"
 REQUIRED_USE="vala? ( introspection )"
-KEYWORDS="alpha amd64 arm ~arm64 ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="alpha amd64 arm ~arm64 ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd"
 
 RDEPEND="
 	>=dev-libs/glib-2.38:2
diff --git a/app-crypt/loop-aes-losetup/metadata.xml b/app-crypt/loop-aes-losetup/metadata.xml
index b02ffbb..cdbc35f 100644
--- a/app-crypt/loop-aes-losetup/metadata.xml
+++ b/app-crypt/loop-aes-losetup/metadata.xml
@@ -1,5 +1,8 @@
-<?xml version="1.0" encoding="UTF-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">loop-aes</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-crypt/mit-krb5/files/CVE-2015-2695.patch b/app-crypt/mit-krb5/files/CVE-2015-2695.patch
new file mode 100644
index 0000000..08bc8ab
--- /dev/null
+++ b/app-crypt/mit-krb5/files/CVE-2015-2695.patch
@@ -0,0 +1,564 @@
+From b51b33f2bc5d1497ddf5bd107f791c101695000d Mon Sep 17 00:00:00 2001
+From: Nicolas Williams <nico@twosigma.com>
+Date: Mon, 14 Sep 2015 12:27:52 -0400
+Subject: [PATCH] Fix SPNEGO context aliasing bugs [CVE-2015-2695]
+
+The SPNEGO mechanism currently replaces its context handle with the
+mechanism context handle upon establishment, under the assumption that
+most GSS functions are only called after context establishment.  This
+assumption is incorrect, and can lead to aliasing violations for some
+programs.  Maintain the SPNEGO context structure after context
+establishment and refer to it in all GSS methods.  Add initiate and
+opened flags to the SPNEGO context structure for use in
+gss_inquire_context() prior to context establishment.
+
+CVE-2015-2695:
+
+In MIT krb5 1.5 and later, applications which call
+gss_inquire_context() on a partially-established SPNEGO context can
+cause the GSS-API library to read from a pointer using the wrong type,
+generally causing a process crash.  This bug may go unnoticed, because
+the most common SPNEGO authentication scenario establishes the context
+after just one call to gss_accept_sec_context().  Java server
+applications using the native JGSS provider are vulnerable to this
+bug.  A carefully crafted SPNEGO packet might allow the
+gss_inquire_context() call to succeed with attacker-determined
+results, but applications should not make access control decisions
+based on gss_inquire_context() results prior to context establishment.
+
+    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+[ghudson@mit.edu: several bugfixes, style changes, and edge-case
+behavior changes; commit message and CVE description]
+
+ticket: 8244
+target_version: 1.14
+tags: pullup
+---
+ src/lib/gssapi/spnego/gssapiP_spnego.h |   2 +
+ src/lib/gssapi/spnego/spnego_mech.c    | 254 ++++++++++++++++++++++++---------
+ 2 files changed, 192 insertions(+), 64 deletions(-)
+
+diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h
+index 57372de..5c82764 100644
+--- a/src/lib/gssapi/spnego/gssapiP_spnego.h
++++ b/src/lib/gssapi/spnego/gssapiP_spnego.h
+@@ -103,6 +103,8 @@ typedef struct {
+ 	int firstpass;
+ 	int mech_complete;
+ 	int nego_done;
++	int initiate;
++	int opened;
+ 	OM_uint32 ctx_flags;
+ 	gss_name_t internal_name;
+ 	gss_OID actual_mech;
+diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
+index ef76e1f..7849c85 100644
+--- a/src/lib/gssapi/spnego/spnego_mech.c
++++ b/src/lib/gssapi/spnego/spnego_mech.c
+@@ -102,7 +102,7 @@ static OM_uint32 get_negotiable_mechs(OM_uint32 *, spnego_gss_cred_id_t,
+ 				      gss_cred_usage_t, gss_OID_set *);
+ static void release_spnego_ctx(spnego_gss_ctx_id_t *);
+ static void check_spnego_options(spnego_gss_ctx_id_t);
+-static spnego_gss_ctx_id_t create_spnego_ctx(void);
++static spnego_gss_ctx_id_t create_spnego_ctx(int);
+ static int put_mech_set(gss_OID_set mechSet, gss_buffer_t buf);
+ static int put_input_token(unsigned char **, gss_buffer_t, unsigned int);
+ static int put_mech_oid(unsigned char **, gss_OID_const, unsigned int);
+@@ -454,7 +454,7 @@ check_spnego_options(spnego_gss_ctx_id_t spnego_ctx)
+ }
+ 
+ static spnego_gss_ctx_id_t
+-create_spnego_ctx(void)
++create_spnego_ctx(int initiate)
+ {
+ 	spnego_gss_ctx_id_t spnego_ctx = NULL;
+ 	spnego_ctx = (spnego_gss_ctx_id_t)
+@@ -477,6 +477,8 @@ create_spnego_ctx(void)
+ 	spnego_ctx->mic_rcvd = 0;
+ 	spnego_ctx->mech_complete = 0;
+ 	spnego_ctx->nego_done = 0;
++	spnego_ctx->opened = 0;
++	spnego_ctx->initiate = initiate;
+ 	spnego_ctx->internal_name = GSS_C_NO_NAME;
+ 	spnego_ctx->actual_mech = GSS_C_NO_OID;
+ 
+@@ -642,7 +644,7 @@ init_ctx_new(OM_uint32 *minor_status,
+ 	OM_uint32 ret;
+ 	spnego_gss_ctx_id_t sc = NULL;
+ 
+-	sc = create_spnego_ctx();
++	sc = create_spnego_ctx(1);
+ 	if (sc == NULL)
+ 		return GSS_S_FAILURE;
+ 
+@@ -659,10 +661,7 @@ init_ctx_new(OM_uint32 *minor_status,
+ 		ret = GSS_S_FAILURE;
+ 		goto cleanup;
+ 	}
+-	/*
+-	 * The actual context is not yet determined, set the output
+-	 * context handle to refer to the spnego context itself.
+-	 */
++
+ 	sc->ctx_handle = GSS_C_NO_CONTEXT;
+ 	*ctx = (gss_ctx_id_t)sc;
+ 	sc = NULL;
+@@ -1108,16 +1107,11 @@ spnego_gss_init_sec_context(
+ 	}
+ 	gss_release_buffer(&tmpmin, &mechtok_out);
+ 	if (ret == GSS_S_COMPLETE) {
+-		/*
+-		 * Now, switch the output context to refer to the
+-		 * negotiated mechanism's context.
+-		 */
+-		*context_handle = (gss_ctx_id_t)spnego_ctx->ctx_handle;
++		spnego_ctx->opened = 1;
+ 		if (actual_mech != NULL)
+ 			*actual_mech = spnego_ctx->actual_mech;
+ 		if (ret_flags != NULL)
+ 			*ret_flags = spnego_ctx->ctx_flags;
+-		release_spnego_ctx(&spnego_ctx);
+ 	} else if (ret != GSS_S_CONTINUE_NEEDED) {
+ 		if (spnego_ctx != NULL) {
+ 			gss_delete_sec_context(&tmpmin,
+@@ -1285,7 +1279,7 @@ acc_ctx_hints(OM_uint32 *minor_status,
+ 	if (ret != GSS_S_COMPLETE)
+ 		goto cleanup;
+ 
+-	sc = create_spnego_ctx();
++	sc = create_spnego_ctx(0);
+ 	if (sc == NULL) {
+ 		ret = GSS_S_FAILURE;
+ 		goto cleanup;
+@@ -1367,7 +1361,7 @@ acc_ctx_new(OM_uint32 *minor_status,
+ 		gss_release_buffer(&tmpmin, &sc->DER_mechTypes);
+ 		assert(mech_wanted != GSS_C_NO_OID);
+ 	} else
+-		sc = create_spnego_ctx();
++		sc = create_spnego_ctx(0);
+ 	if (sc == NULL) {
+ 		ret = GSS_S_FAILURE;
+ 		*return_token = NO_TOKEN_SEND;
+@@ -1750,13 +1744,12 @@ spnego_gss_accept_sec_context(
+ 			ret = GSS_S_FAILURE;
+ 	}
+ 	if (ret == GSS_S_COMPLETE) {
+-		*context_handle = (gss_ctx_id_t)sc->ctx_handle;
++		sc->opened = 1;
+ 		if (sc->internal_name != GSS_C_NO_NAME &&
+ 		    src_name != NULL) {
+ 			*src_name = sc->internal_name;
+ 			sc->internal_name = GSS_C_NO_NAME;
+ 		}
+-		release_spnego_ctx(&sc);
+ 	} else if (ret != GSS_S_CONTINUE_NEEDED) {
+ 		if (sc != NULL) {
+ 			gss_delete_sec_context(&tmpmin, &sc->ctx_handle,
+@@ -2069,8 +2062,13 @@ spnego_gss_unwrap(
+ 		gss_qop_t *qop_state)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_unwrap(minor_status,
+-			context_handle,
++			sc->ctx_handle,
+ 			input_message_buffer,
+ 			output_message_buffer,
+ 			conf_state,
+@@ -2090,8 +2088,13 @@ spnego_gss_wrap(
+ 		gss_buffer_t output_message_buffer)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_wrap(minor_status,
+-		    context_handle,
++		    sc->ctx_handle,
+ 		    conf_req_flag,
+ 		    qop_req,
+ 		    input_message_buffer,
+@@ -2108,8 +2111,14 @@ spnego_gss_process_context_token(
+ 				const gss_buffer_t token_buffer)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	/* SPNEGO doesn't have its own context tokens. */
++	if (!sc->opened)
++		return (GSS_S_DEFECTIVE_TOKEN);
++
+ 	ret = gss_process_context_token(minor_status,
+-					context_handle,
++					sc->ctx_handle,
+ 					token_buffer);
+ 
+ 	return (ret);
+@@ -2133,19 +2142,9 @@ spnego_gss_delete_sec_context(
+ 	if (*ctx == NULL)
+ 		return (GSS_S_COMPLETE);
+ 
+-	/*
+-	 * If this is still an SPNEGO mech, release it locally.
+-	 */
+-	if ((*ctx)->magic_num == SPNEGO_MAGIC_ID) {
+-		(void) gss_delete_sec_context(minor_status,
+-				    &(*ctx)->ctx_handle,
+-				    output_token);
+-		(void) release_spnego_ctx(ctx);
+-	} else {
+-		ret = gss_delete_sec_context(minor_status,
+-				    context_handle,
+-				    output_token);
+-	}
++	(void) gss_delete_sec_context(minor_status, &(*ctx)->ctx_handle,
++				      output_token);
++	(void) release_spnego_ctx(ctx);
+ 
+ 	return (ret);
+ }
+@@ -2157,8 +2156,13 @@ spnego_gss_context_time(
+ 			OM_uint32	*time_rec)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_context_time(minor_status,
+-			    context_handle,
++			    sc->ctx_handle,
+ 			    time_rec);
+ 	return (ret);
+ }
+@@ -2170,9 +2174,20 @@ spnego_gss_export_sec_context(
+ 			    gss_buffer_t interprocess_token)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = *(spnego_gss_ctx_id_t *)context_handle;
++
++	/* We don't currently support exporting partially established
++	 * contexts. */
++	if (!sc->opened)
++		return GSS_S_UNAVAILABLE;
++
+ 	ret = gss_export_sec_context(minor_status,
+-				    context_handle,
++				    &sc->ctx_handle,
+ 				    interprocess_token);
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT) {
++		release_spnego_ctx(&sc);
++		*context_handle = GSS_C_NO_CONTEXT;
++	}
+ 	return (ret);
+ }
+ 
+@@ -2182,11 +2197,12 @@ spnego_gss_import_sec_context(
+ 	const gss_buffer_t	interprocess_token,
+ 	gss_ctx_id_t		*context_handle)
+ {
+-	OM_uint32 ret;
+-	ret = gss_import_sec_context(minor_status,
+-				    interprocess_token,
+-				    context_handle);
+-	return (ret);
++	/*
++	 * Until we implement partial context exports, there are no SPNEGO
++	 * exported context tokens, only tokens for underlying mechs.  So just
++	 * return an error for now.
++	 */
++	return GSS_S_UNAVAILABLE;
+ }
+ #endif /* LEAN_CLIENT */
+ 
+@@ -2203,16 +2219,48 @@ spnego_gss_inquire_context(
+ 			int		*opened)
+ {
+ 	OM_uint32 ret = GSS_S_COMPLETE;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (src_name != NULL)
++		*src_name = GSS_C_NO_NAME;
++	if (targ_name != NULL)
++		*targ_name = GSS_C_NO_NAME;
++	if (lifetime_rec != NULL)
++		*lifetime_rec = 0;
++	if (mech_type != NULL)
++		*mech_type = (gss_OID)gss_mech_spnego;
++	if (ctx_flags != NULL)
++		*ctx_flags = 0;
++	if (locally_initiated != NULL)
++		*locally_initiated = sc->initiate;
++	if (opened != NULL)
++		*opened = sc->opened;
++
++	if (sc->ctx_handle != GSS_C_NO_CONTEXT) {
++		ret = gss_inquire_context(minor_status, sc->ctx_handle,
++					  src_name, targ_name, lifetime_rec,
++					  mech_type, ctx_flags, NULL, NULL);
++	}
+ 
+-	ret = gss_inquire_context(minor_status,
+-				context_handle,
+-				src_name,
+-				targ_name,
+-				lifetime_rec,
+-				mech_type,
+-				ctx_flags,
+-				locally_initiated,
+-				opened);
++	if (!sc->opened) {
++		/*
++		 * We are still doing SPNEGO negotiation, so report SPNEGO as
++		 * the OID.  After negotiation is complete we will report the
++		 * underlying mechanism OID.
++		 */
++		if (mech_type != NULL)
++			*mech_type = (gss_OID)gss_mech_spnego;
++
++		/*
++		 * Remove flags we don't support with partially-established
++		 * contexts.  (Change this to keep GSS_C_TRANS_FLAG if we add
++		 * support for exporting partial SPNEGO contexts.)
++		 */
++		if (ctx_flags != NULL) {
++			*ctx_flags &= ~GSS_C_PROT_READY_FLAG;
++			*ctx_flags &= ~GSS_C_TRANS_FLAG;
++		}
++	}
+ 
+ 	return (ret);
+ }
+@@ -2227,8 +2275,13 @@ spnego_gss_wrap_size_limit(
+ 	OM_uint32	*max_input_size)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_wrap_size_limit(minor_status,
+-				context_handle,
++				sc->ctx_handle,
+ 				conf_req_flag,
+ 				qop_req,
+ 				req_output_size,
+@@ -2245,8 +2298,13 @@ spnego_gss_get_mic(
+ 		gss_buffer_t message_token)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_get_mic(minor_status,
+-		    context_handle,
++		    sc->ctx_handle,
+ 		    qop_req,
+ 		    message_buffer,
+ 		    message_token);
+@@ -2262,8 +2320,13 @@ spnego_gss_verify_mic(
+ 		gss_qop_t *qop_state)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_verify_mic(minor_status,
+-			    context_handle,
++			    sc->ctx_handle,
+ 			    msg_buffer,
+ 			    token_buffer,
+ 			    qop_state);
+@@ -2278,8 +2341,14 @@ spnego_gss_inquire_sec_context_by_oid(
+ 		gss_buffer_set_t *data_set)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	/* There are no SPNEGO-specific OIDs for this function. */
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_UNAVAILABLE);
++
+ 	ret = gss_inquire_sec_context_by_oid(minor_status,
+-			    context_handle,
++			    sc->ctx_handle,
+ 			    desired_object,
+ 			    data_set);
+ 	return (ret);
+@@ -2359,8 +2428,15 @@ spnego_gss_set_sec_context_option(
+ 		const gss_buffer_t value)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)*context_handle;
++
++	/* There are no SPNEGO-specific OIDs for this function, and we cannot
++	 * construct an empty SPNEGO context with it. */
++	if (sc == NULL || sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_UNAVAILABLE);
++
+ 	ret = gss_set_sec_context_option(minor_status,
+-			    context_handle,
++			    &sc->ctx_handle,
+ 			    desired_object,
+ 			    value);
+ 	return (ret);
+@@ -2377,8 +2453,13 @@ spnego_gss_wrap_aead(OM_uint32 *minor_status,
+ 		     gss_buffer_t output_message_buffer)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_wrap_aead(minor_status,
+-			    context_handle,
++			    sc->ctx_handle,
+ 			    conf_req_flag,
+ 			    qop_req,
+ 			    input_assoc_buffer,
+@@ -2399,8 +2480,13 @@ spnego_gss_unwrap_aead(OM_uint32 *minor_status,
+ 		       gss_qop_t *qop_state)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_unwrap_aead(minor_status,
+-			      context_handle,
++			      sc->ctx_handle,
+ 			      input_message_buffer,
+ 			      input_assoc_buffer,
+ 			      output_payload_buffer,
+@@ -2419,8 +2505,13 @@ spnego_gss_wrap_iov(OM_uint32 *minor_status,
+ 		    int iov_count)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_wrap_iov(minor_status,
+-			   context_handle,
++			   sc->ctx_handle,
+ 			   conf_req_flag,
+ 			   qop_req,
+ 			   conf_state,
+@@ -2438,8 +2529,13 @@ spnego_gss_unwrap_iov(OM_uint32 *minor_status,
+ 		      int iov_count)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_unwrap_iov(minor_status,
+-			     context_handle,
++			     sc->ctx_handle,
+ 			     conf_state,
+ 			     qop_state,
+ 			     iov,
+@@ -2457,8 +2553,13 @@ spnego_gss_wrap_iov_length(OM_uint32 *minor_status,
+ 			   int iov_count)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_wrap_iov_length(minor_status,
+-				  context_handle,
++				  sc->ctx_handle,
+ 				  conf_req_flag,
+ 				  qop_req,
+ 				  conf_state,
+@@ -2475,8 +2576,13 @@ spnego_gss_complete_auth_token(
+ 		gss_buffer_t input_message_buffer)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_UNAVAILABLE);
++
+ 	ret = gss_complete_auth_token(minor_status,
+-				      context_handle,
++				      sc->ctx_handle,
+ 				      input_message_buffer);
+ 	return (ret);
+ }
+@@ -2721,8 +2827,13 @@ spnego_gss_pseudo_random(OM_uint32 *minor_status,
+ 			 gss_buffer_t prf_out)
+ {
+ 	OM_uint32 ret;
++	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context;
++
++	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++		return (GSS_S_NO_CONTEXT);
++
+ 	ret = gss_pseudo_random(minor_status,
+-				context,
++				sc->ctx_handle,
+ 				prf_key,
+ 				prf_in,
+ 				desired_output_len,
+@@ -2863,7 +2974,12 @@ spnego_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+ 		       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
+ 		       int iov_count)
+ {
+-    return gss_get_mic_iov(minor_status, context_handle, qop_req, iov,
++    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++	    return (GSS_S_NO_CONTEXT);
++
++    return gss_get_mic_iov(minor_status, sc->ctx_handle, qop_req, iov,
+ 			   iov_count);
+ }
+ 
+@@ -2872,7 +2988,12 @@ spnego_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+ 			  gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
+ 			  int iov_count)
+ {
+-    return gss_verify_mic_iov(minor_status, context_handle, qop_state, iov,
++    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++	    return (GSS_S_NO_CONTEXT);
++
++    return gss_verify_mic_iov(minor_status, sc->ctx_handle, qop_state, iov,
+ 			      iov_count);
+ }
+ 
+@@ -2881,7 +3002,12 @@ spnego_gss_get_mic_iov_length(OM_uint32 *minor_status,
+ 			      gss_ctx_id_t context_handle, gss_qop_t qop_req,
+ 			      gss_iov_buffer_desc *iov, int iov_count)
+ {
+-    return gss_get_mic_iov_length(minor_status, context_handle, qop_req, iov,
++    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
++
++    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
++	    return (GSS_S_NO_CONTEXT);
++
++    return gss_get_mic_iov_length(minor_status, sc->ctx_handle, qop_req, iov,
+ 				  iov_count);
+ }
+ 
diff --git a/app-crypt/mit-krb5/files/CVE-2015-2696.patch b/app-crypt/mit-krb5/files/CVE-2015-2696.patch
new file mode 100644
index 0000000..c1f50a5
--- /dev/null
+++ b/app-crypt/mit-krb5/files/CVE-2015-2696.patch
@@ -0,0 +1,731 @@
+From e04f0283516e80d2f93366e0d479d13c9b5c8c2a Mon Sep 17 00:00:00 2001
+From: Nicolas Williams <nico@twosigma.com>
+Date: Mon, 14 Sep 2015 12:28:36 -0400
+Subject: [PATCH] Fix IAKERB context aliasing bugs [CVE-2015-2696]
+
+The IAKERB mechanism currently replaces its context handle with the
+krb5 mechanism handle upon establishment, under the assumption that
+most GSS functions are only called after context establishment.  This
+assumption is incorrect, and can lead to aliasing violations for some
+programs.  Maintain the IAKERB context structure after context
+establishment and add new IAKERB entry points to refer to it with that
+type.  Add initiate and established flags to the IAKERB context
+structure for use in gss_inquire_context() prior to context
+establishment.
+
+CVE-2015-2696:
+
+In MIT krb5 1.9 and later, applications which call
+gss_inquire_context() on a partially-established IAKERB context can
+cause the GSS-API library to read from a pointer using the wrong type,
+generally causing a process crash.  Java server applications using the
+native JGSS provider are vulnerable to this bug.  A carefully crafted
+IAKERB packet might allow the gss_inquire_context() call to succeed
+with attacker-determined results, but applications should not make
+access control decisions based on gss_inquire_context() results prior
+to context establishment.
+
+    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+[ghudson@mit.edu: several bugfixes, style changes, and edge-case
+behavior changes; commit message and CVE description]
+
+ticket: 8244
+target_version: 1.14
+tags: pullup
+---
+ src/lib/gssapi/krb5/gssapiP_krb5.h | 114 ++++++++++++
+ src/lib/gssapi/krb5/gssapi_krb5.c  | 105 +++++++++--
+ src/lib/gssapi/krb5/iakerb.c       | 351 +++++++++++++++++++++++++++++++++----
+ 3 files changed, 529 insertions(+), 41 deletions(-)
+
+diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
+index 9aae12a..97e090d 100644
+--- a/src/lib/gssapi/krb5/gssapiP_krb5.h
++++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
+@@ -621,6 +621,21 @@ OM_uint32 KRB5_CALLCONV krb5_gss_accept_sec_context_ext
+ );
+ #endif /* LEAN_CLIENT */
+ 
++OM_uint32 KRB5_CALLCONV krb5_gss_inquire_sec_context_by_oid
++(OM_uint32*,       /* minor_status */
++ const gss_ctx_id_t,
++ /* context_handle */
++ const gss_OID,    /* desired_object */
++ gss_buffer_set_t* /* data_set */
++);
++
++OM_uint32 KRB5_CALLCONV krb5_gss_set_sec_context_option
++(OM_uint32*,       /* minor_status */
++ gss_ctx_id_t*,    /* context_handle */
++ const gss_OID,    /* desired_object */
++ const gss_buffer_t/* value */
++);
++
+ OM_uint32 KRB5_CALLCONV krb5_gss_process_context_token
+ (OM_uint32*,       /* minor_status */
+  gss_ctx_id_t,     /* context_handle */
+@@ -1302,6 +1317,105 @@ OM_uint32 KRB5_CALLCONV
+ krb5_gss_import_cred(OM_uint32 *minor_status, gss_buffer_t token,
+                      gss_cred_id_t *cred_handle);
+ 
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_process_context_token(OM_uint32 *minor_status,
++                                 const gss_ctx_id_t context_handle,
++                                 const gss_buffer_t token_buffer);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                        OM_uint32 *time_rec);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_context(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, gss_name_t *src_name,
++                           gss_name_t *targ_name, OM_uint32 *lifetime_rec,
++                           gss_OID *mech_type, OM_uint32 *ctx_flags,
++                           int *locally_initiated, int *opened);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                   gss_qop_t qop_req, gss_buffer_t message_buffer,
++                   gss_buffer_t message_token);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
++                       int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
++                              gss_ctx_id_t context_handle, gss_qop_t qop_req,
++                              gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                      gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
++                      gss_qop_t *qop_state);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                          gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
++                          int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                int conf_req_flag, gss_qop_t qop_req,
++                gss_buffer_t input_message_buffer, int *conf_state,
++                gss_buffer_t output_message_buffer);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                    int conf_req_flag, gss_qop_t qop_req, int *conf_state,
++                    gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, int conf_req_flag,
++                           gss_qop_t qop_req, int *conf_state,
++                           gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                  gss_buffer_t input_message_buffer,
++                  gss_buffer_t output_message_buffer, int *conf_state,
++                  gss_qop_t *qop_state);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                      int *conf_state, gss_qop_t *qop_state,
++                      gss_iov_buffer_desc *iov, int iov_count);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, int conf_req_flag,
++                           gss_qop_t qop_req, OM_uint32 req_output_size,
++                           OM_uint32 *max_input_size);
++
++#ifndef LEAN_CLIENT
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_export_sec_context(OM_uint32 *minor_status,
++                              gss_ctx_id_t *context_handle,
++                              gss_buffer_t interprocess_token);
++#endif /* LEAN_CLIENT */
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
++                                      const gss_ctx_id_t context_handle,
++                                      const gss_OID desired_object,
++                                      gss_buffer_set_t *data_set);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
++                                  gss_ctx_id_t *context_handle,
++                                  const gss_OID desired_object,
++                                  const gss_buffer_t value);
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                         int prf_key, const gss_buffer_t prf_in,
++                         ssize_t desired_output_len, gss_buffer_t prf_out);
++
+ /* Magic string to identify exported krb5 GSS credentials.  Increment this if
+  * the format changes. */
+ #define CRED_EXPORT_MAGIC "K5C1"
+diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
+index 0be92e4..c4dfdd6 100644
+--- a/src/lib/gssapi/krb5/gssapi_krb5.c
++++ b/src/lib/gssapi/krb5/gssapi_krb5.c
+@@ -351,7 +351,7 @@ static struct {
+     }
+ };
+ 
+-static OM_uint32 KRB5_CALLCONV
++OM_uint32 KRB5_CALLCONV
+ krb5_gss_inquire_sec_context_by_oid (OM_uint32 *minor_status,
+                                      const gss_ctx_id_t context_handle,
+                                      const gss_OID desired_object,
+@@ -465,7 +465,7 @@ static struct {
+ };
+ #endif
+ 
+-static OM_uint32 KRB5_CALLCONV
++OM_uint32 KRB5_CALLCONV
+ krb5_gss_set_sec_context_option (OM_uint32 *minor_status,
+                                  gss_ctx_id_t *context_handle,
+                                  const gss_OID desired_object,
+@@ -929,20 +929,103 @@ static struct gss_config krb5_mechanism = {
+     krb5_gss_get_mic_iov_length,
+ };
+ 
++/* Functions which use security contexts or acquire creds are IAKERB-specific;
++ * other functions can borrow from the krb5 mech. */
++static struct gss_config iakerb_mechanism = {
++    { GSS_MECH_KRB5_OID_LENGTH, GSS_MECH_KRB5_OID },
++    NULL,
++    iakerb_gss_acquire_cred,
++    krb5_gss_release_cred,
++    iakerb_gss_init_sec_context,
++#ifdef LEAN_CLIENT
++    NULL,
++#else
++    iakerb_gss_accept_sec_context,
++#endif
++    iakerb_gss_process_context_token,
++    iakerb_gss_delete_sec_context,
++    iakerb_gss_context_time,
++    iakerb_gss_get_mic,
++    iakerb_gss_verify_mic,
++#if defined(IOV_SHIM_EXERCISE_WRAP) || defined(IOV_SHIM_EXERCISE)
++    NULL,
++#else
++    iakerb_gss_wrap,
++#endif
++#if defined(IOV_SHIM_EXERCISE_UNWRAP) || defined(IOV_SHIM_EXERCISE)
++    NULL,
++#else
++    iakerb_gss_unwrap,
++#endif
++    krb5_gss_display_status,
++    krb5_gss_indicate_mechs,
++    krb5_gss_compare_name,
++    krb5_gss_display_name,
++    krb5_gss_import_name,
++    krb5_gss_release_name,
++    krb5_gss_inquire_cred,
++    NULL,                /* add_cred */
++#ifdef LEAN_CLIENT
++    NULL,
++    NULL,
++#else
++    iakerb_gss_export_sec_context,
++    NULL,
++#endif
++    krb5_gss_inquire_cred_by_mech,
++    krb5_gss_inquire_names_for_mech,
++    iakerb_gss_inquire_context,
++    krb5_gss_internal_release_oid,
++    iakerb_gss_wrap_size_limit,
++    krb5_gss_localname,
++    krb5_gss_authorize_localname,
++    krb5_gss_export_name,
++    krb5_gss_duplicate_name,
++    krb5_gss_store_cred,
++    iakerb_gss_inquire_sec_context_by_oid,
++    krb5_gss_inquire_cred_by_oid,
++    iakerb_gss_set_sec_context_option,
++    krb5_gssspi_set_cred_option,
++    krb5_gssspi_mech_invoke,
++    NULL,                /* wrap_aead */
++    NULL,                /* unwrap_aead */
++    iakerb_gss_wrap_iov,
++    iakerb_gss_unwrap_iov,
++    iakerb_gss_wrap_iov_length,
++    NULL,               /* complete_auth_token */
++    NULL,               /* acquire_cred_impersonate_name */
++    NULL,               /* add_cred_impersonate_name */
++    NULL,               /* display_name_ext */
++    krb5_gss_inquire_name,
++    krb5_gss_get_name_attribute,
++    krb5_gss_set_name_attribute,
++    krb5_gss_delete_name_attribute,
++    krb5_gss_export_name_composite,
++    krb5_gss_map_name_to_any,
++    krb5_gss_release_any_name_mapping,
++    iakerb_gss_pseudo_random,
++    NULL,               /* set_neg_mechs */
++    krb5_gss_inquire_saslname_for_mech,
++    krb5_gss_inquire_mech_for_saslname,
++    krb5_gss_inquire_attrs_for_mech,
++    krb5_gss_acquire_cred_from,
++    krb5_gss_store_cred_into,
++    iakerb_gss_acquire_cred_with_password,
++    krb5_gss_export_cred,
++    krb5_gss_import_cred,
++    NULL,               /* import_sec_context_by_mech */
++    NULL,               /* import_name_by_mech */
++    NULL,               /* import_cred_by_mech */
++    iakerb_gss_get_mic_iov,
++    iakerb_gss_verify_mic_iov,
++    iakerb_gss_get_mic_iov_length,
++};
++
+ #ifdef _GSS_STATIC_LINK
+ #include "mglueP.h"
+ static int gss_iakerbmechglue_init(void)
+ {
+     struct gss_mech_config mech_iakerb;
+-    struct gss_config iakerb_mechanism = krb5_mechanism;
+-
+-    /* IAKERB mechanism mirrors krb5, but with different context SPIs */
+-    iakerb_mechanism.gss_accept_sec_context = iakerb_gss_accept_sec_context;
+-    iakerb_mechanism.gss_init_sec_context   = iakerb_gss_init_sec_context;
+-    iakerb_mechanism.gss_delete_sec_context = iakerb_gss_delete_sec_context;
+-    iakerb_mechanism.gss_acquire_cred       = iakerb_gss_acquire_cred;
+-    iakerb_mechanism.gssspi_acquire_cred_with_password
+-                                    = iakerb_gss_acquire_cred_with_password;
+ 
+     memset(&mech_iakerb, 0, sizeof(mech_iakerb));
+     mech_iakerb.mech = &iakerb_mechanism;
+diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
+index f30de32..4662bd9 100644
+--- a/src/lib/gssapi/krb5/iakerb.c
++++ b/src/lib/gssapi/krb5/iakerb.c
+@@ -47,6 +47,8 @@ struct _iakerb_ctx_id_rec {
+     gss_ctx_id_t gssc;
+     krb5_data conv;                     /* conversation for checksumming */
+     unsigned int count;                 /* number of round trips */
++    int initiate;
++    int established;
+     krb5_get_init_creds_opt *gic_opts;
+ };
+ 
+@@ -695,7 +697,7 @@ iakerb_get_initial_state(iakerb_ctx_id_t ctx,
+  * Allocate and initialise an IAKERB context
+  */
+ static krb5_error_code
+-iakerb_alloc_context(iakerb_ctx_id_t *pctx)
++iakerb_alloc_context(iakerb_ctx_id_t *pctx, int initiate)
+ {
+     iakerb_ctx_id_t ctx;
+     krb5_error_code code;
+@@ -709,6 +711,8 @@ iakerb_alloc_context(iakerb_ctx_id_t *pctx)
+     ctx->magic = KG_IAKERB_CONTEXT;
+     ctx->state = IAKERB_AS_REQ;
+     ctx->count = 0;
++    ctx->initiate = initiate;
++    ctx->established = 0;
+ 
+     code = krb5_gss_init_context(&ctx->k5c);
+     if (code != 0)
+@@ -732,7 +736,7 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
+                               gss_ctx_id_t *context_handle,
+                               gss_buffer_t output_token)
+ {
+-    OM_uint32 major_status = GSS_S_COMPLETE;
++    iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
+ 
+     if (output_token != GSS_C_NO_BUFFER) {
+         output_token->length = 0;
+@@ -740,23 +744,10 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
+     }
+ 
+     *minor_status = 0;
++    *context_handle = GSS_C_NO_CONTEXT;
++    iakerb_release_context(iakerb_ctx);
+ 
+-    if (*context_handle != GSS_C_NO_CONTEXT) {
+-        iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
+-
+-        if (iakerb_ctx->magic == KG_IAKERB_CONTEXT) {
+-            iakerb_release_context(iakerb_ctx);
+-            *context_handle = GSS_C_NO_CONTEXT;
+-        } else {
+-            assert(iakerb_ctx->magic == KG_CONTEXT);
+-
+-            major_status = krb5_gss_delete_sec_context(minor_status,
+-                                                       context_handle,
+-                                                       output_token);
+-        }
+-    }
+-
+-    return major_status;
++    return GSS_S_COMPLETE;
+ }
+ 
+ static krb5_boolean
+@@ -802,7 +793,7 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
+     int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
+ 
+     if (initialContextToken) {
+-        code = iakerb_alloc_context(&ctx);
++        code = iakerb_alloc_context(&ctx, 0);
+         if (code != 0)
+             goto cleanup;
+ 
+@@ -854,11 +845,8 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
+                                                        time_rec,
+                                                        delegated_cred_handle,
+                                                        &exts);
+-        if (major_status == GSS_S_COMPLETE) {
+-            *context_handle = ctx->gssc;
+-            ctx->gssc = NULL;
+-            iakerb_release_context(ctx);
+-        }
++        if (major_status == GSS_S_COMPLETE)
++            ctx->established = 1;
+         if (mech_type != NULL)
+             *mech_type = (gss_OID)gss_mech_krb5;
+     }
+@@ -897,7 +885,7 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
+     int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
+ 
+     if (initialContextToken) {
+-        code = iakerb_alloc_context(&ctx);
++        code = iakerb_alloc_context(&ctx, 1);
+         if (code != 0) {
+             *minor_status = code;
+             goto cleanup;
+@@ -983,11 +971,8 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
+                                                      ret_flags,
+                                                      time_rec,
+                                                      &exts);
+-        if (major_status == GSS_S_COMPLETE) {
+-            *context_handle = ctx->gssc;
+-            ctx->gssc = GSS_C_NO_CONTEXT;
+-            iakerb_release_context(ctx);
+-        }
++        if (major_status == GSS_S_COMPLETE)
++            ctx->established = 1;
+         if (actual_mech_type != NULL)
+             *actual_mech_type = (gss_OID)gss_mech_krb5;
+     } else {
+@@ -1010,3 +995,309 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
+ 
+     return major_status;
+ }
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                  gss_buffer_t input_message_buffer,
++                  gss_buffer_t output_message_buffer, int *conf_state,
++                  gss_qop_t *qop_state)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_unwrap(minor_status, ctx->gssc, input_message_buffer,
++                           output_message_buffer, conf_state, qop_state);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                int conf_req_flag, gss_qop_t qop_req,
++                gss_buffer_t input_message_buffer, int *conf_state,
++                gss_buffer_t output_message_buffer)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req,
++                         input_message_buffer, conf_state,
++                         output_message_buffer);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_process_context_token(OM_uint32 *minor_status,
++                                 const gss_ctx_id_t context_handle,
++                                 const gss_buffer_t token_buffer)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_DEFECTIVE_TOKEN;
++
++    return krb5_gss_process_context_token(minor_status, ctx->gssc,
++                                          token_buffer);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                        OM_uint32 *time_rec)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_context_time(minor_status, ctx->gssc, time_rec);
++}
++
++#ifndef LEAN_CLIENT
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_export_sec_context(OM_uint32 *minor_status,
++                              gss_ctx_id_t *context_handle,
++                              gss_buffer_t interprocess_token)
++{
++    OM_uint32 maj;
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    /* We don't currently support exporting partially established contexts. */
++    if (!ctx->established)
++        return GSS_S_UNAVAILABLE;
++
++    maj = krb5_gss_export_sec_context(minor_status, &ctx->gssc,
++                                      interprocess_token);
++    if (ctx->gssc == GSS_C_NO_CONTEXT) {
++        iakerb_release_context(ctx);
++        *context_handle = GSS_C_NO_CONTEXT;
++    }
++    return maj;
++}
++
++/*
++ * Until we implement partial context exports, there are no SPNEGO exported
++ * context tokens, only tokens for the underlying krb5 context.  So we do not
++ * need to implement an iakerb_gss_import_sec_context() yet; it would be
++ * unreachable except via a manually constructed token.
++ */
++
++#endif /* LEAN_CLIENT */
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_context(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, gss_name_t *src_name,
++                           gss_name_t *targ_name, OM_uint32 *lifetime_rec,
++                           gss_OID *mech_type, OM_uint32 *ctx_flags,
++                           int *initiate, int *opened)
++{
++    OM_uint32 ret;
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (src_name != NULL)
++        *src_name = GSS_C_NO_NAME;
++    if (targ_name != NULL)
++        *targ_name = GSS_C_NO_NAME;
++    if (lifetime_rec != NULL)
++        *lifetime_rec = 0;
++    if (mech_type != NULL)
++        *mech_type = (gss_OID)gss_mech_iakerb;
++    if (ctx_flags != NULL)
++        *ctx_flags = 0;
++    if (initiate != NULL)
++        *initiate = ctx->initiate;
++    if (opened != NULL)
++        *opened = ctx->established;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_COMPLETE;
++
++    ret = krb5_gss_inquire_context(minor_status, ctx->gssc, src_name,
++                                   targ_name, lifetime_rec, mech_type,
++                                   ctx_flags, initiate, opened);
++
++    if (!ctx->established) {
++        /* Report IAKERB as the mech OID until the context is established. */
++        if (mech_type != NULL)
++            *mech_type = (gss_OID)gss_mech_iakerb;
++
++        /* We don't support exporting partially-established contexts. */
++        if (ctx_flags != NULL)
++            *ctx_flags &= ~GSS_C_TRANS_FLAG;
++    }
++
++    return ret;
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, int conf_req_flag,
++                           gss_qop_t qop_req, OM_uint32 req_output_size,
++                           OM_uint32 *max_input_size)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_wrap_size_limit(minor_status, ctx->gssc, conf_req_flag,
++                                    qop_req, req_output_size, max_input_size);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                   gss_qop_t qop_req, gss_buffer_t message_buffer,
++                   gss_buffer_t message_token)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_get_mic(minor_status, ctx->gssc, qop_req, message_buffer,
++                            message_token);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                      gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
++                      gss_qop_t *qop_state)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer,
++                               token_buffer, qop_state);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
++                                      const gss_ctx_id_t context_handle,
++                                      const gss_OID desired_object,
++                                      gss_buffer_set_t *data_set)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_UNAVAILABLE;
++
++    return krb5_gss_inquire_sec_context_by_oid(minor_status, ctx->gssc,
++                                               desired_object, data_set);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
++                                  gss_ctx_id_t *context_handle,
++                                  const gss_OID desired_object,
++                                  const gss_buffer_t value)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
++
++    if (ctx == NULL || ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_UNAVAILABLE;
++
++    return krb5_gss_set_sec_context_option(minor_status, &ctx->gssc,
++                                           desired_object, value);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                    int conf_req_flag, gss_qop_t qop_req, int *conf_state,
++                    gss_iov_buffer_desc *iov, int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_wrap_iov(minor_status, ctx->gssc, conf_req_flag, qop_req,
++                             conf_state, iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                      int *conf_state, gss_qop_t *qop_state,
++                      gss_iov_buffer_desc *iov, int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_unwrap_iov(minor_status, ctx->gssc, conf_state, qop_state,
++                               iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
++                           gss_ctx_id_t context_handle, int conf_req_flag,
++                           gss_qop_t qop_req, int *conf_state,
++                           gss_iov_buffer_desc *iov, int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_wrap_iov_length(minor_status, ctx->gssc, conf_req_flag,
++                                    qop_req, conf_state, iov, iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                         int prf_key, const gss_buffer_t prf_in,
++                         ssize_t desired_output_len, gss_buffer_t prf_out)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_pseudo_random(minor_status, ctx->gssc, prf_key, prf_in,
++                                  desired_output_len, prf_out);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
++                       int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_get_mic_iov(minor_status, ctx->gssc, qop_req, iov,
++                                iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
++                          gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
++                          int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_verify_mic_iov(minor_status, ctx->gssc, qop_state, iov,
++                                   iov_count);
++}
++
++OM_uint32 KRB5_CALLCONV
++iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
++                              gss_ctx_id_t context_handle, gss_qop_t qop_req,
++                              gss_iov_buffer_desc *iov, int iov_count)
++{
++    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
++
++    if (ctx->gssc == GSS_C_NO_CONTEXT)
++        return GSS_S_NO_CONTEXT;
++
++    return krb5_gss_get_mic_iov_length(minor_status, ctx->gssc, qop_req, iov,
++                                       iov_count);
++}
diff --git a/app-crypt/mit-krb5/files/CVE-2015-2697.patch b/app-crypt/mit-krb5/files/CVE-2015-2697.patch
new file mode 100644
index 0000000..af2f42a
--- /dev/null
+++ b/app-crypt/mit-krb5/files/CVE-2015-2697.patch
@@ -0,0 +1,50 @@
+From f0c094a1b745d91ef2f9a4eae2149aac026a5789 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Fri, 25 Sep 2015 12:51:47 -0400
+Subject: [PATCH] Fix build_principal memory bug [CVE-2015-2697]
+
+In build_principal_va(), use k5memdup0() instead of strdup() to make a
+copy of the realm, to ensure that we allocate the correct number of
+bytes and do not read past the end of the input string.  This bug
+affects krb5_build_principal(), krb5_build_principal_va(), and
+krb5_build_principal_alloc_va().  krb5_build_principal_ext() is not
+affected.
+
+CVE-2015-2697:
+
+In MIT krb5 1.7 and later, an authenticated attacker may be able to
+cause a KDC to crash using a TGS request with a large realm field
+beginning with a null byte.  If the KDC attempts to find a referral to
+answer the request, it constructs a principal name for lookup using
+krb5_build_principal() with the requested realm.  Due to a bug in this
+function, the null byte causes only one byte be allocated for the
+realm field of the constructed principal, far less than its length.
+Subsequent operations on the lookup principal may cause a read beyond
+the end of the mapped memory region, causing the KDC process to crash.
+
+CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
+
+ticket: 8252 (new)
+target_version: 1.14
+tags: pullup
+---
+ src/lib/krb5/krb/bld_princ.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c
+index ab6fed8..8604268 100644
+--- a/src/lib/krb5/krb/bld_princ.c
++++ b/src/lib/krb5/krb/bld_princ.c
+@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ,
+     data = malloc(size * sizeof(krb5_data));
+     if (!data) { retval = ENOMEM; }
+ 
+-    if (!retval) {
+-        r = strdup(realm);
+-        if (!r) { retval = ENOMEM; }
+-    }
++    if (!retval)
++        r = k5memdup0(realm, rlen, &retval);
+ 
+     while (!retval && (component = va_arg(ap, char *))) {
+         if (count == size) {
diff --git a/app-crypt/mit-krb5/files/mit-krb5kadmind.confd b/app-crypt/mit-krb5/files/mit-krb5kadmind.confd
new file mode 100644
index 0000000..f6029b6
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kadmind.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos administration server
+KADMIND_OPTS=""
diff --git a/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2 b/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2
new file mode 100644
index 0000000..5278c7a
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 Admin daemon
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 Admin daemon"
+exec="/usr/sbin/kadmind"
+
+depend() {
+	need mit-krb5kdc
+	use net
+}
+
+start() {
+	ebegin "Starting $daemon"
+	start-stop-daemon --start --quiet --exec ${exec} -- ${KADMIND_OPTS} 1>&2
+	eend $? "Error starting $daemon"
+}
+
+stop() {
+	ebegin "Stopping $daemon"
+	start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+	eend $? "Error stopping $daemon"
+}
diff --git a/app-crypt/mit-krb5/files/mit-krb5kdc.confd b/app-crypt/mit-krb5/files/mit-krb5kdc.confd
new file mode 100644
index 0000000..887d3d8
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kdc.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos KDC
+KDC_OPTS=""
diff --git a/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2 b/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2
new file mode 100644
index 0000000..eab0cd1
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 KDC
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 KDC"
+exec="/usr/sbin/krb5kdc"
+
+depend() {
+	use net
+}
+
+start() {
+	ebegin "Starting $daemon"
+	start-stop-daemon --start --quiet --exec ${exec} -- ${KDC_OPTS} 1>&2
+	eend $? "Error starting $daemon"
+}
+
+stop() {
+	ebegin "Stopping $daemon"
+	start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+	eend $? "Error stopping $daemon"
+}
diff --git a/app-crypt/mit-krb5/files/mit-krb5kpropd.confd b/app-crypt/mit-krb5/files/mit-krb5kpropd.confd
new file mode 100644
index 0000000..d75d41a
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kpropd.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos incremental propagation server
+KPROPD_OPTS=""
diff --git a/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2 b/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2
new file mode 100644
index 0000000..5459466
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 kpropd
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 kpropd"
+exec="/usr/sbin/kpropd"
+
+depend() {
+	use net mit-krb5kdc mit-krb5kadmind
+}
+
+start() {
+	ebegin "Starting $daemon"
+	start-stop-daemon --start --quiet --exec ${exec} -- ${KPROPD_OPTS} 1>&2
+	eend $? "Error starting $daemon"
+}
+
+stop() {
+	ebegin "Stopping $daemon"
+	start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+	eend $? "Error stopping $daemon"
+}
diff --git a/app-crypt/mit-krb5/mit-krb5-1.13.2-r2.ebuild b/app-crypt/mit-krb5/mit-krb5-1.13.2-r2.ebuild
new file mode 100644
index 0000000..0fb1f89
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.13.2-r2.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=( python2_7 )
+
+inherit autotools eutils flag-o-matic multilib-minimal python-any-r1 versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="http://web.mit.edu/kerberos/www/"
+SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}-signed.tar"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="doc +keyutils libressl openldap +pkinit selinux +threads test xinetd"
+
+CDEPEND="
+	!!app-crypt/heimdal
+	>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+	|| (
+		>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+		>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+		>=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+	)
+	keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+	openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+	pkinit? (
+		!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
+		libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+	)
+	xinetd? ( sys-apps/xinetd )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+	)"
+DEPEND="${CDEPEND}
+	${PYTHON_DEPS}
+	virtual/yacc
+	doc? ( virtual/latex-base )
+	test? (
+		${PYTHON_DEPS}
+		dev-lang/tcl:0
+		dev-util/dejagnu
+	)"
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/krb5-config
+)
+
+src_unpack() {
+	unpack ${A}
+	unpack ./"${MY_P}".tar.gz
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+	epatch "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+	epatch "${FILESDIR}/CVE-2015-2695.patch" \
+		"${FILESDIR}/CVE-2015-2696.patch" \
+		"${FILESDIR}/CVE-2015-2697.patch"
+
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags "-I${EPREFIX}/usr/include/et"
+	# QA
+	append-flags -fno-strict-aliasing
+	append-flags -fno-strict-overflow
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	use keyutils || export ac_cv_header_keyutils_h=no
+	ECONF_SOURCE=${S} \
+	WARN_CFLAGS="set" \
+	econf \
+		$(use_with openldap ldap) \
+		"$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+		$(use_enable pkinit) \
+		$(use_enable threads thread-support) \
+		--without-hesiod \
+		--enable-shared \
+		--with-system-et \
+		--with-system-ss \
+		--enable-dns-for-realm \
+		--enable-kdc-lookaside-cache \
+		--with-system-verto \
+		--disable-rpath
+}
+
+multilib_src_compile() {
+	emake -j1
+}
+
+multilib_src_test() {
+	multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+	emake \
+		DESTDIR="${D}" \
+		EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+		install
+}
+
+multilib_src_install_all() {
+	# default database dir
+	keepdir /var/lib/krb5kdc
+
+	cd ..
+	dodoc README
+
+	if use doc; then
+		dohtml -r doc/html/*
+		docinto pdf
+		dodoc doc/pdf/*.pdf
+	fi
+
+	newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+	newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+	newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+	newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+	newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+	newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+	insinto /etc
+	newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+	insinto /var/lib/krb5kdc
+	newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+	if use openldap ; then
+		insinto /etc/openldap/schema
+		doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}/kpropd.xinetd" kpropd
+	fi
+}
+
+pkg_preinst() {
+	if has_version "<${CATEGORY}/${PN}-1.8.0" ; then
+		elog "MIT split the Kerberos applications from the base Kerberos"
+		elog "distribution.  Kerberized versions of telnet, rlogin, rsh, rcp,"
+		elog "ftp clients and telnet, ftp deamons now live in"
+		elog "\"app-crypt/mit-krb5-appl\" package."
+	fi
+}
diff --git a/app-crypt/mit-krb5/mit-krb5-1.13.2-r3.ebuild b/app-crypt/mit-krb5/mit-krb5-1.13.2-r3.ebuild
new file mode 100644
index 0000000..76dfaeb
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.13.2-r3.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=( python2_7 )
+
+inherit autotools eutils flag-o-matic multilib-minimal python-any-r1 versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="http://web.mit.edu/kerberos/www/"
+SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}-signed.tar"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +keyutils libressl openldap +pkinit selinux +threads test xinetd"
+
+CDEPEND="
+	!!app-crypt/heimdal
+	>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+	|| (
+		>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+		>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+		>=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+	)
+	keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+	openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+	pkinit? (
+		!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
+		libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+	)
+	xinetd? ( sys-apps/xinetd )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+	)"
+DEPEND="${CDEPEND}
+	${PYTHON_DEPS}
+	virtual/yacc
+	doc? ( virtual/latex-base )
+	test? (
+		${PYTHON_DEPS}
+		dev-lang/tcl:0
+		dev-util/dejagnu
+	)"
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/krb5-config
+)
+
+src_unpack() {
+	unpack ${A}
+	unpack ./"${MY_P}".tar.gz
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+	epatch "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+	epatch "${FILESDIR}/CVE-2015-2695.patch" \
+		"${FILESDIR}/CVE-2015-2696.patch" \
+		"${FILESDIR}/CVE-2015-2697.patch"
+
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags "-I${EPREFIX}/usr/include/et"
+	# QA
+	append-flags -fno-strict-aliasing
+	append-flags -fno-strict-overflow
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	use keyutils || export ac_cv_header_keyutils_h=no
+	ECONF_SOURCE=${S} \
+	WARN_CFLAGS="set" \
+	econf \
+		$(use_with openldap ldap) \
+		"$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+		$(use_enable pkinit) \
+		$(use_enable threads thread-support) \
+		--without-hesiod \
+		--enable-shared \
+		--with-system-et \
+		--with-system-ss \
+		--enable-dns-for-realm \
+		--enable-kdc-lookaside-cache \
+		--with-system-verto \
+		--disable-rpath
+}
+
+multilib_src_compile() {
+	emake -j1
+}
+
+multilib_src_test() {
+	multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+	emake \
+		DESTDIR="${D}" \
+		EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+		install
+}
+
+multilib_src_install_all() {
+	# default database dir
+	keepdir /var/lib/krb5kdc
+
+	cd ..
+	dodoc README
+
+	if use doc; then
+		dohtml -r doc/html/*
+		docinto pdf
+		dodoc doc/pdf/*.pdf
+	fi
+
+	newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+	newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+	newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+	newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+	newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+	newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+	insinto /etc
+	newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+	insinto /var/lib/krb5kdc
+	newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+	if use openldap ; then
+		insinto /etc/openldap/schema
+		doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}/kpropd.xinetd" kpropd
+	fi
+}
+
+pkg_preinst() {
+	if has_version "<${CATEGORY}/${PN}-1.8.0" ; then
+		elog "MIT split the Kerberos applications from the base Kerberos"
+		elog "distribution.  Kerberized versions of telnet, rlogin, rsh, rcp,"
+		elog "ftp clients and telnet, ftp deamons now live in"
+		elog "\"app-crypt/mit-krb5-appl\" package."
+	fi
+}
diff --git a/app-crypt/monkeysign/monkeysign-2.0.2-r1.ebuild b/app-crypt/monkeysign/monkeysign-2.0.2-r1.ebuild
index e853118..179897b 100644
--- a/app-crypt/monkeysign/monkeysign-2.0.2-r1.ebuild
+++ b/app-crypt/monkeysign/monkeysign-2.0.2-r1.ebuild
@@ -22,7 +22,7 @@
 	dev-python/pygtk:2[${PYTHON_USEDEP}]
 	media-gfx/zbar:0[python,gtk,imagemagick,${PYTHON_USEDEP}]
 	media-gfx/qrencode-python[${PYTHON_USEDEP}]
-	virtual/python-imaging[${PYTHON_USEDEP}]"
+	dev-python/pillow[${PYTHON_USEDEP}]"
 
 DEPEND="
 	dev-python/docutils[${PYTHON_USEDEP}]
diff --git a/app-crypt/pinentry/pinentry-0.9.5.ebuild b/app-crypt/pinentry/pinentry-0.9.5.ebuild
index 2dff58e..4c55e52 100644
--- a/app-crypt/pinentry/pinentry-0.9.5.ebuild
+++ b/app-crypt/pinentry/pinentry-0.9.5.ebuild
@@ -12,7 +12,7 @@
 
 LICENSE="GPL-2"
 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 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~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="clipboard emacs gtk ncurses qt4 caps gnome-keyring static"
 
 RDEPEND="
diff --git a/app-crypt/pinentry/pinentry-0.9.6-r6.ebuild b/app-crypt/pinentry/pinentry-0.9.6-r6.ebuild
new file mode 100644
index 0000000..ea0df55
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-0.9.6-r6.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools qmake-utils multilib eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="http://gnupg.org/aegypten2/index.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+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 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="emacs gtk ncurses qt4 qt5 caps gnome-keyring static"
+
+CDEPEND="
+	>=dev-libs/libgpg-error-1.17
+	>=dev-libs/libassuan-2
+	>=dev-libs/libgcrypt-1.6.3
+	ncurses? ( sys-libs/ncurses:0= )
+	gtk? ( x11-libs/gtk+:2 )
+	qt4? (
+		>=dev-qt/qtgui-4.4.1:4
+	     )
+	qt5? (
+		dev-qt/qtgui:5
+		dev-qt/qtwidgets:5
+	     )
+	caps? ( sys-libs/libcap )
+	static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
+	app-eselect/eselect-pinentry
+	gnome-keyring? ( app-crypt/libsecret )
+"
+
+DEPEND="${CDEPEND}
+	sys-devel/gettext
+	virtual/pkgconfig
+"
+
+RDEPEND="
+	${CDEPEND}
+	gnome-keyring? ( app-crypt/gcr )
+"
+
+REQUIRED_USE="
+	|| ( ncurses gtk qt4 qt5 )
+	gtk? ( !static )
+	qt4? ( !static )
+	qt5? ( !static )
+	static? ( ncurses )
+	?? ( qt4 qt5 )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+	epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
+	epatch "${FILESDIR}/${P}-add-disable-pinentry-qt5-option.patch"
+	eautoreconf
+}
+
+src_configure() {
+	local myconf=()
+	use static && append-ldflags -static
+	[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
+
+	QT_MOC=""
+	if use qt4; then
+		myconf+=( --enable-pinentry-qt
+			  --disable-pinentry-qt5
+			)
+		QT_MOC="$(qt4_get_bindir)"/moc
+		# Issues finding qt on multilib systems
+		export QTLIB="$(qt4_get_libdir)"
+	elif use qt5; then
+		myconf+=( --enable-pinentry-qt )
+		QT_MOC="$(qt5_get_bindir)"/moc
+		export QTLIB="$(qt5_get_libdir)"
+	else
+		myconf+=( --disable-pinentry-qt )
+	fi
+
+	econf \
+		--enable-pinentry-tty \
+		$(use_enable emacs pinentry-emacs) \
+		$(use_enable gtk pinentry-gtk2) \
+		$(use_enable ncurses pinentry-curses) \
+		$(use_enable ncurses fallback-curses) \
+		$(use_with caps libcap) \
+		$(use_enable gnome-keyring libsecret) \
+		$(use_enable gnome-keyring pinentry-gnome3) \
+		"${myconf[@]}" \
+		MOC="${QT_MOC}"
+}
+
+src_install() {
+	default
+	rm -f "${ED}"/usr/bin/pinentry || die
+
+	if use qt4 || use qt5; then
+		dosym pinentry-qt /usr/bin/pinentry-qt4
+	fi
+}
+
+pkg_postinst() {
+	if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
+		elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
+		elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
+		elog "The soft resource limit for memory locking specifies the limit an"
+		elog "unprivileged process may lock into memory. You can also use POSIX"
+		elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
+		elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
+		elog "your users."
+	fi
+
+	eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+	eselect pinentry update ifunset
+}
diff --git a/app-crypt/pius/Manifest b/app-crypt/pius/Manifest
index d795ac3..f90d9e9 100644
--- a/app-crypt/pius/Manifest
+++ b/app-crypt/pius/Manifest
@@ -1,3 +1,2 @@
-DIST pius-2.0.10.tar.bz2 30872 SHA256 ce4f7804af2806310d3be890361997fa110d94568a33e2a2413f04032639198e SHA512 5c8ed483e8abf70389eaa6c87ccfe4702c6eb31d6e4f5a84507cc4841857785019e4910baf1a7d85e65ed5192e6cec44eaf5681cd581d971dd2e747dd6ce15f5 WHIRLPOOL 1405e98e875be074c4e38c44d766c6626e69c9f2475b8075ff7ca5413dfb7567f5bebd266c714da69b1e589e822ab24d42587ce1220f05ca7a6ccbf2b9fc3dcf
 DIST pius-2.0.11.tar.bz2 31351 SHA256 aeb8ef25fb59074532e380e70c71d1f5d6c9fcd13aa0cf040a7581693ef6ab5d SHA512 b7d4fd701b9629e8544221d4f2bbd73308bf3d7281104857dbfed37b8f35427df6dc08f4d8b000e3b3ed085088d989aeca34a1ce81b0eee2e8fee1134e5b47b7 WHIRLPOOL d9eb18a2a7db0cf241f97174217747e3c7100a0bb0176c1ff4dff50b4b0c80f351d88b6b5c0214d1d1546b1555937e8fe39416649a3071c4104e840937544f51
-DIST pius-2.0.9.tar.bz2 30225 SHA256 6d2cd48207a76e530b0082bc1cd21ffb44c204f5cfcfe611347a12ca87a732bc SHA512 37deb8ec30d937cc8ac9600eeb4b8f1952628dbc4b2e5ba8ed1a875f3083a1dd456efd198ee5b256412a945d7424c0ff9d262b553fe23d39dc9fc0ed05f88981 WHIRLPOOL 2a5a0b7d7cd3eb19a46442ca6573117f4b7b83598f013d6bfff993045c61538ed9dbdc41f3e8d7057996090fe2b1c0d2dbe2d8cc6dcdbc73a200e2a98a6f7b83
+DIST pius-2.2.1.tar.bz2 39466 SHA256 82b842b13237a40a8c4e767e06aae419e93c0024f1dd9f30e287015cd5e56d00 SHA512 6380ca3edb045ab25669e1dbf29a9e209f8de2b41b930b81c94a45dc5921bedeebbdc8fb17b494845228353598f882aeefee5ee7dc16b7cc86297e8a333de6ae WHIRLPOOL 839490a6e3f37d78435c76557f588032a829f529300c8d800d4082a4f467fba3a4d36f5764a0b7a16b05e99c19fa2057dd2f7366c9cda3b8bb6c8c37d919e610
diff --git a/app-crypt/pius/metadata.xml b/app-crypt/pius/metadata.xml
index bf95fd0..37d8499 100644
--- a/app-crypt/pius/metadata.xml
+++ b/app-crypt/pius/metadata.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<herd>crypto</herd>
@@ -14,5 +14,6 @@
 	</longdescription>
 	<upstream>
 		<remote-id type="sourceforge">pgpius</remote-id>
+		<remote-id type="github">jaymzh/pius</remote-id>
 	</upstream>
 </pkgmetadata>
diff --git a/app-crypt/pius/pius-2.0.10.ebuild b/app-crypt/pius/pius-2.0.10.ebuild
deleted file mode 100644
index bb9cb78..0000000
--- a/app-crypt/pius/pius-2.0.10.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-PYTHON_DEPEND="2"
-
-inherit python
-
-DESCRIPTION="A tool for signing and email all UIDs on a set of PGP keys"
-HOMEPAGE="http://www.phildev.net/pius/"
-SRC_URI="mirror://sourceforge/pgpius/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-crypt/gnupg"
-RDEPEND="${DEPEND}
-	dev-lang/perl"
-
-src_prepare() {
-	python_convert_shebangs 2 ${PN} ${PN}-keyring-mgr
-}
-
-src_install() {
-	dobin ${PN} ${PN}-keyring-mgr ${PN}-party-worksheet
-	dodoc Changelog README README.keyring-mgr
-}
diff --git a/app-crypt/pius/pius-2.0.9.ebuild b/app-crypt/pius/pius-2.0.9.ebuild
deleted file mode 100644
index fce34ea..0000000
--- a/app-crypt/pius/pius-2.0.9.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-PYTHON_DEPEND="2"
-
-inherit python
-
-DESCRIPTION="A tool for signing and email all UIDs on a set of PGP keys"
-HOMEPAGE="http://www.phildev.net/pius/"
-SRC_URI="mirror://sourceforge/pgpius/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-crypt/gnupg"
-RDEPEND="${DEPEND}
-	dev-lang/perl"
-
-src_prepare() {
-	python_convert_shebangs 2 ${PN} ${PN}-keyring-mgr
-}
-
-src_install() {
-	dobin ${PN} ${PN}-keyring-mgr ${PN}-party-worksheet
-	dodoc Changelog README README.keyring-mgr
-}
diff --git a/app-crypt/pius/pius-2.2.1.ebuild b/app-crypt/pius/pius-2.2.1.ebuild
new file mode 100644
index 0000000..e64bfa1
--- /dev/null
+++ b/app-crypt/pius/pius-2.2.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool for signing and email all UIDs on a set of PGP keys"
+HOMEPAGE="http://www.phildev.net/pius/"
+SRC_URI="https://github.com/jaymzh/pius/releases/download/v${PV}/pius-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=app-crypt/gnupg-2.0.0"
+RDEPEND="${DEPEND}
+	dev-lang/perl"
diff --git a/app-crypt/qca-cyrus-sasl/Manifest b/app-crypt/qca-cyrus-sasl/Manifest
deleted file mode 100644
index 99ae337..0000000
--- a/app-crypt/qca-cyrus-sasl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qca-cyrus-sasl-2.0.0-beta3.tar.bz2 24075 SHA256 d4370c238808811a0b5e9367069296a6330b169f091c5ea5d4d18eedb6bb11b9 SHA512 933ac335aa04f7f9643c89ff94005c465c5a0c8cda494fa4849d0c8709d7d7a94bcc3f0dd1f97a940e73cd4a088e027bed63598cd95cebb13984e45f479ffa0a WHIRLPOOL a4840df54f42bbe8d3d364fda57df8297323f33c57afc45377e4c6dd758d2a6e4398333c4e9196c0ff25a56ca939e8ee11cf91b00daab341f6ac1d8c358e9be5
diff --git a/app-crypt/qca-cyrus-sasl/metadata.xml b/app-crypt/qca-cyrus-sasl/metadata.xml
deleted file mode 100644
index 1bbdcda..0000000
--- a/app-crypt/qca-cyrus-sasl/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>crypto</herd>
-<herd>qt</herd>
-</pkgmetadata>
diff --git a/app-crypt/qca-cyrus-sasl/qca-cyrus-sasl-2.0.0_beta3.ebuild b/app-crypt/qca-cyrus-sasl/qca-cyrus-sasl-2.0.0_beta3.ebuild
deleted file mode 100644
index 1b86256..0000000
--- a/app-crypt/qca-cyrus-sasl/qca-cyrus-sasl-2.0.0_beta3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-inherit eutils qt4-r2
-
-MY_P="${P/_/-}"
-QCA_VER="${PV%.*}"
-
-DESCRIPTION="SASL plugin for QCA"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2"
-KEYWORDS="alpha amd64 ~ia64 ppc64 sparc x86 ~x86-fbsd"
-IUSE="debug"
-
-DEPEND=">=app-crypt/qca-${QCA_VER}[debug?]
-	dev-libs/cyrus-sasl"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_configure() {
-	# cannot use econf because of non-standard configure script
-	./configure --qtdir=/usr --no-separate-debug-info \
-		$(use debug && echo "--debug" || echo "--release") || die
-
-	eqmake4
-}
-
-src_install() {
-	emake INSTALL_ROOT="${D}" install || die
-}
diff --git a/app-crypt/qca-gnupg/Manifest b/app-crypt/qca-gnupg/Manifest
deleted file mode 100644
index c656f05..0000000
--- a/app-crypt/qca-gnupg/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qca-gnupg-2.0.0-beta3.tar.bz2 38177 SHA256 b255bc52050811cfdc4256bb48223b7b6d9ca553b6185e98190de15e4b5fffcd SHA512 b9e0591e861a57c10accbdf91ba6ff5f3cd272254bcd1425a44cdce2689cb626fbf9d62f2657724f293f5ca60dfb4bc5aa7ada850b768f6cba6bb388b97bbdc7 WHIRLPOOL 3b77a95b1c64ace42c509a5bc934873516f34f42cceaa5a0f1c02928871b77628dd8749d33c77e0a7c8bdd8ff0fb536aa6917fb871fe5c9fd4e8b0766bd558b3
diff --git a/app-crypt/qca-gnupg/metadata.xml b/app-crypt/qca-gnupg/metadata.xml
deleted file mode 100644
index 1bbdcda..0000000
--- a/app-crypt/qca-gnupg/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>crypto</herd>
-<herd>qt</herd>
-</pkgmetadata>
diff --git a/app-crypt/qca-gnupg/qca-gnupg-2.0.0_beta3.ebuild b/app-crypt/qca-gnupg/qca-gnupg-2.0.0_beta3.ebuild
deleted file mode 100644
index d43e206..0000000
--- a/app-crypt/qca-gnupg/qca-gnupg-2.0.0_beta3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-inherit eutils qt4-r2
-
-MY_P="${P/_/-}"
-QCA_VER="${PV%.*}"
-
-DESCRIPTION="GnuPG plugin for QCA"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="alpha amd64 ~arm hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="debug"
-
-DEPEND=">=app-crypt/qca-${QCA_VER}[debug?]
-	dev-qt/qtcore:4"
-RDEPEND="${DEPEND}
-	app-crypt/gnupg"
-
-S=${WORKDIR}/${MY_P}
-
-src_configure() {
-	# cannot use econf because of non-standard configure script
-	./configure --qtdir=/usr --no-separate-debug-info \
-		$(use debug && echo "--debug" || echo "--release") || die
-
-	eqmake4
-}
-
-src_install() {
-	emake INSTALL_ROOT="${D}" install || die
-}
diff --git a/app-crypt/qca-logger/Manifest b/app-crypt/qca-logger/Manifest
deleted file mode 100644
index 9efae46..0000000
--- a/app-crypt/qca-logger/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qca-logger-2.0.0-beta2.tar.bz2 20484 SHA256 da5931d55778719cd19bd7e327655dc7e96fd9b772347abb6a65df5f3019e88a SHA512 c92ec1fe00409c4f2ab445b13cd85275c92b5ab981ac7fd93bb89009082b6f584e27d67d74211887c865e0d65c3a2b0211b0f08506b961b730c15858d6c6df0a WHIRLPOOL 47f5699d2681a6745e44fb7407d9d561c4522bc5429ac8fe355d0ece4fe3da29b3fd2a9f0ab16c34c61f80108c8aa0116b81bead023d346e0ae786b4bf46f40b
diff --git a/app-crypt/qca-logger/metadata.xml b/app-crypt/qca-logger/metadata.xml
deleted file mode 100644
index 1bbdcda..0000000
--- a/app-crypt/qca-logger/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>crypto</herd>
-<herd>qt</herd>
-</pkgmetadata>
diff --git a/app-crypt/qca-logger/qca-logger-2.0.0_beta2.ebuild b/app-crypt/qca-logger/qca-logger-2.0.0_beta2.ebuild
deleted file mode 100644
index 42aeadf..0000000
--- a/app-crypt/qca-logger/qca-logger-2.0.0_beta2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-inherit eutils qt4-r2
-
-MY_P="${P/_/-}"
-QCA_VER="${PV%.*}"
-
-DESCRIPTION="Logger plugin for QCA"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2"
-KEYWORDS="alpha amd64 hppa ~ia64 ppc64 sparc x86 ~x86-fbsd"
-IUSE="debug"
-
-DEPEND=">=app-crypt/qca-${QCA_VER}[debug?]"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_configure() {
-	# cannot use econf because of non-standard configure script
-	./configure	--qtdir=/usr --no-separate-debug-info \
-		$(use debug && echo "--debug" || echo "--release") || die
-
-	eqmake4
-}
-
-src_install() {
-	emake INSTALL_ROOT="${D}" install || die
-	dodoc README || die
-}
diff --git a/app-crypt/qca-ossl/Manifest b/app-crypt/qca-ossl/Manifest
deleted file mode 100644
index f5d45bd..0000000
--- a/app-crypt/qca-ossl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qca-ossl-2.0.0-beta3.tar.bz2 49188 SHA256 08e09ff586b184d5fb53b88f0b48eed0a7bf0a5f210a9f97a76cf4cd5446c67b SHA512 17b30099c1bc8650757d71fd9e7824831b132cedc920f59832cb5a8096b90932834e05f3f77ed34e213fdadf881625710e1311ae4fcc4c0919a1684adb4525b8 WHIRLPOOL e9acef78158d1a2c68878f0f5ee539be1e34382e3b8481eade51e12ce616abd6a577be4d1fcf5318ea201256f9f54cf90c764d0cb200b93772fd69a587cb0af6
diff --git a/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch b/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch
deleted file mode 100644
index c7d6e47..0000000
--- a/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-diff -ru a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt	2007-06-29 23:10:53.000000000 +0200
-+++ b/CMakeLists.txt	2010-04-18 04:05:09.000000000 +0200
-@@ -1,5 +1,12 @@
- # QCA OSSL
- 
-+INCLUDE(CheckFunctionExists)
-+SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
-+CHECK_FUNCTION_EXISTS(EVP_md2 HAVE_OPENSSL_MD2)
-+IF (HAVE_OPENSSL_MD2)
-+  ADD_DEFINITIONS(-DHAVE_OPENSSL_MD2)
-+ENDIF (HAVE_OPENSSL_MD2)
-+
- SET(QCA_OSSL_SOURCES qca-ossl.cpp)
- 
- MY_AUTOMOC( QCA_OSSL_SOURCES )
-diff -ru a/qca-ossl.cpp b/qca-ossl.cpp
---- a/qca-ossl.cpp	2007-12-11 07:34:57.000000000 +0100
-+++ b/qca-ossl.cpp	2010-04-18 04:08:46.000000000 +0200
-@@ -42,6 +42,15 @@
- #define OSSL_097
- #endif
- 
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10000000L
-+// OpenSSL 1.0.0 makes a few changes that aren't very C++ friendly...
-+// Among other things, CHECKED_PTR_OF returns a void*, but is used in
-+// contexts requiring STACK pointers.
-+#undef CHECKED_PTR_OF
-+#define CHECKED_PTR_OF(type, p) \
-+	            ((_STACK*) (1 ? p : (type*)0))
-+#endif
-+
- using namespace QCA;
- 
- namespace opensslQCAPlugin {
-@@ -1771,8 +1780,10 @@
- 			md = EVP_sha1();
- 		else if(alg == EMSA3_MD5)
- 			md = EVP_md5();
-+#ifdef HAVE_OPENSSL_MD2
- 		else if(alg == EMSA3_MD2)
- 			md = EVP_md2();
-+#endif
- 		else if(alg == EMSA3_RIPEMD160)
- 			md = EVP_ripemd160();
- 		else if(alg == EMSA3_Raw)
-@@ -1789,8 +1800,10 @@
- 			md = EVP_sha1();
- 		else if(alg == EMSA3_MD5)
- 			md = EVP_md5();
-+#ifdef HAVE_OPENSSL_MD2
- 		else if(alg == EMSA3_MD2)
- 			md = EVP_md2();
-+#endif
- 		else if(alg == EMSA3_RIPEMD160)
- 			md = EVP_ripemd160();
- 		else if(alg == EMSA3_Raw)
-@@ -3385,9 +3398,11 @@
- 		case NID_md5WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD5;
- 		    break;
-+#ifdef HAVE_OPENSSL_MD2
- 		case NID_md2WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD2;
- 		    break;
-+#endif
- 		case NID_ripemd160WithRSA:
- 		    p.sigalgo = QCA::EMSA3_RIPEMD160;
- 		    break;
-@@ -3871,9 +3886,11 @@
- 		case NID_md5WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD5;
- 		    break;
-+#ifdef HAVE_OPENSSL_MD2
- 		case NID_md2WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD2;
- 		    break;
-+#endif
- 		case NID_ripemd160WithRSA:
- 		    p.sigalgo = QCA::EMSA3_RIPEMD160;
- 		    break;
-@@ -4061,9 +4078,11 @@
- 		case NID_md5WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD5;
- 		    break;
-+#ifdef HAVE_OPENSSL_MD2
- 		case NID_md2WithRSAEncryption:
- 		    p.sigalgo = QCA::EMSA3_MD2;
- 		    break;
-+#endif
- 		case NID_ripemd160WithRSA:
- 		    p.sigalgo = QCA::EMSA3_RIPEMD160;
- 		    break;
-@@ -6582,7 +6601,9 @@
- 	list += "sha1";
- 	list += "sha0";
- 	list += "ripemd160";
-+#ifdef HAVE_OPENSSL_MD2
- 	list += "md2";
-+#endif
- 	list += "md4";
- 	list += "md5";
- #ifdef SHA224_DIGEST_LENGTH
-@@ -6597,9 +6618,11 @@
- #ifdef SHA512_DIGEST_LENGTH
- 	list += "sha512";
- #endif
-+/*
- #ifdef OBJ_whirlpool
- 	list += "whirlpool";
- #endif
-+*/
- 	return list;
- }
- 
-@@ -6757,7 +6780,9 @@
- 		list += all_hash_types();
- 		list += all_mac_types();
- 		list += all_cipher_types();
-+#ifdef HAVE_OPENSSL_MD2
- 		list += "pbkdf1(md2)";
-+#endif
- 		list += "pbkdf1(sha1)";
- 		list += "pbkdf2(sha1)";
- 		list += "pkey";
-@@ -6788,8 +6813,10 @@
- 			return new opensslHashContext( EVP_sha(), this, type);
- 		else if ( type == "ripemd160" )
- 			return new opensslHashContext( EVP_ripemd160(), this, type);
-+#ifdef HAVE_OPENSSL_MD2
- 		else if ( type == "md2" )
- 			return new opensslHashContext( EVP_md2(), this, type);
-+#endif
- 		else if ( type == "md4" )
- 			return new opensslHashContext( EVP_md4(), this, type);
- 		else if ( type == "md5" )
-@@ -6810,14 +6837,18 @@
- 		else if ( type == "sha512" )
- 			return new opensslHashContext( EVP_sha512(), this, type);
- #endif
-+/*
- #ifdef OBJ_whirlpool
- 		else if ( type == "whirlpool" )
- 			return new opensslHashContext( EVP_whirlpool(), this, type);
- #endif
-+*/
- 		else if ( type == "pbkdf1(sha1)" )
- 			return new opensslPbkdf1Context( EVP_sha1(), this, type );
-+#ifdef HAVE_OPENSSL_MD2
- 		else if ( type == "pbkdf1(md2)" )
- 			return new opensslPbkdf1Context( EVP_md2(), this, type );
-+#endif
- 		else if ( type == "pbkdf2(sha1)" )
- 			return new opensslPbkdf2Context( this, type );
- 		else if ( type == "hmac(md5)" )
diff --git a/app-crypt/qca-ossl/metadata.xml b/app-crypt/qca-ossl/metadata.xml
deleted file mode 100644
index 1bbdcda..0000000
--- a/app-crypt/qca-ossl/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>crypto</herd>
-<herd>qt</herd>
-</pkgmetadata>
diff --git a/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild b/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild
deleted file mode 100644
index 34c607c..0000000
--- a/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-inherit eutils qt4-r2
-
-MY_P="${P/_/-}"
-QCA_VER="${PV%.*}"
-
-DESCRIPTION="TLS, S/MIME, PKCS#12, crypto algorithms plugin for QCA"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2"
-KEYWORDS="alpha amd64 ~arm hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris"
-IUSE="debug"
-
-DEPEND=">=app-crypt/qca-${QCA_VER}[debug?]
-	>=dev-libs/openssl-0.9.6"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=( "${FILESDIR}/${PN}-openssl-1.0.0.patch" )
-
-src_configure() {
-	use prefix || EPREFIX=
-	# Fix some locations
-	sed -e "s|/usr/|${EPREFIX}/usr/|g" -e "s|usr/local|usr/|g" -i configure
-
-	# cannot use econf because of non-standard configure script
-	./configure --qtdir="${EPREFIX}"/usr --no-separate-debug-info \
-		$(use debug && echo "--debug" || echo "--release") || die
-
-	eqmake4
-}
-
-src_install() {
-	emake INSTALL_ROOT="${D}" install || die
-}
diff --git a/app-crypt/qca-pkcs11/Manifest b/app-crypt/qca-pkcs11/Manifest
deleted file mode 100644
index 5e47ce4..0000000
--- a/app-crypt/qca-pkcs11/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qca-pkcs11-2.0.0-beta2.tar.bz2 30383 SHA256 959ab33ff16f2d28035025a9c06b2e6b89c1b3a52605811b51a73076f381e6c5 SHA512 55510ecf2479aec2c76b5805ddda8d4fafa74c5c84f0febc3bd8e79009f6e900e5f23f8f5a12069d95d4268d3b4596ce57c690b3e483ead670c7f91f02404e3a WHIRLPOOL 07f082ff9438423672c5c397401dab2dab78197e74a6ff6d359162c1d6df088ee174932f7e9f2bc4297351be204e8dede4409bc95989d9613416d81e80144216
diff --git a/app-crypt/qca-pkcs11/files/qca-pkcs11-2.0.0_beta2-gcc44.patch b/app-crypt/qca-pkcs11/files/qca-pkcs11-2.0.0_beta2-gcc44.patch
deleted file mode 100644
index 353feee..0000000
--- a/app-crypt/qca-pkcs11/files/qca-pkcs11-2.0.0_beta2-gcc44.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur qca-pkcs11-2.0.0-beta2.orig/qca-pkcs11.cpp qca-pkcs11-2.0.0-beta2/qca-pkcs11.cpp
---- qca-pkcs11-2.0.0-beta2.orig/qca-pkcs11.cpp	2007-11-05 07:21:51.000000000 +0200
-+++ qca-pkcs11-2.0.0-beta2/qca-pkcs11.cpp	2009-07-24 20:36:03.000000000 +0300
-@@ -18,6 +18,8 @@
-  *
-  */
- 
-+#include <cstdio>
-+
- #include <QtCrypto>
- #include <qcaprovider.h>
- #include <qplatformdefs.h>
diff --git a/app-crypt/qca-pkcs11/metadata.xml b/app-crypt/qca-pkcs11/metadata.xml
deleted file mode 100644
index 1bbdcda..0000000
--- a/app-crypt/qca-pkcs11/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>kde</herd>
-<herd>crypto</herd>
-<herd>qt</herd>
-</pkgmetadata>
diff --git a/app-crypt/qca-pkcs11/qca-pkcs11-2.0.0_beta2.ebuild b/app-crypt/qca-pkcs11/qca-pkcs11-2.0.0_beta2.ebuild
deleted file mode 100644
index 69ef87e..0000000
--- a/app-crypt/qca-pkcs11/qca-pkcs11-2.0.0_beta2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-
-inherit eutils qt4-r2
-
-MY_P="${P/_/-}"
-QCA_VER="${PV%.*}"
-
-DESCRIPTION="PKCS#11 (smartcard) plugin for QCA"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2"
-KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd"
-IUSE="debug"
-
-DEPEND=">=app-crypt/qca-${QCA_VER}[debug?]
-	>=dev-libs/pkcs11-helper-1.02"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-DOCS="README"
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-gcc44.patch
-}
-
-src_configure() {
-	# cannot use econf because of non-standard configure script
-	./configure \
-		--qtdir=/usr \
-		$(use debug && echo "--debug" || echo "--release") \
-		--no-separate-debug-info \
-		|| die "configure failed"
-	qt4-r2_src_configure
-}
diff --git a/app-crypt/qca/Manifest b/app-crypt/qca/Manifest
index e2549c9..151de0d 100644
--- a/app-crypt/qca/Manifest
+++ b/app-crypt/qca/Manifest
@@ -1,3 +1,2 @@
-DIST qca-2.0.3.tar.bz2 4530731 SHA256 8da20c89f390954fdcfcd3c4deef379213ddb5ae9d6b5e0c917d23f5e474895f SHA512 c1120ffb373e294fbcc76e21dc2f503ebd3398b26d0ffa7ab7ee3a3e1a4228159358b59c2673ac4a1c2363771e61da54a5080b201c65d586ceda2e3b2facc1bb WHIRLPOOL 2efba46098490ab5a75dcdf95eeb7d81a5509a962403a44602caa126927ebe9e69cb043586dbaebf0b111b79e614b607ae851242d12af9fa17d2dd191e559b0e
 DIST qca-2.1.1.tar.xz 688460 SHA256 95de3e7910b5f9ec7084169989c9d98bfb527e6a4865fe17269c3b24308be983 SHA512 f077b5a4cc6539e0880f4d0a615bebcf851f634e99c6c355522598204f625e5195e0cbc8a1976593669018e57eff95796c8fef69b1301b42cb18736bc8aa1abf WHIRLPOOL 454751a76f5e59aa09d6cc979bc26a490b23a2e5308f663400f45f38a95e6ad7a34428cffb1a2a82ec6958aa0b4418e0054503a58b43e0c172201cbaa7c669f8
 DIST qca-qt5-2.1.0.3.tar.xz 685652 SHA256 ab0170696a8ff87588d38a72d36d0b4b42db9080c991d1a40ceb3f8311d289f9 SHA512 2f50c92d3ff927c83353b65ae56ff49a5c1ea439fcef94cea0092b718f04abcc18f455abd91337ac786fddedae980ff55c9d090b5743a96890174dc7eee4f3f1 WHIRLPOOL 9db2770b031dbf5c9c117d4150e0b395c94d8a0af1bda9fac5e1ee862a8a40f1c03fb0c4901e3aaba0b12e8c0b4e71cb55a872bbc54eea8331aff3fbe1fd853c
diff --git a/app-crypt/qca/files/qca-2.0.2-pcfilespath.patch b/app-crypt/qca/files/qca-2.0.2-pcfilespath.patch
deleted file mode 100644
index c52e8e7..0000000
--- a/app-crypt/qca/files/qca-2.0.2-pcfilespath.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qca-2.0.2/configure
-===================================================================
---- qca-2.0.2.orig/configure
-+++ qca-2.0.2/configure
-@@ -937,7 +937,7 @@ public:
- 		if(!pcfiles.isEmpty())
- 		{
-         		str = QString(
--			"pcfiles.path = \$\$LIBDIR/pkgconfig\n"
-+			"pcfiles.path = \$\$LIBDIR/../pkgconfig\n"
- 			"pcfiles.files = %1\n"
- 			"INSTALLS += pcfiles\n"
- 			).arg(pcfiles.join(" "));
diff --git a/app-crypt/qca/files/qca-2.0.3+gcc-4.7.patch b/app-crypt/qca/files/qca-2.0.3+gcc-4.7.patch
deleted file mode 100644
index 1752dff..0000000
--- a/app-crypt/qca/files/qca-2.0.3+gcc-4.7.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- trunk/kdesupport/qca/src/botantools/botan/botan/secmem.h	2012/01/14 16:09:19	1273507
-+++ trunk/kdesupport/qca/src/botantools/botan/botan/secmem.h	2012/01/14 17:12:15	1273508
-@@ -191,15 +191,15 @@
-    {
-    public:
-       MemoryVector<T>& operator=(const MemoryRegion<T>& in)
--         { if(this != &in) set(in); return (*this); }
-+         { if(this != &in) this->set(in); return (*this); }
- 
-       MemoryVector(u32bit n = 0) { MemoryRegion<T>::init(false, n); }
-       MemoryVector(const T in[], u32bit n)
--         { MemoryRegion<T>::init(false); set(in, n); }
-+         { MemoryRegion<T>::init(false); this->set(in, n); }
-       MemoryVector(const MemoryRegion<T>& in)
--         { MemoryRegion<T>::init(false); set(in); }
-+         { MemoryRegion<T>::init(false); this->set(in); }
-       MemoryVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
--         { MemoryRegion<T>::init(false); set(in1); append(in2); }
-+         { MemoryRegion<T>::init(false); this->set(in1); append(in2); }
-    };
- 
- /*************************************************
-@@ -210,15 +210,15 @@
-    {
-    public:
-       SecureVector<T>& operator=(const MemoryRegion<T>& in)
--         { if(this != &in) set(in); return (*this); }
-+         { if(this != &in) this->set(in); return (*this); }
- 
-       SecureVector(u32bit n = 0) { MemoryRegion<T>::init(true, n); }
-       SecureVector(const T in[], u32bit n)
--         { MemoryRegion<T>::init(true); set(in, n); }
-+         { MemoryRegion<T>::init(true); this->set(in, n); }
-       SecureVector(const MemoryRegion<T>& in)
--         { MemoryRegion<T>::init(true); set(in); }
-+         { MemoryRegion<T>::init(true); this->set(in); }
-       SecureVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
--         { MemoryRegion<T>::init(true); set(in1); append(in2); }
-+         { MemoryRegion<T>::init(true); this->set(in1); append(in2); }
-    };
- 
- /*************************************************
-@@ -229,14 +229,14 @@
-    {
-    public:
-       SecureBuffer<T,L>& operator=(const SecureBuffer<T,L>& in)
--         { if(this != &in) set(in); return (*this); }
-+         { if(this != &in) this->set(in); return (*this); }
- 
-       SecureBuffer() { MemoryRegion<T>::init(true, L); }
-       SecureBuffer(const T in[], u32bit n)
-          { MemoryRegion<T>::init(true, L); copy(in, n); }
-    private:
-       SecureBuffer<T, L>& operator=(const MemoryRegion<T>& in)
--         { if(this != &in) set(in); return (*this); }
-+         { if(this != &in) this->set(in); return (*this); }
-    };
- 
- }
diff --git a/app-crypt/qca/files/qca-2.1.0.3-fix-signals-slots.patch b/app-crypt/qca/files/qca-2.1.0.3-fix-signals-slots.patch
deleted file mode 100644
index d03a178..0000000
--- a/app-crypt/qca/files/qca-2.1.0.3-fix-signals-slots.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Jan Grulich <jgrulich@redhat.com>
-Date: Thu, 17 Sep 2015 14:14:24 +0000
-Subject: Use Q_SLOTS/Q_SIGNALS instead of slots/signals in all headers from include dir
-X-Git-Url: http://quickgit.kde.org/?p=qca.git&a=commitdiff&h=66b9754170759d9333d5fc1e348642814d0310dd
----
-Use Q_SLOTS/Q_SIGNALS instead of slots/signals in all headers from include dir
-REVIEW:125289
----
-
-
---- a/include/QtCrypto/qca_safetimer.h
-+++ b/include/QtCrypto/qca_safetimer.h
-@@ -44,12 +44,12 @@
- 	void setSingleShot(bool singleShot);
- 	int timerId() const;
- 
--public slots:
-+public Q_SLOTS:
- 	void start(int msec);
- 	void start();
- 	void stop();
- 
--signals:
-+Q_SIGNALS:
- 	void timeout();
- 
- protected:
-
diff --git a/app-crypt/qca/qca-2.0.3-r1.ebuild b/app-crypt/qca/qca-2.0.3-r1.ebuild
deleted file mode 100644
index 13d9729..0000000
--- a/app-crypt/qca/qca-2.0.3-r1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="3"
-
-inherit eutils multilib qt4-r2
-
-DESCRIPTION="Qt Cryptographic Architecture (QCA)"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="http://delta.affinix.com/download/${PN}/${PV%.*}/${P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2"
-KEYWORDS="alpha amd64 ~arm hppa ~ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="aqua debug doc examples gpg logger +openssl pkcs11 sasl"
-RESTRICT="test"
-
-DEPEND="dev-qt/qtcore:4[debug?]"
-RDEPEND="${DEPEND}
-	!<app-crypt/qca-1.0-r3:0"
-
-PDEPEND="gpg? ( app-crypt/qca-gnupg )
-	logger? ( app-crypt/qca-logger )
-	openssl? ( app-crypt/qca-ossl )
-	pkcs11? ( app-crypt/qca-pkcs11 )
-	sasl? ( app-crypt/qca-cyrus-sasl )"
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.0.2-pcfilespath.patch \
-		"${FILESDIR}"/${P}+gcc-4.7.patch
-
-	if use aqua; then
-		sed -i -e "s|QMAKE_LFLAGS_SONAME =.*|QMAKE_LFLAGS_SONAME = -Wl,-install_name,|g" \
-			src/src.pro || die
-	fi
-}
-
-src_configure() {
-	# Ensure proper rpath
-	export EXTRA_QMAKE_RPATH="${EPREFIX}/usr/$(get_libdir)/qca2"
-
-	ABI= ./configure \
-		--prefix="${EPREFIX}"/usr \
-		--qtdir="${EPREFIX}"/usr \
-		--includedir="${EPREFIX}"/usr/include/qca2 \
-		--libdir="${EPREFIX}"/usr/$(get_libdir)/qca2 \
-		--certstore-path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt \
-		--no-separate-debug-info \
-		--disable-tests \
-		--$(use debug && echo debug || echo release) \
-		--no-framework \
-		|| die "configure failed"
-
-	eqmake4
-}
-
-src_install() {
-	emake INSTALL_ROOT="${D}" install || die
-	dodoc README TODO || die
-
-	cat <<-EOF > "${WORKDIR}"/44qca2
-	LDPATH="${EPREFIX}/usr/$(get_libdir)/qca2"
-	EOF
-	doenvd "${WORKDIR}"/44qca2 || die
-
-	if use doc; then
-		dohtml "${S}"/apidocs/html/* || die
-	fi
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/
-		doins -r "${S}"/examples || die
-	fi
-
-	# add the proper rpath for packages that do CONFIG += crypto
-	echo "QMAKE_RPATHDIR += \"${EPREFIX}/usr/$(get_libdir)/qca2\"" >> \
-		"${D%/}${EPREFIX}/usr/share/qt4/mkspecs/features/crypto.prf" \
-		|| die "failed to add rpath to crypto.prf"
-}
diff --git a/app-crypt/qca/qca-2.1.0.3-r1.ebuild b/app-crypt/qca/qca-2.1.0.3-r1.ebuild
deleted file mode 100644
index 0557851..0000000
--- a/app-crypt/qca/qca-2.1.0.3-r1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit cmake-utils multibuild qmake-utils
-
-MY_PN="${PN}-qt5"
-
-DESCRIPTION="Qt Cryptographic Architecture (QCA)"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="mirror://kde/stable/${MY_PN}/${PV}/src/${MY_PN}-${PV}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-
-IUSE="botan debug doc examples gcrypt gpg logger nss +openssl pkcs11 +qt4 qt5 sasl softstore test"
-REQUIRED_USE="|| ( qt4 qt5 )"
-
-RDEPEND="
-	!app-crypt/qca-cyrus-sasl
-	!app-crypt/qca-gnupg
-	!app-crypt/qca-logger
-	!app-crypt/qca-ossl
-	!app-crypt/qca-pkcs11
-	botan? ( dev-libs/botan )
-	gcrypt? ( dev-libs/libgcrypt:= )
-	gpg? ( app-crypt/gnupg )
-	nss? ( dev-libs/nss )
-	openssl? ( >=dev-libs/openssl-1.0.1:0 )
-	pkcs11? (
-		dev-libs/openssl:0
-		dev-libs/pkcs11-helper
-	)
-	qt4? ( dev-qt/qtcore:4 )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtconcurrent:5
-		dev-qt/qtnetwork:5
-	)
-	sasl? ( dev-libs/cyrus-sasl:2 )
-"
-DEPEND="${RDEPEND}
-	doc? ( app-doc/doxygen )
-	test? (
-		qt4? ( dev-qt/qttest:4 )
-		qt5? ( dev-qt/qttest:5 )
-	)
-"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-DOCS=( README TODO )
-
-PATCHES=(
-	"${FILESDIR}/${PN}-disable-pgp-test.patch"
-	"${FILESDIR}/${P}-qt55.patch"
-	"${FILESDIR}/${P}-fix-signals-slots.patch"
-)
-
-qca_plugin_use() {
-	echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
-}
-
-pkg_setup() {
-	MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
-}
-
-src_configure() {
-	myconfigure() {
-		local mycmakeargs=(
-			-DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_mkspecsdir)/features"
-			-DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_plugindir)"
-			$(qca_plugin_use botan)
-			$(qca_plugin_use gcrypt)
-			$(qca_plugin_use gpg gnupg)
-			$(qca_plugin_use logger)
-			$(qca_plugin_use nss)
-			$(qca_plugin_use openssl ossl)
-			$(qca_plugin_use pkcs11)
-			$(qca_plugin_use sasl cyrus-sasl)
-			$(qca_plugin_use softstore)
-			$(cmake-utils_use_build test TESTS)
-		)
-
-		if [[ ${MULTIBUILD_VARIANT} == qt4 ]]; then
-			mycmakeargs+=(-DQT4_BUILD=ON)
-		fi
-
-		cmake-utils_src_configure
-	}
-
-	multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
-	multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
-	mytest() {
-		local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
-		cmake-utils_src_test
-	}
-
-	multibuild_foreach_variant mytest
-}
-
-src_install() {
-	multibuild_foreach_variant cmake-utils_src_install
-
-	if use doc; then
-		pushd "${BUILD_DIR}" >/dev/null || die
-		doxygen Doxyfile.in || die
-		dodoc -r apidocs/html
-		popd >/dev/null || die
-	fi
-
-	if use examples; then
-		dodoc -r "${S}"/examples
-	fi
-}
diff --git a/app-crypt/qca/qca-2.1.0.3-r2.ebuild b/app-crypt/qca/qca-2.1.0.3-r2.ebuild
deleted file mode 100644
index df34a8e..0000000
--- a/app-crypt/qca/qca-2.1.0.3-r2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit cmake-utils multibuild qmake-utils
-
-MY_PN="${PN}-qt5"
-
-DESCRIPTION="Qt Cryptographic Architecture (QCA)"
-HOMEPAGE="http://delta.affinix.com/qca/"
-SRC_URI="mirror://kde/stable/${MY_PN}/${PV}/src/${MY_PN}-${PV}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-
-IUSE="botan debug doc examples gcrypt gpg libressl logger nss +openssl pkcs11 +qt4 qt5 sasl softstore test"
-REQUIRED_USE="|| ( qt4 qt5 )"
-
-RDEPEND="
-	!app-crypt/qca-cyrus-sasl
-	!app-crypt/qca-gnupg
-	!app-crypt/qca-logger
-	!app-crypt/qca-ossl
-	!app-crypt/qca-pkcs11
-	botan? ( dev-libs/botan )
-	gcrypt? ( dev-libs/libgcrypt:= )
-	gpg? ( app-crypt/gnupg )
-	nss? ( dev-libs/nss )
-	openssl? (
-		!libressl? ( >=dev-libs/openssl-1.0.1:0 )
-		libressl? ( dev-libs/libressl )
-	)
-	pkcs11? (
-		!libressl? ( dev-libs/openssl:0 )
-		libressl? ( dev-libs/libressl )
-		dev-libs/pkcs11-helper
-	)
-	qt4? ( dev-qt/qtcore:4 )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtconcurrent:5
-		dev-qt/qtnetwork:5
-	)
-	sasl? ( dev-libs/cyrus-sasl:2 )
-"
-DEPEND="${RDEPEND}
-	doc? ( app-doc/doxygen )
-	test? (
-		qt4? ( dev-qt/qttest:4 )
-		qt5? ( dev-qt/qttest:5 )
-	)
-"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-DOCS=( README TODO )
-
-PATCHES=(
-	"${FILESDIR}/${PN}-disable-pgp-test.patch"
-	"${FILESDIR}/${P}-qt55.patch"
-	"${FILESDIR}/${P}-fix-signals-slots.patch"
-)
-
-qca_plugin_use() {
-	echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
-}
-
-pkg_setup() {
-	MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
-}
-
-src_configure() {
-	myconfigure() {
-		local mycmakeargs=(
-			-DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_mkspecsdir)/features"
-			-DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_plugindir)"
-			$(qca_plugin_use botan)
-			$(qca_plugin_use gcrypt)
-			$(qca_plugin_use gpg gnupg)
-			$(qca_plugin_use logger)
-			$(qca_plugin_use nss)
-			$(qca_plugin_use openssl ossl)
-			$(qca_plugin_use pkcs11)
-			$(qca_plugin_use sasl cyrus-sasl)
-			$(qca_plugin_use softstore)
-			$(cmake-utils_use_build test TESTS)
-		)
-
-		if [[ ${MULTIBUILD_VARIANT} == qt4 ]]; then
-			mycmakeargs+=(-DQT4_BUILD=ON)
-		fi
-
-		cmake-utils_src_configure
-	}
-
-	multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
-	multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
-	mytest() {
-		local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
-		cmake-utils_src_test
-	}
-
-	multibuild_foreach_variant mytest
-}
-
-src_install() {
-	multibuild_foreach_variant cmake-utils_src_install
-
-	if use doc; then
-		pushd "${BUILD_DIR}" >/dev/null || die
-		doxygen Doxyfile.in || die
-		dodoc -r apidocs/html
-		popd >/dev/null || die
-	fi
-
-	if use examples; then
-		dodoc -r "${S}"/examples
-	fi
-}
diff --git a/app-crypt/seahorse/Manifest b/app-crypt/seahorse/Manifest
index d6f5147..6c6c554 100644
--- a/app-crypt/seahorse/Manifest
+++ b/app-crypt/seahorse/Manifest
@@ -1,2 +1,2 @@
-DIST seahorse-3.14.1.tar.xz 1504128 SHA256 092a890982fa594da8a384f156b961392f69ce5d9518a9801035e6deb1f05e93 SHA512 1147ea601c1cb17dd1606d02f86261b0381dfdab14329fee7d68bd635420fec98174b2509b09c68216918bd9ca31f22ea538fa34cae1a8e0f4c44714b9693c0f WHIRLPOOL 208c841a28b8c7c0916c02e1a68eaa7c74681c5a3b8e0be30f65a4da953cefd9bb94d57373640513b68de9b204e9d1fc65429bf5dca0344336390068fe4a47e1
 DIST seahorse-3.16.0.tar.xz 1496188 SHA256 770a5f03b8745054ef04cef9923dd713b1fbf309169150bc8dd32d7e5f7ee131 SHA512 54e020e907c0053762bf78fd1b4a47ed30d253a89d9063f6daa33598fc3cd97dca0af0cd66bb4a140223b6ae18db88a52bfc50f46987cb3a8d0351c115fba923 WHIRLPOOL 5e3c3ee17be55849c22019c7a9669380ae101e39d9c81e66d6140d500ef3882c2019f39491bfb37a9019c3fda78304aab9743dc3ae112646a4e9106493704372
+DIST seahorse-3.18.0.tar.xz 1555384 SHA256 530c889a01c4cad25df4c9ab58ab95d24747875789bc6116bef529d60fc1b667 SHA512 76475645d1f94a99bf12c3bbbd840526ab3f1da9c6dd7c8c7fca1cca1cdb22692c44d6107ed1f0192dacb6990c1bbc5c1e0bb9a412132fbf18b302d6059cb254 WHIRLPOOL a470024c7c187f854f7458de31ce8aae6f27ff99ee44d872c2298983391e3f39a2c22e5c201927a5b303ced1a614de9729af9625b59714b6cd580890714e5b79
diff --git a/app-crypt/seahorse/seahorse-3.14.1.ebuild b/app-crypt/seahorse/seahorse-3.14.1.ebuild
deleted file mode 100644
index 9297f4c..0000000
--- a/app-crypt/seahorse/seahorse-3.14.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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="A GNOME application for managing encryption keys"
-HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
-
-LICENSE="GPL-2+ FDL-1.1+"
-SLOT="0"
-IUSE="debug ldap zeroconf"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
-
-COMMON_DEPEND="
-	>=app-crypt/gcr-3.11.91:=
-	>=dev-libs/glib-2.10:2
-	>=x11-libs/gtk+-3.4:3
-	>=app-crypt/libsecret-0.16
-	>=net-libs/libsoup-2.33.92:2.4
-	x11-misc/shared-mime-info
-
-	net-misc/openssh
-	>=app-crypt/gpgme-1
-	>=app-crypt/gnupg-1.4
-	<app-crypt/gnupg-2.1
-
-	ldap? ( net-nds/openldap:= )
-	zeroconf? ( >=net-dns/avahi-0.6:= )
-"
-DEPEND="${COMMON_DEPEND}
-	dev-util/gdbus-codegen
-	>=dev-util/intltool-0.35
-	sys-devel/gettext
-	virtual/pkgconfig
-"
-# Need seahorse-plugins git snapshot
-RDEPEND="${COMMON_DEPEND}
-	!<app-crypt/seahorse-plugins-2.91.0_pre20110114
-"
-
-src_prepare() {
-	# Do not mess with CFLAGS with USE="debug"
-	sed -e '/CFLAGS="$CFLAGS -g/d' \
-		-e '/CFLAGS="$CFLAGS -O0/d' \
-		-i configure.ac configure || die "sed 1 failed"
-
-	gnome2_src_prepare
-}
-
-src_configure() {
-	# bindir is needed due to bad macro expansion in desktop file, bug #508610
-	gnome2_src_configure \
-		--bindir=/usr/bin \
-		--enable-pgp \
-		--enable-ssh \
-		--enable-pkcs11 \
-		--enable-hkp \
-		$(use_enable debug) \
-		$(use_enable ldap) \
-		$(use_enable zeroconf sharing) \
-		ITSTOOL=$(type -P true) \
-		VALAC=$(type -P true)
-}
diff --git a/app-crypt/seahorse/seahorse-3.18.0.ebuild b/app-crypt/seahorse/seahorse-3.18.0.ebuild
new file mode 100644
index 0000000..a916456
--- /dev/null
+++ b/app-crypt/seahorse/seahorse-3.18.0.ebuild
@@ -0,0 +1,67 @@
+# 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="A GNOME application for managing encryption keys"
+HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
+
+LICENSE="GPL-2+ FDL-1.1+"
+SLOT="0"
+IUSE="debug ldap zeroconf"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+COMMON_DEPEND="
+	>=app-crypt/gcr-3.11.91:=
+	>=dev-libs/glib-2.10:2
+	>=x11-libs/gtk+-3.4:3
+	>=app-crypt/libsecret-0.16
+	>=net-libs/libsoup-2.33.92:2.4
+	x11-misc/shared-mime-info
+
+	net-misc/openssh
+	>=app-crypt/gpgme-1
+	>=app-crypt/gnupg-2.0.12
+
+	ldap? ( net-nds/openldap:= )
+	zeroconf? ( >=net-dns/avahi-0.6:= )
+"
+DEPEND="${COMMON_DEPEND}
+	app-text/yelp-tools
+	dev-util/gdbus-codegen
+	>=dev-util/intltool-0.35
+	dev-util/itstool
+	sys-devel/gettext
+	virtual/pkgconfig
+"
+# Need seahorse-plugins git snapshot
+RDEPEND="${COMMON_DEPEND}
+	!<app-crypt/seahorse-plugins-2.91.0_pre20110114
+"
+
+src_prepare() {
+	# Do not mess with CFLAGS with USE="debug"
+	sed -e '/CFLAGS="$CFLAGS -g/d' \
+		-e '/CFLAGS="$CFLAGS -O0/d' \
+		-i configure.ac configure || die "sed 1 failed"
+
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# bindir is needed due to bad macro expansion in desktop file, bug #508610
+	gnome2_src_configure \
+		--bindir=/usr/bin \
+		--enable-pgp \
+		--enable-ssh \
+		--enable-pkcs11 \
+		--enable-hkp \
+		$(use_enable debug) \
+		$(use_enable ldap) \
+		$(use_enable zeroconf sharing) \
+		VALAC=$(type -P true)
+}
diff --git a/app-crypt/simple-tpm-pk11/Manifest b/app-crypt/simple-tpm-pk11/Manifest
index 64a81b1..7e8c525 100644
--- a/app-crypt/simple-tpm-pk11/Manifest
+++ b/app-crypt/simple-tpm-pk11/Manifest
@@ -1 +1,2 @@
 DIST simple-tpm-pk11-0.03.tar.gz 25238 SHA256 0059064cb29900f0db8ce6163ef6aee17b2dcd095613c813dd53ad7f597bf141 SHA512 ed8a1d605bb21ae6abec426f32159882fef74ee7cbc7cdfa5b649a9947f10bad2b95354b2445f3f40dbd9d55803f9fc40fca02605d466e995083c7e9ca29bd8e WHIRLPOOL 1887c7d18a333319a99b28157f7d9b3bce83868154cd3496b8aec911d3d61b13678d0a0ceb143c65cb8addf625e68ccb4008d65af55f87b2bff27d0ac6dddd40
+DIST simple-tpm-pk11-0.04.tar.gz 26377 SHA256 54f67e08cd0847c1716dd86ceb2748982d226f047de059073c2ffa4cad27c56a SHA512 9023fd580237030e4928fa517739801a06ec673571f13ef365e22e7ebe857fa0be5e6d2004663e0b8287ff7a741f163d0f5e1bc28d7c0300b32fc6af0176d275 WHIRLPOOL 0227adcb41ab3f54f9e23fd3f4d6a4cc1ebe92354d2544a92317b2d7f7f690cb7a163402954957ed5cbb10cff75f3b38441033b7395724a3b46c15f5465d51d6
diff --git a/app-crypt/simple-tpm-pk11/simple-tpm-pk11-0.04.ebuild b/app-crypt/simple-tpm-pk11/simple-tpm-pk11-0.04.ebuild
new file mode 100644
index 0000000..2bab320
--- /dev/null
+++ b/app-crypt/simple-tpm-pk11/simple-tpm-pk11-0.04.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 eutils
+
+DESCRIPTION="Simple PKCS11 provider for TPM chips"
+HOMEPAGE="https://github.com/ThomasHabets/simple-tpm-pk11"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+if [[ ${PV} == "9999" ]]; then
+	EGIT_REPO_URI="https://github.com/ThomasHabets/${PN}.git"
+	inherit git-r3
+	KEYWORDS=""
+else
+	SRC_URI="https://github.com/ThomasHabets/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+fi
+
+IUSE=""
+RESTRICT="test" # needs to communicate with the TPM and gtest is all broken
+
+DEPEND="app-crypt/tpm-tools[pkcs11]
+	dev-libs/opencryptoki[tpm]
+	app-crypt/trousers
+	dev-libs/openssl:0="
+RDEPEND="${DEPEND}
+	net-misc/openssh[-X509]"
+
+src_prepare() {
+	epatch_user
+	eautoreconf
+}
diff --git a/app-dicts/freedict-deu-eng/metadata.xml b/app-dicts/freedict-deu-eng/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-deu-eng/metadata.xml
+++ b/app-dicts/freedict-deu-eng/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/freedict-eng-fra/metadata.xml b/app-dicts/freedict-eng-fra/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-eng-fra/metadata.xml
+++ b/app-dicts/freedict-eng-fra/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/freedict-eng-ita/metadata.xml b/app-dicts/freedict-eng-ita/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-eng-ita/metadata.xml
+++ b/app-dicts/freedict-eng-ita/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/freedict-eng-swe/metadata.xml b/app-dicts/freedict-eng-swe/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-eng-swe/metadata.xml
+++ b/app-dicts/freedict-eng-swe/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/freedict-fra-eng/metadata.xml b/app-dicts/freedict-fra-eng/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-fra-eng/metadata.xml
+++ b/app-dicts/freedict-fra-eng/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/freedict-ita-eng/metadata.xml b/app-dicts/freedict-ita-eng/metadata.xml
index 4538a68..ea83f71 100644
--- a/app-dicts/freedict-ita-eng/metadata.xml
+++ b/app-dicts/freedict-ita-eng/metadata.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="UTF-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>
+	<maintainer>
+		<email>maintainer-needed@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<remote-id type="sourceforge">freedict</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/app-dicts/gnome-dictionary/Manifest b/app-dicts/gnome-dictionary/Manifest
index a19f62b..4786512 100644
--- a/app-dicts/gnome-dictionary/Manifest
+++ b/app-dicts/gnome-dictionary/Manifest
@@ -1,2 +1,2 @@
-DIST gnome-dictionary-3.14.2.tar.xz 827932 SHA256 2f2a0293c5de83f624cead84d7bb3f93d30a30554640926bb2db9c4944840f82 SHA512 4042207acf9d17dad0736b16811584b42f5c3fb9219e1bf591292c67c5a4272f4238b0ec178adc40b4dd02313ba0ff3b751b65ae64e8d73c67f90dd8079fb68b WHIRLPOOL e50878b529e6827047ed5daf30157218907b6ff69383d1183df257a8bfdc39fd14e81b2199899b36ff97a0a1d08716834d2496d8111d4a0aface5c93b4266c89
 DIST gnome-dictionary-3.16.2.tar.xz 847024 SHA256 a2981a76ecf57a5e5f1ebc88697f228a40e550c3371535aa15cc959fe51badd5 SHA512 f6c50a8d10e360320ac2ed34a56723f9e7eb72f81f27d40bc69a63eab23cad31e7ff45fb6712ff14b84b3ec2f82ae35bfab0ddde7980766b77d1416be67f384a WHIRLPOOL 6fe96815b79e1d217377ca61d74e2a61ab67a89057e3131cbbbb24b6c43fc908298cab4b34d3ab1c0700859deb18b7ed45d4870261fd0009118f168535157365
+DIST gnome-dictionary-3.18.0.tar.xz 852072 SHA256 5338962124f6d784920ed4968d98734a7589513b36e4f4a6ff00d1ed5afb4ead SHA512 ea276880329422e08923cc9346821bfd7c9bc1b71c09c6521a28f01a6bee34ec4be3b7f503ed8d37916a9b6351074ffd6d4333fed46d7c820198ebf0e62f5eb4 WHIRLPOOL 1c70faa84b96ddebafc2297ed6ea08ea3cec62a76340d5dc0800c2176603dec187b33f1a406538b832907196356f4015cf3c029868447998ef8e22f6f7cb0aef
diff --git a/app-dicts/gnome-dictionary/gnome-dictionary-3.14.2.ebuild b/app-dicts/gnome-dictionary/gnome-dictionary-3.14.2.ebuild
deleted file mode 100644
index e99f08d..0000000
--- a/app-dicts/gnome-dictionary/gnome-dictionary-3.14.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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"
-
-inherit gnome2
-
-DESCRIPTION="Dictionary utility for GNOME"
-HOMEPAGE="https://live.gnome.org/GnomeUtils"
-
-LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
-SLOT="0/6" # subslot = suffix of libgdict-1.0.so
-IUSE="ipv6"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
-
-COMMON_DEPEND="
-	>=dev-libs/glib-2.39:2
-	x11-libs/cairo:=
-	>=x11-libs/gtk+-3:3
-	x11-libs/pango
-"
-RDEPEND="${COMMON_DEPEND}
-	gnome-base/gsettings-desktop-schemas
-	!<gnome-extra/gnome-utils-3.4
-"
-# ${PN} was part of gnome-utils before 3.4
-DEPEND="${COMMON_DEPEND}
-	>=dev-util/gtk-doc-am-1.15
-	>=dev-util/intltool-0.40
-	>=sys-devel/gettext-0.17
-	virtual/pkgconfig
-"
-
-src_configure() {
-	gnome2_src_configure \
-		$(use_enable ipv6) \
-		ITSTOOL=$(type -P true)
-}
diff --git a/app-dicts/gnome-dictionary/gnome-dictionary-3.18.0.ebuild b/app-dicts/gnome-dictionary/gnome-dictionary-3.18.0.ebuild
new file mode 100644
index 0000000..148b843
--- /dev/null
+++ b/app-dicts/gnome-dictionary/gnome-dictionary-3.18.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"
+GCONF_DEBUG="yes"
+
+inherit gnome2
+
+DESCRIPTION="Dictionary utility for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Dictionary"
+
+LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
+SLOT="0/9" # subslot = suffix of libgdict-1.0.so
+IUSE="+introspection ipv6"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
+
+COMMON_DEPEND="
+	>=dev-libs/glib-2.39:2[dbus]
+	x11-libs/cairo:=
+	>=x11-libs/gtk+-3.14:3
+	x11-libs/pango
+	introspection? ( >=dev-libs/gobject-introspection-1.42:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	gnome-base/gsettings-desktop-schemas
+	!<gnome-extra/gnome-utils-3.4
+"
+# ${PN} was part of gnome-utils before 3.4
+DEPEND="${COMMON_DEPEND}
+	>=dev-util/gtk-doc-am-1.15
+	>=dev-util/intltool-0.40
+	dev-util/itstool
+	>=sys-devel/gettext-0.17
+	virtual/pkgconfig
+"